Most published election forecasts pick winners. Ours mostly says "I don't know" — 126 of the 136 races are too close for the 4-seed ensemble to call. That is the model being honest about uncertainty rather than pretending to confidence it does not have. The remaining 20 are different. The 10 leans are where bootstrap clears 50%. The 10 tightest toss-ups are where margin is sub-2pp — these are the races where one piece of late campaign news could move the needle.
Pre-registration hash: 1fd2be14dc6e014809592408fe1e6b6d1a0f99b46f74e079ebdb52ba3dbd9c41 (5 May 2026, 4-seed ensemble). 1 May single-seed hash 0a0796883595c88e… retained on the same GitHub repo for the dual-baseline comparison. Both publicly verifiable at github.com/Kronaxis/kpm1-election-projections.
Lean calls (10 councils — bootstrap ≥ 50%)
Where the model has earned an opinion. Five of these are the manual-override Labour holds (the LAB_GE_PREV_OVERRIDE table flagged in known limitations) — Bradford, Sandwell, Harrow, Blackburn with Darwen, Wolverhampton. The remaining five are organic leans where the multi-seed ensemble agreed.
| Council | Region | Predicted winner | Margin | Status |
|---|---|---|---|---|
| Bradford | Yorkshire and the Humber | Labour | 17.0pp | HOLD |
| Harrow | Greater London | Labour | 16.0pp | HOLD |
| Sandwell | West Midlands | Labour | 15.0pp | HOLD |
| Blackburn with Darwen | North West | Labour | 13.0pp | HOLD |
| Wolverhampton | West Midlands | Labour | 13.0pp | HOLD |
| East Surrey | South East | Conservative | 10.2pp | HOLD |
| North East Lincolnshire | Yorkshire and the Humber | Reform UK | 9.9pp | FLIP from Conservative |
| Thurrock | East of England | Reform UK | 6.9pp | FLIP from Conservative |
| West Sussex | South East | Conservative | 6.9pp | HOLD |
| Hart | South East | Conservative | 6.0pp | HOLD |
Tightest toss-ups (10 councils — sub-2pp margins)
These are the ten races the model says it cannot call. Margins are below the model's noise floor; one campaign event, one local issue, or one missed turnout assumption flips them. Most go to Reform UK in our predictions, mostly from Conservative or Labour incumbents. If the polling is slightly off in either direction, this whole table reshapes.
| Council | Region | Predicted winner | Margin | Status |
|---|---|---|---|---|
| Tameside | North West | Reform UK | 0.4pp | FLIP from Labour |
| Huntingdonshire | East of England | Reform UK | 0.5pp | FLIP from Conservative |
| St Helens | North West | Labour | 0.5pp | HOLD |
| Hyndburn | North West | Reform UK | 0.7pp | FLIP from Labour |
| Colchester | East of England | Reform UK | 1.1pp | FLIP from Liberal Democrat |
| Rugby | West Midlands | Reform UK | 1.1pp | FLIP from Conservative |
| Welwyn Hatfield | East of England | Reform UK | 1.3pp | FLIP from Conservative |
| West Oxfordshire | South East | Liberal Democrat | 1.3pp | HOLD |
| Rushmoor | South East | Reform UK | 1.4pp | FLIP from Labour |
| Adur | South East | Reform UK | 1.5pp | FLIP from Conservative |
How to use this list on election night
Pick a screen. Open kronaxis.co.uk/election-results alongside whatever live-results feed you trust. As each of the 20 councils declares, you have the comparison without scrolling through the 116 races where the model said it did not know. Hash the predictions JSON with sha256sum if you want — the receipt has been on GitHub since 1 May (single-seed) and 5 May (multi-seed). Nothing in the file we publish on 8 May will be different from what was hashed.
The post-mortem on 8 May leads with the leans. If KPM-1 misses on one of the leans, the published known limitations page explains why before any result was in. If it misses on a toss-up, that is exactly what a noted toss-up predicts. The toss-ups are fragmentation indicators, not firm calls.
What we are not publishing
We are not publishing per-ward predictions. The model is reliable at council level; ward-level disaggregation is in the methodology paper but the ward calls are noisier than the borough calls and we do not want to overclaim. KPM-2 will move to per-ward stratification with proper turnout simulation; that is on the development list for the next falsifiable test.
We are not publishing turnout predictions. KPM-1 calibrates to a fixed turnout assumption per council; the 7 May actual turnout will reshape every share number after the fact. Our post-mortem will analyse vote-share gaps both at observed turnout and at our predicted turnout — that lets you separate "model was wrong" from "we got the turnout wrong".
The honesty equation
Pre-registration is a contract. We said we would publish what we got right and what we got wrong. The 10 leans are the publishable accuracy claim; the 126 toss-ups are reported separately as fragmentation indicators. A roughly even result on the toss-ups is consistent with our pre-publication framing. A miss on the lean track means the methodology has a gap to fix, and it gets published with the same prominence as a hit.
This is the first public election test of synthetic-panel modelling for UK local elections. Whichever way 7 May lands, the receipt is on GitHub and the methodology is in the open. That is the whole point of pre-registering anything.
Background: why this is the first pre-registered prediction set for an English local election — the methodology, the hash, the commercial moat.