Ten days after the 2026 midterms, we can check our forecasts against what happened. To avoid only showing the races that make us look good, we’re publishing everything: the national numbers, plus every Senate and House race we forecast, in the maps below.
A larger than expected Democratic sweep
One week before election day, Mantic gave Democrats a 65% probability of winning both the House and the Senate. The day before, that had risen to 74%. However, on the size of the Democratic win, our forecasts were too cautious.
House. The day before the election, our median forecast was 242 Democratic seats, with an 80% range of 222 to 260. As of 13 November, outlets have called 254 to 257 seats for Democrats, with around ten races still uncalled.
Senate. Our median was 53 seats for the Democratic caucus, with an 80% range of 48 to 56. Democrats have 55 seats called, and Alaska is still counting. That’s inside our range, but well above our central estimate.
Popular vote. We expected Democrats to win about 54.8% of the two-party House vote. Unofficial tallies put it closer to 57%, above our 90th percentile.
Race by race
Senate. In the 32 Senate races that have been called, the candidate we favoured in our latest pre-election forecast won 29 times. The three misses were Mississippi, South Carolina and Iowa. All three went to the Democrat, in races where we had the Republican ahead.
House. Of the 424 House races called so far, our favourite won 399. All 25 misses went the same way: Democratic wins in districts where we had the Republican ahead.
What we’ll do in the future
National forecasts were updated regularly up to the election but that was not the case for many of our individual race forecasts. Most House districts and the safe Senate seats were last forecast in May, as the maps above show.
Those older forecasts held up well because the seats were mostly safe but there were a few competitive districts we missed among them too. Updating every race forecast through to election day is the clearest improvement we can make for next time.




