We make these forecasts (including all data, methods, and procedures) public because academics learn by making themselves vulnerable to being proven wrong. We posted this on 10/15/2026 and will make no changes to our post-primary forecast (which does not use polls) but will update two other sets incorporating poll results as new ones appear.
Build your own forecast of the 2026 House and Senate: choose your forecasting settings, then see the live odds and a map where you call the winners. Watch the odds update in real time!
We evaluate elections probabilistically. That means we assign probabilities to events before they happen. If we assign a 10% chance that a Republican wins, we expect they should win 10% of the time.
This means that for the model to be proven wrong, we need to look at the big picture, not any one election or quantity. So, when we aggregate all the events that we assigned 10, 20, and 30% probabilities, those events should occur at roughly that rate.
If the model makes no mistakes, our probabilities were underconfident. If the model makes too many mistakes, it is overconfident.
The model says there's a – chance the Democrats take the House
Loading the forecast…
Calibration Settings. We are not saying this is the true outcome, just a mathematical check of the validity of our model.
Democratic majorityRepublican majority
Forecast Democratic House seats–
Seat Changes–
Actual Democratic House seats–
National House vote, Democratic–
Actual national House vote–
Competitive seats–
No districts called yet.
Your settings.
Build your forecast
Choose your forecast settings, then see the odds!
1
Which forecast?
2
What do the national polls say?
The Post-Nomination Forecast uses no polls.
3
How far will the district and state polls miss?
Only Model + All Polls uses district and state polls.
4
What if there are No Candidate Effects? Optional
Model + All Polls uses each district's and state's polls, which already reflect its candidates.
Why it matters
Each candidate the model has seen before has an effect: how far they run ahead of their party, their seat's lean, and incumbency. This switch takes each one out and draws a fresh effect for an average candidate in its place, as the model does for a newcomer, so you can see what the candidates are worth.
435 House districts
Republican winevenDemocratic win
Elected at large: not forecast
toward the Democratstoward the Republicans
Model-Informed Analysis
Here are five scenarios that are informed by our Model + All Polls forecast, historical polling error, and the latest polling data.
If the Polls Are Largely Correct
The polls are exactly right (with 0.13 probability, the national vote is within half a point on margin of our forecast)
The polls are largely correct, in line with historical performances in 2022, 1994, and 1990. The quantitative forecaster consensus, prediction markets, national polls, district and state polls, and the fundamentals models (which all largely agree on the direction and magnitude of the national trend) are correct in their assessment of the campaign, which is that this is a standard midterm election where the president's party loses ground in the legislature. Given the relatively Democratic-leaning environment and strong candidates, Democrats overperform the political geography in the Senate and gerrymandering efforts in the House, and go on to win the House with a large majority of roughly 240 seats and win states that lean Republican in a neutral political environment, like Alaska and Texas. They also win either Iowa (a reaction to tariffs) or Kansas, with a strong candidate in Adam Hamilton ().
The national vote is in line with our model's expectations, within a quarter point of the 54.1% share we expect for the Democratic Party (half a point on margin). In this scenario (probability 0.13), Democrats win both the House and the Senate with 0.83 probability. The median forecast is 239 House seats and 52 Senate seats. Since 1950, the median polling error is 2 points in either direction, and 3 of the 19 midterms have had an error within 0.5 points (1990, 1994 and 2022). Polls as accurate as in those years would be enough for this type of result.
Normal Polling Error Favoring the Democrats
A normal miss leads to big gains (with 0.10 probability, the national vote is 1.5 to 2.5 points more Democratic on margin than our forecast)
Democrats win big: There is a normal-size polling error favoring the Democrats. By a normal error, we mean a standard deviation error, 2 pp. Late deciders break for the Democrats, with inflation and dissatisfaction in government being among the deciding factors. Democrats go on to win the national vote by about 10 points, where we expect 8. They take the Republican battleground seats in New York, Virginia, Missouri and Pennsylvania. Mike Lawler (), Rob Wittman () and Ann Wagner () lose. Democrats finish with about 250 House seats. Democrats take the Senate with about 54 seats by holding Michigan and winning Texas and Iowa. The headline the morning after: Democrats win both chambers and their largest House majority since 2008.
The national vote would have to be about 2 points more Democratic on margin than we currently forecast. Our model expects a Democratic two-party House vote of 54.1%. When the national vote is 1.5 to 2.5 points more Democratic on margin than our forecast (probability 0.10), it averages 55.1%, which is 2.0 points more Democratic on margin than our forecast, and Democrats win both the House and the Senate with 0.96 probability. Since 1950, the median polling error was 2.0 points, and 4 of the 19 midterms had an error at least that large in the Democrats' favor (1954, 1970, 1982 and 2010). A polling error of normal size in the Democrats' favor would be enough for this type of result.
Normal Polling Error Favoring the Republicans
A normal miss toward Republicans (with 0.10 probability, the national vote is 1.5 to 2.5 points more Republican on margin than our forecast)
Democrats win a smaller House majority than the forecast suggests: There is a normal-size polling error favoring the Republicans. By a normal error, we mean a standard deviation error, 2 pp. Democrats win the national vote by about 6 points, where we expect 8. Republicans hold their toss-up seats in Virginia, Pennsylvania, Missouri and Michigan, and take the Democratic toss-up seats in Texas and Florida. Vicente Gonzalez (), Kathy Castor () and Jared Moskowitz () lose. Democrats finish with about 229 House seats. In this scenario, the Senate is a true toss-up: Democrats hold Michigan and win Maine, Alaska and the Ohio special, Republicans hold Texas, Iowa and Kansas, and Democrats finish with either 50 or 51 seats, just at or short of a majority. The headline the morning after might read, "Democrats win back control of the House, but the Senate comes down to Alaska."
The national vote would have to be about 2 points more Republican on margin than we currently forecast. Our model expects a Democratic two-party House vote of 54.1%. When the national vote is 1.5 to 2.5 points more Republican on margin than our forecast (probability 0.10), it averages 53.1%, which is 2.0 points more Republican on margin than our forecast. Democrats still win the House with probability near 1 and the Senate with 0.55 probability. Since 1950, the median polling error is 2 points in either direction, and 6 of the 19 midterms have had an error at least that large in the Republicans' favor (1950, 1962, 1966, 1974, 2006 and 2014). A polling error of normal size in the Republicans' favor would likely leave Democrats in control of the House, but put control of the Senate in doubt, more of a pure toss-up.
Historic Polling Error Favoring the Democrats
A blowout (with 0.10 probability, Democrats win the Senate and 266 or more House seats)
Democrats win big: There is a historic polling error where the Democrats win the national vote by about 13 points, where we expect 8. By a historic polling error, we mean an error of two or more standard deviations, 4 pp or more, larger than any since 1950. They take the Republican seats in Colorado, Florida, Virginia and Texas that our forecast had leaning Republican. They win about 20 of the 75 seats our forecast had likely Republican, where we expect 6. Lauren Boebert (), Anna Paulina Luna () and Virginia Foxx () lose. Democrats finish with about 275 House seats. Democrats take the Senate with about 56 seats by holding Michigan and winning Texas, Iowa and Kansas. A potential headline the morning after the election: Democrats win both chambers of Congress and their largest House majority since 1978.
The national vote would have to be about 5 points more Democratic on margin than we currently forecast. We expect a Democratic two-party House vote of 54.1%. When Democrats win the Senate and at least 266 House seats (probability 0.10), the national popular vote averages 56.5%, which is 4.8 points more Democratic on margin than our forecast. Since 1950, the median polling error was 2.0 points. The largest in the Democrats' favor was 2.7 points (1970), followed by 2.5 (2010), and no error in either party's favor reached 4.8. For Democrats to win this big therefore requires a polling error larger than any since 1950.
Historic Polling Error Favoring the Republicans, House and Senate
A historic polling error in the House (with 0.07 probability, Republicans win the House)
The polls are as historically broken as in the early polling era of the 1930s and 1940s (which happens roughly once every 20 elections in our historical data). Low response rates, non-response bias, and faulty methodology result in a historic polling error in the House and Senate. By a historic polling error, we mean an error of two or more standard deviations, 4 pp or more, larger than any since 1950. Democrats win the national vote by about 2 points, not 8. Republicans hold the suburban seats in Iowa, New Jersey, Colorado and New York that the polls had leaning Democratic. Marcy Kaptur (), Tom Suozzi () and Don Davis () lose close races. Democrats finish with about 213 House seats. Republicans keep the Senate by holding Maine and Texas and winning the Ohio special and Michigan. The morning after such an election, headlines would say that Republicans defied expectations in historic fashion, with the President and his party defying historic trends as well as geopolitical and economic headwinds to maintain control of Congress. Perhaps looking to maintain Republican policy gains, Republican voters exhibited strong turnout in support of their party, and the polls mistakenly suggested a leftward swing among low-income voters and Hispanic voters, who in fact still support the Republican Party, building on the gains Republicans made with these demographics in 2024.
The national vote is about 6 points more Republican on margin than our forecast. We expect a Democratic two-party House vote of 54.1%. When Republicans win the House (probability 0.07), the national popular vote averages 51.2%, which is 5.8 points more Republican on margin than our forecast. Since 1950, the largest such polling error in the Republicans' favor was 4.0 points (1962), followed by 3.7 (2014). For the Republicans to be strongly favored to win the House therefore requires a polling error of record size.
Post-Election Analysis
The snake
Ratings
Each box represents a seat, shaded by which party our model thinks is favored. A bold outline indicates a party flip.
Paths to the Majority
District and State Polls
Where the Fundamentals and the Polls Diverge
Most likely tipping points
Seats Most Likely to Flip
Seat
Held by
Favored party
Chance it flips
Elections We Missed
Race
Democrat v. Republican
Democrat
Forecast gave the winner
Democratic vote
Every contested race whose forecast favorite lost, by the chance the forecast gave the winner: the holdout forecast before any calls, with the version's weights.
How Votes Become Seats
How the Odds for House Control Changed Over Time
Shared Polling Error and Trend Adjustment Over Time
House Odds If the Polling Average is the Same on Election Day
Distribution of Margins Across Seats
The data
Every House race of 1946–2024 and every Senate race of 1946–1948 and 1954–2024 that the model learns from, and the model's reports on them: its forecast of each race, a summary of each year, and its estimate of each candidate's effect.
Datasets
Each row gives who held the seat, the Democrat, the Republican, the Democrats' share of the two-party vote, and the winner; each year adds the seats won, the national House vote, and the final generic ballot.
Every race the Historical Forecasts cover, by the model fit only on the elections before it: the House of 1946–2024 and the Senate of 1946–1948 and 1960–2024.
Every race each model learns from, forecast by that model fit to all of its years.
Each year and chamber of both, over every race and over the contested ones.
Every candidate our production model estimates an effect for, the House and Senate candidates of 1946–2024: our estimated average electoral overperformance for each candidate, net of their district's or state's natural partisan lean and incumbency, in points of the two-party vote in a close race, with its 90% interval; their state and party (the side the model places them on) and the chamber and year of their last race; and their total years in Congress, counted to October 16, 2026.
Election year
MidtermPresidential year
Loading the results…
An unopposed race shows no share; the model counts it as 75% for the party that ran. Sources: from 1950, the panel of the paper's replication package (Jacobson's House files, ICPSR 00002 and 6311, the MIT Election Lab, and Voteview's rosters, with the Clerk's Statistics of the Congressional Election or a state's certified canvass deciding any conflict); before 1950, the pre-1946 build's panels, from ICPSR 00002's returns, Voteview, and Wikipedia's election pages. The model's other inputs, each district's lagged House, presidential, Senate, and governor votes and who ran again, are in the replication package.
A district report row is a race: the result (observed_vote, the Democrats' two-party share), the incumbent's party (inc: 1 Democratic, −1 Republican, 0 an open seat), the forecast's mean and SD (vote_predict, vote_sd), the chance the Democrat wins (win_pct), the bounds of its 10% to 99.999% intervals (lbound_10 and ubound_10 through lbound_99999 and ubound_99999), the chance of a close result, 45–55% (prob_comp), and the chance the incumbent's party loses (lose.prob); the crps column is blank, since the replication's reports do not compute it (the Calibration view's CRPS is computed from the forecast's full distribution); and the race's earlier results as Democratic two-party shares, as the maps show them: the last presidential vote before the year (lagged_pres_vote), the latest governor's and Senate races (lagged_gov_vote, lagged_sen_vote), the House race of two years before (lagged_house_vote, blank where the model imputes it), and in a presidential year that year's own presidential vote (pres_vote). In the earlier results each independent sits on the side of the party they caucus with, as on the maps; the forecasts used the model's own data, so caucus_rule (1) marks the rows whose earlier results differ from it. The result is the model's own: where the Republican side in its data is an independent who caucused with the Democrats, the Democrat's share against the independent, the pairing the model forecast.
An election report row is a year: the RMSE, the results outside each interval (NCI_95 for the 95% interval) and the share inside (coverage_95_CI), R², the mean absolute error (map), the mean SD, each party's expected and actual incumbent defeats (E.inc.d and inc.d for the Democrats, E.inc.r and inc.r for the Republicans), the bias (predictive.bias, the mean forecast less the result), and the binomial chance of the year's misses beyond the 99.99% interval (p.obsv).
The reports are the replication's own (its 3_model/reports.py); talk/qoi.py gathers them.
The story of American politics
What the LogisTiCC model finds about American elections, from the paper (Ebanks, Katz and King). In the paper's words, accurate generative models can reveal a vast amount about American elections, far richer than any one specific estimate or data analysis on its own. Results before 1946 come from an extension of the model back to 1866, a preliminary finding.
Post-WW2 American Politics Was Anomalous
How Often the Incumbent Party Loses a Seat
The Incumbency Advantage Drifts over Time
Concentration is Higher when Politics are Partisan
House Elections Swing Between Nationalized and Localized Eras
Candidates, Midterms, and One Process
The President's Party Loses Ground in Midterms
Some Years are Simply Good for One Party
Candidates are Important, Win or Lose
One Data-Generation Process for the House and Senate
How well the model is calibrated
One-in-10,000 Results
Coverage of the 95% Ranges
Close Races: Forecast Against Frequency
The Vote: Forecast Against Result
The Median Contested Race, Forecast One Election Ahead
Expected Minus Actual House Seats: Post-Nomination Forecast
Expected Minus Actual House Seats: Model + All Polls
Expected Minus Actual House Seats: Model + Generic Ballot
Expected Minus Actual Senate Seats: Post-Nomination Forecast
Expected Minus Actual Senate Seats: Model + All Polls
Expected Minus Actual Senate Seats: Model + Generic Ballot
Race Forecasts: RMSE
Race Forecasts: CRPS
Races Called Wrong
Control of Each Chamber: Expected Against Actual Misses
Where the Polls Moved the Forecast Most
Best and Worst Post-Nomination Forecast Years
How District and State Polls Did, 1968–2024
District and State Polls, 1968–2024: The Three Versions by Election
The Math Behind the Forecast
We iteratively make three forecasts, with each building on the others in successive order. The Post-Nomination Forecast is LogisTiCC. Model + Generic Ballot weights the model's simulations by the national generic-ballot polls, by providing a Bayesian update to the national trend and the fundamentals. Model + All Polls then adjusts our simulations from LogisTiCC given district and state polls. We then use these polls to further adjust the national trend.
1. The Post-Nomination Forecast: the LogisTiCC model
The 2026 elections. We forecast all House districts using their 2026 district lines (nine states redistricted since 2024). Candidates and incumbents are as of October 1, 2026. Louisiana chooses its House nominees on November 3, so its six seats assume the incumbents run. We treat an election with multiple candidates from the same party as uncontested. We treat Kevin Kiley, who runs as an independent in CA-6, as a Republican for the purposes of this forecast. We forecast 35 contested Senate seats, noting that for a majority, Democrats will need 51 seats to beat the Vice President's tiebreaking vote.
The model. We build on the standard linear-normal model of district-level elections, keeping the same flexibility in the choice of covariates within a fully Bayesian framework. We designed each feature of the model using the field's knowledge of elections, adding “known unknowns” that reflect what students of elections understand well but rarely model directly. We call the result LogisTiCC, for the additive logistic t model with contemporaneous correlations. It fits every House and Senate election of 1946–2024 from one data generation process. The outcome variable is the Democratic proportion of the two-party vote, vit, for district i (a state, in the Senate) and election year t:
Our structural covariates, Xit, are the election's past results (its own lagged effective vote and the district's lagged presidential, Senate, and governor votes), incumbency, open seats left involuntarily or by a strategic exit, the South, an uncontested election, and a midterm penalty, which represents the strong tendency of the president's party to lose ground in midterm elections. Their slopes, 𝛽t, show parameter drift with coefficient stability: they vary a lot in the long run but change very little from year to year, so each follows a random walk, 𝛽tk ∼ N(𝛽t−2,k, 𝜎𝛽k2).
The candidate effects, 𝛾D(i,t) and 𝛾R(i,t), model candidate uniqueness. They are person-specific intercepts on the Democratic and Republican candidates in the election, drawn from a common distribution, 𝛾c ∼ N(0, 𝜎𝛾2). Each is the candidate's valence net of party, incumbency, the district's partisan lean, and the model's other systematic components, and an election in which one major party fields no candidate drops that party's term.
The national trend, 𝜂t, allows for positive cross-district covariances: it affects all districts in one election in roughly the same way, over and above the information in X. It models the familiar observation that some years are good for Democrats and others for Republicans, even if we do not know which is which ex ante: 𝜂t ∼ N(0, 𝜎𝜂,d(t)2), its standard deviation estimated for each redistricting decade, d(t). In midterm years, we also account for year-to-year variation in the midterm penalty, as the generic ballot provides information about both 𝜂t and the midterm penalty.
The error, 𝜔it, models district-level political surprises. We use the additive logistic Student t (ALT), which, unlike the normal, constrains the vote proportion to the (0,1) interval and has appropriately fatter tails to represent surprises, with more of its density concentrated near the mean. Its scale, 𝜙it, and degrees of freedom, 𝜈it, depend on Zit: an open-seat indicator, the marginal distance from 50/50 in the district's lagged presidential vote, and an indicator for single-district states and the Senate, with slopes 𝛿 and 𝜆, intercepts 𝜁 and 𝛼, and redistricting-decade effects 𝜁d and 𝛼d. Safe seats' future vote shares are relatively predictable from one election to the next, whereas a competitive seat exhibits a far greater tendency to surprise.
We formally distinguish between the observed vote, vit, and the effective vote, vit*, the vote proportion that would have been observed if the election had been contested. We estimate the unobserved effective votes as unknown parameters with all the others, under a censoring assumption: candidates running unopposed would have won even if the election were contested.
The forecast. Each of the 160,000 simulations draws the model's parameters from their posterior, then 2026's national trend, 𝜂, from N(0, 𝜎𝜂2) with the 2020s' 𝜎𝜂, then every election. With equal weights, the simulations are the Post-Nomination Forecast: an election's chance is the frequency with which the Democratic candidate wins in our simulations, and the chance of a Democratic House is the share in which Democrats win 218 or more seats.
2. Model + Generic Ballot
Our model, LogisTiCC, simulates each House and Senate election times. As reported in our paper, we estimate a national trend, 𝜂, which shifts every election in a given year in logit space by the same magnitude. Model + Generic Ballot keeps every simulation and gives each one a weight. A simulation counts more when its national House vote agrees with the most recent observed value of the generic ballot. We build it in eight steps.
Compute each simulation's national vote. A simulation's national vote, V, the Democratic share of the two-party House vote, is:
Here i is a district, and ci is election i's logit without the national trend: its fundamentals, its candidates, and its surprise. The inverse logit, logit−1(x) = 1/(1 + e−x), turns a logit back into a share. To replicate the official count of the popular House vote, our estimated national vote is weighted by how many votes we expect to see in each district, which we measure by Ti, its share of 's presidential turnout, with each unopposed seat at its recorded share. In the unopposed elections of 1946–2024, the official count recorded 66% as many votes for their turnout as in contested elections (33% in Florida, which recorded no votes for half of them, and 81% in California). We estimate turnout based on current district lines, calculated using precincts from 2014–2024, and county-level returns from 1946–2012. Ti is not a known parameter: it is a forecast, and the House electorate it stands in for changes from year to year. So we add one-step-ahead forecast noise to it (step 5), estimated from all election results prior to the forecasted year: now points of the national vote.
Incorporate a tied-election baseline. To allow for more effective simulations in the Build Your Own modeling feature, we augment the tails of the prior distribution (our LogisTiCC forecast). We shift each simulation's national trend by Δ = , toward the . This shift makes Democrats win 218 or more seats in exactly half of the set of effective simulations. We call this set of simulations the Tied House Election Baseline, and their average national vote is %. This allows us to explore parts of the simulation space far away from what the model expects after the primary. This is especially helpful if there are large shifts in the fundamentals over the course of the campaign. We then sample from the mixture of these two normal distributions:
Here 𝜎𝜂 is the model's standard deviation for the national trend. The mixture only supplies draws. Step 7 counts each draw by the model's own prior for 𝜂, so if the generic ballot holds no useful information, the forecast returns to the Post-Nomination Forecast.
Fit a regression line that predicts the generic ballot from the national vote. We fit a regression of the generic ballot on the official national vote, using . For previous forecasts, we only use data available prior to that specific election. We use the final generic-ballot margin, G, and the national House vote, V.
Here a is the intercept, b is the slope on the logit of V, and e is the poll's error, with standard deviation 𝜎G. We estimate the regression line by weighted least squares:
National polling errors have decreased since the , so we allow the size of errors to drift over time, from in the to in the . For each holdout forecast prior to 2026, we estimate this regression for midterms and presidential elections separately. We only estimate the national vote once we have at least 5 years' worth of data points in each regression. Since we do not observe 5 midterm and 5 presidential elections prior to 1958, we pool both midterms and presidential elections together to estimate the above regression (as we have generic ballot estimates going back to 1938) for 1948–1956.
Polls have become more accurate, so we count recent midterms more, at nine possible rates, 𝜆, from 1 (all midterms count the same) to 0.5. We weight each rate by how well it predicted the generic ballot in each earlier midterm, using only the elections before that midterm. .
Steps 4 to 7 run once with each rate's regression line. Step 7 then averages the draws' weights over the rates. Each regression line uses its own . A polling error that you set applies to every regression line whose is smaller. The figures that we show for the regression line, such as its intercept, its slope, , and k of step 4, are the best rate's.
Compute the likelihood of the most recent observed value of the generic ballot. For a simulation with national vote V, the regression line predicts the generic ballot. The likelihood of the most recent observed value of the generic ballot is
We employ a small sample correction for the variance, as we are estimating regression parameters on so few elections. It is the standard small-sample correction for a prediction from an estimated regression:
Update each simulation with the generic ballot. Each simulation, s, is sampled from a posterior distribution based on the fundamentals, 𝜃s (its candidates, districts, and the model's other parameters), and the national trend, 𝜂s. The generic ballot provides information about how both fundamental and the national trend may have shifted since the primary. Applying a Bayesian update when the model learns the generic ballot, we can decompose the posterior distribution into two components:
The first component reweights the simulations by increasing weight to simulations whose fundamentals are implied the generic ballot results we actually observe. The second component is the national trend implied by the generic ballot and this updated set of fundamentals:
where xG is the logit transformation of the national vote, 𝛼s and ss are the mean and variance of simulation s's national vote, and 𝜏2 is the generic ballot's prediction variance. Simulations whose fundamentals are consistent with scenarios that are implied by the current observation of the generic ballot are given increased weight. When the generic ballot and the fundamentals strongly disagree, the forecast will assign increased probability to scenarios that are consistent with the generic ballot rather relative to the fundamentals.
First, we assume that the generic ballot's residual error is uncorrelated with the national trend. Second, we assume the generic ballot is only related to individual elections through the national trend. We then convert the generic ballot into logit units, to make it comparable to the national trend, 𝜂, which is also expressed in logits.
We invert the regression line. This gives the national vote that the most recent observed value of the generic ballot implies, : % at .
Within a simulation, the logit-transformed national vote is approximately linear in the national trend, . Here y0 is its value with no national trend, and 𝛽, about , is how far it moves for each unit of national trend. 𝛽 is less than one, because elections far from 50–50 change their share of the vote less. The national trend that moves the simulation's national vote to VG is .
The regression line's prediction error goes with it: 𝜂G has variance . We divide the regression line's variance by to put it on the logit of the national vote, and by to put it in the national trend's units, with k at VG. The turnout weights, Ti, are a forecast too, so the variance also carries their one-step-ahead error, 𝜎T, on the logit of the national vote: how far the national vote under Ti ran from the official count in the elections before the year, with a t's small-sample correction ().
The model's prior for the national trend, N(0, 𝜎𝜂2), and the trend implied by the generic ballot, 𝜂G, combine into a normal update with mean 𝜂1 and variance 𝜏12:
The smaller the polling error is against the model's spread for the national trend, 𝜎𝜂, the more strongly the forecast moves toward the generic ballot's trend.
Allow the posterior uncertainty in 𝜂 to shrink as Election Day approaches. By Election Day, the average can still move by the drift, and the vote can differ from it by any polling error that you set above :
The update's center, 𝜂1, stays where step 5 put it. Only its variance grows. Uncertainty in our model, whether due to forecasting the election result earlier in the election cycle or due to larger estimated polling error (which is driven upwards when constituent pieces of the data give conflicting signals), is hedged towards a toss-up election. On Election Day at the historical error, 𝜏22 = 𝜏12.
Reweight the Post-Nomination Simulations. We then reweight the simulations by importance sampling. The intuition behind this second reweighting is that given new information in the form of the Generic ballot (), we ask how likely this observation is taking the national vote as given, alongside the regression error structure and polling drift we estimated above. Simulations whose national vote is near %, i.e., the ones most consistent with , get the most weight. We weight every simulation, including the Tied House Election Baseline, so that they all jointly follow the updated posterior for 𝜂. In the chart, the shaded areas show where the 320,000 simulations fall on the national vote: the model's simulations below and the Tied House Election Baseline above. The gray dashed line outlines them all. The gold line is the Model + Generic Ballot's best estimate for the national vote. We give more weight to simulations where the gold line rises above the distribution outlined by the gray dashed line, and less to simulations where it falls below the gray dashed line. On average, a simulation's weight is the gold line's height over the dashed line's height at its national vote. The chart starts at your settings. Move the four settings here to watch the weights change; the forecast above stays as it is.
Pace of drift
Now, each simulation will be drawn with national trend 𝜂s, from the mixture distribution q we derived in step 2. The forecast needs each simulation's national trend to be drawn from the implied posterior distribution given a user's settings, p(𝜂 | 𝜃s, G, 𝜎, drift), and each simulation to count by Zs, the first component of step 5. So each draw's weight is Zs times the ratio of the two densities, for its fixed national trend:
That distribution is the update of steps 5 and 6:
On Election Day at the historical error, nothing widens the update, so it is step 5's p(𝜂 | G). Here C, the normalizing constant, is the marginal likelihood of the most recent observed value of the generic ballot under each simulation's prior for the national trend:
C is step 5's Zs, so on Election Day the two cancel, and a draw's weight is the model's prior times the likelihood over q: we weight a simulation more heavily if the observed generic ballot result is more likely given that simulation's fundamentals and draw of the national trend. With days left or a larger error, p is the normal update, widened in step 6, and Zs is its normal approximation of step 5. We reweight because reweighting is fast and stays stable when the settings describe a campaign that the model finds unlikely.
Each rate's regression line of step 3 gives draw s its own weight, ws(𝜆), by the ratio above. The forecast's weight for the draw is their weighted average, with the rates' weights, 𝜋𝜆:
Count the seats. The weighted simulations are then summed to calculate Model + Generic Ballot's seat predictions and probabilities, and the election polls then move each polled election to give Our Forecast. In draw s, election i's Democratic share is . An election's forecast vote share and its chance of a Democratic win are weighted averages over the 320,000 draws:
The chance of a Democratic House is the sum of the weights of the draws in which Democrats win 218 or more seats, divided by the sum of all the weights. The Senate's chance uses the draws with 51 or more Democratic seats, because the vice president is a Republican. The expected seats and their ranges come from the same weights. Beyond a 10-point polling error, the draws no longer span the range of outcomes, so the error box stops at 10.
Why reweighting gives the same answer as resampling. We draw our simulations from a modified (and deliberately biased) distribution q, which has more probability mass in the tails than the LogisTiCC prior, which we call 𝜋. The target distribution, p, is the LogisTiCC prior 𝜋 multiplied by the likelihood of the observed generic ballot given the national trend (which we calculate from a regression), normalized to integrate to one. In importance sampling, we then calculate a weight for each draw, w = p/q. So a simulation in a region where q has extra mass is weighted proportionally less, and a simulation in a region that q undersamples is weighted more heavily. For any quantity of interest h, such as the number of Democratic seats or an indicator function for the event that Democrats win (from which we calculate the probability of the Democrat wins), the weighted expectation of h is
The trick is that the sampling distribution q cancels in this expression, so the weighted average has the same expectation as an unweighted average of draws from our posterior, p. If we normalize the weights so that they sum to one, the estimate has a small Monte Carlo bias that shrinks at the rate 1/(effective number of draws). We have draws, and at generic ballot about of them are effective, so this bias is far smaller than the ordinary simulation noise.
3. Model + All Polls
We build our Model + All Polls model by starting with our Model + Generic Ballot model as a foundation. Individual polls affect their specific districts. We allow them to share a correlated error with the generic ballot polling as well, which we estimate from historical polling performance. A margin is the Democrat's two-party share minus the Republican's, in percentage points. We proceed to incorporate individual polls in the six following steps.
Calculate a Polling Average for Each State or District Election. The average for election j, ȳj, is the weighted mean margin of its nj polls: every poll from the nominations to , from ; now . Each poll counts half as much for every days of age, the half-life that best predicted the elections before the year. Poll k is ℓjk days old, its margin is yjk, and its weight is 𝜅jk:
We adjust polls sponsored by partisan organizations ().
Model Correlated Polling Errors. We decompose polling error for a single district or state election, mj, in five mean-zero components. We assume the polls do not systematically favor one party or another over time.
Here 𝜉 is a national component that the year's elections share, 𝜌g(j) is a regional component that the elections of Census region g(j) share, 𝜍S(j) is a state component that the elections of state S(j) share, uj is its individual election component, and ej is a sampling component that shrinks with the polls' effective number, . So the averages' errors have covariance
where 1[·] is an indicator function. We add the state component because polls of elections in one state err together. In our polls within 20 days of the election, House and Senate elections in the same state shared an error beyond the national and regional errors. Over the 310 state-years of 1990–2024 with two or more polled elections, its standard deviation was about 2.5 points. Before 1990, the polls are too few to measure it. With the state component, polls of several districts in one state cannot confirm each other at full strength. In each simulation, the House and the Senate share one draw of the national, regional, and state components. Each chamber scales that draw by its own sizes. So a state's Senate polls and its House district polls err together.
All of an election's polls share these components, so several old polls in one election cannot average that error away. The sizes are:
Adjust Simulations to Account for Election-Level Polling Averages. For each simulation, s, we adjust the simulation by ms using an ensemble Kalman gain, K:
Here D contains each polled election's variance across the weighted simulations, and R is the error covariance of the polling averages from step 2. In each simulation, we add its own draw of the polling error, 𝜀s, to the polling averages. As a consequence, the adjusted simulations keep the spread that the polling error leaves. The polls of many elections can err together, and R includes the national, regional, and state components that they share. So we adjust each election less when many polling averages differ from a simulation in the same direction than when one average differs alone. The elections without a published poll stay where Model + Generic Ballot left them, and every simulation keeps its weight.
The district and state polls can err together with the generic ballot. So we let the national component of their error, 𝜉, correlate with the generic ballot's error. We estimate this correlation, r, for each year and chamber from pairs of errors in the elections before that year. We set r to n/(n + 10) times the correlation of the n pairs, which shrinks r toward zero most when the pairs are few. When there are fewer than five pairs, we set r to zero.
The first error in each pair is the generic ballot's error in an earlier election. This error is the final G minus the margin that the election's own regression line predicts from its national House vote, averaged over the rates. The second error is the national component of the error of the district or state polls on the eve of that election. We estimate that component with the error model of step 2.
In simulation s, the generic ballot's error is es. From the most recent observed value, it has standard deviation 𝜎tot, and its correlation with the national component, 𝜉, is reff:
Here Vs is the simulation's national vote. The regression line, k, the polling error 𝜎, and the drift are those of Model + Generic Ballot (steps 3 and 4, and the settings of Build Your Own below), with the regression line at the best rate and k at VG. 𝜎e2 is then the variance of the regression line's prediction. Only the polling error in es is correlated with the district and state polls. The drift is not. So reff scales r down by 𝜎e/𝜎tot. Election j's average then has an expected shared error, 𝛿s,j. The national component keeps the variance that remains, so R becomes R′:
Here 𝜏nat,j is 𝜏nat of step 2 at election j's distance, so the national term of Rjk is 𝜏nat,j𝜏nat,k. With the correlation, the update becomes:
Here 𝛿s holds the elections' 𝛿s,j. With r = 0, it is the update above. Where the generic ballot overstates the Democrats in a simulation, we read the district and state polls as overstating them by a share of that. Where it understates them, we read the district and state polls as understating them by a share of that. Both kinds of polls can err together, so they should not confirm each other at full strength.
Allow for correlations between the National Trend and Individual Polls (the District and State Poll Trend Adjustment): When we adjust the district-level results based on polls in the previous step, our model assumes that a Democratic overperformance across many districts is indicative of polling error. We allow for that, but in this step, we also allow that it is a signal of a potential shift in the national trend. We then decompose how much of the difference in district-level polling from our generic ballot model is due to polling error versus real shifts in the polls based on historical polling performance. The polls' common gap, , is the weighted average distance of the polled elections' averages, , from Model + Generic Ballot's mean margins, . An election's weight, , is larger when its average is more precise. The weights sum to one:
Here D and R are those of step 3, and 1 is a column of ones. We then adjust the national trend in every simulation by the same amount, . Each election moves by its own response to the national trend, : the slope of its margin on 𝜂 across the weighted simulations. moves the polled elections' weighted average margin by 𝜓:
Using only earlier elections, we estimate 𝜓, the historical amount of the gap between the district polls and Model + Generic Ballot that is due to genuine changes in the national trend. The rest of this difference is treated as non-systematic polling error. A year with fewer than five earlier elections with polls, as before 1978, has 𝜓 = 0. In the Senate, every contested election moves. In the House, districts with polling data are adjusted, but for those with no polls, we report the Model + Generic Ballot forecast for that district.
We estimate 𝜓 separately for the House and the Senate, for each week before the election. For a day between two weeks, we interpolate linearly between their estimates. Here t is an earlier election with polls recorded at the same time before Election Day. For election t, is the polls' common difference from the Model + Generic Ballot forecast, is the weighted average of the step 3 adjustment to the elections with polling data, and is the weighted average of the difference between the results and Model + Generic Ballot. All three use the weights g of election t.
Count the seats in each simulation, as in Model + Generic Ballot.
How we model Previous Years' Polling Errors. If you select a polling-error scenario for a previous year, we assume that the estimates from the error model for that year are then given, including region and national polling error. We allow the individual state and district election error and sampling error components to remain random:
Why we move the simulations instead of reweighting them. Reweighting the simulations by every district's and state's polls at once leaves too few: in 2018's House, one effective simulation of 40,000. This approach allows us to shift the individual elections without decreasing the number of effective simulations. Letting the polls move every election through the simulations' full covariance did worse in the holdouts when the polls erred together, as in 2016 and 2020.
Build Your Own
For Build Your Own forecasts, we let you select your own values for the generic ballot (or use RCP's or Silver Bulletin's), we let you select the variance of the polling error, we let you select how much the polls might change from now until Election Day. You can also choose to include, exclude or modify candidate effects. Finally you can also see how the forecast changes if the polls are biased as they were in previous elections from 1960 to 2024.