What you are looking at The Senate in ninety seconds — and why most of the map is grey
The Senate
One hundred seats — two per state, regardless of size. California has 39 million people and two senators; Wyoming has 590,000 and also two. Terms run six years.
Which is why the map misleads if you read it by area: Wyoming looks about sixty times the size of Rhode Island and is worth exactly the same, one seat.
Why most states are grey
Terms are staggered so the chamber never turns over at once. Seats sit in three groups and only one group faces voters every two years.
2026 is that group's turn — 33 seats — plus special elections in Florida and Ohio, whose senators left mid-term for Secretary of State and Vice President. Hence 35 contests. The other 65 senators aren't on any ballot this year.
What winning means
Democrats need 51 seats; Republicans need 50 — the Vice President breaks ties, and JD Vance is a Republican. Republicans hold 53 now. Democrats keep 34 seats that aren't up, so they need 17 of the 35.
A majority sets the agenda and confirms judges and cabinet posts on a simple majority. Most other legislation still needs 60 votes to break a filibuster, so a narrow win is real but well short of a free hand.
Why midterms are different
2026 falls halfway through the presidential term. The president's party usually loses ground — though the Senate is less reliable about that than the House, since which seats happen to be up matters as much as the national mood.
A probability isn't a prediction: a 30% chance should come in about three times in ten. Being surprised is part of the design.
The 35 seats up in 2026
—
Shaded by who is favoured. The 15 states with no Senate race this cycle are greyed out — a map cannot show that Wyoming and Rhode Island are worth exactly one seat each, so read the seat distribution below for the count that matters. Hover a state for detail; click for its polls.
On a small screen the map is an overview only — state labels would be about three pixels tall. Use the race table below for the detail on any contest.
These are the 2026 districts. Ten states redrew their congressional boundaries mid-decade — Texas, California, Florida, Ohio, North Carolina, Missouri, Tennessee, Louisiana, Alabama and Utah, covering 181 of the 435 seats. Every lean below is measured on the new lines, so a district number here is not comparable with the same number in an earlier cycle. Under the old map Harris carried 203 districts; under this one, 200. District presidential results for the 2026 maps come from The Downballot.
All 435 seats
—
One square per district, all the same size, grouped by state. Districts hold equal numbers of people but wildly unequal amounts of land, so a normal map would give nearly all its ink to the emptiest seats and shrink the ones that decide the chamber to specks. Paler squares are districts with no polling of their own — most of the House — where the forecast comes from how the district voted for president and where the national mood has moved since. Hover for detail; click for the full record.
On a small screen each district is about three pixels across — an overview only, and too small to tap. Use the district table below for any single seat.
What the betting markets say
Traders on Polymarket pricing the same questions. Shown for contrast — these are never an input to the model, because traders read forecasts and using them would be circular.
Distribution of Senate seats
—
Democratic-caucus seats across — simulations. The line marks the 51 seats Democrats need for a majority.
Why this is so wide. Most of the spread is one number: how far the national mood on election day can sit from where the polls have it. Across the last 13 midterms the generic ballot has missed the actual national House vote by about 3.5 points, and because 51 districts sit within five points of the line, roughly five seats change hands for every point it misses by. The error scales here are fitted on past House polling rather than borrowed from the Senate — which made this interval wider, not narrower.
Forecast over time
—
Democratic probability of Senate control, one point per model run.
The trend line appears once the model has run on more than one day.
National environment
—
The generic congressional ballot, estimated as a latent random walk. Every race is geared to this by its own elasticity, so movement here shifts every contest at once.
What changed
Generated automatically after each run by diffing against the previous forecast.
Earlier entries
Race by race
Ordered by competitiveness. Click any race for its polls and trajectory.
How this forecast is made
The short version: a Bayesian model estimates where each race stands from the polls, then adds the amount that polls have historically been wrong by. Both halves are described below — including how the second one was measured rather than guessed.
Three things, added together
For every race, on every day, the model estimates one thing: the share of the vote each side would get if the election were held that day. It builds that estimate out of three ingredients.
- Where the race starts. Before a single poll is read, how does this place vote? That comes from the 2024 and 2020 presidential results there, plus whether an incumbent is on the ballot. Think of it as the answer you would give if the national mood were exactly tied.
- Which way the country has moved since. Hundreds of national polls ask which party people would back for Congress. Those give a single number for the national mood, and the model tracks it drifting day by day rather than treating today’s polls as the last word.
- What is happening in this race in particular. A strong candidate, a scandal, a spending blitz — movement that is about this contest rather than the whole country.
Add the three together and you have the estimate for that race on that day. One more adjustment: races differ in how hard they swing when the country swings. A district packed with voters who have already picked a side barely moves; a competitive suburb moves a lot. The model works out that sensitivity for each race rather than assuming everywhere responds alike.
What comes out is a range, not a number
The model never settles on one answer per race. It keeps thousands of versions of the whole map — every one internally consistent, some good for Democrats, some good for Republicans — and counts how often each side ends up with a majority across all of them. That count is the percentage at the top of this page.
This is why a race can be described as a 70% favourite and still lose without the forecast having been wrong. Thirty out of a hundred is not nothing.
Why it is built this way
The starting point assumes a tied country. That sounds like a technicality and is the opposite. If a race’s starting point already had a good Democratic year baked into it, and the national mood were then added on top, the same swing would be counted twice and every forecast would be too extreme.
Races move in groups. If Michigan drifts toward Democrats, Wisconsin probably did too. Treating them as unrelated throws that information away, and it matters most in the unpolled races — the ones with nothing of their own to go on.
But those group movements have to average out. The third ingredient is supposed to capture how a race moves compared with everywhere else. The country’s own movement is already the second ingredient, measured from hundreds of national polls. If the third one is left free to drift the whole map at once, the two are describing the same thing, and the model cannot tell which is which — in practice the per-race term wins, because it has one knob per race to do it with.
That is not hypothetical. It showed up as a House forecast that did not budge when ten states’ new district maps moved its starting point by thirteen seats. The per-race term had quietly absorbed the change.
The model is fitted with PyMC, which explores the range of settings consistent with the polls rather than hunting for a single best fit. The seat forecast comes from running all — races together many times.
The same thing, as an equation
Everything is tracked on the log-odds of the Democratic share of the two-party vote. Each race r, on each day t, is:
θr,t = αr + λr·ηt + εr,t
- αr
- Where the race starts — its baseline at a tied national environment, from presidential lean in 2024 and 2020 plus incumbency.
- ηt
- The national environment, a random walk driven by generic-ballot polls. One number for the whole country on a given day.
- λr
- Elasticity — how hard this race swings when the country swings. Estimated per race, pooled toward 1.
- εr,t
- The race’s own drift, constrained to sum to zero across races at every step.
Why the House is a different problem
The Senate has 35 contests, most of them polled repeatedly. The House has 435, and — of them have never been polled at all — not once, by anyone. Nobody commissions a poll of a district that is not close.
So for nine seats in ten there is no polling to average. What the model has instead is how the district voted for president in 2024, and how far the national mood has moved since. That is not a weakness of this model in particular; it is what a House forecast is. The map above draws unpolled districts paler so you can see how much of the chamber that covers.
Getting the districts themselves right
Presidential results are published by state, not by congressional district, so the district numbers have to be constructed. Ten states also redrew their boundaries part-way through the decade — Texas, California, Florida, Ohio, North Carolina, Missouri, Tennessee, Louisiana, Alabama and Utah, covering 181 of the 435 seats.
That matters more than it sounds. A forecast built on the old boundaries is not slightly out of date; for those states it is scoring districts that will not appear on anyone’s ballot. Under the previous map Harris carried 203 districts; under the one being voted on, 200. Every number here uses the new lines, which also means a district number is not the same place it was in an earlier cycle.
Why a grid of squares instead of a map
Congressional districts are drawn to hold roughly equal numbers of people, which leaves them wildly unequal in area. Wyoming’s single seat covers more ground than the dozen or so that cover New York City.
Shade a real map of those shapes and almost all of the colour goes to the emptiest places, while the seats that actually decide control shrink to specks. So every district here is one square of the same size. It is the only arrangement in which the picture and the arithmetic agree — each seat counts once, and looks like it counts once.
The layout is computed from the same state outlines the Senate map uses, so the two pictures cannot drift apart. States sit roughly where they belong; within a state, square order is not geography.
The House is measured on its own history
House polls are not Senate polls. District surveys are smaller — a median of about 500 people against 735 — and they miss by more. Every error scale on this page is fitted from House races specifically, not borrowed from the Senate. Doing that honestly made the interval wider, not narrower.
Where the polls come from
Every poll is pulled from the VoteHub Polling API, which aggregates hundreds of pollsters and publishes under a Creative Commons licence. This run used — state polls and — generic-ballot polls from — pollsters.
Polls are dated to the middle of their field period rather than their publication date: a poll tells you about opinion while it was being taken.
One survey, one poll
A pollster testing several possible matchups publishes several rows, and they are not several polls — they are one sample of one set of people, asked more than one question. One Michigan survey of 1,163 voters arrived as five rows, three of them naming Democrats who lost the primary. Counting those separately both overstates how much evidence there is and credits a party with a candidate who is not on the ballot.
Each survey is therefore reduced to a single reading, preferring the matchup that is actually happening. Who that is comes from the polls themselves: once a primary is settled, pollsters stop testing the losers. Where a primary genuinely has not happened yet, the readings are averaged rather than chosen between.
This is why a race can show fewer polls than you might expect. Maine counts three, not thirty-four: its nominee changed in July, and every earlier survey there measured a contest between different people.
What gets thrown away
Primary polls, polls older than the window, samples under 100, and any poll that cannot be reduced to a single Democrat-versus-Republican matchup. Candidate names carry no party in the feed, so an explicit roster maps them — and when a name is unrecognised the poll is skipped rather than guessed at. A wrong party assignment would corrupt a race’s entire history; a skipped poll only loses information.
How each poll is adjusted
Polls are not neutral instruments, so the model estimates and removes three biases before believing them:
- House effects. Each frequent pollster gets its own persistent lean, constrained to average out across all pollsters — otherwise “everyone leans Democratic” and “the race is more Democratic” would be indistinguishable.
- Voter screen. Registered-voter and adult samples are corrected relative to likely voters.
- Partisan sponsorship. Polls released by campaigns and aligned groups are corrected back toward the centre.
A pollster needs at least three polls before earning its own house effect. Give a one-off pollster a free parameter and it simply absorbs that poll’s own noise, which makes every individual poll look more informative than it is.
Polls are wrong together, not separately
This is the part that decides whether the headline number is honest.
If every race could err independently, those errors would cancel across the map and the seat forecast would be absurdly confident. They do not. When polls miss in Ohio they tend to miss the same way in Iowa. So on top of the model’s estimate, the simulation adds two errors:
- A national miss of about — points, applied identically to every race. This is what fattens the tails of the seat distribution.
- A race-specific miss of about — points, correlated between states that vote alike and only partly cancelling across the map.
Together, roughly — points of margin per race — which is why even a comfortable-looking lead is not a safe seat.
These numbers were measured, not chosen
They come from — Senate polls across — past election cycles, each paired with the result that actually happened. Each chamber is measured against its own history: House districts miss by more than states do, and are polled with smaller samples, so borrowing the Senate’s figures would understate them.
Source: —. Earlier versions of this model used figures taken from the published literature. They were wrong in both directions at once: overstating how much states miss together, understating how much they miss individually.
Why the range is as wide as it is
The seat range here is wider than some other published forecasts — most visibly in the House, where the gap is large. So it is worth being precise about where that width comes from. Switching each source of error off in turn settles it, and the answer is not the one you would guess.
It is not the uncertainty in any individual race. Those are large — in districts nobody has polled, very large — but errors that are independent from one district to the next mostly cancel out once you add up several hundred seats. They are worth only a handful of seats of spread.
It is the misses that do not cancel
What is left is the error that lands everywhere at once: a polling miss across the whole country, and the tendency of similar places to miss together. In a chamber where dozens of seats sit within a few points of the line, a uniform national miss moves all of them the same way, and that is what makes a seat total hard to pin down.
Which is why the range cannot honestly be narrowed by much. Remove the national polling miss altogether — assume the country-wide polls are exactly right, which no cycle on record supports — and the headline probability moves by about seven points in the Senate and ten in the House, and no further. Everything left is the recorded history of how wrong polls have been, and there is no reading of that record in which the answer is “barely at all”.
Does a 70% call win 70% of the time?
A forecast that says 70% and is right 95% of the time is just as broken as one that is right 40% of the time. So the model is scored against — real Senate races from — past cycles, where the answer is known.
Left: what the model said. Right: what happened. Closer together is better.
Two different tests
Against past elections. Brier score — — an improvement of — on simply calling every race for whoever leads the polls. How often the true result landed inside each interval:
Against polls it has not seen. Every day brings polls the previous day’s model was never shown, so each one is scored against the forecast that could not have known about it. That catches a different failure from the test above: a model that has learned this cycle’s noise rather than its signal.
Neither test can prove the 2026 forecast is right. They establish that this method has been honest about its own uncertainty in the past, which is the most anyone can claim before an election happens.
The real test, and how it was agreed in advance
Only the election settles it. So the way this forecast will be graded was written down in September 2026, seven weeks before anyone could know the answer: how often each side actually won the races called at 70%, whether the true result landed inside the published intervals, how far the seat total was out, and how all of that compares with simply backing whoever led the polls.
Fixing it early is the point. A yardstick chosen after the result is not a measurement, it is a press release — and every forecaster who has had a bad night has discovered, the following morning, some other number they were really trying to get right.
One more thing was settled in advance: how much each part counts. The chamber result is close to an anecdote — two possible outcomes, one draw of the dice, and a confident forecast beats a cautious one whenever it happens to be right. The race-by-race scoring, across hundreds of contests, is where the real evidence is. Deciding that order after seeing which way it fell would be far too convenient, so it is on the record now.
The scoring runs automatically every day and reads the result as it is published. Until November it prints “no result yet”, which means that by the time it matters it will have been exercised for weeks rather than written in a hurry on the night.
Checking sideways, against other people’s models
A forecast can also be compared with the others published alongside it. Where they agree that is no proof either is right, but a large disagreement is a prompt to find out which side is making the odd assumption.
In mid-October 2026 this model put the House at 79%, against Decision Desk HQ at 76%, Silver Bulletin at 94% and 50+1 at 99%. The two camps are not disagreeing about who is ahead — 50+1’s central outcome is 243 Democratic seats against this model’s 246 — but about how wide the range around that centre should be.
Chasing that down produced the clearest result of the cycle so far. To be as confident as the most bullish of those forecasts, this model would have to shrink the nationwide polling error it carries to roughly a quarter of what thirteen past cycles actually recorded. It is the width that is doing the work, not the centre — and the width is the part with a measurement behind it. Details under Uncertainty.
These comparisons are recorded with the date and the source for each number, and are never fed back into the model. A forecast that reads other forecasts stops being independent evidence and becomes an average of everyone else.
What this cannot do
- It cannot know whether the polls are biased this year. The error model is calibrated to how wrong polls have been on average across past cycles. A miss larger than anything in that record would not be anticipated here.
- Races with no polling rest on fundamentals alone. Their centres come from presidential lean and incumbency, which know nothing about candidate quality, fundraising or scandal. Their intervals are wide for good reason.
- Nebraska is a special case. Dan Osborn runs as an independent and has said he would not automatically caucus with either party. Chamber arithmetic forces a side, so he is counted with the Democrats. Read that race, and its contribution to the seat total, with the caveat in mind. California’s 3rd district poses the same problem in the House.
- Who gets polled is not random. Pollsters survey close races, and campaigns release polls they like. In the House that bites hardest: the handful of districts with any polling at all currently run about two and a half points more Democratic than their own history suggests, and the model carries some of that across to similar districts. If those polls are a fair sample of what is happening, that is information. If they are a selected one, it is optimism.
- The generic ballot is not the national vote, and the House forecast corrects for it. “Which party would you vote for in Congress?” is not the votes that get cast: hundreds of seats are uncontested or nearly so, and turnout differs between safe and marginal districts. Since 2010 the generic ballot has run about 1.7 points more Democratic than the actual House vote, so that much is subtracted before it is used as the national level. Districts with polling of their own are pulled back to what those polls say — race-level polls show no such lean, so the correction is about the question, not the pollsters. It rests on seven cycles and is not certain; the uncertainty in the estimate is carried in the interval rather than assumed away.
What a probability means
A 30% chance is not a prediction that something will not happen. It is a claim that in roughly three cycles out of ten, it does. The reliability table under Testing is the evidence that these particular probabilities behave that way.
Run diagnostics
A forecast whose sampler did not converge is not a forecast, so these are published on every run.