Who Shows Up

Methodology

How Who Shows Up works, and how well it would have done

The short version: estimate the national mood, carry it down to every race, update each race with its polls, and simulate the whole election 20,000 times with errors that move together, the way real polling misses do. Every step was tested against elections the model had not seen.

1. The national mood

The model first estimates the national House popular vote from three independent readings, each corrected for how it has historically missed and weighted by how accurate it has been:

Each reading is a small Bayesian model: it learns from history not just a best estimate of its bias but a range of plausible values, so its uncertainty flows into the forecast.

2. From the nation to each race

A district's starting point is its 2024 presidential result under the new 2026 lines. The national shift is applied two ways, and each simulation blends them:

Across eight past elections, the turnout-shaped version explained about 65% of the pattern on average, but it swung from 0% to 100% depending on the year. So each simulation draws its own mix, and our uncertainty about what kind of year 2026 will be flows into the odds.

Then come adjustments measured from past races:

3. Polls

Each race's polls are averaged in two-party terms. A poll's weight halves every 14 days (the best-performing half-life when we tested 3 to 60 days on past elections). Larger samples and likely-voter polls count a little more. Polls sponsored by a campaign or party are corrected for their measured lean toward the sponsor, about three to five points, and count half as much.

How much a race's polls move it away from its fundamentals depends on how accurate poll averages have historically been at this point in the race. That depends on how many polls there are, and it improves as Election Day nears. A Senate race with 40 polls leans mostly on them. A House district with none runs on fundamentals alone.

4. Simulation

Each of the 20,000 simulated elections draws a national environment, a turnout/persuasion mix, a shared error for each state (a polling miss in Wisconsin hits every Wisconsin race), a shared error for each region, and each race's own error. That correlation is why the seat ranges are realistic rather than falsely narrow.

What the model does not use

No pundit ratings (Cook, Sabato, Inside Elections), no other forecasters' models, and no prediction markets. Markets will be shown alongside the forecast for comparison, never as an input.

Track record

We rebuilt 2018, 2020, 2022 and 2024 exactly as they looked on September 22 of each year, using only what was known then, and ran the same model. Each year's national estimate was fit without that year, and the close-seat effect was estimated only from the other three years.

When we said X%, did it happen X% of the time?

Each circle groups races by their forecast probability; its size reflects how many races are in the group. Points on the diagonal mean the probabilities meant what they said.

Chamber totals: forecast versus result

Shaded bars: the 80% range forecast on September 22. Tick: the forecast median. Dot: what happened. All 12 results landed inside the range. (Some districts are left out in redistricting years; the House rows count only the districts modeled.)

The national environment, 1996–2024

Each year predicted without that year in the training data, as of September 22. Shaded: 80% range. Small dot: forecast. Large dot: result.

Ideas we tested and dropped

Good models are defined as much by what they leave out. We built a county-level measure of how strongly each place's turnout amplifies national waves, a natural fit for a turnout-first model. On 2018 and 2022 results it did not predict how statewide swings distributed across counties any better than simpler methods, so it is not in the model. The broader turnout idea, shifting each party's vote in proportion rather than moving every margin equally, did pass, and it is.

Sources

Polls from VoteHub (CC BY 4.0), Decision Desk HQ and Wikipedia. Election results from the MIT Election Data + Science Lab. District-level presidential results and special elections from The Downballot. Historical polls from FiveThirtyEight's public archive. Presidential approval history from the American Presidency Project. Eligible-voter counts from the Census Bureau. The code is public on GitHub.