Change Research
Graded against the actual result across 99 races (from 156 polls, through 2024).
Head-to-head vs the VotePredictor model
The fair, apples-to-apples test: on the 97 races Change Research actually polled, how its final poll's margin compared to what the VotePredictor model predicted for those same races.
| Model | Avg miss (pts) | Called right |
|---|---|---|
| Change Research | 5.67 | 74% |
| VotePredictor | 3.71 | 90% |
VotePredictor aggregates all the pollsters, so it's expected to beat any single one on margin — that's the value of averaging. The honest comparison among forecasters is on the combined board.
Every race (97)
Each race Change Research polled, scored on its final poll — the call right before the vote — against the actual Dem−Rep result. Click a race for its full detail.
Accuracy by time to election
Lower is better. Time to election runs right (election week) to left (~2 months out).
By the numbers
| Time to election | Polls | Avg miss | vs field | Called right |
|---|---|---|---|---|
| ≤1 wk | 68 | 5.42 | +1.14 | 63% |
| 1–3 wk | 39 | 5.80 | +0.73 | 82% |
| 3–6 wk | 26 | 5.91 | +0.17 | 81% |
| 6–9 wk | 23 | 5.67 | -0.48 | 74% |
vs field is this pollster's average miss minus all pollsters' at the same lead time — green beats the field, redtrails it. Our historical polls reach ~2 months out; earlier polling isn't in the record.
Track record by cycle — getting better?
| Year | Polls | Avg miss | Lean (house effect) |
|---|---|---|---|
| 2017 | 9 | 4.6 | R+3.7 |
| 2018 | 59 | 5.7 | D+1.7 |
| 2020 | 79 | 5.7 | D+5.4 |
| 2022 | 3 | 6.3 | D+4.6 |
| 2024 | 6 | 5.0 | D+0.8 |
Do we credit a pollster for fixing its bias? Each cycle, the model re-estimates every pollster's lean from all its earlier polls (walk-forward) and subtracts it before using the poll. We tested weighting recent cycles more — it doesn't help: a pollster's lean in one cycle barely predicts the next (correlation 0.28), so the swings above are mostly noise, and averaging over more history beats chasing the latest cycle. The all-time estimate we use came out within ~0.5% of the best option.