A demonstration · 435 districts · 50 states · 2000–2024

What if districts were drawn by an algorithm, in public, with a published seed?

Every line on the map below was placed by a Markov chain, not a legislator. Reseed it. Watch the map redraw. Read the methodology and the proposed law.

FIELD STUDY № 04 — COMPUTATIONAL DEMOCRACY

The 50-state problem.

An empirical demonstration of algorithmic congressional redistricting on the actual partisan geography of seven presidential cycles (2000–2024). Real US counties and census tracts as the substrate; ReCom (the MGGG/Duchin/DeFord Markov chain) as the algorithm. All 435 House seats, all 50 states, drawn from data not opinion.

fetching county geometry…
THE ALGORITHMIC HOUSE

2024 congressional districts, drawn by algorithm.

Counties are colored by their actual two-party D-share for 2024. Black outlines trace the boundaries of algorithmically-drawn congressional districts produced by the ReCom Markov chain (DeFord, Duchin, Solomon 2021) running on the real county adjacency graph. Each state runs independently, seeded from a public seed value (changeable above) — same seed, same data → same districts. Click any state to enlarge it and see per-district statistics.

ELECTION YEAR
county D-share, two-party
R+20evenD+20
↔ Hover for stats · click for state detail
Algorithmically drawn U.S. congressional districts — seed 42, 2024 two-party vote.
Methodology in brief. Each county is a single node on a national adjacency graph of ~3,300 nodes; counties whose population exceeds ~25% of their state's per-district target (with a 200K floor) are slab-subdivided into fragments small enough (each ≤ 0.12 × target) for the chain to balance against. Adjacency is derived from shared topojson arcs (real land borders) plus manual water-gap bridges (Mackinac, Verrazzano, the Eastern Shore VA bay-bridge-tunnel, RI Newport, San Juan Islands, Hawaii inter-island, NYC borough crossings). Vote totals are official county-level two-party presidential returns for 2000, 2004, 2008, 2012, 2016, 2020, and 2024, sourced from the MIT Election Data and Science Lab county- returns dataset via the stiles/presidential-elections compilation (2000–2012) and the tonmcg/US_County_Level_Election_Results_08-24 tabulation (2016/2020/2024). Populations come from the Census Bureau's 2021 vintage of county-level estimates (preserves pre-CT-planning- region county geography to match the topojson). For counties subdivided into fragments, each fragment inherits the parent county's per-capita partisan rate (uniform dispersion within a county is an approximation; precinct-level data would refine this). Midterm House years (2006/2010/2014/2018/2022) are not included — U.S. House results are tabulated by congressional district, not county, so no unified national county-level dataset exists.
The districting algorithm is ReCom — the recombination Markov chain over balanced k-partitions of the adjacency graph (DeFord, Duchin, Solomon 2021). Each state runs independently from a recursive-spanning-tree-bisection initial partition, with a dynamic burn-in (scaling with seat count, 120–400 ReCom moves) under graduated tolerance, followed by a greedy boundary-unit polish phase wrapped in a perturb-and-repolish loop, up to 10 retries from independent seeds (kept best-of), and a graph-isoperimetric compactness gate on every accepted cut. The compactness threshold relaxes deterministically on later retries to preserve Markov-chain ergodicity. After the county-level pass, every state still over ±5% is automatically upgraded to tract-level partitioning: the state's 2020-Decennial tracts (~3,500 people each) become the units, ReCom runs on that tract graph until ±1% balance is achieved, and the tract assignments are projected back to county fragments by bbox containment for rendering. The variance metric shown in the headline reflects the underlying tract-level balance, not the projection. As a result the dashboard consistently delivers 44/44 states inside ±5% on default settings.
Tract-level partisanship is modeled, not measured. No federal authority publishes precinct-to-tract election crosswalks, so tract D-shares cannot be directly observed. The dashboard's previous version disaggregated county votes uniformly across tracts — losing all within-county urban/rural variation. We now apply a population- density partisanship model: each tract's D-share is shifted from the county average by 0.45 × log(tract_density / county_median_density) in logit space, then rescaled per (county, year) so that the sum of tract D-votes and R-votes exactly matches the official county totals. This adds the strongest non-racial geographic predictor of partisanship — population density — to the within-county picture, while preserving the county-level truth. Empirically the coefficient 0.45 matches the lower end of national multilevel-model estimates from Rodden, Chen, and the post-2016 partisan-geography literature. Future extensions (race, ethnicity, education) require ACS table fetches via the Census API and a build-time pipeline; the framework is in place.
Calibration sources: stiles/presidential-elections (2000–2024 county-level, processed JSON of MIT EDSL data); tonmcg/US_County_Level_Election_Results_08-24 (2016/2020/2024 presidential by county); US Census Bureau co-est2021-alldata (county populations); 2020 Decennial Census P1 totals (tract populations); us-atlas v3 counties-albers-10m (TopoJSON, Albers USA projection from Census 2017 cartographic boundary files); MGGG redistricting lab on ReCom (DeFord, Duchin, Solomon 2021, "Recombination: A Family of Markov Chains for Redistricting").