Differential participation by race, at precinct level
For every voting precinct in the focus counties: its citizen voting-age population broken out by race, its 2024 presidential turnout, and how that turnout compares with the same state’s heavily-white precincts. Population and votes are counted up from whole census blocks, so aggregation is exact addition rather than estimation.
Estimated turnout by race
What the estimate is. A precinct tells us two things: how many people voted, and — from the Census — how many citizens of each race live there. It never tells us which of them voted. Ecological inference works backwards from those two facts across thousands of precincts at once: if precincts that are almost entirely Black turned out at 61%, and precincts that are almost entirely white turned out at 70%, the rates that fit every precinct at once can be worked out. The method used here is King’s, published in 1997 and standard in voting-rights work.
Where it can be checked, and where it cannot. Seven states record a voter’s race on the registration form: Alabama, Florida, Georgia, Louisiana, North Carolina, South Carolina and Tennessee. The model was fitted on those seven because they can grade it — there is a real answer to be wrong against. Of the areas below, Metro Atlanta, Charlotte and Durham are in fitted states. Detroit, Columbus and Cleveland are not. Michigan and Ohio record no race at all, so their figures come from applying the seven-state result to states the model never saw, and nothing exists there to check them against. Each map says which kind it is.
Two estimators, and where they disagree. The same method was run a second way — fitted directly on all thirty-nine states instead of seven and carried outward. The maps below use the first. The second gives a larger shortfall in every area, and the gap between them tracks something specific: how much a precinct’s own arithmetic can settle. Detroit’s precincts say the most and the two estimators land 3.5 points apart; Columbus’s say the least and they differ by 10. Where the arithmetic runs out the model fills the gap, which is exactly where two models part company. The first estimator is reported because it is closer to both independent comparators for non-white citizens — 5.8 points against the Census survey where the second is 14.0.
Read the ranking, not the decimal. Both estimators reproduce less variation between precincts than the recorded rates in the seven states actually show. Which precincts are furthest behind is solid; the exact size of any one gap is softer.
The data. Precinct boundaries and 2024 results from the Redistricting
Data Hub. Citizens of voting age by race from the Census Bureau’s CVAP special
tabulation (2020–2024 American Community Survey), counted up from census blocks.
Two independent comparators are used to grade the estimate and are never fed into it: the
race recorded on the registration form in the seven states that collect it, and the Census
Current Population Survey’s November 2024 voting supplement. Everything is held in
Reference-Data; the model results are catalogued under
elections/derived/rxc_turnout_by_race/.
What this measures, and what it does not
CVAP, not voter registration. Michigan and Ohio do not record race on the voter registration form at all, so a precinct-level count of registered Black or Latino voters does not exist for Wayne, Franklin or Cuyahoga. CVAP is the Census-enumerated eligible population and is the only defensible precinct-level measure across all eight counties.
Precinct returns are a single total. A precinct reports how many ballots it counted, never who cast them, so any turnout figure taken straight from the returns is the whole precinct’s. Turnout by race is therefore an estimate, not a count — the maps above say where it comes from and how far it can be trusted.
No new data was acquired. Everything derives from holdings already in Reference-Data: population from the Census CVAP special tabulation at census-block level, votes from certified 2024 precinct returns allocated to blocks, boundaries from Census voting districts.
The report
preliminary draft — internal to SAM
Open the report → — ten sections, 18 figures and 26 tables, in a single self-contained HTML file with every figure embedded. Nothing is fetched when you open it, so it can be saved and mailed on as one file, and it renders the same offline.
It is 24 MB and takes a few seconds to open. That is the cost of embedding the figures rather than serving them separately, and it is deliberate: a report that loads its own images cannot be read once the paths behind it move.
Built by the pipeline in the Voter-Vulnerability repository, not edited by
hand. Every figure and every published number is regenerated from Reference-Data by
make all, and the copy served here is the one that passed that build’s
140 regression checks. Each table names its own sources, and each figure carries
its own; the estimated turnout figures are marked fitted or extrapolated
per state, because two of the four focus states have no recorded answer to check
against.
Refresh it by copying
report/VoteSafe_Voter_Vulnerability_Report.html from that repository over
the copy in projects/vote-safe/report/. It is a build output, so it is
replaced wholesale and never edited here — an edit made on this side would be
silently overwritten by the next copy, and would disagree with the checks that passed.