Shining a Light on Household Solar Energy Generation

An visual exploration of residential solar panel adoption in the US.
Jonathan Tan, 2019


Investment in renewable energy is such a fascinating policy area. It’s one of the few that feature the interplay of energy as a national utility, yet with semi-reliance on individuals and corporations as contributors to industry supply - e.g. in installing solar panels or, at a greater scale, solar farms.

Much of the national conversation around renewable energy today tends to revolve around switching to low-emission fuel alternatives (say, a regular petrol car vs. a Tesla, or a city transit system switching to electric buses). In many cases, this makes sense - the Department of Energy states that “electricity is less expensive than gasoline and [electric vehicles] are more efficient than gasoline vehicles”.

More efficient or not, however, all this does is shift emissions from local consumption (e.g. in your car) to the electrical grid, which itself is mostly generated from non-renewable sources. The generation of energy from renewable sources is a critical part of reducing emissions in a world of accelerating energy consumption. In other words, the question I’m more preoccupied with is: where is all this energy coming from?


Residential systems are the 2nd-largest source of solar energy in the US.

In fact, solar energy was the only category of renewable energy that had a "Residential" category in the data.

Now let's look only at sources of solar energy.

While utility-owned solar farms were the largest generators of solar energy in 2016, small-scale residential systems overtook the commercial sector in 2014 to become the 2nd-largest source of solar energy and the 5th-largest source of renewable energy overall.

This group - residential solar panel systems - is the one we'll focus on.

A logical next question is: who’s actually capturing all this solar energy?

Hawaii generates over 50 times more solar energy per capita than the national median.

In absolute terms, however, California was the single largest residential generator - producing 48.6% of total solar energy output in the US in 2016.

What is a bit more of a surprise is how high on the list the Northeast states like Vermont (#5), Massachussetts (#6), and New Jersey (#7) lie, especially in comparison to known sunny states like Texas (#23) or Florida (#27).

That brings me to my next question: does the amount of sunlight each state receives correlate with the solar energy it generates?

Northeast states generate more solar energy from less sunlight.

Relative to states in the North Central, South, and West regions, states in the Northeast generated more solar energy in 2016 than what their solar irradiance levels might suggest.

(Global Horizontal Irradiance measures the amount of solar radiation each state receives on average in a year, adjusted for land area and other factors.)

In particular, there seems to be a lot of unexplained variation towards the lower end of the irradiance range. Vermont, Massachussetts, and New Jersey in particular are generating way more solar energy than neighboring states that get just as much sunlight, if not more.

While there are plenty of factors that impact the efficiency with which you generate solar energy, my immediate guess is that the most straightforward way to ramp up your output is to have more solar panels.

So: which states have the most solar panels?

Northeast states are also surprisingly well-represented in solar panels per capita.

States like Massachussetts, New Jersey, and Connecticut are among states with the most solar panels per capita in 2016.

There are many reasons why this might vary by state: different solar panel prices, the availability of tax incentives for solar panel owners, the median income, other political factors, etc. I explore a few of these in the static version of this exploration.

Plotting per-capita solar panel installations vs. how much solar radiation each county receives:

Sure enough, while the Northeast region receives the least solar irradiance in the continental United States, it also has disproportionately high solar panel installation rates - even when looking at this on a county level.

Mousover each circle to see how many solar panels per 10,000 residents each county has.



Many thanks to Alex Engler and Andrew McNutt for their tireless help with code and design throughout this project.
Many thanks also to my peers in the UChicago CAPP program - too many to list individually - who have provided useful feedback and user testing.

Data Sources

Solar energy generation: State Energy Data Systems (SEDS), U.S. Energy Information Administration
Solar irradiance: National Renewable Energy Laboratory, U.S. Department of Energy
Solar panel installations: OpenPV Project, NREL, U.S. Department of Energy
Population estimates: Surveillance, Epidemiology and End Results (SEER) Program, National Cancer Institute
State tax policies: Database of State Incentives for Renewables & Efficiency (DSIRE), North Carolina State University
U.S. county-level shapefiles: U.S. Census Bureau

Code Sources

This project would not have been possible without the multitude of resources available online for learning and implementing D3, including:

D3 v5 by Mike Bostock.
Interactive Data Visualization for the Web (2nd Ed.) by Scott Murray.
Scrollama by Russell Goldenberg.
Extensive implementation details for Scrollama by The Pudding.
Stickyfill by Oleg Korsunsky.
TopoJSON library by Mike Bostock.
D3-legend by Susie Lu.
Code for dynamic sizing adapted from this Github issue.
Code for multi-line charts adapted from this block.
Code for wipe-in transitions adapted from Mark Vandergon.
Code for appending annotation lines adapted from this StackOverflow thread.
Code for wrangling GeoJSON adapted from this StackOverflow thread.
Code for the map's color scale adapted from this block.
Code for calculating centroids from GeoJSON adapted from this block.
Code for working with TopoJSON adapted from this block.
Code for mouseover tooltips adapted from this block.

Project Code

All code for this project is hosted on Github.
The more extensive static report that formed the basis for this project, including detailed data assembly scripts in R, can be found here.