How we compute voter turnout — and why it disagrees with everyone else.
Three denominators
Everyone age 18 or older living in the geography, including non-citizens. From the 2020 decennial Census (PL 94-171 redistricting file).
Problem: includes ~12.6M non-citizens 18+ nationally who can’t vote. Overstates the denominator most in CA, TX, NV, FL, NJ.
U.S. citizens age 18+, from the Census CVAP Special Tabulation, 2020–2024 ACS 5-year estimates.
Default for sub-state pages. Methodologically sound for comparing turnout across geographies with different non-citizen shares.
CVAP minus citizens barred from voting by state felony disenfranchisement laws. McDonald USEP methodology.
Default for state-level pages. Large corrections in TN (8.9% disenfranchised), AL (8.3%), FL (7.1%), VA (4.9%).
What the correction looks like
The city-level numbers are even more dramatic. Miami 2024 turnout was historically reported at 39.7% of VAP. That’s a denominator that counts Miami’s large non-citizen population. Against CVAP, Miami 2024 turnout is 56.0% — a 16.3 pp correction. San Jose jumps from 46.6% to 60.6%. San Francisco from 53% to 65%. Los Angeles from 44% to 56%.
Every page that shows a turnout number has a VEP / CVAP / VAP toggle in the top right corner. The URL persists the choice (?denom=cvap) so share links preserve it.
Sources
U.S. Census Bureau, 2020 PL 94-171 Redistricting File. Block-level, all 50 states + DC. Loaded into demographics_block.voting_age_population.
U.S. Census Bureau, Citizen Voting-Age Population Special Tabulation, 2020–2024 ACS 5-year estimates. Published Jan 2026.
census.gov/programs-surveys/decennial-census/about/voting-rights/cvap.html
Loaded directly for state (51), county (3,135), state senate district (1,950), state house district (4,832), congressional district (870), and Census place (32,330) rows. Block-level CVAP is disaggregated from block-group CVAP using 2020 decennial block VAP as the allocation weight — Canvas (draw-a-shape) uses this.
CVAP minus citizens barred from voting due to a felony conviction. Disenfranchisement counts come from The Sentencing Project, Locked Out 2022: Estimates of People Denied Voting Rights (October 2023), Table 2.
sentencingproject.org/reports/locked-out-2022
50 state VEP values are loaded today. Mississippi is excluded — The Sentencing Project retracted its 2022 MS estimate in 2024 pending recalculation. FVAP overseas adjustment (~0.1–0.2 pp nationally) is not yet applied. Sub-state VEP is state-level only; county/CD VEP would require BJS county-level incarceration data, which is a future phase.
Turnout Gap
The Turnout Gap feature asks: of the citizens who are eligible to vote in this geography, which demographic segments didn’t? And what partisan lean does that non-voter pool have?
For each geography we load CVAP broken out by 6 race/ethnicity categories directly from the Census CVAP Special Tab (lnnumbers 3–13). We rebase the overlapping Census categories (White Alone includes Hispanic whites, Hispanic spans all races) into 5 mutually exclusive buckets: White non-Hispanic, Black, Hispanic, Asian, Other. Hispanic–to–White-Alone overlap is deducted at the published national 67% rate.
We assume each race voted at its CPS Nov 2024 Voting Supplement national rate:
- White non-Hispanic: 67.7%
- Black: 60.4%
- Hispanic: 52.4%
- Asian: 58.2%
- Other (AIAN, NHPI, multi-race): 55.0%
These are national averages. State-specific CPS subsamples would refine them; future phase.
The partisan lean of the non-voter pool is not the 2024 exit-poll voter lean — that’s a common methodological error. Non-voters in 2024 shifted more Republican than engaged voters, most dramatically among Hispanic and Black men.
We start with 2024 exit-poll voter lean and apply a per-race non-voter adjustment derived from Pew’s 2024 non-voter analysis, AP VoteCast’s non-voter subsample, and post-election breakdowns by Harry Enten and Nate Cohn:
| Race | Voter lean (2024) | Non-voter adjustment | Non-voter lean |
|---|---|---|---|
| White non-Hispanic | R +16 | −3 | R +19 |
| Black | D +75 | −18 | D +57 |
| Hispanic | D +6 | −16 | R +10 |
| Asian | D +14 | −8 | D +6 |
| Other | D +10 | −6 | D +4 |
These are 2024 point estimates. Post-2024 special elections (WI Supreme Court, OK-02 federal House) and 2025 polling show Democrats recovering ground with low-propensity voters. A 2026 model will refresh these constants.
The “Margin Shift If Mobilized” number is an upper bound: it assumes 100% of eligible non-voters turn out along their demographic non-voter lean. Real-world mobilization is partial, costly, and diminishes at higher intensity. Use the ceiling as a theoretical maximum, not a forecast.
Programmatic access
Prophet ($99/mo) and above can query the Turnout Gap for any geography:
GET https://akashicedge.com/api/v1/turnout?geo_id=state:2020:48&year=2024
Authorization: Bearer YOUR_API_KEY
{
"ok": true,
"data": {
"geography": { "geo_id": "state:2020:48", "type": "state", "name": "Texas" },
"year": 2024,
"denominators": { "vap": 22040758, "cvap": 19865984, "vep": 19410824, ... },
"turnout": {
"votes_cast": 11382948,
"pct_vap": 51.7,
"pct_cvap": 57.3,
"pct_vep": 58.7,
"default_denominator": "vep",
"default_pct": 58.7
},
"gap": {
"total_non_voters": 8477310,
"gap_pct_of_cvap": 42.7,
"segments": [ ... by race ... ],
"non_voter_lean": 0.8,
"mobilization_ceiling": { "margin_shift": 6.2, ... }
},
"methodology": { ... }
}
}See API docs for authentication and rate limits.