(Back to Table of Contents)
This analysis is based on exit polls from the National Election Pool (NEP) and Edison Research (ER) (referred to as NEP+ER throughout), provided by CNN (2016,2020,2024) (NEP is a collection of news media organizations (ABC, CBS, NBC, and CNN) that work together for exit polling). These tell us the percent of the sample (PS) from some group 𝑖 and the vote ratios of some group 𝑖. As already mentioned, these sample 15k-25k people, which means the groups analyzed here ({White, Black, Latino} × ({male/female} or {<$50k, $50k-$99.999k, $100k+}) each have good sample sizes, although some push it at the lower end (ideally sample size should be order of 1000 participants; so a sample of 100 would be suspect). But these results likely aren’t 100% accurate regarding actual turnout (ie an exit poll may suggest 13% of voters were black, when in reality it may be 14%). Nonetheless, the large sample size lends confidence to these exit polls (I imagine CNN is aware of this).
I’ve also started adding in some results from the Fox News+NORC+AP (referred to as Fox+NORC+AP throughout) exit polls, as provided by Fox News (2020, 2024). They seem to be the only exit poll which isn’t the NEP+ER exit poll. Their exit poll, according to their methodology statement, is conducted by NORC at University of Chicago for both Fox News and AP (so it seems the statement that the NEP+ER exit poll is the "only national exit poll since 2004" is simply wrong) (and also, that means Fox News exit poll is the same as the data used by AP). This exit poll gives similar income-group trends (although while also showing $50k-$99.999k having increased no-votes, they show a more substantial Trump gain here than the NEP+ER exit poll), and predicts the popular vote outcome well (and loss/gains of votes) (see Table II.3b), but their race-based results seem distorted (they indicate that among white+black+Latino, Harris loses only 2.8m votes, Trump gains 3.2m (see Table III.2b); where are Harris’s other 4-5m missing votes? In the "other" races of America? That seems dubious). The calculated turnouts for black and Latino voters from their sampling hints at the reason: 2020 turnout was computed as 54.2% and 44.0% respectively, and for 2024, 45.2% and 43.1% respectively (compared to NEP+ER: 2020: 64.0% and 63.6%, 2024: 49.7% and 51.7%). White voters were represented in 2020 (74/67) = 110.4% more, and in 2024, (75/71) = 105.6% more than the NEP+ER exit poll. That doesn’t make it necessarily wrong (that depends on what the actual proportion of voters was), but it’s worth pointing out the differences of the polls.
Insofar as there are errors in the data (and this becomes a greater issue with the inclusion of other data-sources; ie the way the CNN exit poll determines how a person has income <$50k and is black, and the way the US Census Office does, may differ), trends based on the exit polls for these elections will likely share the same issues (ie if a group is under-represented in each), and so the trends should be more reliable. For example, if analysis the 2020 and 2024 polls show group X turned out at 65% and 55%, but in reality they turned out at 70% and 61%, the actual turnout values may be wrong, but the downward trend is still observed. Hence, I stick with the CNN exit polls for 2016 and 2020, even though more accurate data may be available, in aim of shedding a more clear light of trends in 2024.
As discussed here, there are deep deep systematic issues with these exit polls. Still, from what I can tell, they are useful for discerning trends.
National Eligible Voter Population and General Turnout: precisely computing election turnout is surprisingly tricky. For example, while one must be 18 or over to vote, not all 18+ can vote (ie felons in many (all?) states, non-citizens). For much of the analysis thus far, I’ve been using results from Wikipedia and other sources. Thus, I’ve taken turnout from Wikipedia for 2016 (60.1%) and 2020 (66.6%). I had originally found that the eligible voters for 2024 are around 244m (which seems to hold), and that turnout would be at ~63%. And for 2016 and 2020, I’ve taken the eligible voter population from computing EV from these values, based on total-votes/turnout = total eligible voters. Later I found a total of 246.05m from Pew (2024, P24), so some results are slightly out of tune. Even so, upon digging, I’ve found this problem isn’t as simple as it seems.
For example, the UC Santa Barbara "The American Presidency Project" (last updated 2024) (APP24) offers 230.9m eligible voters in 2020, and 242.69m in 2024. But if we use the 242.69m number for 2020, we get a turnout of 65.3%, not 66.6%. The 66.6% number comes from the "US Elections Project" in 2020 (UEP20), when they estimated eligible voters was at 239.9m. In fact, APP24 and UEP20 computations of eligible voters were apparently done by the same person, Dr. Michale McDonald, but the new estimate (242.69m) is due to new census data. So it appears the actual turnout was at 65.3%.
For 2024, such issues persist. For example, the P24 article above suggests 246.05m; with results we have now, we can more precisely say this gives a turnout of 63.3%. Meanwhile, the Election Lab at University of Florida (2024) (ELUF24) computes 244.667m (with a turnout of 63.68%).
Overall, I will work on updating (updated income tables, race tables for 2020 and 2024), but will update in the future, using the 2016 eligible voters of 230.932m from the APP24, which with total votes of 136669276 votes, gives an actual turnout of 59.2%; for 2020: the APP24 turnout of 65.3% and eligible voters of 242.69m; for 2024: I will use the ELUF24 results, with a turnout of 63.68% and eligible voters of 244.667m.
As is, these shouldn’t affect results too much, but will make me feel better. Some trends comparing 2024 and 2016 may be different however, as the actual 2016 turnout is 0.9% lower than the oft-cited 60.1%, and the turnout for 2024 I will use now is 0.68% higher than I was using prior. Likely 2016 values are ~1.5% too high (ie 50 → 49.3), 2020 values are ~2% too high (ie 50 → 49.0), and 2024 values ~1% too low (ie 50 → 50.6)).
Information about the eligible voter population for Black and Latino voters is obtained from Pew (here is a link to their data on Latino (Hispanic) voters; you can find the other reports from there). They also report eligible populations for Asians, although their sample size is small in the CNN exit polls, so I didn’t carry out a race-income and race-gender analysis for Asians. This data includes total population for a racial group, percent of the total eligible voter population which is of a racial group, and the eligible voter gender ratio within a racial group (male:female ratio, US - 49:51, Black - 47:53, Latino - 49:51, Asian - 47:53). To find white eligible voter population (white_EVP), I took the difference of the total US eligible voter population (US_EVP) and the black, Asian, and Hispanic summed eligible voter populations (BAH_EVP):
white_EVP = US_EVP - BAH_EVP
While this erroneously rolls into "white" several minorities who are not white, the predominance of whites among the remainder means the US_EVP - BAH_EVP value will give a good idea of the white_EVP, despite these errors. If you have a direct source for the eligible white voter population in 2016, 2020, and/or 2024, please email me at glaznaruost@gmail.com. For the white eligible voter gender ratio, I used the US collective ratio, 49:51.
Note that the eligible voter gender ratio already accounts for gender imbalances within a group (ie if, for some reason, a group 𝑖 was 90% male, and 10% female, then the expected ratio would be 90:10).
To find income distributions for the whole US, or a racial group, in a given year, I used data from the US Census Office (the file I used is here (clicking will download a PDF file)). The income brackets analyzed are either {<$50k, $50k+}, or {<$50k, $50k-$99.999k, $100k+}, since these are the brackets broadly used by the CNN exit pollsters. I use the computed income bracket ratios as the percent of the eligible voter population, although the actual eligibity values may be slightly different (since this is household data, certain income brackets may have factors affecting their eligibility more than others, etc). For 2016 and 2020 income bracket ratios, I use incomes from those years. For 2024, I use the reported income ratios for 2023, since that is the most recent year available from the Census Office data.
Household vs Income: It’s unclear to me if the exit polls asked for household or individual income. (Edit: It appears its household income, or at least, "family income", as reported by NBC). I tried making a crude adjustment to income distributions to account for the fact that households often have more than one earner (by dividing the median household income and median individual income for a group, and adjusting the income distribution accordingly), and the results are quite a bit more unrealistic than just using the household distributions, but not as bad as I originally thought (was a code error). Thus, I’ve stuck with just the household income distributions, as given by the Census Office, although I’ve presented the individual-shifted results for the whole population and white, black, and Latino.
Interestingly, because group turnout is computed as (PS/PP)*Tᵢ = (PS/(gT/wT)) = (PS*wT)/gT, where wT is the whole total, and gT is the group total, this means that total votes = ((PS*wT)/gT)*Tᵢ*PP*gT = (PS*wT)*Tᵢ*PP, where PP is the party percent vote reported in the exit polls. This means that vote totals for the parties add up the same for any distribution (with some variation for no-vote). However, actual percent votes - ((PS*wT)/gT)*Tᵢ*PP - does change. Qualitiatively however (ie in terms of sign), even these results don’t change. Perhaps the only noteworthy change is, for the whole nation, household income gives Trump +2.9 percent points with <$50k from 2020→2024, whereas the individual-shifted income distribution gives Trump only a +0.9 percent point gain here.
Class terminology: Throughout, I make references to "working", "middle", and "upper" class. I have in mind the standard Marxian definition of "working class" (someone who sells their labor-time for a wage), but this gets mixed with the non-Marxian categorizations of "middle" and "upper", as they are a big part of American political lingo; in reality, "middle class" - a loose term that refers to someone who has savings (and can probably comfortably retire in their 60s), owns a home (or at least, is on track to pay it off), aspires to some degree of professional/educational virtue, etc - includes many working class people, and also includes many bourgeoisie. "Upper class" almost entirely consists of bourgeoisie, although one may argue that wealthy professionals, such as professional sports players, are working class (until they begin investing their earnings, at least). The income brackets don’t necessarily correspond 100% to any of these. For example, <$50k is indicative of working class trends, but likely a large portion (maybe even majority) of $50k-$99.999k are also working class. We may comfortably assume, however, that middle class and upper class predominate in the $100k+ group.
Turnout computation for a given group. For a given group 𝑖’s turnout (Tᵢ), I took the percent sampled (PS) from a group in the CNN exit poll (ie Latinos were 13% of those sampled in 2020), and divided it by the percent in the eligible voter population (PP) of that group (ie Latinos were 13.6% of eligible voters in 2020), and multiplied by general turnout (GT) (ie 2020 turnout was 66.6%):
Tᵢ = (PS/PP)*GT
For example, for Latino voters in 2020, this computes as T_{Latino} = (13/13.6)*66.6% = 63.7%. For 2024, I’ve estimated general turnout at around 63% (based on how many votes remained to be counted from AP reporting), but this may need to be updated in the future. When looking at groups within a group (ie gender within the black population, income brackets within the white population), the percent of eligible voter population (PP) is with reference to that group, not the national whole (ie the income bracket ratios of Latino voters should add up to 100%).
"Actual" vote ratios and totals. Given a group 𝑖’s turnout Tᵢ, I compute how many 𝑖 eligible voters voted for Democrat (D/Dem), Republican (R/GOP), and no-Vote (NoVote) as follows. First, find the Dem:GOP voter ratio for that group from the exit polls (ie, following the above computation for Latinos, Latinos voted 65:32 in 2020, based on the exit poll); keep in mind that these ratios are, by definition, the results of people that voted, and excludes those that didn’t. To figure out "actual" vote breakdowns, I multiply those values by Tᵢ (for Latinos in 2020, T_{Latino} computed above: 63.7%; so, Dem: 0.65*0.637 = 41.4%, GOP: 0.32*0.637 = 20.4%), and find the percent NoVote based on 100% - Tᵢ (ie Latino NoVote: 100% - 63.7% = 36.3%), which gives a Dem:GOP:NoVote ratio (ie for Latinos: 41.4:20.4:36.3) (Note: these won’t add up to 100, because a small fraction of every group 𝑖 votes Third Party). The total votes is then found by multiplying these ratios by the total population of group 𝑖. For Latinos, their eligible voter population in 2020, per Pew above, was 32.3m. So the absolute value of Latino votes for each "candidate" would be:
- Dem: 0.414*32.3m = 13.25m
- GOP: 0.204*32.3m = 6.59m
- NoVote: 0.363*32.3m = 11.72m
Thus the 2020 Latino total vote breakdown Dem:GOP:NoVote is 13.25m:6.59m:11.72m.
The above is the method for the analysis of all race/income/gender groups, or two-way combinations of {race} × ({income} or {gender}) (the CNN exit poll data does not permit three-way combinations). Further, the US Census Office does not give gendered income distributions (only mean income values), so I did not do a gender-income analysis. Further, from the 2016 exit poll, I’m unable to look at race-income groups, so that analysis is left out for 2016.
For the age analysis, to find the percent of population of an age group, I took the population pyramid of the US from populationpyramid.net (th ODS file I used is here (clicking will download a file). Some method notes for that analysis are given in that section. For historical voter turnout by age bracket, I used this data from Statista.
Error: There are a few sources of error that could be included (ie to give something like a standard deviation, once errors are propagated through). I initially started writing this article quite flippantly, just to see what the rough picture is from the exit poll data - I was very annoyed seeing people directly comparing Dem:GOP pol proportions from 2020 and 2024, because changing turnout in general, and among component groups, is such a crucial part of the picture (if 50 𝑋 people vote blue and 50 𝑋 people vote red in 2020, it’ll look 50:50; then if 20 of the blue 𝑋 people don’t show up, and only 10 red 𝑋 people don’t show up, in 2024 - but no one changed their mind - the exit poll ratio will be 42.9:57.1. But that doesn’t mean Trump made gains - it means he just lost votes slower!). But I may include errors (the main quantifiable one being from the exit polls; the errors given a sample size are documented here).