# Wages, capital and the ZIP code vote: report

Companion 8.1b of The Public Mind, by Vishal Singh (NYU Stern). Generated from the chapter's data files; the reading version is at https://vishalsingh.org/politics/wages-capital-and-the-county-vote. Table n of this report is figure n of the chapter.

## Identification

- Title: Wages, capital and the ZIP code vote
- Chapter: Companion 8.1b (Part VIII, Places and the people in them; Votes, giving and places)
- Question: Do ZIP codes with more capital income or more wage-credit filers vote differently once education is held fixed?
- Dek: From 2016 to 2020, ZIP codes in the highest decile of capital-gains returns swung 5.4 points toward the Democrats and those in the highest decile of earned income tax credit returns 5.2 points toward the Republicans, links that depend on the controls.
- Grain: places
- Status: draft
- Published: 2026-09-30
- Updated: not revised
- Data sources:
  - Precinct votes on census geographies. Precinct votes allocated to ZIP code tabulation areas, contiguous states, 2016 and 2020 (Fekrazad 2025, RLCR), joined to the project's ZIP-code demographic file (ACS-based; release not recorded); years: 2016 and 2020 (contiguous United States only); weights: 2020 votes in each ZIP code (pres_tot_2020); ZIP codes with 100 or fewer votes dropped
  - IRS SOI ZIP code data. IRS Statistics of Income ZIP-code data, tax year 2022: share of returns claiming the earned income tax credit, share reporting a net capital gain, mean effective tax rate; years: Tax year as distributed with the ZCTA atlas file.; weights: none (administrative counts by ZIP code); ZIP codes weighted by 2020 votes in the analysis
  - County election returns. County presidential returns, 2016 and 2020, repaired file; the county swing and the county weights; years: President 1868-2024 (40 elections); House and Senate 1990-2024; weights: none (full counts); county estimates weighted by 2020 two-party votes
  - County demographics panel. County demographics panel, 2020 election-year row: bachelor's share, poverty, Black and Hispanic shares; years: 2000-2024 (election years, interpolated between census and survey anchors); weights: none (full counts and interpolated estimates)
  - Cooperative Election Study. Cooperative Election Study, 2016 and 2020: investor and homeowner items and college degree, respondents who voted for one of the two major parties; years: 2006-2024 (every year; self-reported turnout is available in the 10 even years); weights: post-election weight (weight_post)
- Canonical URL: https://vishalsingh.org/politics/wages-capital-and-the-county-vote
- Report: https://vishalsingh.org/politics/wages-capital-and-the-county-vote/report
- Markdown: https://vishalsingh.org/politics/wages-capital-and-the-county-vote/report.md
- BibTeX key: singh2026wagescapitalandthecountyvote

```bibtex
@misc{singh2026wagescapitalandthecountyvote,
  author = {Singh, Vishal},
  title = {Wages, capital and the ZIP code vote},
  year = {2026},
  url = {https://vishalsingh.org/politics/wages-capital-and-the-county-vote},
  note = {In The Public Mind. Published 30 September 2026.}
}
```

## Principal estimates

The facts the dek and the opening prose cite, in order of appearance.

