Verify the math
2026 US House forecast: 83.9% probability with expected democratic seats 243.9 seats, backed by 94/100 (Strong) source readiness.
Every number below is a link. Click it to land on the exact line in the exact file it came from — the same sealed data the dashboard reads, as of 2026-06-30.
Follow the math
Each step shows the real formula with the run's actual numbers — no rounding away the work.
Click any number
Every figure links to its exact highlighted cell in its source file, with the public record behind it.
Find it yourself
Some numbers live in big CSVs. Each step's footer says exactly which file, row, and column to open.
Steps 3–6 run once per district inside the model. They're worked here through NY-01, this run's most-likely tipping-point seat, as a representative example.
Start from the national House lean implied by current generic-ballot polls — the mapwide tilt before any single district is touched.
national environment = generic-ballot average, as a D/R margin national_poll_margin = D +5.2 (that is +2.3 pts versus the no-polling baseline)
Show how much evidence is under that environment read: how many usable polls fed it and how much of the 435-seat map polling actually reaches.
usable national polls = 533 map covered by direct polling = 26% (13 states with state polls) feed health: national_generic_ballot accepted 533 rows
For every one of the 435 districts the model blends the certified past lean, candidate status, and the state and national environment into one margin. Worked here through NY-01.
district lean = -14.1 pts (certified past results) candidate status = -6.8 pts (incumbent / open seat) state environment = +15.4 pts (statewide climate) national environment = +16.0 pts (House climate from Step 1) model remainder = +2.4 pts (structured prediction + priors) ---------------------------------- pre-poll margin = D +12.9
Where state or district polls exist, they nudge that district's margin. Districts without polls keep their pre-poll margin from Step 3.
pre-poll margin = D +12.9 (Step 3) polling shift = +2.1 pts ------------------------------ forecast margin = D +15.1 (NY-01: 2 direct House polls, 0 effective state polls)
Divide the forecast margin by the race's typical miss size, then read that off the bell curve to get a model win chance.
forecast margin = D +15.1 (Step 4) typical miss (SD) = 16.9 (idiosyncratic + national + state error, combined) z = margin / SD = 15.1 / 16.9 = 0.89 center/SD chance = bell-curve(z) = 81.4%
Combine that model chance with the district's history-only baseline, then apply the correction learned from past elections so published chances match real win rates.
center/SD chance = 81.4% (Step 5) history-only chance = 50.1% (district's long-run baseline) weight on history = 45% raw chance = 45% x 50.1% + 55% x 81.4% = 67.3% calibration (platt) = +2.5 pts ---------------------------------- final win chance = 69.8%
Add up all 435 calibrated district win chances. The total is the expected number of Democratic seats — a district at 80% adds 0.80 of a seat.
expected seats = sum of final_prob across all 435 districts
= 243.9 seats
published value (national_summary) = 243.9 seatsRun the full 435-seat map thousands of times, letting districts swing together. Count the Democratic seats each time and read the dense middle 80% of outcomes.
simulated elections = 100,000 full maps
majority line = floor(435 / 2) + 1 = 218 seats
80% band = [10th percentile, 90th percentile] of Dem seats
= 208 to 278 seatsCount every simulated election that reached the 218-seat majority. Their share of all simulations is the House-control probability.
control chance = simulations with 218+ Dem seats / all simulations
= 83,931 / 100,000
= 83.9%Publish the headline answer next to the data behind it, so the reader sees how well-sourced the run is before trusting the number.
headline = House-control probability = 83.9% => Democrats favored to hold control built from 7 of 9 data feeds loaded NY-01 official-data grade = Limited
The full source shelf and the public records behind every figure live on the sources page.