Say “the Republicans are in trouble” and no result can contradict you. Say “the Democrats have a 90% chance of the House and will most likely win 244 seats” and you have written down something November can refute. A forecast is the only thing in political commentary that can be wrong, which is why a citizen should want one. So the question is not who wins. It is what such a number is made of.
This brief builds a model of the 2026 House from files this book already holds, then takes it apart. It is a model with stated assumptions, not a prophecy. Everything in it is computed except one number, and that guess moves the answer more than the data does.
Four sources are combined. The polls come from six private outfits that each average the generic ballot, a survey question asking which party’s candidate you would support in your district, without naming anybody. Political scientists have shown that this one question, asked months out, predicts the national House vote well enough to forecast seats from.1 No agency publishes such an average and none of the six publishes a readable file. They are read instead from the table that puts them side by side on the Wikipedia article “2026 United States House of Representatives elections” (https://en.wikipedia.org/wiki/2026_United_States_House_of_Representatives_elections).
The returns — the vote counts in every district — come from the Clerk
of the House’s Statistics of the Congressional Election for
2004–2024, with the presidential vote inside each district beside them.
The base rate, how the president’s party has fared at
past midterms with nothing else known, comes from the House Historian’s
record of party divisions back to 1858. The Senate roster, which senator
holds which seat and when it is next up, comes from the
congress-legislators file kept by volunteers on GitHub, and
a published professional forecast is quoted for comparison.
Those sources answer the question because a forecast is a join between a national number and a local one, and both halves exist here in files with signatures on them. The key is the district, a state plus a district number, carried by the returns and the presidential figures alike. Every join takes on the assumptions of both files plus one more about how they line up, which is the subject of Join Keys and Crosswalks. That chapter also covers the crosswalk, a table that translates one set of areas into another.
Twenty tables come out of this chapter’s build: the House forecast, the Senate forecast built the same way, and the joint-probability tables that put the two chambers together. Sizes are rows by columns, read off the files.
| Table | What it holds | Size |
|---|---|---|
generic_ballot.csv |
Six polling aggregators’ national House averages, plus their own average row. | 7 × 7 |
baseline.csv |
435 districts: the 2024 House result, the 2024 presidential vote inside the district, and the forecast’s starting share for each. | 435 × 12 |
calibration.csv |
One row per pair of consecutive House elections: how far district swings departed from the national swing, and how many seats a uniform-swing model would have missed by. | 8 × 9 |
curve.csv |
Seats against national swing, with no noise: the seats-votes curve for the 2024 map. | 241 × 3 |
simulation.csv |
20,000 simulated elections at each point on a grid of national environments, summarized. | 57 × 9 |
sim_default.csv |
The full simulated seat distribution at the one national environment the polls currently imply. | 211 × 3 |
sensitivity.csv |
What the assumed polling error is worth: the forecast rerun at five different guesses for it, since that input is the one nobody measured. | 5 × 7 |
spread.csv |
The 80% interval’s width, derived from sim_default.csv, for the figure that plots uncertainty directly. | 3 × 5 |
models.csv |
Five different ways of answering the same seat-count question, compared. | 5 × 6 |
redistricting.csv |
Which states redrew their House maps before 2026, and which way the new lines lean. | 17 × 5 |
senate_seats.csv |
The 33 Senate seats up in 2026 and each one’s baseline. | 33 × 7 |
senate_calibration.csv |
Past Senate races against their state’s presidential vote, and what is left over – the Senate’s own version of calibration.csv. | 112 × 8 |
senate_curve.csv |
Senate seats against the national vote, the Senate’s own seats-votes curve. | 241 × 3 |
senate_sd_by_year.csv |
How much Senate races departed from the presidential-vote prediction, by year, split into presidential and midterm years. | 4 × 4 |
senate_parse.csv |
How many Senate races the build’s parser found against how many it could actually use – races missing a two-party share are refused, and counted rather than silently dropped. | 1 × 3 |
senate_sim.csv |
The full simulated Senate seat distribution, the Senate’s counterpart to sim_default.csv. | 29 × 3 |
joint.csv |
Both chambers’ seat forecasts together, run twice: once with one shared national error and once with a separate error for each chamber. | 2 × 7 |
joint_grid.csv |
The joint forecast collapsed to the two-by-two table – which party controls which chamber, and how often, under each error assumption. | 4 × 3 |
joint_cloud.csv |
The two chambers’ simulated seat counts, binned against each other, under each error structure – the shape a shared error produces against the shape a separate one does. | 1,162 × 5 |
joint_compare.csv |
This model’s chamber-control probabilities next to a named published forecast’s, quoted rather than recomputed. | 3 × 4 |
One more file is not data about the forecast – it is how this chapter
checked its own work: checks.csv, the
arithmetic verified before anything was drawn.
generic_ballot.csv holds one row per aggregator, with
dem_pct, rep_pct, other_pct,
margin and two_party_dem.
| Aggregator | Democrats | Republicans | Other or undecided | Two-party Democratic share |
|---|---|---|---|---|
| RealClearPolitics | 48.6 | 41.6 | 9.8 | 53.88 |
| Race to the WH | 47.8 | 40.9 | 11.3 | 53.89 |
| Decision Desk HQ | 46.9 | 40.1 | 13.0 | 53.91 |
| VoteHub | 48.6 | 41.9 | 9.5 | 53.70 |
| Silver Bulletin | 48.3 | 41.7 | 9.8 | 53.67 |
| FiftyPlusOne | 49.2 | 42.7 | 8.1 | 53.54 |
The six agree to within 0.5 points, and that is the last time in this brief that anything is this well determined. The last column is what the model uses. Between a tenth and an eighth of respondents pick neither party, and that share differs across the six by 4.9 points. Dropping them and recomputing gives the two-party share, averaging 53.73% Democratic.
baseline.csv holds one row per district. It carries
district_id, the 2024 Democratic share of the two-party
House vote in dv, the presidential share in
dpres, the starting share the model uses in
base, and the flags imputed,
no_totals and uncontested, which mark a
starting share that was estimated rather than observed, a district the
Clerk printed no vote total for, and a race with only one major-party
candidate. Those flags mark the cleaning that mattered.
| Quantity | Value |
|---|---|
| Districts with a two-party House result | 397 |
| Districts without one | 38 |
| How closely the presidential vote tracks the House vote | r-squared 0.974 |
| Typical miss when it is used to predict the House vote | 2.5 points |
38 districts had only one major-party candidate in 2024, so they have no Democratic share of a two-party vote. They cannot be dropped, because a forecast ignoring 9% of the House is not a forecast of the House. Each gets a starting share predicted from the presidential vote inside it, which now tracks the House vote to within 2.5 points. Two further districts arrive with no vote total at all, because the Clerk prints a footnote marker where an unopposed candidate’s count would go. Both are assigned to the party that carried the district for president. That is a rule rather than a lookup.
| Quantity | Value |
|---|---|
| Democratic seats the baseline produces | 215 |
| Democratic seats in the 2024 House | 215 |
| Seats within 5 points of the line | 67 |
| Seats more than 5 points from it | 368 |
67 seats start within five points of the line and the other 368 decide nothing. The model itself is three lines. First, the swing: subtract 2024’s 48.65% from the national two-party vote you assume, which the polls make +5.08 points. Second, add that swing to every district’s starting share — a uniform swing, the same shift everywhere — plus two random errors: one drawn once for the country, one drawn separately for each seat. Third, count every district above 50. Doing that once is one imagined election; doing it 20,000 times, with fresh errors each time, is the simulation, and the share of those runs in which the Democrats reach 218 is the probability the forecast reports.
Follow one district through. PA-07 finished 2024 at 49.5% Democratic of the two-party vote, so that is where it starts. Add the swing and it stands at 54.6% before any error is drawn. A national error of two points against the Democrats would pull it back to 52.6%, a district error is then drawn on top, and the seat is counted Democratic in any run where the total ends above 50. This district matters because it is the 218th when all 435 are sorted by starting share: the seat that delivers a majority.
The national error is one number applied to every district, standing for the polls being off or the last three months going unexpectedly. The district error is drawn fresh for each seat, standing for a retirement, a scandal, a local issue. The rest of this brief is what follows from that difference.
Before you read on, write two numbers down. The polls imply a national Democratic share of 53.73%. How wide is the 80% interval around the seat count that implies — how many seats separate the 10th percentile from the 90th? And what probability would you put on the Democrats winning the House? Commit to both before you look.
Before any error is added the model is a plain function: give it a national vote share, get back a seat count. That function is the map, and political scientists call it the seats–votes curve.2
Seats the model gives the Democrats at each national vote share, with no error term switched on. The step at each district is one seat changing hands. Hover anywhere on the plot.
Figure 1. Seats against votes on the 2024 map. A step curve fits because seats are won one at a time. Each step is a single district crossing 50%, so the line shows where the map is dense with close seats and where it is empty. The vertical axis is Democratic seats, the horizontal axis the national two-party Democratic share of the House vote, and the dashed line at 218 is a majority.
The Democrats reach 218 seats at 49.2% of the national vote, a margin of R+1.6 — a margin being the gap between the two parties’ shares, here with the Republicans ahead. They can lose that vote by 1.6 points and still hold the chamber, and the seat delivering it is PA-07. The curve runs at about 4.52 seats per point, which is the exchange rate between a poll and a chamber: two points of polling error is roughly 9 seats.
The distribution of Democratic seats over 20,000 simulated elections. Move any dial. Everything below it recomputes.
Figure 2. 20,000 simulated elections. Each bar is a seat count and its height is how often that count came up, with bars at or above 218 a Democratic House. At the polling average the model gives the Democrats a median of 244 seats, an 80% interval of 218 to 275, and a 90% chance of a majority.
Move the first slider and you ask a different question of the same model. Move the other two and you change what the model believes about its own reliability, without touching any data.
| Error terms switched on | 10th percentile | 90th percentile | Width, seats | Chance of a Democratic House |
|---|---|---|---|---|
| national error only | 222 | 266 | 44 | 94% |
| district error only | 239 | 250 | 11 | 100% |
| both | 218 | 275 | 57 | 90% |
Turn off the district error and the interval barely narrows, from 57 seats to 44. Turn off the national error instead and it collapses to 11. Nearly all the uncertainty in a 435-seat forecast comes from one number drawn once. The reason is arithmetic, not politics. The district error is drawn independently 435 times and independent errors cancel; the national error cannot, because there is only one of it. When the polls are two points off, they are off everywhere at once.
That is why professional forecasts rarely report 99%, and why adding district-level detail does less than it looks like it should. Better candidate data shrinks the small term; nothing shrinks the large one except better polls.
The model can be run on elections that already happened, which is the only way to find out. The test is generous by design: on two consecutive elections with unchanged district lines, the model is handed the second’s actual national vote and asked only for the seat count.
| From | To | Districts | National swing | Model said | Actually | Model missed by | No-change missed by |
|---|---|---|---|---|---|---|---|
| 2004 | 2006 | 316 | 5.30 | 158 | 168 | -10 | -22 |
| 2006 | 2008 | 316 | 1.70 | 179 | 188 | -9 | -20 |
| 2008 | 2010 | 316 | -9.19 | 147 | 138 | 9 | 45 |
| 2012 | 2014 | 326 | -3.68 | 128 | 132 | -4 | 13 |
| 2014 | 2016 | 408 | 2.41 | 186 | 183 | 3 | -5 |
| 2016 | 2018 | 408 | 5.00 | 198 | 222 | -24 | -38 |
| 2018 | 2020 | 435 | -2.86 | 211 | 222 | -11 | 13 |
| 2022 | 2024 | 435 | 0.10 | 213 | 215 | -2 | -3 |
The model missed by 9 seats on average, and assuming nothing changed missed by 19.9. So the machinery earns its keep, by less than 435 moving parts might suggest. Two failures there are not noise. It understates waves: the correlation between the national swing and its error is -0.66, because when the country moves hard, competitive districts move harder than safe ones. And its errors are correlated within a year, arriving as whole elections wrong together. The spread of those 8 errors, divided by 4.52 seats per point, is 2.21 points of vote, which is added to the polling-error guess.
Four other answers sit beside this one, in order of how much data each needs.
| Model | What it uses | Democratic seats | 80% interval | Chance of a Democratic House |
|---|---|---|---|---|
| No change | Nothing. Last election repeats. | 215 | — | — |
| The midterm penalty | One sentence and 41 past midterms. | 243 | 211 to 287 | 88% |
| Uniform swing | The polling average and the 2024 map. | 237 | — | — |
| Uniform swing, simulated | The same, plus a national and a district error term. | 244 | 218 to 275 | 90% |
| FiftyPlusOne | Polls, fundraising, past returns, candidate data and race ratings, House and Senate together. | 230 | 211 to 253 | 85% |
Every model that states a probability lands between 85% and 90%. One is a single sentence about midterms — the president’s party usually loses House seats, a regularity measured since the 1970s;3 another is a professional forecast built on polls, money, candidate files and race ratings, the Lean, Likely and Toss-up labels the next brief takes apart. What the data buys is a narrower answer, not a different one: the base rate’s interval is 76 seats wide and the professional model’s is 42. This model sits 14 seats more Democratic and calls a wider interval. The optimism is mostly incumbency, the edge a sitting member has over a challenger, which the professional model measures and this one cannot see.
The Senate is on the same ballot, and running both in one simulation answers a question neither answers alone.
| Outcome | One national error, shared | A separate error for each chamber |
|---|---|---|
| Democratic House | 90% | 90% |
| Democratic Senate | 59% | 59% |
| Both chambers | 59% | 53% |
| Neither chamber | 9% | 4% |
| One of the two | 32% | 43% |
Both chambers comes out at 59% when the two share a national error and 53% when they do not. Treating them as independent means multiplying the two probabilities, which gives 53%, so the right answer is 5 points higher. A polling miss is not a House event. If the polls are two points too Republican, they are two points too Republican in Georgia and Maine as well as in Pennsylvania’s 7th. The Senate is also the harder chamber, arriving at 54.4% of the national vote against 49.2% for the House.
Which map November will use. Every district here is a 2024 district, and 10 states have enacted new congressional maps since.4
| State | Democratic-leaning seats | Highly competitive seats | Republican-leaning seats |
|---|---|---|---|
| California | 4 | -3 | -1 |
| Utah | 1 | 0 | -1 |
| Alabama | 0 | -1 | 1 |
| North Carolina | 0 | -1 | 1 |
| Florida | 1 | -4 | 3 |
| Louisiana | -1 | 0 | 1 |
| Ohio | 0 | -2 | 2 |
| Tennessee | -1 | 0 | 1 |
| Missouri | -1 | -1 | 2 |
| Texas | -3 | -2 | 5 |
The redraws removed 14 competitive seats. The partisan effect roughly cancels; the effect on this model does not, because all its uncertainty lives in exactly those seats.
Which of its inputs is a judgment. The national error is 3.0 points of two-party share, of which 2.21 was measured from the backtest and 2.00 was assumed.
| Assumed polling error | Median Democratic seats | 80% interval | Width | Chance of a Democratic House |
|---|---|---|---|---|
| ±0.0 points of margin | 244 | 224 to 267 | 43 seats | 96% |
| ±1.0 points of margin | 244 | 224 to 267 | 43 seats | 95% |
| ±2.0 points of margin | 244 | 222 to 269 | 47 seats | 94% |
| ±3.0 points of margin | 244 | 220 to 272 | 52 seats | 92% |
| ±4.0 points of margin | 245 | 218 to 275 | 57 seats | 90% |
Turning that dial from zero to the default widens the interval by 14 seats and moves the probability by 5 points. The guess matters far more to the range than to the headline, and only the headline is repeated.
Who is running. Every seat’s starting share carries the incumbent who won it, and incumbents retire. Over fifty members have said they will not stand again,5 and each of those seats reverts toward its underlying partisanship unseen.
Whether the forecast was any good. In November one thing will happen, and no single outcome shows that 90% was right or wrong. The Senate half is weaker still: its baseline carries no incumbency, and 33 seats cancel their independent errors far less than 435 do.
None of these is answered above, and every one can be answered from the tables Sources hands over.
generic_ballot.csv holds six aggregators’ numbers in
margin and two_party_dem. Which would you feed
the model, and what does their disagreement cost at 4.52 seats per
point?calibration.csv puts err beside
nochange_err for eight past elections. Is the model beating
the assumption that nothing changes, and in which years does it
fail?sensitivity.csv varies
assumed_poll_error_margin against width and
p_house. Find where the answer stops being confident.baseline.csv flags districts as imputed,
uncontested and no_totals. Count them, and say
what share of a national forecast is a guess.redistricting.csv names the
states with new maps. Pick one, find its new lines, and work out how
many of curve.csv’s steps near 50% the redraw removes.Data
@unitedstates/congress-legislators,
legislators-current.csv (https://unitedstates.github.io/congress-legislators/legislators-current.csv;
the project is at https://github.com/unitedstates/congress-legislators), a
file of every sitting member kept by volunteers, for every senator’s
party and Senate class. That the two independents caucus with the
Democrats is not in the file and is applied here.The one number that is not from a file
The data itself
All twenty tables are described in The data
at the top of this brief. They are plain CSV, they open in a
spreadsheet, and they are yours to take further: generic_ballot.csv,
baseline.csv, calibration.csv, curve.csv, simulation.csv, sim_default.csv, sensitivity.csv, spread.csv, models.csv, redistricting.csv,
senate_seats.csv,
senate_calibration.csv,
senate_curve.csv,
senate_sd_by_year.csv,
senate_parse.csv,
senate_sim.csv,
joint.csv, joint_grid.csv, joint_cloud.csv, joint_compare.csv.
I want to rebuild a public dataset from its original sources, without any starting files. Please do the following and show your work — and know one thing going in: part of this source moves every day, so your copy will be today's page, not the one this book captured. THE FIRST SOURCE. Wikipedia's page "2026 United States House of Representatives elections", downloaded as raw wikitext through the MediaWiki API: https://en.wikipedia.org/w/api.php?action=parse&page=2026_United_States_House_of_Representatives_elections&prop=wikitext&format=json&formatversion=2 No account or key is needed. Two tables inside it matter: the comparison of generic-ballot polling aggregators, and the summary of mid-decade redistricting. Wikipedia is not the authority on either — it is merely the one place six aggregators who publish no common file sit in a single table. THE SECOND SOURCE. The @unitedstates project's roster of sitting members of Congress: https://unitedstates.github.io/congress-legislators/legislators-current.csv One CSV; each row is a current senator or representative, with party, state and Senate class. No key. WHAT TO BUILD. 1. The aggregators' national House margins, read out of the wikitext table, with their average. 2. From the roster: the Senate seats up in November 2026 — class 2, plus any special elections — with each seat's current party. 3. A sanity baseline: the 2024 House result the forecast starts from, 215 Democratic seats to 220 Republican, with every district given a starting vote share. CHECK YOUR WORK. The copy this book used was captured on 16 August 2026. The aggregator table will have moved since — that drift is the page being edited, not an error. What should still hold: - the baseline reproduces the 2024 House: 215 Democratic seats - all 435 districts carry a starting share - 537 rows in the roster file, and its senators sum to exactly 100 The roster updates whenever a seat changes hands mid-term; a count a few rows off means a vacancy or a swearing-in, not a mistake.
Joseph Bafumi, Robert S. Erikson and Christopher Wlezien, “Forecasting House Seats from Generic Congressional Polls: The 2010 Midterm Election,” PS: Political Science & Politics 43, no. 4 (2010): 633–636, https://doi.org/10.1017/S104909651000106X.↩︎
Edward R. Tufte, “The Relationship between Seats and Votes in Two-Party Systems,” American Political Science Review 67, no. 2 (1973): 540–554, https://www.jstor.org/stable/1958782.↩︎
Edward R. Tufte, “Determinants of the Outcomes of Midterm Congressional Elections,” American Political Science Review 69, no. 3 (1975): 812–826, https://www.jstor.org/stable/1958391.↩︎
The redraws are tracked state by state at Loyola Law School’s All About Redistricting: https://redistricting.lls.edu/.↩︎
Ballotpedia’s running list of members not seeking re-election in 2026: https://ballotpedia.org/List_of_U.S._Congress_incumbents_who_are_not_running_for_re-election_in_2026.↩︎