It’s difficult to get a broad mental overview of politics in the United States. There are so many elections covering different districts and each office holder has a different level of influence over policy outcomes. This post is an attempt to help simplify things by bringing all the federal and state level election results together into one place. I then use an approach described below to combine all the results into a single voting power metric for each location. The end result is a map that shows the cumulative political influence of the voters in each place:
Here are the main takeaways from this analysis:
- We should pay more attention to races for governor. Governors probably collectively wield as much power as the president, but their elections don’t get anywhere near the same level of attention.
- Voting power within states is eroded by the fact that 40 percent (!) of the candidates for state legislature run unopposed. This is probably a symptom of overly gerrymandered state districts.
- Voters in FL, NC, MI, PA, NH, WI and GA are especially powerful, mainly because they participated in close elections for president and governor.
- By this metric, the most powerful location during the past election cycle was a western suburb of Miami.
All the code and most of the data for this post are available on GitHub here. This analysis builds on my earlier post covering voting power at the presidential level but it’s more comprehensive because it includes the often-ignored state level elections.
The Power Sharing Model
It seems to me that at least two things influence the political power of a voter:
- Their ability to change election outcomes. If there’s no chance a voter will swing an election, voting is pointless.
- The power held by their elected officials. Voters are powerless if their representatives can’t influence policy.
So I build off these two concepts to come up with the voting power metric below.
The first step is to allocate potential power to each seat in the government. I start out with an arbitrary
100 points of power, and allocate half to the federal government and half to the states. The power at the federal level is then further subdivided between the president (
25) and congress (
25), with the house and senate dividing the congressional power evenly. The other
50 points of power are divided between the states according to their fraction of the national population. Each state’s value is then split between the governor and state legislature just like at the federal level. The end result is a potential power value for every seat of the state and federal government (judiciary excluded).
The second step is to calculate a realized voting power value for each seat. To do this, I need a way to combine the power value from above with the election margin. The most obvious way is to divide them so that the power of the seat increases as the margin gets closer to zero. Here’s the equation:
So the closer the election, the higher the voting power value. One thing to note here that the voting power of a seat doesn’t have a ceiling – an election for state legislature could exceed the power of the presidential vote if the margin is close enough. (Actually, there is a ceiling but it’s just really high. For example, if an election is won by a single vote,
voting_power = seat_potential_power*(n/100), where n is the total number of voters in the election.)
So after the theory above, what do these values look like if they’re actually calculated out? After a lot of data wrangling, I was able to compile results for almost all the state and federal seats in the past election cycle (a cycle here is defined as the time for every seat to be replaced once). Here’s the distribution of voting power values overall:
Looking at the overall distribution above, it’s clear the values follow something more extreme than a lognormal distribution. The individual distributions below show that the federal elections outperform the state level elections with the exception of the governor’s races.
The table below shows the sum of voting power by office type. Looking at the
sum_power column, voters for the governor, president, US congress and state legislature races all have the same amounts of theoretical power (the small differences are due to missing election data). But when you look at the realized
sum_voting_power column, the high mean absolute margins erode the potential power for the state legislatures especially.
It’s also interesting to note that votes for governor have more cumulative power than votes for president because the elections are closer. This doesn’t strike me as obviously false, but it’s worth considering whether or not this reflects reality.
Results by Office
Next I thought it would be interesting to show detailed maps of the results for each level of government. I find these maps pretty interesting because I’ve never seen all of them together in one place before.
Most people are probably familiar with the first map, the 2016 election results. The source is the MIT Election Labs presidential dataset. One interesting thing to note is that the
democratic margin and
voting power maps are pretty much inverses of each other – places with extreme margins have low voting power. This is a pattern that repeats itself for the remaining maps as well. Also note that I take the
log of the voting power values to better display the variation in the plots below.
Next are the senate results by state from the MIT Election Labs senate dataset. The democratic margin value is the average of the two senate races, while the voting power value is summed across both elections. The dates of these senate races range from
2014-2018 because elections are staggered with 1/3 of senate seats up for election every 2 years.
Next are the house results, also from the MIT Election Labs. Note that some elections (e.g. Minnesota) don’t follow a traditional Democratic/Republican divide for the margin calculation, but I am still able to calculate the voting power value for those districts by calculating the absolute margin between the top two candidates. All of these results are from
The data for the governors races are from David Leip’s Election Atlas, covering the most recent result for each state. It’s interesting to note the difference in margins between this map and the presidential map above. Being able to tailor a candidate to each state’s race for governor seems to lead to closer margins than having a single candidate for president.
Finally, the results for the state legislatures. The data are from Carl Klarner’s state legislative dataset, which covers results through the 2016 elections. The legislative district boundaries are from the 2018 Census Tiger Geodatabase. There are some missing results, mainly from NE, LA, OK and AR. Nebraska is missing from both the Senate and House results because its legislature is unicameral and their elections are technically nonpartisan.
These maps are really interesting, mainly because I’ve never seen them before. I think the main point of interest here is how extreme the margins are, which results in small the voting power values. One major reason for this is that roughly 40 percent of the candidates for state office run unopposed, so their elections have margins of 100 percent. This could be a symptom of gerrymandering where cracked districts would have close margins and packed districts would have blowout margins. But it could also just be a symptom of the geography of the state in some cases.
Here are the state house results, with Carl Klarner’s dataset from above as the source. These results overall seem to be very similar to the Senate results above, just more detailed because there are more seats.
It’s a little overwhelming to see all these results at once. Below I try to simplify things by combining them, first by summing the results by state and then by overlaying and merging all the districts together. Here is the first map, which is just a sum of the voting power values by state. Florida, North Carolina, and Michigan are the top performers here:
Here’s a table summary of the above map:
And here are the top offices from the leading states. The
min_abs_margin column is the margin of the closest race for each seat, which is probably responsible for most of the
voting_power value. Generally, governors or presidential votes seem to be driving the scores, but not always (e.g. NH):
The state sums above provide a pretty good summary, but it is possible to get more detailed results by overlaying all the districts. This is done with the geopandas union function which creates unique geographies for all overlapping and non-overlapping districts. I had to simplify and buffer the district boundaries in order to get the computation to work, but the end result is still pretty interesting.
First is the average democratic margin across all elections for each location:
Next is the cumulative voting power value for each location. The small white lines on the map outline unique districts with their own voting power values. Even though there’s much more detail, this map doesn’t look very different from the map above that shows sums by state. This is because elections that follow state boundaries (e.g. governor/president/senate) drive the voting power values, so the differences between states are greater than the within state differences in most cases.
I was expecting this map to show a lot more within state variation, but instead it emphasizes the statewide elections. This is because the statewide offices are generally more powerful and the margins of those elections tend to be closer.
Here are a few potential problems I can think of with the above analysis:
- Sensitivity: It’s possible that these results are too sensitive to the outcome of a single election. I try to include as many elections as possible to counteract this, but the power values are still driven by the races for governor and president.
- Excluded elections: Judiciary and local government elections are left out of this analysis.
- Calculations: The power distribution and voting power calculations make a lot of assumptions which might not be true. It’s possible that a different method of combining or normalizing the inputs would lead to better results.
- Past results aren’t indicative of the future: The high power values might just be driven by random variation in election margins and not say anything intrinsic about a place.
- Legislative Control: The threshold for flipping control of a legislative body matters too. You don’t have much power if you participate in close elections but there’s no chance for your party to ever take the majority. My 2020 elections model fixes this problem by taking tipping point thresholds into account, so that might be worth a look too.
Even with these concerns, I think the analysis above provides some useful insights. All the code for this project is available on GitHub, so I’d welcome any comments or contributions to make it better. There are probably other interesting analyses I could do with this dataset, so stay tuned for future posts on this subject.
 David Leip’s Election Atlas, Governor Results. https://uselectionatlas.org/.
 State Legislative Election Returns, 1967-2016: Restructured For Use. Carl Klarner. https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/DRSACA.
 US Census Bureau Tiger Geodatabase, 2018 Legislative Areas National Database. https://www.census.gov/geo/maps-data/data/tiger-geodatabases.html#tab_2018.
 Code and data for this post: voting-power-comprehensive repo. https://github.com/psthomas/voting-power-comprehensive.