By-elections
Westminster by-elections
Every by-election we track, the declared result, and how the pre-election forecast or signal compared. 3 concluded contests, 1 upcoming.
Clacton
East of England
Read the contest briefing →Aberdeen South
Scotland
Pre-election call: Scottish National Party · the result went the other way.
Read the result and scorecard →Arbroath and Broughty Ferry
Scotland
Pre-election call: Scottish National Party · called correctly.
Read the result and scorecard →Makerfield
United Kingdom
Pre-election call: Reform UK · the result went the other way.
Read the result and scorecard →Next up: Clacton on 13 August 2026, where Nigel Farage resigned to re-contest his own seat and the five main opposition parties are refusing to stand. The 18 June 2026 round was a split verdict: Labour held Makerfield (Andy Burnham) against a UKE forecast that wrongly called Reform; the Conservatives gained Aberdeen South in an upset no area signal saw coming; and the SNP held Arbroath and Broughty Ferry exactly as the Holyrood signal predicted.
Leaderboard · who called it best
Forecaster accuracy, 18 June 2026
| Forecaster | Winners right | Avg share MAE | Coverage |
|---|---|---|---|
| Constituency polls | 1/1 | 3.1pp | Makerfield only (5 polls, all agreed) |
| UK Elections (best call) | 2/3 | 4.3pp | poll-of-polls + Holyrood signal |
| Betting markets | 2/3 | n/a | odds-implied favourite |
| Ballot Box Scotland | 1/2 | n/a | Scottish seats, qualitative |
| Electoral Calculus | 1/3 | 6.6pp | GE seat model, not bespoke |
| UK Elections (GE model) | 1/3 | 8.4pp | 650-seat GE model, like Electoral Calculus |
| UK Elections (published forecast) | 0/1 | 6.5pp | the call we actually shipped |
Where real constituency polls existed (Makerfield only), they beat every model. The two seat models that ignore polls (our published forecast and Electoral Calculus) called Makerfield for Reform, wrongly. On the two Scottish seats no one polled, and Aberdeen South's Conservative gain beat the entire field. Avg share MAE is across the seats each forecaster issued a numeric call on (markets and Ballot Box Scotland gave winners only). Electoral Calculus's figures are its standard general-election seat model, not bespoke by-election forecasts.
Local council by-elections · 2026-06-19 to 2026-07-16
The weekly ward scorecard
Westminster by-elections are rare; council by-elections happen most Thursdays and are the highest-frequency real-vote signal between general elections. Across the 59 ward contests since 19 June 2026, Reform UK made 9 gains, held 5 of its own seats and lost 2: Llangennech to Plaid Cymru, and Old Catton in Norfolk to the Conservatives, where Reform's vote fell to third. The 16 July round was the first real sign of Reform slipping back from its May 2025 county peak in these low-turnout contests, even as it picked up the force-wide Norfolk Police and Crime Commissioner. That mean-reversion is exactly why our Lancashire unitary model swings each ward off the 2025 county result rather than freezing it. The earlier gains came off Labour, the Conservatives and independents across England, Wales and, notably, Scotland (Larkhall, South Lanarkshire, under STV).
Five further contests polled on 23 July 2026 (including two Grays seats in Thurrock that Reform is defending after its own councillors resigned); results due from 24 July.
25 June 2026 · 23 contests · Reform 7 wins
| Ward | Council | Winner | Previously | Notes |
|---|---|---|---|---|
| Camp Hill | Nuneaton and Bedworth | Reform UK (48.7%) | Labour | Labour 42.4% |
| Rhyl South | Denbighshire | Reform UK (44.3%) | Labour | |
| Wilnecote | Tamworth | Reform UK (46.4%) | Conservative | |
| St Helens Town Centre (2 seats) | St Helens | Reform UK / Labour | Labour x2 | One Reform gain, one Labour hold |
| Haydock | St Helens | Reform UK (33.0%) | Reform UK | |
| Stretton | Staffordshire CC | Reform UK (37.1%) | Reform UK | Conservative 35.8% |
| Roman Bank and Peckover | Cambridgeshire CC | Reform UK (39.0%) | Reform UK | Conservative 38.0% |
| Llangennech | Carmarthenshire | Plaid Cymru (41.1%) | Reform UK | Reform 24.2%. Reform's only defence loss of the window |
| George Street/Harbour | Aberdeen City | SNP | Liberal Democrats | |
| Goldsmid | Brighton and Hove | Green Party | Labour | |
| Llanrhaeadr-yng-Nghinmeirch | Denbighshire | Independent | Plaid Cymru | |
| North Acton | Ealing | Green Party | Green Party | |
| Dalston | Hackney | Green Party | Green Party | |
| Hackney Central | Hackney | Green Party | Green Party | |
| Farnworth | Halton | Labour | Labour | |
| Northumberland Park | Haringey | Labour | Green Party | |
| Woodside | Haringey | Green Party | Labour | |
| Bushey Park | Hertsmere | Conservative | Liberal Democrats | |
| East Sutherland and Edderton | Highland | Independent | Independent | |
| Dowlais and Pant | Merthyr Tydfil | Labour | Independent | |
| Treorchy | Rhondda Cynon Taf | Plaid Cymru (70.8%) | Plaid Cymru | |
| Dawlish South West | Teignbridge | Liberal Democrats | Liberal Democrats | |
| Stort Valley | Uttlesford | Conservative | Liberal Democrats |
Sources: Per-date roundup, 25 June 2026 · ALDC by-election results
2 July 2026 · 12 contests · Reform 3 wins
| Ward | Council | Winner | Previously | Notes |
|---|---|---|---|---|
| Llantarnam | Torfaen | Reform UK (42.7%) | Independent | Outgoing councillor had defected to Reform, so in practice a Reform defence |
| Llanyre and Nantmel | Powys | Reform UK (41.6%) | Independent | Turnout 49.6% |
| Lutterworth East | Harborough | Reform UK (28.2%) | Labour | Conservative 27.0% |
| Yscir with Honddu Isaf and Llandew | Powys | Liberal Democrats (39.6%) | Conservative | Reform 34.5% |
| Glantwymyn | Powys | Plaid Cymru (81.8%) | Plaid Cymru | |
| Peterhead South and Cruden | Aberdeenshire | SNP | Conservative | Reform 22.9% on first preferences, second |
| St Michaels | Cotswold | Liberal Democrats | Liberal Democrats | |
| Cirencester Park | Gloucestershire CC | Liberal Democrats | Liberal Democrats | |
| St Leonards and St Ives | Dorset | Conservative (37.9%) | Conservative | Reform 33.6% |
| Malinslee and Dawley Bank | Telford and Wrekin | Labour (42.9%) | Labour | Reform 41.4%, 1.5pp short |
| Horwich North | Bolton | Horwich and Blackrod First (50.0%) | Horwich and Blackrod First | |
| Weaver and Cuddington | Cheshire West and Chester | Independent | Conservative |
Sources: ALDC report, 2 July 2026 · Andrew Teale preview
7 July 2026 · 2 contests · Reform 0 wins
| Ward | Council | Winner | Previously | Notes |
|---|---|---|---|---|
| Haslemere | Surrey CC | Liberal Democrats (47.8%) | Liberal Democrats | Tuesday poll; caused by the death of the sitting councillor |
| Haslemere West | Waverley | Liberal Democrats (58.6%) | Liberal Democrats |
Sources: Andrew Teale preview (Haslemere)
9 July 2026 · 14 contests · Reform 3 wins
| Ward | Council | Winner | Previously | Notes |
|---|---|---|---|---|
| Larkhall | South Lanarkshire | Reform UK (35.2%) | Labour | First preferences; elected at stage 4 of the STV count. A notable Scottish gain |
| Connah's Quay Central | Flintshire | Reform UK (48.1%) | Independent | |
| High Fell | Gateshead | Reform UK | Reform UK | Held by 5 votes, 564 to Labour's 559 |
| Regent's Park | Camden | Labour | Green Party | |
| Streatham St Leonard's | Lambeth | Liberal Democrats | Green Party | Won from third place |
| Clapham Park | Lambeth | Green Party | Green Party | |
| Kinwarton | Stratford-on-Avon | Conservative | Liberal Democrats | By 7 votes |
| Pembroke Dock Market | Pembrokeshire | Conservative | Independent | |
| Splott | Cardiff | Labour | Labour | Vacancy caused by election to the Senedd |
| Baruc | Vale of Glamorgan | Plaid Cymru | Plaid Cymru | Vacancy caused by election to the Senedd |
| Trebanos | Neath Port Talbot | Plaid Cymru | Plaid Cymru | Vacancy caused by election to the Senedd |
| Llanrug | Gwynedd | Independent | Plaid Cymru | Vacancy caused by election to the Senedd |
| Argoed and New Brighton | Flintshire | Liberal Democrats | Liberal Democrats | Labour fifth on 7.3% |
| Suffield Park | North Norfolk | Liberal Democrats (65.4%) | Liberal Democrats |
Sources: Per-date roundup, 9 July 2026 · Andrew Teale preview
16 July 2026 · 8 contests · Reform 1 win
| Ward | Council | Winner | Previously | Notes |
|---|---|---|---|---|
| Old Catton & Sprowston West | Norfolk County Council | Conservative (34.5%) | Reform UK | Reform fell to third on 19.9%; Green 32.7%. A Reform loss from its May 2025 county sweep. |
| Ramsey & Bury | Cambridgeshire County Council | Reform UK | Reform UK | Reform hold. |
| Fletton & Woodston | Peterborough | Green Party | Labour | Green gain from Labour. |
| Dereham Toftwood | Breckland | Conservative | Labour | Conservative gain from Labour. |
| Kidlington West | Cherwell | Liberal Democrats | Liberal Democrats | Liberal Democrat hold. |
| Wellington | Rushmoor | Labour | Labour | Labour hold. |
| Himley & Swindon | South Staffordshire | Conservative | Conservative | Conservative hold. |
| Manor | Stafford | Labour | Labour | Labour hold. |
Sources: LocalCouncils.co.uk · Andrew's Previews (16 July) · Old Catton result (whocanivotefor)
Winner and previous-holder parties as published by ALDC and the aggregated per-date roundups, cross-checked where both cover a contest. Vote shares are quoted only where the aggregator published one; per-candidate counts are on each returning officer's page.