Verified predictions · Updated June 2, 2026
Every call.
Every result.
Net validated market volume adds the volume of markets that resolved in the direction of our correct calls, minus the volume of markets that would have resolved against us. So far: 7 resolved calls, 7 correct, 0 misses. CA-1 (Gallagher elected outright) now joins NJ-11, GA-14, the three Canadian federal by-elections, and the Liberal majority call.
Scoreboard
Accuracy rate
Net validated market volume
Resolved predictions
What is still ahead
Upcoming desks and cycles
Resolved calls move into the archive, while upcoming specials and major cycles stay on the active desks.
Validated market volume breakdown
What "net validated market volume" means
When Vote-Scope makes a prediction, traders on platforms like Kalshi and Polymarket independently price the same outcome. The net validated figure adds the volume traded on markets that resolved in the direction of our correct calls, minus the volume that would have resolved against any misses. It is an accountability counter, not personal P&L.
Calibration · Backtests
We replayed past elections. Here are our errors.
Each backtest reruns the full model on a past election using only the polls available at the time — the target election is excluded from every anchor, so nothing leaks from the future. Predicting the past is easier than predicting the future; that is exactly why we publish the errors instead of just the wins.
🇨🇦Canada federal 2021 · run at D−1
MAE 1.7 seats / 338
✓Leader called✓Majority status called
| Party | Projected | Actual | Error |
|---|---|---|---|
| LIB | 163.0 | 160 | +3.0 |
| CON | 116.0 | 119 | −3.0 |
| BQ | 32.0 | 32 | +0.0 |
| NDP | 27.0 | 25 | +2.0 |
| GRN | 0.0 | 2 | −2.0 |
Near-perfect: every party within the 80% interval.
🇨🇦Canada federal 2025 · run at D−1
MAE 8.6 seats / 343
✓Leader called✓Majority status called
| Party | Projected | Actual | Error |
|---|---|---|---|
| LIB | 176.0 | 169 | +7.0 |
| CON | 123.0 | 144 | −21.0 |
| BQ | 32.0 | 22 | +10.0 |
| NDP | 11.0 | 7 | +4.0 |
| GRN | 2.0 | 1 | +1.0 |
Leader called; BQ/NDP/Greens excellent. Residual = the LIB/CON seat-efficiency gap 2025 polls didn't contain, on top of the 338→343 redistribution.
🇨🇦Canada federal 2019 · run at D−1
MAE 9.8 seats / 338
✓Leader called✓Majority status called
| Party | Projected | Actual | Error |
|---|---|---|---|
| LIB | 164.0 | 157 | +7.0 |
| CON | 116.0 | 121 | −5.0 |
| BQ | 11.0 | 32 | −21.0 |
| NDP | 47.0 | 24 | +23.0 |
| GRN | 0.0 | 3 | −3.0 |
Leader, runner-up and minority status all called. Residual = the late BQ wave in Quebec that 2019 national polls didn't break out regionally — the weakness that motivated the model's regional BSTS anchors.
🇬🇧UK general election 2024 · run at D−1
MAE 17.2 seats / 650 · 78.9 % ridings correct · vote MAE 1.6 pts
✓Leader called✓Majority status called
| Party | Projected | Actual | Error |
|---|---|---|---|
| LAB | 357.6 | 409 | −51.4 |
| CON | 210.0 | 121 | +89.0 |
| LD | 33.5 | 72 | −38.5 |
| SNP | 24.2 | 9 | +15.2 |
| REF | 0.0 | 5 | −5.0 |
Labour majority called at P=0.95 despite the industry overestimating Labour by +5.8 pts. Residual (Con +89 / LD −39) = 2024 anti-Tory tactical voting only published MRPs captured — why the model now uses MRP anchors.
🇨🇦Ontario 2022 · run at D−1
MAE 2.8 seats / 124 · vote MAE 1.4 pts
✓Leader called✓Majority status called
| Party | Projected | Actual | Error |
|---|---|---|---|
| PC | 80.0 | 83 | −3.0 |
| NDP | 28.0 | 31 | −3.0 |
| LIB | 15.0 | 8 | +7.0 |
| GRN | 1.0 | 1 | +0.0 |
| IND | 0.0 | 1 | −1.0 |
PC majority called. The residual is the Liberal vote concentration — 8 seats on 23.9% of the vote, the least efficient vote in modern Ontario history.
🇨🇦Quebec 2022 · run at D−1
MAE 2.0 seats / 125 · vote MAE 1.5 pts
✓Leader called✓Majority status called
| Party | Projected | Actual | Error |
|---|---|---|---|
| CAQ | 87.0 | 90 | −3.0 |
| PLQ | 21.0 | 21 | +0.0 |
| PQ | 8.0 | 3 | +5.0 |
| QS | 9.0 | 11 | −2.0 |
| PCQ | 0.0 | 0 | +0.0 |
CAQ majority called, PLQ exact. June 2026: this backtest series exposed and fixed a seat-translation bug, then drove a full recalibration of the Quebec engine (language-axis swing, partially proportional collapse, wave-seat reversion).
🇨🇦Quebec 2018 · run at D−1
MAE 11.2 seats / 125 · vote MAE 3.4 pts
| Party | Projected | Actual | Error |
|---|---|---|---|
| CAQ | 55.0 | 74 | −19.0 |
| PLQ | 49.0 | 31 | +18.0 |
| PQ | 15.0 | 10 | +5.0 |
| QS | 7.0 | 10 | −3.0 |
Our biggest miss — and an honest one. Final 2018 polls underestimated the CAQ by ~5 pts; advance-ballot evidence shows the gap was already locked in a week before the vote. Same industry-wide failure mode as the UK 2024 error.