| Estimand | Population | Period | Value | Interval | n | Weights | Source | Fact id |
| --- | --- | --- | ---: | --- | ---: | --- | --- | --- |
| vote-weighted mean swing of the decile, shown as a size (95% interval clustered on county) | ZIP codes in decile 10 of the share of returns reporting a net capital gain | 2016 to 2020 | 5.4 | 95% CI 4.4 to 6.4 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies | dem_swing_cap_d10 |
| vote-weighted mean swing of the decile, shown as a size (95% interval clustered on county) | ZIP codes in decile 10 of the share of returns claiming the earned income tax credit | 2016 to 2020 | 5.2 | 95% CI 3.5 to 6.9 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies | rep_swing_eitc_d10 |
| weighted least squares coefficient of the share of returns reporting a net capital gain, with no controls (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | +2.4 | 95% CI 2.0 to 2.9 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies | z_cap_raw |
| weighted least squares coefficient of the share of returns reporting a net capital gain, net of the college share (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | −1.0 | 95% CI −1.6 to −0.4 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies | z_cap_col |
| vote-weighted standard deviation of the capital-gains share | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 | 11.5 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data | sd_cap |
| vote-weighted standard deviation of the EITC share | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 | 8.3 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data | sd_eitc |
| weighted least squares coefficient of the share of returns claiming the earned income tax credit, with no controls (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | −3.5 | 95% CI −4.0 to −3.0 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies | z_eitc_raw |
| weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the poverty rate, college share, Black share and Hispanic share (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | +0.3 | 95% CI −0.8 to 1.4 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies | z_eitc_full |
| correlation of the capital-gains share with the college share (the ZIP-code college variable, whose definition is unresolved) (vote-weighted; 95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | +0.81 | 95% CI 0.79 to 0.82 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies | r_cap_col |
| count of ZCTAs in the analysis sample | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 and 2020 | 27,144 |   |   | none (count) | Precinct votes on census geographies | n_zcta |
| count of county codes clustered on | counties that contain at least one ZCTA of the analysis sample | 2016 and 2020 | 3,088 |   |   | none (count) | Precinct votes on census geographies | n_counties |
| count of counties in the county sample | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 3,080 |   |   | none (count) | County election returns | n_cty |

## Findings

Between 2016 and 2020, ZIP codes in the highest decile of the share of tax returns that report a capital gain swung 5.4 points toward the Democrats. ZIP codes in the highest decile of the share of returns that claim the earned income tax credit (EITC) swung 5.2 points toward the Republicans. With education held fixed, the capital-gains sign reverses and the EITC link is near zero. The coefficient of the swing on the capital-gains share, in points of margin per standard deviation of the share, is +2.4 (95% CI 2.0 to 2.9) with no controls and −1.0 (95% CI −1.6 to −0.4) with the college share held fixed. To hold the college share fixed is to compare ZIP codes with similar college shares. (Note: A coefficient here is the difference in swing, in points of margin, between ZIP codes one standard deviation apart on the measure. One standard deviation is 11.5 points of share for capital gains and 8.3 for the EITC.) The college share is the college variable of the ZIP-code demographic file, and what that variable counts, degrees only or some college or more, is unresolved, so every adjusted result in this chapter is conditional on that coding. The EITC coefficient goes from −3.5 (95% CI −4.0 to −3.0) with no controls to +0.3 (95% CI −0.8 to 1.4) with poverty, college, Black and Hispanic shares held fixed, a set that leaves out the average tax rate. The capital-gains share correlates +0.81 (95% CI 0.79 to 0.82) with the college share, so these data cannot separate the two.

The unit is the ZIP code tabulation area, the census approximation of a ZIP code, and not the county. The IRS shares are tabulated by postal ZIP code, and the votes are precinct returns allocated to the census area, so the two sides of each comparison are different approximations of the same place. The sample is 27,144 ZIP codes in 3,088 counties, and the county analysis uses 3,080 counties; Table 8 in the last section lists the exclusions. The EITC share stands in for low wages, as the next section explains. Counties enter in two ways: as the clusters that set the width of the ZIP-code intervals, and as a second grain in which ZIP-code shares are averaged to counties and compared with certified county returns. Unless the text says otherwise, ZIP-code statistics weight each ZIP code by its 2020 votes and county statistics weight each county by its 2020 two-party votes.

### What the shares and the swing measure

The earned income tax credit is a refundable federal credit for households with low earnings from work, so the share of a ZIP code's returns that claim it is higher where more filers have low earnings. It also depends on children in the household and on take-up. A capital gain is the profit from selling an asset such as stock or a home, and returns also report gains that funds distribute, so the share of returns that report one is higher where more households hold assets that produce gains. Both shares come from IRS Statistics of Income data for tax year 2022, and both describe filers; households that do not file a return are absent. The vote-weighted mean is 14.2% of returns for the EITC and 20.1% for capital gains, and across ZIP codes the two shares correlate −0.78 (95% CI −0.79 to −0.77) (−0.68 with each ZIP code counted equally), so a ZIP code with many EITC claims has few capital-gains returns and the reverse. (Note: The IRS shares are for tax year 2022, which follows both elections they are set against. The ZIP-code demographic file that carries the poverty, college and race controls does not record which American Community Survey release it uses, so those controls are undated. The county controls come from a panel with documented anchor years. The last section returns to the timing.)

Votes for 2016 and 2020 are precinct returns that Fekrazad allocated to ZIP code tabulation areas in proportion to household population [1], from the Voting and Election Science Team's 2016 precinct returns [2] and the 2020 returns of the MIT Election Data and Science Lab [3]. The outcome is the swing, the 2020 two-party margin minus the 2016 margin, Democratic minus Republican, in points, so a positive swing is toward the Democrats. Across the ZIP codes in this chapter the vote-weighted mean of the swing is 3.0 points toward the Democrats. (Note: The mean weights both years' margins of a ZIP code by its 2020 votes. The aggregate two-party margin of the same ZIP codes weights each year by that year's votes and moved 2.3 points, from +2.3 to +4.6.)

### Swing rose with capital gains and fell with EITC

Table 1 ranks the ZIP code tabulation areas by each share and splits them into ten equal groups, or deciles. The mean swing is 7.2 (95% CI 5.6 to 8.8) points toward the Republicans in the lowest capital-gains decile and 5.4 (95% CI 4.4 to 6.4) points toward the Democrats in the highest. It is 6.3 (95% CI 5.5 to 7.2) points toward the Democrats in the lowest EITC decile and 5.2 (95% CI 3.5 to 6.9) points toward the Republicans in the highest. Most deciles of both shares swung toward the Democrats, as the mean of all ZIP codes did, so the ordering is one of how far the deciles moved. Intervals use clustered standard errors at the county, because ZIP codes in one county share local conditions and are not independent draws.

Table 1. The swing rose with the capital-gains share and fell with the EITC share

Table 2 plots the 2020 margin for the same deciles. It bends into a U for both shares. The margin was most Democratic in the lowest and highest deciles and lowest in the middle of the range.

Table 2. The 2020 margin was most Democratic at both ends of each share and lowest in the middle of the range

The two ends of each U are different kinds of places (Table 3). The lowest capital-gains decile and the highest EITC decile are poor ZIP codes with large Black and Hispanic populations, and they are the two end deciles that swung toward the Republicans. The other two ends, the highest capital-gains decile and the lowest EITC decile, are college-heavy. A ZIP code can be solidly Democratic in level and still have moved toward the Republicans, so the swing orders the deciles from one end of a share to the other while the level is high at both ends.

Table 3. The two end deciles that swung toward the Republicans are the poorest of the four

### Holding college fixed reverses the capital-gains sign

In these data a ZIP code's college share is the college variable of the ZIP-code demographic file, and what that variable counts is unresolved. The file describes the variable as the percentage of the population with a college degree or higher and names no table, age group or release. Aggregated to counties it averages 52.7% against 23.6% for the county bachelor's share, with a correlation of +0.86, so its level is far above a bachelor's share. The level and the correlation do not establish whether it counts some college or more or degrees only, so every result below that holds it fixed is conditional on that coding. The county analysis uses the bachelor's share. The college share correlates +0.81 (95% CI 0.79 to 0.82) with the capital-gains share and +0.47 (95% CI 0.43 to 0.51) with the swing (+0.44 with each ZIP code counted equally). A standard deviation of the college share goes with +3.4 (95% CI 3.1 to 3.8) points of swing, against +2.4 (95% CI 2.0 to 2.9) for a standard deviation of the capital-gains share.

Table 4 adds controls to each share one set at a time, as separate models on the same 27,144 ZIP codes. With the college share held fixed (third row), the capital-gains coefficient goes from +2.4 (95% CI 2.0 to 2.9) with no controls to −1.0 (95% CI −1.6 to −0.4). Holding the poverty rate fixed instead brings it to +0.3 (95% CI −0.1 to 0.7), so most of the raw capital-gains association is shared with low poverty as well as with college. With intervals clustered on state (49 clusters) instead of county, the capital-gains intervals with the college share held fixed, alone (−1.0 (95% CI −2.1 to 0.0)) or with the average tax rate (+1.4 (95% CI −0.3 to 3.0)), include zero. Every other interval in the ladder keeps its position relative to zero. The same check on the deciles leaves the intervals of the four end deciles away from zero.

Table 4. Controls take the EITC coefficient to about zero and change the sign of the capital-gains coefficient

The negative sign with the college share held fixed does not show a Republican lean among capital-gains filers. The capital-gains share and the college share correlate +0.81, so the regression has little independent variation in the capital-gains share to work with, and the sign depends on which other controls are present. With the average tax rate and the college share held fixed together the coefficient is +1.4 (95% CI 0.1 to 2.6). Work on Western democracies from 1948 to 2020 found that higher-educated voters had moved toward parties of the left while high-income voters continued to vote for the right [4]. That finding is consistent with an education pattern in the ZIP-code swing, although it describes individual voters and these data describe ZIP codes.

### The EITC link is near zero with poverty, college and race fixed

The EITC coefficient in Table 4 is −3.5 (95% CI −4.0 to −3.0) with no controls. It is −1.7 (95% CI −2.7 to −0.6) with the poverty rate held fixed, −2.1 (95% CI −2.9 to −1.3) with the college share held fixed and −2.8 (95% CI −3.6 to −1.9) with the average tax rate and college share held fixed together. With the poverty rate, college share, Black share and Hispanic share all held fixed, a set that does not include the tax rate, it is +0.3 (95% CI −0.8 to 1.4), an interval that includes zero under both clusterings (+0.3 (95% CI −1.2 to 1.9) with clusters on state). A ZIP code with many EITC claims is, on average, poor, has a lower college share and has more Black and Hispanic residents. The EITC share correlates −0.72 (95% CI −0.74 to −0.71) with the college share (−0.56 with each ZIP code counted equally). The link between the EITC share and the swing is therefore partly a link between those characteristics and the swing, and the data do not show a separate association once they are held fixed. Planned, Deprivation and mobility (https://vishalsingh.org/politics/deprivation-and-mobility; planned) asks the same question of neighborhood deprivation, with race held fixed.

Starr County, Texas, and Holmes County, Mississippi, illustrate that the EITC share alone does not fix the swing. They have nearly the same share of returns claiming the credit, 45.4% and 45.2%. Between 2016 and 2020 Starr swung 56.3 points toward the Republicans, the largest such swing of any county in the county sample, and Holmes 1.7 points toward the Republicans. The Hispanic share of residents is 98.1% in Starr and the Black share is 82.4% in Holmes, and both shares are in the full set of controls. The pair is picked for the contrast, and the ZIP-code regressions do not test whether these shares account for either swing.

The average tax rate was included as a rough stand-in for income, and it is a poor control. It correlates +0.90 (95% CI 0.89 to 0.91) with the capital-gains share and −0.67 (95% CI −0.69 to −0.65) with the EITC share, so it is highest in the ZIP codes with many capital-gains returns and lowest where EITC claims are common, and holding it fixed leaves 19% of the variance of the capital-gains share. It may itself respond to either share, since the credit reduces the tax a filer owes and gains are taxed under their own rates. The rows that hold it fixed rest on a near-collinear control and are the least reliable in the ladder.

### Counties show the same raw signs, with wide intervals

Table 5 maps both shares and the swing by county. Each county averages the shares of its ZIP codes with weights of 2020 votes and takes the swing from certified county returns. The county correlation of the EITC share with the swing is −0.42 (95% CI −0.58 to −0.23) (−0.44 with each county counted equally) and of the capital-gains share +0.21 (95% CI 0.04 to 0.40) (+0.41), the same signs as in the ZIP codes. This changes the geographic grain and the source of the vote and is not an independent test of the IRS shares, which are the same ZIP-code values averaged. Intervals cluster on state, with 48 clusters (the states and the District of Columbia, without Connecticut), and are wider.

Table 5. The EITC share is highest in the Mississippi Delta, Alabama's Black Belt and along the Rio Grande

Table 6 repeats the ZIP-code ladder at county grain with the county bachelor's share as the college control; its second view adds the row that holds only the average tax rate fixed. The capital-gains share correlates +0.83 (95% CI 0.77 to 0.87) with the bachelor's share across counties (+0.68 with each county counted equally). The capital-gains coefficient is +1.2 (95% CI 0.0 to 2.4) with no controls, +0.1 (95% CI −1.7 to 2.0) with the bachelor's share held fixed and −2.9 (95% CI −4.4 to −1.5) with the full set held fixed, and the first two intervals include zero. With the average tax rate and the bachelor's share held fixed together it is +2.7 (95% CI 0.4 to 4.9), an interval above zero. The EITC coefficient is −2.4 (95% CI −3.6 to −1.1) with no controls, −2.5 (95% CI −4.2 to −0.8) with the bachelor's share held fixed and 0.0 (95% CI −2.4 to 2.4) with the poverty rate, bachelor's share, Black share and Hispanic share held fixed, an interval that includes zero. The county intervals are wide. The interval for the capital-gains coefficient with the bachelor's share held fixed includes both zero and the ZIP-code estimate with the college share held fixed (−1.0 (95% CI −2.1 to 0.0) with clusters on state). The county data therefore cannot say whether the capital-gains coefficient after education is near zero or negative, and they do not show that the ZIP-code and county results differ. Under the full set the coefficient is negative at both grains. Planned, Income and the county vote (https://vishalsingh.org/politics/income-and-the-county-vote; planned) takes county income directly.

Table 6. At county grain the intervals are wide and the capital-gains coefficient with college held fixed includes zero

### Investors and homeowners lean Republican within education groups

The ZIP-code results describe places. The Cooperative Election Study asks respondents whether they have money invested in the stock market and whether they own their home, and it records their vote, so it can compare people with the same education. A college degree here means a four-year degree or more. Table 7 gives the Democratic minus Republican margin among voters for the two major parties in 2020 and in 2016. The investor comparison rests on 43,785 voters in 2020 and 40,803 in 2016 and the homeowner comparison on 42,142 and 39,458. Voters without an answer to the item are set aside, and so, for homeowners, are voters who report a housing status other than owning or renting.

Among voters without a college degree, investors were 27.1 (95% CI 23.4 to 30.8) points more Republican than non-investors in 2020 and 18.1 (95% CI 14.2 to 21.9) points more Republican in 2016. Among college graduates the gaps were 10.3 (95% CI 6.5 to 14.2) and 5.9 (95% CI 2.2 to 9.6) points. Homeowners were more Republican than renters at both education levels, by 46.7 (95% CI 42.5 to 50.9) points among non-graduates and 38.0 (95% CI 34.1 to 41.9) points among graduates in 2020, and by 47.4 (95% CI 43.3 to 51.6) and 37.1 (95% CI 33.0 to 41.1) points in 2016.

Table 7. Investors voted more Republican than non-investors with the same education in 2016 and 2020

The survey also allows a comparison with the swing, with a caution. The 2016 and 2020 samples are separate cross-sections, and the groups change. The investor share of graduate voters is 63.7% (95% CI 62.8% to 64.6%) in 2016 and 67.9% (95% CI 67.0% to 68.7%) in 2020, and of other voters 33.8% and 35.1%. Between 2016 and 2020 the margin of investors without a degree moved 5.5 (95% CI 1.5 to 9.6) points toward the Republicans, and the margin of non-investors without a degree moved 3.5 (95% CI 0.0 to 7.0) points toward the Democrats (the interval starts at zero). The difference is 9.1 (95% CI 3.7 to 14.4) points. Among graduates, investors moved 4.5 (95% CI 1.4 to 7.5) points toward the Democrats and non-investors 8.9 (95% CI 4.5 to 13.3), a difference of 4.4 (95% CI −1.0 to 9.7) points, an interval that includes zero. The differences are computed from unrounded moves. Investors without a degree therefore moved toward the Republicans while non-investors without a degree moved toward the Democrats, and the data do not show a difference among graduates. Homeowners without a degree moved 0.7 (95% CI −5.2 to 6.6) points more toward the Democrats than renters without a degree, and homeowners with a degree moved 0.9 (95% CI −4.7 to 6.5) points less than renters with a degree. Both homeowner intervals include zero and are wide, so the data do not show whether homeowners and renters moved alike.

The individual pattern is consistent with the same composition as the ZIP-code pattern. College graduates are more likely to invest, 67.9% (95% CI 67.0% to 68.7%) of graduate voters in 2020 against 35.1% (95% CI 34.2% to 36.0%) of others, and graduates vote more Democratic than non-graduates within every investor and housing group in the figure. A ZIP code with many college-educated adults has many capital-gains returns and moved toward the Democrats, while an investor with a given degree leans Republican relative to a non-investor with the same degree. The ZIP-code college variable has an unresolved definition and the survey measure is a four-year degree, so the two may not be the same split. Gelman and coauthors found a similar reversal between states and individuals, in which richer states vote more Democratic while richer individuals within them vote more Republican [5]. Chapter 3.5, The income ladder (https://vishalsingh.org/politics/the-income-ladder) follows the individual vote by family income.

### What these data cannot show

The ZIP-code results are associations between places and do not say how a capital-gains filer or an EITC claimant voted. Group and individual correlations can differ [6], and this chapter has one case. The raw ZIP-code coefficient of the swing on the capital-gains share is +2.4, while among voters without a degree investors moved 5.5 points toward the Republicans and non-investors 3.5 points toward the Democrats. With the college share held fixed the ZIP-code coefficient is −1.0, the same sign as the survey difference, though its interval includes zero when clustered on state. The place-level and voter-level results disagree about the raw association and agree in sign once education is held fixed, which is what the composition account above predicts. This is ecological inference, and the ZIP-code filers and voters are overlapping but not identical populations.

The timing is a limit. The IRS shares are for tax year 2022 and the swing is for 2016 to 2020, so a ZIP code's income mix is measured after both elections. The release of the American Community Survey behind the ZIP-code controls is not recorded in the demographic file, so the controls cannot be dated against the swing. The IRS shares describe filers, so the poorest households and some retirees are missing, and the EITC share is a share of returns and not of residents. The vote estimates are allocations of precinct returns to ZIP codes, with a source change between 2016 and 2020, and both the allocation error and the source change enter the swing. The IRS file also omits PO-box ZIP codes and ZIP codes below its disclosure thresholds, so some ZIP codes with votes have no share; Table 8 counts what each step of the sample leaves out.

Table 8. The ZIP-code sample is 27,144 areas in 3,088 counties and the county sample is 3,080 counties

The intervals allow dependence among ZIP codes in the same county (or, in the state check, the same state) and not between neighboring counties in different states or between neighboring states. Regional swings, such as the swing in the Texas border counties, make that dependence likely, and the two capital-gains intervals that change between the county and state clusterings show that it can matter for a conclusion. The shares of the smallest ZIP codes rest on few returns. In the sample, 1,405 ZIP codes report no capital-gains returns and 1,244 report no EITC returns, and the data do not distinguish a true zero from a small count rounded down. They hold 0.3% and 0.2% of the votes in the sample, and leaving them out of the lowest decile moves its mean swing from 7.2 to 7.5 points toward the Republicans for capital gains and from 6.3 to 6.4 points toward the Democrats for the EITC.

The capital-gains result cannot be resolved by more controls. The share correlates +0.81 with the college share, the ZIP-code college variable has no resolved definition, and the county results with the bachelor's share carry intervals that include zero, so the data cannot say how much of the capital-gains association is capital gains and how much is education. Every ZIP-code coefficient with the college share held fixed, including the negative capital-gains coefficient and the EITC coefficient near zero, is an adjustment for a variable whose coding is unresolved. If it counts some college or more, the adjustment removes a broader educational gradient than a four-year degree would. The results also depend on the weights. Table 9 gives the partial correlation of the swing with each share under vote weights and with each ZIP code counted equally. The signs of the capital-gains partial correlation with the college share held fixed and of the EITC partial correlation with the full set held fixed differ between the weightings; the capital-gains partial correlation with the full set held fixed is negative under both.

Table 9. Two of the partial correlations change sign when every ZIP code counts equally

The wealth measures are narrow. The survey has stock ownership and home ownership as yes or no items, so neither measures the size of holdings. The vote in the survey is self-reported, and the intervals treat the weighted sample as a simple random sample. Companion 8.1c, Measures of hardship compared (https://vishalsingh.org/politics/measures-of-hardship-compared) puts hardship measures on one specification.

## Tables

### Table 1. The swing rose with the capital-gains share and fell with the EITC share

Vote-weighted mean change in the two-party margin, 2016 to 2020, by decile of ZIP codes ranked by share of returns; 95% intervals clustered on county; positive is toward the Democrats

| Share ranked | Decile | Lowest share in decile (%) | Highest share in decile (%) | Mean swing (points) | Lower bound, county clusters | Upper bound, county clusters | Lower bound, state clusters | Upper bound, state clusters | ZIP codes |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| Capital-gains share | 1 | 0.0 | 5.5 | −7.2 | −8.8 | −5.6 | −9.9 | −4.5 | 2,715 |
| Capital-gains share | 2 | 5.5 | 8.9 | −1.9 | −3.5 | −0.4 | −4.2 | +0.3 | 2,714 |
| Capital-gains share | 3 | 8.9 | 11.3 | +0.9 | −0.1 | +1.8 | −0.8 | +2.6 | 2,714 |
| Capital-gains share | 4 | 11.3 | 13.5 | +1.9 | +1.2 | +2.7 | +0.7 | +3.1 | 2,715 |
| Capital-gains share | 5 | 13.5 | 15.7 | +3.2 | +2.5 | +4.0 | +1.8 | +4.7 | 2,714 |
| Capital-gains share | 6 | 15.7 | 18.1 | +3.9 | +3.1 | +4.6 | +2.4 | +5.3 | 2,714 |
| Capital-gains share | 7 | 18.1 | 20.9 | +4.5 | +3.9 | +5.2 | +3.4 | +5.6 | 2,715 |
| Capital-gains share | 8 | 20.9 | 24.7 | +5.4 | +4.8 | +6.0 | +4.3 | +6.5 | 2,714 |
| Capital-gains share | 9 | 24.7 | 31.0 | +6.1 | +5.4 | +6.8 | +4.6 | +7.6 | 2,714 |
| Capital-gains share | 10 | 31.0 | 77.1 | +5.4 | +4.4 | +6.4 | +3.4 | +7.4 | 2,715 |
| EITC share | 1 | 0.0 | 5.1 | +6.3 | +5.5 | +7.2 | +4.7 | +8.0 | 2,715 |
| EITC share | 2 | 5.1 | 7.7 | +6.2 | +5.5 | +6.8 | +4.6 | +7.8 | 2,714 |
| EITC share | 3 | 7.7 | 9.7 | +5.7 | +5.0 | +6.4 | +4.2 | +7.2 | 2,714 |
| EITC share | 4 | 9.7 | 11.5 | +4.9 | +4.2 | +5.5 | +3.6 | +6.1 | 2,715 |
| EITC share | 5 | 11.5 | 13.4 | +4.3 | +3.6 | +4.9 | +3.0 | +5.5 | 2,714 |
| EITC share | 6 | 13.4 | 15.4 | +3.3 | +2.5 | +4.1 | +1.7 | +4.8 | 2,714 |
| EITC share | 7 | 15.4 | 18.0 | +2.0 | +0.7 | +3.2 | −0.2 | +4.2 | 2,715 |
| EITC share | 8 | 18.0 | 21.3 | +0.8 | −0.4 | +2.0 | −1.2 | +2.8 | 2,714 |
| EITC share | 9 | 21.3 | 26.3 | −1.5 | −3.2 | +0.1 | −4.0 | +1.0 | 2,714 |
| EITC share | 10 | 26.3 | 72.7 | −5.2 | −6.9 | −3.5 | −8.1 | −2.3 | 2,715 |

Note: ZIP code tabulation areas are ranked by the share of their returns that report a net capital gain or claim the earned income tax credit and split into ten groups of equal size. Each point is the mean swing weighted by 2020 votes, and the band is a 95% interval clustered on county. The data table also gives intervals clustered on state, which are wider; the intervals of the four end deciles still exclude zero. ZIP codes with 100 or fewer votes in 2020 are excluded.

Source: Precinct votes allocated to ZIP code tabulation areas (Fekrazad 2025), 2016 and 2020; IRS Statistics of Income ZIP-code data, tax year 2022; ACS 5-year estimates; weighted by 2020 votes

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/share_deciles.json

### Table 2. The 2020 margin was most Democratic at both ends of each share and lowest in the middle of the range

Vote-weighted mean 2020 two-party margin, Democratic minus Republican, by decile of ZIP codes ranked by share of returns; 95% intervals clustered on county

| Share ranked | Decile | Mean margin, 2020 (points) | Lower bound | Upper bound | ZIP codes |
| --- | ---: | ---: | ---: | ---: | ---: |
| Capital-gains share | 1 | +48.4 | +42.5 | +54.3 | 2,715 |
| Capital-gains share | 2 | +14.0 | +8.8 | +19.2 | 2,714 |
| Capital-gains share | 3 | −4.8 | −9.6 | 0.0 | 2,714 |
| Capital-gains share | 4 | −11.6 | −15.7 | −7.6 | 2,715 |
| Capital-gains share | 5 | −12.0 | −15.2 | −8.9 | 2,714 |
| Capital-gains share | 6 | −6.9 | −10.3 | −3.4 | 2,714 |
| Capital-gains share | 7 | −6.9 | −10.2 | −3.6 | 2,715 |
| Capital-gains share | 8 | +0.8 | −2.7 | +4.3 | 2,714 |
| Capital-gains share | 9 | +5.6 | +2.1 | +9.0 | 2,714 |
| Capital-gains share | 10 | +22.6 | +17.3 | +27.9 | 2,715 |
| EITC share | 1 | +19.9 | +13.5 | +26.4 | 2,715 |
| EITC share | 2 | +9.5 | +5.7 | +13.4 | 2,714 |
| EITC share | 3 | +2.5 | −1.2 | +6.2 | 2,714 |
| EITC share | 4 | −0.8 | −4.8 | +3.1 | 2,715 |
| EITC share | 5 | −6.0 | −9.6 | −2.5 | 2,714 |
| EITC share | 6 | −6.3 | −10.5 | −2.0 | 2,714 |
| EITC share | 7 | −6.1 | −11.9 | −0.2 | 2,715 |
| EITC share | 8 | −3.7 | −9.1 | +1.8 | 2,714 |
| EITC share | 9 | +3.4 | −3.0 | +9.9 | 2,714 |
| EITC share | 10 | +33.3 | +27.3 | +39.2 | 2,715 |

Note: Deciles, weights and intervals are as in the swing figure; the vertical axis is the 2020 margin and not the change.

Source: Precinct votes allocated to ZIP code tabulation areas (Fekrazad 2025), 2016 and 2020; IRS Statistics of Income ZIP-code data, tax year 2022; ACS 5-year estimates; weighted by 2020 votes

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/decile_levels.json

### Table 3. The two end deciles that swung toward the Republicans are the poorest of the four

Vote-weighted mean swing, 2020 margin and demographic profile of the lowest and highest deciles of each share; positive swing and margin are toward the Democrats

| ZIP codes in the | Swing (points) | Lower bound | Upper bound | Margin, 2020 (points) | Lower bound | Upper bound | Black and Hispanic share (%) | Lower bound | Upper bound | Poverty rate (%) | Lower bound | Upper bound | ZIP-code college variable (%) | Lower bound | Upper bound | ZIP codes |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| Lowest capital-gains decile | −7.2 | −8.8 | −5.6 | +48.4 | +42.5 | +54.3 | 76.5 | 72.8 | 80.2 | 23.4 | 22.4 | 24.4 | 40.6 | 38.9 | 42.3 | 2,715 |
| Highest capital-gains decile | +5.4 | +4.4 | +6.4 | +22.6 | +17.3 | +27.9 | 12.8 | 11.7 | 13.8 | 3.8 | 3.6 | 4.0 | 82.1 | 81.3 | 82.8 | 2,715 |
| Lowest EITC decile | +6.3 | +5.5 | +7.2 | +19.9 | +13.5 | +26.4 | 8.5 | 7.9 | 9.1 | 2.7 | 2.6 | 2.8 | 82.9 | 81.8 | 83.9 | 2,715 |
| Highest EITC decile | −5.2 | −6.9 | −3.5 | +33.3 | +27.3 | +39.2 | 66.8 | 63.2 | 70.5 | 22.9 | 22.2 | 23.7 | 43.9 | 42.9 | 45.0 | 2,715 |

Note: The Black and Hispanic shares are added, and a Black Hispanic resident counts in both, so the sum is an upper bound on the share of residents in either group. Means are weighted by 2020 votes; the data table gives 95% intervals clustered on county.

Source: Precinct votes allocated to ZIP code tabulation areas (Fekrazad 2025), 2016 and 2020; IRS Statistics of Income ZIP-code data, tax year 2022; ACS 5-year estimates; weighted by 2020 votes

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/decile_profiles.json

### Table 4. Controls take the EITC coefficient to about zero and change the sign of the capital-gains coefficient

Weighted regression coefficient of the 2016 to 2020 swing on the share of returns, one set of controls per row; 95% intervals clustered on county in the first view and on state in the second

| Share | Controls | Coefficient | Lower bound, county clusters | Upper bound, county clusters | Interval, county clusters | Lower bound, state clusters | Upper bound, state clusters | Interval, state clusters | Partial correlation | Lower bound | Upper bound | ZIP codes | County clusters | State clusters |
| --- | --- | ---: | ---: | ---: | --- | ---: | ---: | --- | ---: | ---: | ---: | ---: | ---: | ---: |
| EITC share | No controls | −3.48 | −4.01 | −2.96 | Below zero | −4.31 | −2.65 | Below zero | −0.475 | −0.520 | −0.431 | 27,144 | 3,088 | 49 |
| EITC share | Poverty rate | −1.69 | −2.73 | −0.65 | Below zero | −3.35 | −0.03 | Below zero | −0.140 | −0.221 | −0.068 | 27,144 | 3,088 | 49 |
| EITC share | Average tax rate | −4.12 | −5.00 | −3.23 | Below zero | −5.50 | −2.74 | Below zero | −0.428 | −0.488 | −0.371 | 27,144 | 3,088 | 49 |
| EITC share | College share | −2.08 | −2.86 | −1.30 | Below zero | −3.38 | −0.78 | Below zero | −0.222 | −0.289 | −0.158 | 27,144 | 3,088 | 49 |
| EITC share | Average tax rate and college share | −2.76 | −3.58 | −1.93 | Below zero | −4.10 | −1.41 | Below zero | −0.290 | −0.356 | −0.229 | 27,144 | 3,088 | 49 |
| EITC share | Poverty, college, Black and Hispanic shares | +0.32 | −0.76 | +1.39 | Includes zero | −1.24 | +1.87 | Includes zero | +0.021 | −0.051 | +0.085 | 27,144 | 3,088 | 49 |
| Capital-gains share | No controls | +2.42 | +1.98 | +2.86 | Above zero | +1.84 | +3.00 | Above zero | +0.330 | +0.288 | +0.376 | 27,144 | 3,088 | 49 |
| Capital-gains share | Poverty rate | +0.31 | −0.09 | +0.71 | Includes zero | −0.23 | +0.85 | Includes zero | +0.038 | −0.006 | +0.087 | 27,144 | 3,088 | 49 |
| Capital-gains share | Average tax rate | +4.05 | +2.59 | +5.51 | Above zero | +2.58 | +5.51 | Above zero | +0.249 | +0.181 | +0.314 | 27,144 | 3,088 | 49 |
| Capital-gains share | College share | −1.02 | −1.61 | −0.43 | Below zero | −2.08 | +0.03 | Includes zero | −0.093 | −0.145 | −0.038 | 27,144 | 3,088 | 49 |
| Capital-gains share | Average tax rate and college share | +1.38 | +0.13 | +2.62 | Above zero | −0.26 | +3.02 | Includes zero | +0.087 | +0.017 | +0.155 | 27,144 | 3,088 | 49 |
| Capital-gains share | Poverty, college, Black and Hispanic shares | −2.74 | −3.22 | −2.26 | Below zero | −3.49 | −2.00 | Below zero | −0.258 | −0.296 | −0.214 | 27,144 | 3,088 | 49 |

Views: Clusters on county (in_chart = yes); Clusters on state (in_chart = yes).

Note: Each row is a separate regression with the controls named on the row, and each uses the same ZIP codes. Race means the Black share and the Hispanic share of residents. The full set is poverty, college, Black and Hispanic shares and does not include the average tax rate, which is the mean effective federal income tax rate in the ZIP code. The ZIP-code college share is the file's college variable, whose definition is unresolved: the file describes it as the share with a college degree or higher, but its level is far above a bachelor's share. Every row that holds it fixed depends on what it counts. The row that holds only the average tax rate fixed is in the data table and not in the chart.

Note: Partial correlations for each row are in the data table.

Source: Precinct votes allocated to ZIP code tabulation areas (Fekrazad 2025), 2016 and 2020; IRS Statistics of Income ZIP-code data, tax year 2022; ACS 5-year estimates; weighted by 2020 votes

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/control_ladder.json

### Table 5. The EITC share is highest in the Mississippi Delta, Alabama's Black Belt and along the Rio Grande

Share of returns claiming the earned income tax credit by county, IRS tax year 2022, averaged from ZIP codes within the county

No inline rows: the values of Table 5 are in https://vishalsingh.org/politics/data/wages-capital-and-the-county-vote/county_map.json.

Views: EITC share; Capital-gains share; Swing, 2016 to 2020.

Note: Counties with no ZIP-code shares or no county demographics draw as no data, as do Alaska and Hawaii, which have no ZIP-code vote estimates. A county with a share of exactly zero in a view also draws as no data in that view, because a zero cannot be told from a small count rounded down. Values are rounded to one decimal place. A county whose shares come from one small ZIP code can show an extreme value.

Source: Certified county returns, 2016 and 2020; IRS Statistics of Income ZIP-code shares, tax year 2022, averaged within counties; county demographics centred on 2020; weighted by 2020 two-party votes

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/county_map.json

### Table 6. At county grain the intervals are wide and the capital-gains coefficient with college held fixed includes zero

Weighted regression coefficient of the 2016 to 2020 county swing on the county share of returns, one set of controls per row; 95% intervals clustered on state

| Share | Controls | Coefficient | Lower bound | Upper bound | Interval | Counties | State clusters |
| --- | --- | ---: | ---: | ---: | --- | ---: | ---: |
| EITC share | No controls | −2.39 | −3.65 | −1.14 | Below zero | 3,080 | 48 |
| EITC share | Poverty rate | −0.90 | −3.56 | +1.76 | Includes zero | 3,080 | 48 |
| EITC share | Average tax rate | −3.44 | −5.03 | −1.84 | Below zero | 3,080 | 48 |
| EITC share | College share | −2.53 | −4.20 | −0.85 | Below zero | 3,080 | 48 |
| EITC share | Average tax rate and college share | −3.00 | −4.52 | −1.49 | Below zero | 3,080 | 48 |
| EITC share | Poverty, college, Black and Hispanic shares | +0.01 | −2.40 | +2.43 | Includes zero | 3,080 | 48 |
| Capital-gains share | No controls | +1.18 | −0.01 | +2.37 | Includes zero | 3,080 | 48 |
| Capital-gains share | Poverty rate | −0.82 | −2.01 | +0.38 | Includes zero | 3,080 | 48 |
| Capital-gains share | Average tax rate | +3.67 | +1.54 | +5.81 | Above zero | 3,080 | 48 |
| Capital-gains share | College share | +0.14 | −1.72 | +1.99 | Includes zero | 3,080 | 48 |
| Capital-gains share | Average tax rate and college share | +2.67 | +0.40 | +4.94 | Above zero | 3,080 | 48 |
| Capital-gains share | Poverty, college, Black and Hispanic shares | −2.93 | −4.40 | −1.46 | Below zero | 3,080 | 48 |

Views: Main rows (in_chart = yes); All rows.

Note: Swing is taken from certified county returns and the shares are averaged from ZIP codes within each county. Each row is a separate regression with the controls named on the row. The full set is poverty, bachelor's share, Black and Hispanic shares and does not include the average tax rate. County shares are the means of the ZIP-code shares in the county, weighted by 2020 votes; the college control is the county bachelor's share, which is not the same variable as the ZIP-code college share (definition unresolved). The second view adds the row that holds only the average tax rate fixed.

Source: Certified county returns, 2016 and 2020; IRS Statistics of Income ZIP-code shares, tax year 2022, averaged within counties; county demographics centred on 2020; weighted by 2020 two-party votes

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/control_ladder_county.json

### Table 7. Investors voted more Republican than non-investors with the same education in 2016 and 2020

Democratic minus Republican margin among voters for the two major parties, by year, education and whether the respondent reports investments; 95% intervals; positive is toward the Democrats

| Item | Year and education | Group | Margin (points) | Lower bound | Upper bound | Voters | Comparison group | Margin (points) | Lower bound | Upper bound | Voters | Group minus comparison (points) | Lower bound | Upper bound | Group's change, 2016 to 2020 (points) | Lower bound | Upper bound | Comparison group's change (points) | Lower bound | Upper bound | Group's change minus comparison's (points) | Lower bound | Upper bound |
| --- | --- | --- | ---: | ---: | ---: | ---: | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| investor | 2016, no college degree | Investors | −15.2 | −18.2 | −12.2 | 9,191 | Non-investors | +2.9 | +0.4 | +5.3 | 15,098 | −18.1 | −21.9 | −14.2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| investor | 2020, no college degree | Investors | −20.7 | −23.5 | −18.0 | 9,501 | Non-investors | +6.4 | +3.8 | +8.9 | 15,452 | −27.1 | −30.8 | −23.4 | −5.5 | −9.6 | −1.5 | +3.5 | 0.0 | +7.0 | −9.1 | −14.4 | −3.7 |
| investor | 2016, college degree | Investors | +14.9 | +12.6 | +17.1 | 10,328 | Non-investors | +20.8 | +17.8 | +23.8 | 6,186 | −5.9 | −9.6 | −2.2 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| investor | 2020, college degree | Investors | +19.4 | +17.3 | +21.4 | 12,826 | Non-investors | +29.7 | +26.4 | +32.9 | 6,006 | −10.3 | −14.2 | −6.5 | +4.5 | +1.4 | +7.5 | +8.9 | +4.5 | +13.3 | −4.4 | −9.7 | +1.0 |
| homeowner | 2016, no college degree | Homeowners | −20.1 | −22.3 | −17.9 | 16,702 | Renters | +27.3 | +23.8 | +30.8 | 6,697 | −47.4 | −51.6 | −43.3 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| homeowner | 2020, no college degree | Homeowners | −20.6 | −22.8 | −18.4 | 16,241 | Renters | +26.2 | +22.6 | +29.7 | 7,650 | −46.7 | −50.9 | −42.5 | −0.4 | −3.5 | +2.7 | −1.1 | −6.2 | +3.9 | +0.7 | −5.2 | +6.6 |
| homeowner | 2016, college degree | Homeowners | +7.9 | +5.8 | +9.9 | 12,186 | Renters | +44.9 | +41.5 | +48.4 | 3,873 | −37.1 | −41.1 | −33.0 | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a | n/a |
| homeowner | 2020, college degree | Homeowners | +12.7 | +10.6 | +14.7 | 13,685 | Renters | +50.6 | +47.3 | +54.0 | 4,566 | −38.0 | −41.9 | −34.1 | +4.8 | +1.9 | +7.7 | +5.7 | +0.9 | +10.5 | −0.9 | −6.5 | +4.7 |

Views: Investors (item = investor); Homeowners (item = homeowner).

Note: A college degree means a four-year degree or more; some college and two-year degrees count as no college degree. Intervals are model based: they use the effective sample size implied by the weights and treat the weighted sample as a simple random sample. Vote choice is self-reported in the post-election wave; the investor and homeownership items come from the respondent's profile. The 2016 and 2020 estimates come from separate samples of voters, and voters who report a housing status other than owning or renting are left out of the homeowner view. The data table gives each group's change in margin from 2016 to 2020 and the difference between the two changes on the 2020 rows.

Source: Cooperative Election Study, 2016 and 2020; respondents who voted for one of the two major parties; weighted (post-election weight)

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/wealth_and_the_vote.json

### Table 8. The ZIP-code sample is 27,144 areas in 3,088 counties and the county sample is 3,080 counties

Counts of ZIP code tabulation areas and counties at each step from the vote file to the two analysis samples

| Sample | ZIP code tabulation areas | Counties containing these areas |
| --- | ---: | ---: |
| ZIP code tabulation areas with vote estimates for 2016 and 2020 | 32,428 | 3,102 |
| With more than 100 votes in 2020 | 29,420 | 3,100 |
| With both IRS shares and a swing | 27,170 | 3,089 |
| With the average tax rate and four ACS controls: the ZIP-code sample | 27,144 | 3,088 |
| Counties with a two-party return in 2016 and 2020 | n/a | 3,113 |
| With ZIP-code shares | n/a | 3,088 |
| With county demographics: the county sample | n/a | 3,080 |

Note: For the ZIP-code rows the last column counts the counties that contain the areas. Of the counties with returns that have no ZIP-code shares, the Hawaii counties are not covered by the vote file, Kansas City, Missouri, is coded as a county of its own in the returns file, and small counties and Virginia independent cities lose their ZIP codes at the vote or IRS step. The Connecticut counties have ZIP-code shares and no county demographics in the panel and drop out of the county sample. A retired county code in the vote file (Shannon County, South Dakota, now Oglala Lakota County) is matched to its current code when the county sample is built.

Source: Precinct votes allocated to ZIP code tabulation areas (Fekrazad 2025), 2016 and 2020; certified county returns, 2016 and 2020; full counts, no weights

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/sample_counts.json

### Table 9. Two of the partial correlations change sign when every ZIP code counts equally

Partial correlation of the 2016 to 2020 swing with each share, with vote weights and with every ZIP code counted equally; ZIP-code sample

| Share | Controls | Vote weights | Lower bound | Upper bound | Each ZIP code equal | Lower bound | Upper bound | ZIP codes |
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| Capital-gains share | No controls | +0.330 | +0.288 | +0.376 | +0.345 | +0.318 | +0.374 | 27,144 |
| Capital-gains share | College share held fixed | −0.093 | −0.145 | −0.038 | +0.037 | +0.010 | +0.063 | 27,144 |
| Capital-gains share | Poverty, college, Black and Hispanic shares held fixed | −0.258 | −0.296 | −0.214 | −0.051 | −0.078 | −0.021 | 27,144 |
| EITC share | No controls | −0.475 | −0.520 | −0.431 | −0.381 | −0.410 | −0.353 | 27,144 |
| EITC share | College share held fixed | −0.222 | −0.289 | −0.158 | −0.179 | −0.215 | −0.143 | 27,144 |
| EITC share | Poverty, college, Black and Hispanic shares held fixed | +0.021 | −0.051 | +0.085 | −0.042 | −0.067 | −0.017 | 27,144 |

Note: Each 95% interval is a percentile interval from a seeded bootstrap of counties and is in the data table. Every row uses the same ZIP codes.

Source: Precinct votes allocated to ZIP code tabulation areas (Fekrazad 2025), 2016 and 2020; IRS Statistics of Income ZIP-code data, tax year 2022; ACS 5-year estimates; weighted by 2020 votes and, in the second column, unweighted

Data: https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/weights_check.json

## All estimates

Every fact in facts.json (116), sorted by id.

| Fact id | Value | Unit | Estimand | Population | Period | Interval | n | Weights | Source | Note |
| --- | ---: | --- | --- | --- | --- | --- | ---: | --- | --- | --- |
| agg_m16 | +2.3 | points of two-party margin (Democratic minus Republican) | two-party margin of the aggregate votes of the ZIP codes in the analysis sample (each year weighted by that year's votes) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 |   |   | none (count) | Precinct votes on census geographies |   |
| agg_m20 | +4.6 | points of two-party margin (Democratic minus Republican) | two-party margin of the aggregate votes of the ZIP codes in the analysis sample (each year weighted by that year's votes) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| agg_swing | 2.3 | points of two-party margin (Democratic minus Republican) | change in the aggregate two-party margin of the ZIP codes in the analysis sample, toward the Democrats | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| c_cap_col | +0.1 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the college share (95% interval clustered on state) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI −1.7 to 2.0 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| c_cap_full | −2.9 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the poverty rate, college share, Black share and Hispanic share (95% interval clustered on state) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI −4.4 to −1.5 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| c_cap_raw | +1.2 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, with no controls (95% interval clustered on state) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI 0.0 to 2.4 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| c_cap_taxcol | +2.7 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the average tax rate and the college share (95% interval clustered on state) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI 0.4 to 4.9 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| c_eitc_col | −2.5 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the college share (95% interval clustered on state) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI −4.2 to −0.8 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| c_eitc_full | 0.0 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the poverty rate, college share, Black share and Hispanic share (95% interval clustered on state) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI −2.4 to 2.4 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| c_eitc_raw | −2.4 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, with no controls (95% interval clustered on state) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI −3.6 to −1.1 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| cap_tax_left | 19% | percent of the variance of the capital-gains share | one minus the squared vote-weighted correlation of the capital-gains share with the average tax rate | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| ces_home_chg_deg | 0.9 | points of two-party margin, how much less the first group moved toward the Democrats than the second | change in the margin from 2016 to 2020 for homeowners and renters, first group minus second, shown as a size below the second group (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2016 to 2020 | 95% CI −4.7 to 6.5 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_home_chg_nodeg | 0.7 | points of two-party margin, how much more the first group moved toward the Democrats than the second | change in the margin from 2016 to 2020 for homeowners and renters, first group minus second, shown as a size above the second group (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2016 to 2020 | 95% CI −5.2 to 6.6 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_home_gap_deg_2016 | 37.1 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between homeowners and renters, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2016 | 95% CI 33.0 to 41.1 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_home_gap_deg_2020 | 38.0 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between homeowners and renters, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2020 | 95% CI 34.1 to 41.9 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_home_gap_nodeg_2016 | 47.4 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between homeowners and renters, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2016 | 95% CI 43.3 to 51.6 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_home_gap_nodeg_2020 | 46.7 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between homeowners and renters, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2020 | 95% CI 42.5 to 50.9 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_chg_deg | 4.4 | points of two-party margin, how much less the first group moved toward the Democrats | change in the margin from 2016 to 2020 for investors and non-investors, first group minus second, sign reversed to a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2016 to 2020 | 95% CI −1.0 to 9.7 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_chg_nodeg | 9.1 | points of two-party margin, how much less the first group moved toward the Democrats | change in the margin from 2016 to 2020 for investors and non-investors, first group minus second, sign reversed to a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2016 to 2020 | 95% CI 3.7 to 14.4 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_gap_deg_2016 | 5.9 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between investors and non-investors, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2016 | 95% CI 2.2 to 9.6 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_gap_deg_2020 | 10.3 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between investors and non-investors, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2020 | 95% CI 6.5 to 14.2 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_gap_nodeg_2016 | 18.1 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between investors and non-investors, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2016 | 95% CI 14.2 to 21.9 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_gap_nodeg_2020 | 27.1 | points of two-party margin, how much more Republican the first group is | difference in the Democratic minus Republican margin between investors and non-investors, shown as a size (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2020 | 95% CI 23.4 to 30.8 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_move_deg | 4.5 | points of two-party margin, how far the group moved toward the Democrats | change in the margin from 2016 to 2020 for investors, shown as a size in the direction of the move (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree; investors | 2016 to 2020 | 95% CI 1.4 to 7.5 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_move_nodeg | 5.5 | points of two-party margin, how far the group moved toward the Republicans | change in the margin from 2016 to 2020 for investors, shown as a size in the direction of the move (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree; investors | 2016 to 2020 | 95% CI 1.5 to 9.6 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_share_deg | 67.9% | percent of voters | weighted share who report investments | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2020 | 95% CI 67.0% to 68.7% | 18,832 | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_share_deg_2016 | 63.7% | percent of voters | weighted share who report investments | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree | 2016 | 95% CI 62.8% to 64.6% | 16,514 | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_share_nodeg | 35.1% | percent of voters | weighted share who report investments | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2020 | 95% CI 34.2% to 36.0% | 24,953 | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_inv_share_nodeg_2016 | 33.8% | percent of voters | weighted share who report investments | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree | 2016 | 95% CI 32.9% to 34.7% | 24,289 | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_n_home_2016 | 39,458 | respondents | count of two-party voters with a degree, a weight and an answer to the homeowner item (owning or renting for the homeowner item) | CES respondents who reported voting for the Democratic or the Republican presidential candidate | 2016 |   |   | none (count) | Cooperative Election Study |   |
| ces_n_home_2020 | 42,142 | respondents | count of two-party voters with a degree, a weight and an answer to the homeowner item (owning or renting for the homeowner item) | CES respondents who reported voting for the Democratic or the Republican presidential candidate | 2020 |   |   | none (count) | Cooperative Election Study |   |
| ces_n_inv_2016 | 40,803 | respondents | count of two-party voters with a degree, a weight and an answer to the investor item (owning or renting for the homeowner item) | CES respondents who reported voting for the Democratic or the Republican presidential candidate | 2016 |   |   | none (count) | Cooperative Election Study |   |
| ces_n_inv_2020 | 43,785 | respondents | count of two-party voters with a degree, a weight and an answer to the investor item (owning or renting for the homeowner item) | CES respondents who reported voting for the Democratic or the Republican presidential candidate | 2020 |   |   | none (count) | Cooperative Election Study |   |
| ces_non_move_deg | 8.9 | points of two-party margin, how far the group moved toward the Democrats | change in the margin from 2016 to 2020 for non-investors, shown as a size in the direction of the move (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; college degree; non-investors | 2016 to 2020 | 95% CI 4.5 to 13.3 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| ces_non_move_nodeg | 3.5 | points of two-party margin, how far the group moved toward the Democrats | change in the margin from 2016 to 2020 for non-investors, shown as a size in the direction of the move (Kish effective-sample interval) | CES respondents who reported voting for the Democratic or the Republican presidential candidate; no college degree; non-investors | 2016 to 2020 | 95% CI 0.0 to 7.0 |   | post-election weight (weight_post) | Cooperative Election Study |   |
| col_def_ba | 23.6% | percent of adults | mean across counties of the bachelor's share | counties in the county sample | county demographics centred on 2020 |   | 3,080 | none (full counts and interpolated estimates) | County demographics panel |   |
| col_def_r | +0.86 | correlation coefficient, from −1 to +1 | correlation across counties of the ZIP-derived college variable with the bachelor's share | counties in the county sample | ACS 5-year estimates |   | 3,080 | none (each county counted once) | Precinct votes on census geographies |   |
| col_def_zip | 52.7% | percent (share counted by the ZIP-code college variable, definition unresolved) | mean across counties of the vote-weighted mean of the ZIP-code college variable | counties in the county sample | ACS 5-year estimates, ZIP codes averaged to counties |   | 3,080 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| dem_swing_cap_d10 | 5.4 | points of two-party margin swing, toward the Democrats | vote-weighted mean swing of the decile, shown as a size (95% interval clustered on county) | ZIP codes in decile 10 of the share of returns reporting a net capital gain | 2016 to 2020 | 95% CI 4.4 to 6.4 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| dem_swing_eitc_d1 | 6.3 | points of two-party margin swing, toward the Democrats | vote-weighted mean swing of the decile, shown as a size (95% interval clustered on county) | ZIP codes in decile 1 of the share of returns claiming the earned income tax credit | 2016 to 2020 | 95% CI 5.5 to 7.2 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| holmes_blk | 82.4% | percent of residents | Black share of residents | residents of Holmes County, Mississippi | county demographics centred on 2020 |   |   | none (full counts and interpolated estimates) | County demographics panel |   |
| holmes_eitc | 45.2% | percent of returns | vote-weighted mean of the ZIP-code EITC share in the county | returns in Holmes County, Mississippi | IRS tax year 2022 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data |   |
| holmes_swing | 1.7 | points of two-party margin swing, toward the Republicans | county two-party margin in 2020 minus 2016, sign reversed to a size toward the Republicans | two-party voters in Holmes County, Mississippi | 2016 to 2020 |   |   | none (full count of votes) | County election returns |   |
| lvl_cap_d1 | +48.4 | points of two-party margin (Democratic minus Republican) | vote-weighted mean 2020 two-party margin of the decile (95% interval clustered on county) | ZIP codes in decile 1 of the share of returns reporting a net capital gain | 2020 | 95% CI 42.5 to 54.3 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| lvl_cap_d10 | +22.6 | points of two-party margin (Democratic minus Republican) | vote-weighted mean 2020 two-party margin of the decile (95% interval clustered on county) | ZIP codes in decile 10 of the share of returns reporting a net capital gain | 2020 | 95% CI 17.3 to 27.9 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| lvl_cap_min | −12.0 | points of two-party margin (Democratic minus Republican) | lowest vote-weighted mean 2020 two-party margin among the ten deciles (95% interval clustered on county) | ZIP codes in the decile of the share of returns reporting a net capital gain with the lowest mean margin | 2020 | 95% CI −15.2 to −8.9 | 2,714 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| lvl_eitc_d1 | +19.9 | points of two-party margin (Democratic minus Republican) | vote-weighted mean 2020 two-party margin of the decile (95% interval clustered on county) | ZIP codes in decile 1 of the share of returns claiming the earned income tax credit | 2020 | 95% CI 13.5 to 26.4 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| lvl_eitc_d10 | +33.3 | points of two-party margin (Democratic minus Republican) | vote-weighted mean 2020 two-party margin of the decile (95% interval clustered on county) | ZIP codes in decile 10 of the share of returns claiming the earned income tax credit | 2020 | 95% CI 27.3 to 39.2 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| lvl_eitc_min | −6.3 | points of two-party margin (Democratic minus Republican) | lowest vote-weighted mean 2020 two-party margin among the ten deciles (95% interval clustered on county) | ZIP codes in the decile of the share of returns claiming the earned income tax credit with the lowest mean margin | 2020 | 95% CI −10.5 to −2.0 | 2,714 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| mean_bh | 26.4% | percent of residents | vote-weighted mean of the Black share plus the Hispanic share | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | ACS 5-year estimates |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| mean_cap | 20.1% | percent of returns | vote-weighted mean of the capital-gains share | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data |   |
| mean_eitc | 14.2% | percent of returns | vote-weighted mean of the EITC share | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data |   |
| mean_pov | 9.2% | percent of residents | vote-weighted mean poverty rate | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | ACS 5-year estimates |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| n_counties | 3,088 | counties | count of county codes clustered on | counties that contain at least one ZCTA of the analysis sample | 2016 and 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| n_cty | 3,080 | counties | count of counties in the county sample | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 |   |   | none (count) | County election returns |   |
| n_cty_returns | 3,113 | counties | count of counties | counties with a two-party return in 2016 and in 2020, Alaska excluded | 2016 and 2020 |   |   | none (count) | County election returns |   |
| n_states | 48 | states and the District of Columbia | count of state clusters in the county models | states and the District of Columbia with a county in the county sample | 2016 and 2020 |   |   | none (count) | County election returns |   |
| n_states_zip | 49 | states and the District of Columbia | count of state clusters in the state-clustered ZIP-code models | states and the District of Columbia with a ZIP code in the analysis sample | 2016 and 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| n_zcta | 27,144 | ZIP code tabulation areas | count of ZCTAs in the analysis sample | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 and 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| n_zcta_file | 32,428 | ZIP code tabulation areas | count of ZCTAs in the vote file | ZCTAs in the contiguous states with vote estimates for 2016 and 2020 | 2016 and 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| n_zero_cap | 1,405 | ZIP code tabulation areas | count of ZCTAs with exactly 0% of returns reporting a net capital gain | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 |   |   | none (count) | IRS SOI ZIP code data |   |
| n_zero_eitc | 1,244 | ZIP code tabulation areas | count of ZCTAs with exactly 0% of returns claiming the EITC | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 |   |   | none (count) | IRS SOI ZIP code data |   |
| natl_swing | 3.0 | points of two-party margin (Democratic minus Republican) | vote-weighted mean of the ZIP-code swing (2020 margin minus 2016 margin) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| p_cap_col | −0.09 | correlation coefficient, from −1 to +1 | partial correlation of the swing with the share of returns reporting a net capital gain, net of the college share (95% interval from a bootstrap of counties) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.14 to −0.04 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| p_eitc_full | +0.02 | correlation coefficient, from −1 to +1 | partial correlation of the swing with the share of returns claiming the earned income tax credit, net of the poverty rate, college share, Black share and Hispanic share (95% interval from a bootstrap of counties) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.05 to 0.08 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| prof_cap_d10_col | 82.1% | percent (share counted by the ZIP-code college variable, definition unresolved) | vote-weighted mean of the ZIP-code college variable (its definition is unresolved) | ZIP codes in the highest decile of the capital-gains share | ACS 5-year estimates | 95% CI 81.3% to 82.8% | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| prof_cap_d1_bh | 76.5% | percent of residents | vote-weighted mean of the Black share plus the Hispanic share | ZIP codes in the lowest decile of the capital-gains share | ACS 5-year estimates | 95% CI 72.8% to 80.2% | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| prof_cap_d1_col | 40.6% | percent (share counted by the ZIP-code college variable, definition unresolved) | vote-weighted mean of the ZIP-code college variable (its definition is unresolved) | ZIP codes in the lowest decile of the capital-gains share | ACS 5-year estimates | 95% CI 38.9% to 42.3% | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| prof_cap_d1_pov | 23.4% | percent of residents | vote-weighted mean poverty rate | ZIP codes in the lowest decile of the capital-gains share | ACS 5-year estimates | 95% CI 22.4% to 24.4% | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| prof_eitc_d10_bh | 66.8% | percent of residents | vote-weighted mean of the Black share plus the Hispanic share | ZIP codes in the highest decile of the EITC share | ACS 5-year estimates | 95% CI 63.2% to 70.5% | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| prof_eitc_d10_pov | 22.9% | percent of residents | vote-weighted mean poverty rate | ZIP codes in the highest decile of the EITC share | ACS 5-year estimates | 95% CI 22.2% to 23.7% | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| prof_eitc_d1_col | 82.9% | percent (share counted by the ZIP-code college variable, definition unresolved) | vote-weighted mean of the ZIP-code college variable (its definition is unresolved) | ZIP codes in the lowest decile of the EITC share | ACS 5-year estimates | 95% CI 81.8% to 83.9% | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| r_cap_col | +0.81 | correlation coefficient, from −1 to +1 | correlation of the capital-gains share with the college share (the ZIP-code college variable, whose definition is unresolved) (vote-weighted; 95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 0.79 to 0.82 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| r_cap_eitc | −0.78 | correlation coefficient, from −1 to +1 | correlation of the capital-gains share with the EITC share (vote-weighted; 95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.79 to −0.77 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| r_cap_tax | +0.90 | correlation coefficient, from −1 to +1 | correlation of the capital-gains share with the average tax rate (vote-weighted; 95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 0.89 to 0.91 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| r_col_swing | +0.47 | correlation coefficient, from −1 to +1 | correlation of the college share with the 2016 to 2020 swing (vote-weighted; 95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 0.43 to 0.51 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| r_eitc_col | −0.72 | correlation coefficient, from −1 to +1 | correlation of the EITC share with the college share (vote-weighted; 95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.74 to −0.71 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| r_eitc_tax | −0.67 | correlation coefficient, from −1 to +1 | correlation of the EITC share with the average tax rate (vote-weighted; 95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.69 to −0.65 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| rc_cap_col | +0.83 | correlation coefficient, from −1 to +1 | correlation of the county capital-gains share with the county bachelor's share (95% interval from a bootstrap of states) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI 0.77 to 0.87 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| rc_cap_swing | +0.21 | correlation coefficient, from −1 to +1 | correlation of the county capital-gains share with the 2016 to 2020 swing (95% interval from a bootstrap of states) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI 0.04 to 0.40 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| rc_eitc_swing | −0.42 | correlation coefficient, from −1 to +1 | correlation of the county EITC share with the 2016 to 2020 swing (95% interval from a bootstrap of states) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI −0.58 to −0.23 | 3,080 | two-party votes cast in the county in 2020 | County election returns |   |
| rcu_cap_col | +0.68 | correlation coefficient, from −1 to +1 | correlation of the county capital-gains share with the county bachelor's share, every county counted equally (95% interval from a bootstrap of states) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI 0.60 to 0.76 | 3,080 | none (every county counted equally) | County election returns |   |
| rcu_cap_swing | +0.41 | correlation coefficient, from −1 to +1 | correlation of the county capital-gains share with the 2016 to 2020 swing, every county counted equally (95% interval from a bootstrap of states) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI 0.33 to 0.49 | 3,080 | none (every county counted equally) | County election returns |   |
| rcu_eitc_swing | −0.44 | correlation coefficient, from −1 to +1 | correlation of the county EITC share with the 2016 to 2020 swing, every county counted equally (95% interval from a bootstrap of states) | counties in the contiguous states with ZIP-code shares and county demographics | 2016 to 2020 swing; IRS tax year 2022; county demographics centred on 2020 | 95% CI −0.54 to −0.33 | 3,080 | none (every county counted equally) | County election returns |   |
| rep_swing_cap_d1 | 7.2 | points of two-party margin swing, toward the Republicans | vote-weighted mean swing of the decile, shown as a size (95% interval clustered on county) | ZIP codes in decile 1 of the share of returns reporting a net capital gain | 2016 to 2020 | 95% CI 5.6 to 8.8 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| rep_swing_eitc_d10 | 5.2 | points of two-party margin swing, toward the Republicans | vote-weighted mean swing of the decile, shown as a size (95% interval clustered on county) | ZIP codes in decile 10 of the share of returns claiming the earned income tax credit | 2016 to 2020 | 95% CI 3.5 to 6.9 | 2,715 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| ru_cap_eitc | −0.68 | correlation coefficient, from −1 to +1 | correlation of the capital-gains share with the EITC share, every ZIP code counted equally (95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.70 to −0.67 | 27,144 | none (every ZIP code counted equally) | Precinct votes on census geographies |   |
| ru_col_swing | +0.44 | correlation coefficient, from −1 to +1 | correlation of the college share with the 2016 to 2020 swing, every ZIP code counted equally (95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 0.41 to 0.47 | 27,144 | none (every ZIP code counted equally) | Precinct votes on census geographies |   |
| ru_eitc_col | −0.56 | correlation coefficient, from −1 to +1 | correlation of the EITC share with the college share, every ZIP code counted equally (95% interval from a bootstrap of counties, 2,000 replicates) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.58 to −0.54 | 27,144 | none (every ZIP code counted equally) | Precinct votes on census geographies |   |
| sd_cap | 11.5 | percentage points of returns | vote-weighted standard deviation of the capital-gains share | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data |   |
| sd_eitc | 8.3 | percentage points of returns | vote-weighted standard deviation of the EITC share | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | IRS tax year 2022 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data |   |
| starr_eitc | 45.4% | percent of returns | vote-weighted mean of the ZIP-code EITC share in the county | returns in Starr County, Texas | IRS tax year 2022 |   |   | votes cast in the ZIP code in 2020 (pres_tot_2020) | IRS SOI ZIP code data |   |
| starr_hisp | 98.1% | percent of residents | Hispanic share of residents | residents of Starr County, Texas | county demographics centred on 2020 |   |   | none (full counts and interpolated estimates) | County demographics panel |   |
| starr_swing | 56.3 | points of two-party margin swing, toward the Republicans | county two-party margin in 2020 minus 2016, sign reversed to a size toward the Republicans | two-party voters in Starr County, Texas | 2016 to 2020 |   |   | none (full count of votes) | County election returns |   |
| u_cap_col | +0.04 | correlation coefficient, from −1 to +1 | partial correlation of the swing with the share of returns reporting a net capital gain, net of the college share, every ZIP code counted equally (95% interval from a bootstrap of counties) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 0.01 to 0.06 | 27,144 | none (every ZIP code counted equally) | Precinct votes on census geographies |   |
| u_eitc_full | −0.04 | correlation coefficient, from −1 to +1 | partial correlation of the swing with the share of returns claiming the earned income tax credit, net of the poverty rate, college share, Black share and Hispanic share, every ZIP code counted equally (95% interval from a bootstrap of counties) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.07 to −0.02 | 27,144 | none (every ZIP code counted equally) | Precinct votes on census geographies |   |
| vote_floor | 100 | votes | minimum number of 2020 votes for a ZCTA to enter the sample | ZCTAs kept in the sample | 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| votes_all | 157.4 million | votes | sum of 2020 presidential votes in the vote file | votes allocated to all ZCTAs of the vote file | 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| votes_sample | 156.4 million | votes | sum of 2020 presidential votes in the analysis sample | votes allocated to the ZCTAs of the analysis sample | 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| votes_zero_cap | 0.3% | percent of votes | share of the sample's 2020 votes in ZCTAs with exactly 0% capital-gains returns | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| votes_zero_eitc | 0.2% | percent of votes | share of the sample's 2020 votes in ZCTAs with exactly 0% EITC returns | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2020 |   |   | none (count) | Precinct votes on census geographies |   |
| z_cap_col | −1.0 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the college share (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −1.6 to −0.4 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_cap_pov | +0.3 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the poverty rate (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.1 to 0.7 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_cap_raw | +2.4 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, with no controls (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 2.0 to 2.9 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_cap_taxcol | +1.4 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the average tax rate and the college share (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 0.1 to 2.6 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_col_raw | +3.4 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the college share with no controls (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI 3.1 to 3.8 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_eitc_col | −2.1 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the college share (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −2.9 to −1.3 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_eitc_full | +0.3 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the poverty rate, college share, Black share and Hispanic share (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.8 to 1.4 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_eitc_pov | −1.7 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the poverty rate (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −2.7 to −0.6 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_eitc_raw | −3.5 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, with no controls (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −4.0 to −3.0 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| z_eitc_taxcol | −2.8 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the average tax rate and the college share (95% interval clustered on county) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −3.6 to −1.9 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| zero_free_swing_cap_d1 | 7.5 | points of two-party margin swing, toward the Republicans | vote-weighted mean swing of the lowest decile without the ZCTAs at exactly 0%, shown as a size (95% interval clustered on county) | ZIP codes in the lowest decile of the capital-gains share, leaving out those with exactly 0% | 2016 to 2020 | 95% CI 5.8 to 9.1 | 1,310 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| zero_free_swing_eitc_d1 | 6.4 | points of two-party margin swing, toward the Democrats | vote-weighted mean swing of the lowest decile without the ZCTAs at exactly 0%, shown as a size (95% interval clustered on county) | ZIP codes in the lowest decile of the EITC share, leaving out those with exactly 0% | 2016 to 2020 | 95% CI 5.5 to 7.3 | 1,471 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| zs_cap_col | −1.0 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the college share (95% interval clustered on state, 49 clusters) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −2.1 to 0.0 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| zs_cap_taxcol | +1.4 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns reporting a net capital gain, net of the average tax rate and the college share (95% interval clustered on state, 49 clusters) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −0.3 to 3.0 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |
| zs_eitc_full | +0.3 | points of swing in the two-party margin per standard deviation of the measure (positive is toward the Democrats) | weighted least squares coefficient of the share of returns claiming the earned income tax credit, net of the poverty rate, college share, Black share and Hispanic share (95% interval clustered on state, 49 clusters) | ZIP code tabulation areas in the contiguous states with more than 100 votes in 2020 and complete IRS and ACS measures | 2016 to 2020 swing; IRS tax year 2022; ACS 5-year estimates | 95% CI −1.2 to 1.9 | 27,144 | votes cast in the ZIP code in 2020 (pres_tot_2020) | Precinct votes on census geographies |   |

## Definitions

- Standard deviation: A measure of how far values typically fall from their average. A larger standard deviation means the values are more spread out.
- Correlation: A number from minus 1 to plus 1 for how closely two measures move together in a straight-line pattern. Zero means no straight-line pattern; a correlation does not say that one measure causes the other.
- ZCTA: ZIP Code Tabulation Area: the Census Bureau's area approximation of a ZIP code, built from the census blocks that fall inside it. It is the one neighborhood geography that lines up between the 2016 and 2020 vote estimates.
- Swing: The change in a place's two-party margin between two elections. In this book a positive swing is a move toward the Democrats.
- Percentage point: The unit for the difference between two percentages. A change from one share to another is stated in points, not in percent, so that absolute and relative change are not confused.
- Clustered standard errors: Standard errors that allow answers within the same group, such as the same county or the same week, to be related. They are wider than ordinary errors when members of a group resemble each other.
- Ecological inference: Drawing a conclusion about individuals from data on groups or places, such as counties. A pattern across counties can differ from the pattern among the people who live in them.

## Methods

Sample. ZIP code tabulation areas (ZCTAs) in the contiguous states with vote estimates for 2016 and 2020, kept when they have more than 100 votes in 2020, both IRS shares, a swing, the average tax rate and the four ACS controls; this common sample of 27,144 ZCTAs in 3,088 counties is used for every ZIP-code estimate. County sample: 3,113 counties with returns in 2016 and 2020 (Alaska excluded), of which 3,080 have ZIP-code shares and county demographics. The sample table in the last section gives the counts at each step.

Votes and outcome. Precinct returns allocated to ZCTAs by the RLCR method (2016 from VEST, 2020 from MEDSL), fractional counts; the allocation reproduces the national two-party Democratic share of 51.09% in 2016 and 52.24% in 2020. The outcome is the swing, the 2020 two-party margin minus the 2016 margin, Democratic minus Republican, in points, so a positive swing is toward the Democrats. The county swing comes from certified county returns.

Measures. The share of returns claiming the earned income tax credit and the share reporting a net capital gain (IRS Statistics of Income ZIP-code data, tax year 2022, a year recorded in the project's build code and not in the data file) and the mean effective tax rate; the poverty rate, Black share, Hispanic share and college share from the ACS 5-year estimates in the project's ZIP-code demographic file, dated March 2025, which records neither the ACS release nor the table behind each variable, so these controls are undated. The county controls are the 2020 row of the county demographics panel. The definition of the ZIP-code college variable is unresolved. The file describes it as the percentage of the population with a college degree or higher and names no table, age group or release, but aggregated to counties it averages 52.7% against 23.6% for the county bachelor's share (correlation +0.86), so its level is far above a bachelor's share. The level and the correlation do not establish what the variable counts, so the chapter calls it the college share and leaves its coding open.

Weights. ZIP-code estimates are weighted by 2020 votes in the ZCTA and county estimates by 2020 two-party votes. CES estimates use the post-election weight. Correlations and partial correlations are also computed with every ZIP code (or county) counted equally.

Estimator. For each share, a weighted least squares regression of the swing on the share and the named controls, every variable standardized on the sample with the same weights, so the coefficient is points of swing per standard deviation of the share. Each set of controls is a separate model, and the full set (poverty, college, Black and Hispanic shares) does not include the average tax rate.

Intervals and clustering. 95% intervals use cluster-robust (CR1) standard errors clustered on county for ZIP-code models and on state for county models (t distribution with the number of clusters minus one degrees of freedom). As a sensitivity check the ZIP-code ladder and the decile means are also computed with clusters on state (49 clusters: the states and the District of Columbia); this moves the two capital-gains intervals that hold the college share fixed, with and without the tax rate, to include zero and leaves the other ladder intervals on the same side of zero. Neither clustering allows for dependence between neighboring states. Correlations use a seeded bootstrap of whole clusters (2,000 replicates, seed 12345); decile means use the clustered ratio estimator; CES margins use the Kish effective sample size and a normal interval, which is model based and treats the weighted sample as a simple random sample.

Suppression. ZCTAs with 100 or fewer votes are dropped; no survey cell rests on fewer than 30 respondents. Decile groups hold equal numbers of ZCTAs. The 2016 and 2020 survey samples are separate cross-sections, and voters who report neither owning nor renting are left out of the homeowner comparison.

## What these data cannot show

- The ZIP-code results are associations between places and do not say how a capital-gains filer or an EITC claimant voted.
- Group and individual correlations can differ [6], and this chapter has one case.
- The raw ZIP-code coefficient of the swing on the capital-gains share is +2.4, while among voters without a degree investors moved 5.5 points toward the Republicans and non-investors 3.5 points toward the Democrats.
- With the college share held fixed the ZIP-code coefficient is −1.0, the same sign as the survey difference, though its interval includes zero when clustered on state.
- The place-level and voter-level results disagree about the raw association and agree in sign once education is held fixed, which is what the composition account above predicts.
- This is ecological inference, and the ZIP-code filers and voters are overlapping but not identical populations.
- The timing is a limit.
- The IRS shares are for tax year 2022 and the swing is for 2016 to 2020, so a ZIP code's income mix is measured after both elections.
- The release of the American Community Survey behind the ZIP-code controls is not recorded in the demographic file, so the controls cannot be dated against the swing.
- The IRS shares describe filers, so the poorest households and some retirees are missing, and the EITC share is a share of returns and not of residents.
- The vote estimates are allocations of precinct returns to ZIP codes, with a source change between 2016 and 2020, and both the allocation error and the source change enter the swing.
- The IRS file also omits PO-box ZIP codes and ZIP codes below its disclosure thresholds, so some ZIP codes with votes have no share; Table 8 counts what each step of the sample leaves out.
- Table 8.
- The ZIP-code sample is 27,144 areas in 3,088 counties and the county sample is 3,080 counties
- The intervals allow dependence among ZIP codes in the same county (or, in the state check, the same state) and not between neighboring counties in different states or between neighboring states.
- Regional swings, such as the swing in the Texas border counties, make that dependence likely, and the two capital-gains intervals that change between the county and state clusterings show that it can matter for a conclusion.
- The shares of the smallest ZIP codes rest on few returns.
- In the sample, 1,405 ZIP codes report no capital-gains returns and 1,244 report no EITC returns, and the data do not distinguish a true zero from a small count rounded down.
- They hold 0.3% and 0.2% of the votes in the sample, and leaving them out of the lowest decile moves its mean swing from 7.2 to 7.5 points toward the Republicans for capital gains and from 6.3 to 6.4 points toward the Democrats for the EITC.
- The capital-gains result cannot be resolved by more controls.
- The share correlates +0.81 with the college share, the ZIP-code college variable has no resolved definition, and the county results with the bachelor's share carry intervals that include zero, so the data cannot say how much of the capital-gains association is capital gains and how much is education.
- Every ZIP-code coefficient with the college share held fixed, including the negative capital-gains coefficient and the EITC coefficient near zero, is an adjustment for a variable whose coding is unresolved.
- If it counts some college or more, the adjustment removes a broader educational gradient than a four-year degree would.
- The results also depend on the weights.
- Table 9 gives the partial correlation of the swing with each share under vote weights and with each ZIP code counted equally.
- The signs of the capital-gains partial correlation with the college share held fixed and of the EITC partial correlation with the full set held fixed differ between the weightings; the capital-gains partial correlation with the full set held fixed is negative under both.
- Table 9.
- Two of the partial correlations change sign when every ZIP code counts equally
- The wealth measures are narrow.
- The survey has stock ownership and home ownership as yes or no items, so neither measures the size of holdings.
- The vote in the survey is self-reported, and the intervals treat the weighted sample as a simple random sample.
- Companion 8.1c, Measures of hardship compared (https://vishalsingh.org/politics/measures-of-hardship-compared) puts hardship measures on one specification.

## References

1. Fekrazad, Amir (2025). A dataset of US precinct votes allocated to Census geographies with precision. Scientific Data 12: 794. https://doi.org/10.1038/s41597-025-05140-3
2. Voting and Election Science Team (2018). 2016 Precinct-Level Election Results. Harvard Dataverse. https://doi.org/10.7910/DVN/NH5S2I
3. Baltz, Samuel; Agadjanian, Alexander; Chin, Declan; Curiel, John; DeLuca, Kevin; Dunham, James; Miranda, Jennifer; Phillips, Connor Halloran; Uhlman, Annabel; Wimpy, Cameron; Zárate, Marcos; Stewart III, Charles (2022). American election results at the precinct level. Scientific Data 9: 651. https://doi.org/10.1038/s41597-022-01745-0
4. Gethin, Amory; Martínez-Toledano, Clara; Piketty, Thomas (2022). Brahmin Left Versus Merchant Right: Changing Political Cleavages in 21 Western Democracies, 1948-2020. Quarterly Journal of Economics 137(1): 1-48. https://doi.org/10.1093/qje/qjab036
5. Gelman, Andrew; Park, David; Shor, Boris; Bafumi, Joseph; Cortina, Jeronimo (2008). Red State, Blue State, Rich State, Poor State: Why Americans Vote the Way They Do. Princeton University Press.
6. Robinson, W. S. (1950). Ecological Correlations and the Behavior of Individuals. American Sociological Review 15(3): 351-357.

## Provenance

- Pipeline version: 1.0.0
- Build script: book3/chapters/wages-capital-and-the-county-vote/build.py (sha256 564f66926cf17974a5fffc4aee9f2b90e928c256dfaf1b4d7af1f2b834db89ab)
- Built on: 2026-09-30
- Site commit: 16414b2c7257546a7042d0b1734657f208999f60

Inputs:

| File | Size (bytes) | SHA-256, first 1 MB | SHA-256, last 1 MB |
| --- | ---: | --- | --- |
| data/cces/cces_clean.parquet | 53,454,868 | 9430e88b3196c9ca2250bdda1908d3920e80e276ca0c529c514e2fc2bdd00806 | f61097c727c38fd8d7c8e53fe86935fb626f351a64d99ccb1ae0b56715b2c405 |
| data/county/pres_county_1868_2024.parquet | 6,295,675 | bec11c7a0cb5d4180bbd6809d048bc892dd00dfcdde527fa4da871b1dd3f835f | b2a4f000f2eea72d09af8939555289e924875cca40cd95ec8869104cd575bed7 |
| data/county/pres_county_2000_2024.parquet | 5,622,625 | 89e55d8bb32746282a8a0880a7d0e82892acf449eaea71ac1aa7466cc9b0cc23 | d6c6a14fdff6f54e9ee88e46c71dce64ee40b940e050f92d18540e4889f4a0f3 |
| data/precinct/census_estimates/zcta_swing_atlas.parquet | 11,850,164 | ca87f58b5b27fc0ebd644d594a8b93971f85d40f95132ac641ffc84c5021684e | 6db8ad81722c59d7fc7436e5563bfd33b9a60fe03aff344e763af8a25df38651 |

Outputs:

| File | SHA-256 |
| --- | --- |
| facts.json | a5fc591847707e9c70e0dff859ec34500193f056a2ffe36cef10aa3f987e37be |
| figures/control_ladder.json | a9c1b329b868513d50e084903029d40c1aab749bb785d3ba4984786e57624dcf |
| figures/control_ladder_county.json | 26226780539a67f07ce8b0e6cdcc0ad6d38faece9ee0c3aff8829d2a6005340e |
| figures/county_map.json | 6cfbd38ad7eb9bf4a2360844a6cc70513ec337df9178d5aac09916a4c6cfcb0c |
| figures/decile_levels.json | b6b89687bab4dfad27798f4e7236f97693e7138d378c768f1d532f86088c9be9 |
| figures/decile_profiles.json | 5b32e4271752c4d71497bf059ba06355734a205cc424b30b0ad1a37a69fb8647 |
| figures/sample_counts.json | 9662140e36b000738cfdfc08d5cb0e657fe72dea0e16a321b251a1eaa17f41b5 |
| figures/share_deciles.json | 85fdd5d37df3cd366b88bd35a757fc5fcc149ce002a2b33672a30d27ca95ecf4 |
| figures/wealth_and_the_vote.json | 6e7940c15cbb4c0de23ad715ae8344d7b1ea8908faa8668dd4210ae8e7126a43 |
| figures/weights_check.json | e7aad52c213967e77b81ecb2a88d3ea897b682f714735ed48b03ca0a564b36f7 |
| meta.json | 11b14fe1c79bfd10137918085abdaabfb020d9ce9883ccde3a8ec8f30a165a17 |
| public/data/wages-capital-and-the-county-vote/county_map.json | 620fb93335403a93299db18eaa618d510c068f8b0ab30e3941274532bbdd43b2 |
| refs.json | 866be03d1b003d899186570f0b5eb1cd2d1fecba5c085632fe5b1da5fdc8056a |

## Machine formats

- Report (HTML): https://vishalsingh.org/politics/wages-capital-and-the-county-vote/report
- Report (Markdown): https://vishalsingh.org/politics/wages-capital-and-the-county-vote/report.md
- Every estimate (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/facts.json
- Table 1, figure "share_deciles" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/share_deciles.json
- Table 2, figure "decile_levels" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/decile_levels.json
- Table 3, figure "decile_profiles" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/decile_profiles.json
- Table 4, figure "control_ladder" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/control_ladder.json
- Table 5, figure "county_map" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/county_map.json
- Table 6, figure "control_ladder_county" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/control_ladder_county.json
- Table 7, figure "wealth_and_the_vote" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/wealth_and_the_vote.json
- Table 8, figure "sample_counts" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/sample_counts.json
- Table 9, figure "weights_check" (JSON): https://vishalsingh.org/politics/report/wages-capital-and-the-county-vote/figures/weights_check.json
- Payload of "county_map" (JSON): https://vishalsingh.org/politics/data/wages-capital-and-the-county-vote/county_map.json
- Index of every report: https://vishalsingh.org/politics/llms.txt; all reports in one file: https://vishalsingh.org/politics/llms-full.txt
