Model Changelog
Last updated 24 April 2026
This page documents changes to the ward-level prediction model for the 2026 English local elections. The model is actively being improved as new data becomes available and edge cases are discovered. Predictions on the Council Projector update automatically with each change.
Completed fixes
27 April 2026
Fix Green candidacy uplift over-firing in boundary-change councils
The Green candidacy uplift (added 18 April) compared raw candidate counts between SOPN and the historical baseline. In Met and Unitary councils holding all-up elections for the first time due to boundary changes, the baseline was a 1-seat by-thirds ward where Green ran one candidate; in 2026 they run three. That 3x ratio triggered the maximum uplift even though Green was simply running a full slate as expected. The fix compares slate completeness rather than raw counts.
26 April 2026
Fix By-thirds Independent defenders now anchored to their 2022 rotation-year vote share when SOPN confirms they are standing.
24 April 2026
Fix West Surrey: Four more divisions rebased on 2023 borough council ward results following a systematic audit of all 45 West Surrey wards. Shalford (Guildford BC) and Frimley Green & Mytchett (Surrey Heath BC) were projecting Con wins on stale 2021 county data; both now project LD. Woodham New Haw (Runnymede BC) and Staines South & Ashford West (Spelthorne BC) vote shares corrected.
24 April 2026
Fix West Surrey: Sunbury Common & Ashford Common rebased on 2023 Spelthorne borough ward results. The 2021 county division result (Con win, LD 18.8%) predates the 2022 SCC by-election gain by the Lib Dems. 2023 borough data shows LD 52.7% in Sunbury Common ward. LD now projected to win both seats.
23 April 2026
Fix West Surrey: Shere and Waverley Eastern Villages rebased on 2023 borough ward results, correcting 2021 LD/Green pact free-runs in the county data.
23 April 2026
Fix Workers Party of Britain baselines restored. A recent change had excluded WPB votes from ward baselines, zeroing them out in Rochdale (Central, Milkstone & Deeplish) and Birmingham where WPB are standing in 2026.
22 April 2026
Fix East & West Surrey: six new unitary wards re-baselined from borough data
Following the Egham fix, a reader flagged a similar issue in Englefield Green & Virginia Water where 2021 county council data was producing an implausible Green share. Audit found five more new unitary wards in the same position, split across both new Surrey authorities. All now use a blend of recent borough ward results instead of the 2021 county division. West Surrey: Englefield Green & Virginia Water; Thorpe, Longcross & Ottershaw (both Runnymede); Stanwell, Stanwell Moor & Ashford North (Spelthorne). East Surrey: Ewell Village, Stoneleigh & Nonsuch (Epsom & Ewell); Long Ditton, Hinchley Wood & Weston Green; Esher, Claygate & Oxshott North (both Elmbridge). Biggest shift: Long Ditton LD 37% to 53%, reflecting the 2024 borough swing that county data did not capture.
22 April 2026
Fix Brentford West (Hounslow) Reform share corrected down to council-average level, reflecting the ward's Remain character and fragmented independent history.
22 April 2026
Fix Prior independents returning under a party banner now carry their personal vote to their new party. Minimal national impact.
21 April 2026
Fix West Surrey: Egham ward baseline corrected
The model was using county council data that included an unrelated independent candidate, whose vote share was being attributed to RIRG. Now uses the correct borough-level ward results as the baseline.
21 April 2026
Fix Vote share deflated for parties running fewer candidates than seats
20 April 2026
Fix Improved candidate pooling for HISC/Green pact
18 April 2026
New Green candidacy uplift
Improved how Green vote share is projected in wards where the party is standing significantly more candidates than at the last election. National seat impact is minimal.
18 April 2026
Fix Ward sidebar past-result label for boundary-change wards
A label-selection change shipped on 15 April (to skip by-election years when naming the "past result" header) also picked pre-review years in wards where the 2022 boundary review reduced seat count, e.g. Haringey Muswell Hill (3-seat in 2018, 2-seat in 2022). Underlying data was always the 2022 result, only the header was wrong. The mislabel was live for around 36 hours. Label now matches the council's baseline year.
16 April 2026
Data Hull ward baselines anchored to 2025 mayoral result
Hull ward predictions now incorporate the 2025 Hull and East Yorkshire mayoral result as the baseline, rather than inferring Reform strength from the 2024 general election. This gives a more locally-grounded picture of where each party stands ward by ward, with adjustments for candidate-specific effects (Luke Campbell's home-city profile, Labour's Beverley-based candidate). Council seat totals are largely unchanged but several individual ward calls shift to better reflect local voting patterns.
16 April 2026
Data Newham ward baselines refined
Ward baselines now use 2026 SOPN data and the Newham Independents Party's by-election results from 2023 to 2025, where NIP ranged between 23% and 46% depending on ward. Recent defections also inform the ward-level numbers: Labour to independent or NIP in Plashet and Boleyn, Labour to Green in Canning Town North, and a suspended Labour councillor now standing as an independent in Canning Town South.
15 April 2026
Fix By-election fixes
A small sub set of wards with by-elections were anchoring the by-election winner against swing. This was made uniform against all by-election wards. Impact ~30 wards, minimal seat changes.
15 April 2026
Fix Ward sidebar showed wrong year for past results
In wards that had a by-election since the last full council election, the sidebar was labelling the past-result section with the by-election year instead of the full-election year. For example, Vauxhall's 2022 full election results were shown under "2023 Actual" because the 2023 by-election appeared first in the ward's history. The label now correctly identifies the full election year regardless of intervening by-elections.
14 April 2026
Fix Vote share calculation fix for multi-member wards
In wards electing 2 or 3 councillors, parties that stood fewer candidates than seats available had their vote share understated. This has been corrected using per-candidate normalisation. The fix primarily affects London boroughs. Green gains ~80 seats nationally (mostly from Labour in inner London). Haringey, Waltham Forest, and Wandsworth move from Labour control to no overall control. County and district projections are unchanged.
12 April 2026
Fix Better matching of independent candidate names
Improved how the model matches independent candidates between past and present elections, reducing inflated Others projections in wards where the previous independent is no longer standing.
11 April 2026
Fix Lib Dem vote redistribution rebalanced
When the Lib Dems are not standing in a ward, their vote share is now redistributed more accurately to the remaining parties. The previous weights sent too much to Reform and too little to Labour. Fixes wards like Moss Bank (St Helens) where a Lab/LD marginal was incorrectly projected as a Reform sweep. 4 councils affected, Reform -4 seats nationally.
11 April 2026
Fix Ward table seat dots now match summary bar
Fixed a bug where the coloured seat dots in the ward table could show a different party breakdown to the summary bar at the top of the council page. In wards with multiple independent candidates, the ward table was incorrectly capping how many seats independents could win and giving the surplus to other parties. 11 councils affected, including Bradford, Kirklees and Tower Hamlets.
10 April 2026
Fix CC blend: skip for parties absent from 2024 baseline
County council blend no longer injects vote share for parties that had zero candidates in a ward's 2024 DCLEAPIL baseline. Prevents county-level Reform surges from being imported into wards where Reform has never stood at district level. 17 councils affected, Reform -26 seats nationally.
9 April 2026
Fix Reform calibration update
Recalibrated Reform vote estimates across all council types using by-election evidence from 2024-25. Swing factors, entry-model ceilings and EU referendum interaction effects updated to better reflect Reform's local election strength. Validated against 21 councils with 2025 full-election results.
7 April 2026
Fix Adur: held-over seat allocation corrected
Fixed held-over seat calculation for Adur (halves council). 4 Others seats were incorrectly classified as held-over instead of defending, inflating Others from 5 to 9 and suppressing Labour from 18 to 14. Adur now correctly projects Lab 18, Others 5.
7 April 2026
Data Haringey: Green candidate data added from official sources
Haringey Green candidates data added from official sources. Missing by-election data added.
4 April 2026
Data Leeds: vacancies, incumbency and Others labelling
Three mid-term vacancies (Adel & Wharfedale, Morley North, Temple Newsam) increase contested seats from 33 to 36. Each vacancy ward elects two councillors; seat allocation follows the standard multi-member rules (the leading party wins both seats if it has a strong margin, otherwise seats are split between the top two parties). Incumbency bonus removed in 12 wards where the sitting councillor is confirmed not standing. Others label corrected: Morley Borough Independents, Garforth & Swillington Independents and the Social Democratic Party are now identified as separate registered parties rather than being grouped under a single name.
3 April 2026
Fix Manchester: Green coattail and Others spike dampener fix
Green projections in Manchester adjusted for the Gorton & Denton parliamentary by-election coattail. Others spike dampener fixed so it no longer deflates wards where a new party is entering for the first time.
1 April 2026
Data Newham and Redbridge: independent movement candidacy overrides
Candidacy overrides added for NIP (Newham Independents Party) and Ilford Independents in wards with confirmed by-election results and council defections. Pending confirmation when SOPN candidate lists are published.
1 April 2026
Data Hackney: HISC-Green pact and mayoral coattail
Hackney Independent Socialist Collective (HISC) and Hackney Greens have a formal electoral pact. Model now treats their candidates as a joint slate in Clissold, Victoria, Homerton and London Fields. Green projections also adjusted for the competitive two-candidate mayoral race coattail.
30 March 2026
Fix Labour overcount in high-Leave metropolitan boroughs
Reform swing dampening now has per-council overrides for Sunderland, Barnsley, Wakefield, Walsall, and Plymouth, where by-election evidence and demographics suggested the model was under-swinging Reform and over-retaining Labour. Backtest-neutral, targeted impact (Lab -14, Ref +24 nationally).
31 March 2026
Fix County-to-district blend fixes
Per-party cap (8pp) added to wards with thin baselines, preventing 15-30pp swings where county data was being injected uncapped. South Cambridgeshire division mapping corrected. Lab/Con blend extension was being blocked on 172 wards due to a council-level guard that should have been per-ward - fixed. Seat count display corrected for mixed-seat councils.
29 - 30 March 2026
New County council calibration overhaul
County Reform projections now use a Leave-vote regression validated against 39 by-elections. GE2024 ward bridges added for Hampshire, East Sussex, and West Sussex (completing all six counties). County blend extended to Lab/Con baselines with a 5pp cap. Suffolk by-election overrides and boundary mappings corrected. Methodology page updated.
27 March 2026
Fix Swindon and Tower Hamlets projections corrected
Swindon Reform recalibrated against the 2025 Wiltshire county results and confirmed Labour-to-Green defections added. Tower Hamlets Aspire incumbency strength updated using their 2022 result.
26 March 2026
New Model update
Reform projections have increased by approximately 160 seats nationally following a recalibration of how the model estimates Reform support in wards where they have never stood locally. The previous method underestimated Reform by around 10 percentage points when tested against 2025 actual results. Several data pipeline fixes are also included, correcting cases where by-election results were being silently dropped after boundary changes.
In district wards where only two parties stood in previous elections (typically Labour and Conservative before Reform existed locally), the model now uses 2025 county council results to set more realistic baselines for all parties rather than leaving Labour and Conservative at artificially inflated pre-Reform levels.
Reform is now projected at approximately 1,050 contested seats (80% confidence interval: 770 - 1,390). This is below the national projection published by Steve Fisher, the psephologist behind the BBC's general election exit poll, who projects Reform to gain over 2,200 seats. Our model remains conservative, particularly in metropolitan boroughs and London where no 2025 calibration data exists. Further updates will follow when candidate nominations are published in April.
Also fixed: the ward explorer was incorrectly labelling some thirds elections as all-out when a vacancy coincided with a regular election cycle.
25 March 2026
New Added West Surrey and East Surrey as new unitary councils
Surrey County Council is being replaced by two new unitary authorities in May 2026. Ward-level projections are now built from the 2021 SCC division baselines, split and remapped to the new ward boundaries. By-election data and residents' association candidacy overrides have been added for both councils. Fixed an issue where by-election blending underweighted parties that didn't stand in the 2021 baseline.
24 March 2026
Fix Audit
Baseline and ceiling logic tightened to keep projections within the bounds set by the underlying data. Improved Kirklees boundary mappings.
22 March 2026
New Green/LD clustering
Green and Lib Dem vote shares now concentrate in wards where they already have a strong baseline, rather than swinging uniformly. Boundary-change wards use the dominant predecessor ward as the clustering signal.
21 March 2026
Fix By-election data not feeding into ward baselines
72 by-elections where Reform did not stand were being excluded from ward baselines due to an overly restrictive filter. Fixed alongside correcting data errors in Newham by-elections.
17 March 2026
Fix Per-candidate normalisation inflating minor parties in multi-member wards
In multi-member wards, parties running a single protest candidate had their baseline vote share inflated by up to 3x through per-candidate normalisation. Fixed by preserving raw vote shares for parties not running a full slate, and capping swing absorption for protest candidacies.
16 March 2026
Fix Held-over seat calculation in by-thirds councils
Improved how held-over seats are calculated in councils that elect by thirds, better accounting for by-elections and defections between election cycles.
16 March 2026
Fix By-election vote share data corrected
Corrected vote share data for 35 by-elections used in the ward baseline blend, verified against Andrew Teale's LEAP database.
15 March 2026
Fix Rotation wards in by-thirds councils treated as boundary changes
Wards that sit out a cycle on rotation were being mistaken for renamed wards and given another ward's vote history. Fixed across 7 councils: Hull, Plymouth, Crawley, Winchester, North East Lincolnshire, Eastleigh and St Albans.
15 March 2026
Fix Historical results missing for rotation wards in ward explorer
Rotation wards not contested in the most recent year were showing blank history in the ward detail panel. These now show their full election history, and non-contested wards are excluded from the ward table and seat count.
14 March 2026
Fix Labour vote decline was being counted twice in Reform entry wards
In the roughly 600 wards where Reform did not stand in 2024 and the model injects a Reform vote share, Labour's vote was being reduced twice - once when the Reform entry model drew votes from Labour's baseline, and again when the national swing (which already includes the Labour-to-Reform shift) was applied. This double-counting was suppressing Labour by 3-8 percentage points in affected wards, with the worst cases in wards with high demographic sensitivity to Labour decline. The fix ensures the national swing applied to Labour is scaled down proportionally to account for the share already redirected to Reform. Nationally, Labour gains around 89 contested seats (mostly from Reform, which drops 128 seats). Two councils that were previously projected to change control - Sandwell (Lab to NOC) and Walsall (Con minority to NOC) - now stay with their current holders. County councils and headline projections are unaffected.
14 March 2026
Fix Held-over seats now tracked by election cohort
For councils that elect by thirds or halves, the model needs to know which seats are not up for election and which party holds them. Previously this was estimated by scaling the current council composition proportionally - assuming every party's seats were evenly spread across cohorts. This produced wrong results in councils where councillors had defected between parties since being elected. The most visible case was Hastings, where 6 Labour councillors defected to form an Independent group in 2023. The model was keeping 3 of those as held-over Independents, when in fact all 6 are in the cohort being contested this year. The fix tracks held-over seats at ward level using actual election results from the non-contested cohort. This affected 71 councils nationally, with the largest shifts in Labour (+102 full composition seats) and Reform/Others (each losing around 50 phantom held-over seats that had been created by defections rather than election wins).
14 March 2026
Fix County ceiling no longer overrides strong local election results
The model uses 2025 county council results to anchor district ward projections, and applies a ceiling to prevent any party from being projected higher than it actually polled in the county division (plus a small margin). However, county and district elections can produce very different results - a party can have a strong local presence at district level that simply doesn't exist at county level, due to different candidates, different campaigns, or different voter behaviour. The ceiling was overriding actual 2024 district election results in around 70 wards, most severely in places like St Albans (where the Lib Dems won 70% in Hill End in 2024 but were capped at 9% because the county division went differently), Kidlington East in Cherwell (where the Greens won 44% in 2024 but were capped at 9%), and several Exeter and West Oxfordshire wards. The ceiling now only applies when a party's local election baseline is below the county-derived cap. If a party has already demonstrated stronger support in an actual district election, that result takes precedence. This restores around 16 Lib Dem and 10 Green seats nationally, mostly taken from Conservatives and Reform in wards where third parties had genuine local strength that was being suppressed.
14 March 2026
Fix County blend adjustments in Cherwell
Two Cherwell wards - Banbury Cross & Neithrop and Banbury Grimsbury & Hightown - sit in a county division (Banbury Grimsbury Castle) where Reform did not stand in 2025. This meant the independent and third-party vote in the county result was artificially high, as voters who would likely back Reform had no Reform candidate and voted for other parties instead. The model was blending this inflated independent vote into the district ward baselines, pushing Labour down and Others up. Labour in these wards was being projected at 18-20% despite polling 31% in the 2025 county election and 45-48% in the 2024 district election. The model now adjusts for this: when a party did not stand in the county division but is expected to stand in the district election, the excess independent vote is redistributed before blending. Labour in these two wards rises by around 3 percentage points to 21-23%, with a corresponding drop in Others. Reform and seat outcomes are unchanged.
14 March 2026
Fix County blend ceiling incorrectly suppressing parties that didn't stand
In the 28 district councils that use 2025 county council results as a baseline anchor, parties that did not stand in a county division were being treated as having zero support rather than being left alone. This meant the ceiling mechanism was capping them at just 3% regardless of their actual local strength. The most visible case was Reform in two Cherwell wards (Cross & Neithrop and Grimsbury & Hightown) where no Reform candidate stood in the corresponding county division - the model was capping Reform at 3.4% when local evidence pointed to 28-29%. The fix affects 87 wards across 13 councils, though only Cherwell had seat-level impact (Reform gains 2 seats from Labour).
13 March 2026
Fix Ward tooltip names corrected across 17 councils
Hovering over or clicking wards on the map was showing the wrong ward name in 48 cases across 17 councils with boundary changes. The display logic was prioritising a name bridge (used to connect old map boundaries to new ward names) over direct matches, meaning wards that kept their name but had a bridge entry for a different purpose were showing the bridged name instead. This was display-only and did not affect any projections.
13 March 2026
Fix GIS-verified boundary remaps for 6 metropolitan boroughs
Used geographic boundary overlays to verify and correct ward remapping in Gateshead, Sandwell, Sefton, Coventry, Solihull and Sunderland. This found 6 wards mapped to the wrong predecessor (including swapped primary sources in Solihull, Sefton and Sunderland), and 30+ wards missing significant contributions from neighbouring old wards. Sunderland was the most affected - 19 of 25 wards had corrections, including all four Washington wards which were heavily redrawn. Reform falls 35 seats nationally as corrected baselines give Labour and Conservatives back vote share that was being lost in wrong-source remaps.
12 March 2026
Fix Reform swing calibration for councils with 2024 local results
Councils where Reform stood in the 2024 local elections were applying an undampened national swing to their local baselines, over-projecting Reform in metropolitan boroughs. The model now applies the same dampening framework used for other data sources, calibrated for local-to-local conversion. This most affects metropolitan boroughs like Sunderland and Barnsley where the undampened swing was producing high Reform projections. Sunderland Reform falls from 49 to 33 seats.
12 March 2026
Fix By-election data now overrides existing baselines
Previously, by-election results could only set Reform's baseline in wards where Reform had not stood before. If a ward already had a Reform result from the 2024 local elections (even at just 5-10%), the by-election data was ignored - even when it showed dramatically different results. This was most visible in Sunderland's Hetton ward, where the November 2025 by-election showed Reform at 45% but the model was stuck at the 2024 baseline of 11%. By-election results now blend directly into the ward baseline (70% by-election, 30% existing) regardless of prior Reform presence, and receive zero additional swing since they already reflect current political conditions.
12 March 2026
Data 43 by-elections from October-December 2024 added
Added 43 by-election results from October to December 2024 to the model's Tier 1 evidence base. These include Reform gains in Bilston North (Wolverhampton, 35%), Blackbrook (St Helens, 41%), and strong Reform performances in Woodhouse (Sheffield, 33%), Brockmoor and Pensnett (Dudley, 30%), and Featherstone (Wakefield, 22%). Where by-election ward names match 2026 ward boundaries, the results are blended into the baseline as the most reliable local evidence available.
12 March 2026
Data 2025 county council results blended into 28 district councils
District councils that sit inside county council areas have no recent Reform election data of their own - Reform did not stand in any of these districts in 2022, 2023 or 2024. Until now, these councils relied entirely on the model's entry estimate, which can miss local variation. We have now used actual 2025 county council division results to set ward-level baselines for all parties in 28 district councils across 10 counties. Each district ward is mapped to the county division it falls within, and the full county party shares are blended into the ward baseline. The 28 councils span Staffordshire, Lancashire, Kent, Warwickshire, Worcestershire, Hertfordshire, Lincolnshire, Cambridgeshire, Oxfordshire, Gloucestershire, and Devon.
12 March 2026
Fix Reform projection ceiling from county evidence
In county-blended district councils, the combination of county evidence and national swing adjustments was pushing some party projections above the actual county division results they were anchored to. A ceiling now prevents any ward's projection for Reform, Green, or Liberal Democrats from exceeding the county division actual result by more than 3 percentage points after all adjustments. The small headroom allows for genuine within-division variation. This prevents runaway single-party dominance in blended wards while preserving the county signal.
12 March 2026
Fix Ward maps rendering correctly
Ward maps on individual council pages were showing hatched (unmapped) areas in several councils. Two issues were causing this: ward boundary codes were not being passed through to the map data, and councils with minor ward name changes (renames or thirds-rotation names) were not building the name bridge needed to match wards to their map polygons. Both issues are now fixed, and maps render correctly across all councils including those with recent boundary changes.
11 March 2026
Fix Improved boundary change handling across 25+ councils
Comprehensive review of how the model handles ward boundary changes across all councils with LGBCE reviews. Where new ward boundaries cross old ward boundaries, the model needs to estimate the political character of the new ward by blending results from the old wards it overlaps. We rebuilt overlap matrices from scratch using GIS boundary data for 12 metropolitan and unitary boroughs (Barnsley, Bradford, Coventry, Gateshead, Kirklees, Newcastle upon Tyne, Sandwell, Sefton, Solihull, South Tyneside, Sunderland and Swindon), verified and corrected the Milton Keynes matrix manually, and fixed Calderdale's manual remap where Halifax Town ward was being treated as a simple rename rather than a new creation drawing from several old wards. A further 9 councils with minor boundary changes (1-3 ward renames or splits) had their name mappings corrected. Combined with the county GIS rebuilds from 5-6 March, boundary handling has now been reviewed for every council with an LGBCE boundary change.
11 March 2026
Fix Milton Keynes ward sources corrected
Several Milton Keynes wards were drawing their baseline from the wrong predecessor wards. The new Walton ward was missing its connection to old Monkston - where the Liberal Democrats polled 44% - making it appear as a safe Conservative ward rather than the genuine three-way contest it should be. Great Linford was similarly drawing from only one predecessor instead of four.
11 March 2026
Fix Swindon ward merge using incomplete data
Two new Swindon wards (Chiseldon & Ridgeway and Old Town & Lawn) were being constructed from only one of their two predecessor wards. The missing predecessor had been abolished in the 2024 boundary change and was not being loaded from historical data, making Chiseldon & Ridgeway appear as a safe Conservative ward when it should be a Lab/Con marginal.
11 March 2026
Fix Thurrock boundary remap corrections
Three Thurrock wards (Little Thurrock Rectory, Stifford, Tilbury Riverside) were inheriting vote share baselines from the wrong predecessor wards after the 2024 boundary review. The worst case - Tilbury Riverside - was showing as a safe Labour ward when the actual predecessor area had a strong independent and Reform presence. Source mappings have been corrected using the LGBCE Final Recommendations report.
11 March 2026
Fix Walsall ward name matching
One Walsall ward (Rushall-Shelfield) was being silently dropped due to a hyphen in the ward name not being normalised. The ward is now correctly included, bringing Walsall from 19 to 20 wards.
11 March 2026
Fix County council blend capped and scoped
The blend of recent district council results into county baselines is now capped at 5 percentage points per division, preventing small systematic shifts from compounding across a whole county. Hampshire and West Sussex are excluded from the blend entirely - their 2021 baselines were structurally low for Labour due to weak campaigns that year, making the district data a poor correction signal.
11 March 2026
Fix Identical ward predictions after boundary splits
When a ward is split into two new wards under boundary changes, both inherited identical vote shares from the parent. This affected 10 pairs of wards across Milton Keynes, Essex, Suffolk, Swindon, Thurrock, West Oxfordshire and Winchester. Each pair now has differentiated baselines using LGBCE electorate data and blending with adjacent wards. The largest correction was in Milton Keynes, where Great Linford and New Bradwell now differ by nearly 6 percentage points.
10 March 2026
Fix Independent councillor swing protection
Independent councillors with a meaningful baseline (above 5%) now have the national Others swing zeroed out. Independents are local brands whose support is driven by personal vote, not national trends - applying a uniform swing was systematically eroding their projected vote share. This partially addresses the model's systematic under-prediction of Others seats, recovering around 30 seats nationally.
10 March 2026
Fix Reform under-predicted in high-Leave outer London
In outer London boroughs with high Leave vote (above 55%), the Reform entry model was constrained by mismatched draw proportions. The model allocates Reform's vote share by drawing from other parties, but in wards dominated by a single party (e.g. Labour at 48%, Conservatives at 2%), the fixed draw proportions left much of the allocation stranded. A targeted second pass now redistributes unused allocation from parties with headroom, raising Reform in boroughs like Barking and Dagenham to levels consistent with local polling and by-election evidence.
10 March 2026
Fix Multi-member ward baseline normalisation
In wards electing two or three councillors, baseline vote shares were not fully adjusted for the number of candidates each party fielded. Parties running a full slate appeared stronger in the baseline than their per-voter support warranted. Baselines are now normalised per candidate before computing shares, improving accuracy in London boroughs and metropolitan boroughs with multi-member wards.
10 March 2026
Fix County council calibration
Reform's county council baselines were slightly over-calibrated due to overlapping adjustments in the swing formula. The calibration has been simplified and re-tested against 2025 county results. Conservative projections in eastern counties remain low, reflecting the scale of national Conservative decline and Reform's strong local entry - consistent with what we observed in comparable councils in 2025.
10 March 2026
Fix Multi-member seat allocation
Seat allocation in multi-member wards now splits seats more readily in tight two-party contests, preventing cases where a narrow lead translated into a clean sweep of all seats in the ward.
10 March 2026
New Candidacy flags for Green projections
Councils where the Green projection relies on candidacy assumptions are now flagged on their projection page. In some boroughs the Greens are projected to gain seats from a low baseline, and these projections will be revised when April nomination data confirms which wards have Green candidates.
7 - 8 March 2026
Fix Reform over-estimated in boundary-change councils
Wards with new boundaries (splits, renames, merges) were missing their GE2024 Reform result because the lookup used the new ward name instead of the old one. This caused them to fall back to a council-wide MRP average - roughly double the correct ward-level target. A name bridge now maps new ward names back to their pre-boundary predecessors for GE2024 data. Reform drops around 21 contested seats nationally as a result, with Labour and Conservatives gaining.
7 March 2026
Fix Ward holder now based on seats won
In multi-member wards, the incumbent party was previously determined by vote share. This meant a party could top the vote count but win fewer seats - and the wrong party would receive the incumbency bonus and swing resistance. The model now counts seats won (using the DCLEAPIL elected column) and assigns the holder accordingly. This affects around 113 wards where the seat winner differs from the vote leader.
7 March 2026
Fix All-out to by-thirds baseline normalisation
Metropolitan boroughs that held all-out elections in 2024 but return to by-thirds in 2026 needed their baselines adjusted. In an all-out election, voters cast multiple votes and full-slate parties accumulate more raw vote share. A slate-weighted blend now normalises these baselines: full-slate parties are averaged per candidate, while single-candidate parties are blended between raw and averaged shares proportional to their slate completeness. This prevents single-candidate opposition parties from being artificially inflated.
7 March 2026
Fix Kirklees ward map corrected
Colne Valley East and West were mapped to the wrong polygons on the Kirklees map. The boundary remap had the old wards assigned the wrong way round - confirmed against the LGBCE final recommendation shapefiles. Both the map and the underlying data assignment are now correct.
7 March 2026
Fix Historical vote shares corrected for multi-member wards
Ward explorer pages were displaying per-candidate percentages from multi-member elections rather than summed party totals. In wards like Wandle (Merton), this made the Lib Dems appear ahead of Labour when Labour actually received more votes overall. All cached ward history data has been regenerated with correct party-total vote shares.
5 - 6 March 2026
Fix County council boundary remapping
Six county councils have new ward boundaries for 2026. We built overlap matrices matching old wards to new ones, weighted by electorate size. This means the model correctly distributes historical vote shares across redrawn boundaries in Essex, Norfolk, Suffolk, Hampshire, East Sussex and West Sussex.
5 March 2026
Fix Multi-member ward seat allocation
Wards electing two or three councillors at once now allocate seats more realistically. Previously the model gave all seats to the winning party. Now, when two parties are close in vote share, seats are split between them - reflecting how multi-member wards typically behave in practice.
5 March 2026
Fix Green over-prediction in central London
The model was over-predicting Greens in heavily Remain-voting inner London boroughs. A calibration adjustment now moderates Green predictions in areas where their local election performance has historically fallen short of what demographics alone would suggest.
4 March 2026
New London inner/outer split
London boroughs are now modelled as two distinct groups: inner London (13 boroughs) and outer London (19 boroughs). These areas vote very differently - inner London is more pro-Labour and less favourable to Reform, while outer London behaves more like suburban England. Splitting them improves accuracy for both.
3 - 4 March 2026
Data Calibration against 2025 district council results
We incorporated 1,400 ward results from the May 2025 district council elections - the most recent local data available. This improved the model's swing calibration, particularly for Reform UK whose 2025 results provide a much better baseline than Westminster polling alone.
2 - 3 March 2026
Fix Reform double-counting removed
In wards where Reform had both a direct baseline (from a by-election or 2024 result) and an estimated baseline from MRP modelling, both were being applied. This inflated Reform's projected vote share in affected wards. Now the model uses the best single source for each ward and does not double up.
1 - 2 March 2026
Fix Candidacy thresholds for Greens and Lib Dems
In wards where the Greens or Lib Dems had very low baselines (below 3%), the model now treats the party as unlikely to be standing and reallocates their projected vote share to other parties. This prevents the model from predicting seats for parties that probably will not field a candidate.
28 February 2026
Fix UKIP baselines no longer treated as Reform
Some older ward results included a UKIP baseline from 2018 or earlier. These were being carried forward as Reform proxies, but UKIP's 2018 vote share is a poor guide to Reform's 2026 support. Wards where UKIP polled below 5% now use the standard Reform entry model instead.
27 February 2026
New Incumbency advantage
Sitting councillors tend to outperform their party's national swing. The model now gives a small bonus to the party that currently holds each ward, calibrated from historical results. The bonus is larger for Lib Dems and Greens, who tend to have stronger personal votes, and smaller for Reform, who have very few incumbents.
25 - 26 February 2026
New Ward-level model launched
The original model used a council-level cube law to convert vote shares into seats. This has been replaced by a ward-by-ward model that predicts individual ward winners and adds them up. This is a fundamentally more accurate approach, especially in councils with a mix of safe and marginal wards.
Coming next
Expected April 2026
Upcoming Actual candidate lists
Democracy Club publishes candidate lists from the Statements of Persons Nominated in mid-April. This will tell us exactly which parties are standing in each ward, replacing our current estimates. Green and Lib Dem seat counts are likely to adjust downward in wards where they are not fielding a candidate.
Completed 11 March 2026
Done District council data for county predictions
Recent district council results have been blended into county baselines for Essex, Norfolk, Suffolk and East Sussex, giving fresher data than the 2021 county elections alone. Hampshire and West Sussex were excluded after testing showed the blend introduced more noise than signal in those counties.
Completed 12 March 2026
Done County blend for remaining district councils
12 further district councils now have 2025 county council results blended into their baselines: St Albans, Three Rivers, Watford, Welwyn Hatfield (Hertfordshire), Cambridge, Huntingdonshire, South Cambridgeshire (Cambridgeshire), Cherwell, Oxford, West Oxfordshire (Oxfordshire), Cheltenham (Gloucestershire) and Exeter (Devon). All 28 eligible district councils are now covered.
Expected March 2026
Upcoming Further metropolitan borough verification
The all-out to by-thirds transition has been addressed, but individual met boroughs are being spot-checked against local knowledge. Candidate data (expected April) will further refine predictions in these areas.
Late April 2026
Upcoming Final pre-election forecast
A final forecast incorporating complete candidacy data, late polling, and any remaining model improvements before election day on 7 May.
For technical details on how the model works, see the methodology page.