2026 election lens · Report
2026 Midterm Forecast
Three independent models + the live generic ballot, combined into one ensemble forecast for the 2026 US House midterm. Current ensemble point forecast: -42 seats for the incumbent party (union 90% band -61 to -12).
Last updated November 01, 2026
Forecast as of November 01, 2026
The incumbent — Donald J. Trump (2nd Term) (R) — is in a unified-R setup (same party controls House + Senate + White House) heading into the 2026 midterm. Historical baseline for unified presidents in midterms: mean -34.2 seats, median -38.0, across 16 cases 1946–2022.
Election: 2026-11-03. Weeks until election: 0. Current Congress: 119th (House: D 215 / R 220; Senate D 47).
Three models, one ensemble
The ensemble blends three independent approaches to the same question: how many House seats will the incumbent party lose? Each signal has different inputs and different failure modes. The ensemble point is the average; the union band spans each signal’s P10/P90.
Current generic ballot — 5 aggregators
The headline input to the Generic Ballot signal. All 5 aggregators agree on direction and roughly on magnitude — Democrats leading by between 8.0 and 8.9 points.
Source: https://en.wikipedia.org/wiki/2026_United_States_House_of_Representatives_elections
The five nearest historical analogs
The KNN signal’s five closest historical midterms by approval + setup + first-term + incumbent-party House share. Lower distance = closer match.
Historical baseline — 25 midterms, 1946 to 2022
House seat swings for the incumbent party across every midterm since the end of World War II. Unified government (same party controls House + Senate + White House) performs worse than divided — which is the setup Trump II is defending today.
All numbers are incumbent-party House seat change (negative = incumbent lost seats). Senate stats exist too (see JSON).
Methodology + caveats
Three independent signals, one ensemble.
- KNN (k-nearest neighbors, k=5). Finds the 5 historical midterms closest to today in approval, unified-government flag, first-term flag, and incumbent-party House share. Point forecast = mean of the 5 outcomes.
- Ridge regression (L2 regularization, alpha=10). Trained on 20 historical midterms using the same 4 features. Leave-one-out RMSE = 18.47 seats, which is the honest measurement of out-of-sample error.
- Generic ballot fit. Simple OLS: house swing ~ generic-ballot margin, trained on 8 historical cycles where a reliable generic ballot exists. R² = 0.77 — the strongest single predictor.
- Ensemble is the equal-weight average of the three point forecasts. The union band spans each signal’s P10/P90.
What this cannot predict.
- Individual-district outcomes. The forecast is seat swing, not seats won by name.
- Turnout shocks. Unusual events (pandemic, major scandal, high-profile retirement wave) can push results outside the 90% band.
- Redistricting effects. Mid-cycle map changes shift the baseline; the model treats the current map as given.
- Senate. This forecast is House-only. Senate dynamics (which states are up in which cycle) require a different model.
Data sources.
- Historical seat counts, inaugurations, Congress membership:
presidential_performance.dbhistorical_midterms table. Sourced from Clerk of the House + US Senate historical records. - Approval ratings: Gallup, scraped nightly via
approval_scraper.py, stored inall_presidential_approval_ratings.csv+ database. - Generic ballot: Wikipedia (which aggregates DDHQ + FiftyPlusOne + NBC + RCP + Silver Bulletin), fetched nightly via
midterm_polls.py.
Model source: midterm_model.py. Report regenerates every Thursday night (weekly_midterm cadence group) plus the nightly timestamp refresh via daily_reports.
Related reports
- Midterm Baseline Model — the technical dive on the three-signal construction and the leave-one-out CV diagnostics.
- Full-Term Ranking — where Trump II currently stands on 24 metrics vs other presidents.
- Same Days in Office — apples-to-apples ranking capped at Trump II’s current day count.
- Back to Presidential Performance library
