← All councils

Milton Keynes

Every election cycle we have data for, most recent first.

8 cycles in our data
37.9% all-time seats elected below the quota (75 of 198)
18.7% all-time seats unfairly awarded (37 of 198 across 8 cycles)

Cycles

Council composition as of 2026

60 councillors, by party. One square per seat. Source: opencouncildata annual snapshot — reflects the council at the end of 2026 (after that year's elections, by-elections and defections). Hover any seat for the party.

Most recent election (2026)

In 2026, 60 seats were up across 21 wards. The table below shows what each party actually won — alongside what they would have won if the 60 seats had been shared in proportion to votes received (how, with caveats). The Δ column is the actual seat count minus the proportional seat count — positive numbers are parties First-Past-the-Post over-represented; negative are parties it under-represented.

PartyVotesVote %Seats won% of seatsProportional seatsProportional %Δ
Reform UK58,45024.4%915.0%1525.0%-6
Labour Party53,18122.2%1931.7%1423.3%+5
Conservative Party48,96620.5%1220.0%1220.0%0
Liberal Democrats44,29318.5%2033.3%1118.3%+9
Green Party32,88613.8%00.0%813.3%-8
Independent1,1980.5%00.0%00.0%0
Workers Party of Britain670.0%00.0%00.0%0
Heritage Party380.0%00.0%00.0%0
Total239,079100.0%60100.0%60100.0%0

Vote share vs seats won

The top bar is each party's share of votes cast in this council. Below, one square per seat, coloured by the party that won it — first the actual First-Past-the-Post result, then what a proportional method would have produced from the same vote totals. Divergence between the bar and the actual grid is the indictment of the method.

Vote share
Actual seats
Proportional seats

Full ward-by-ward results for 2026 →

Composition history

One row per opencouncildata annual snapshot — the council at the end of each year (after that year's elections, by-elections and defections). Newest first; hover any seat for the party.

2026
2024
2023
2022
2021
2020
2019
2018
2017
2016

Ward by ward

Each row is a ward, each column a cycle. Each cell shows the top-of-poll candidate's party (swatch) and their share of valid ballots. Wards are matched by name across cycles — boundary reviews can mean a ward of the same name is a slightly different area in a later cycle.

Ward20162018201920212022202320242026
Bletchley East54%48%46%43%52%57%55%
Bletchley Park40%46%37%51%46%41%46%
Bletchley Park and Fenny Stratford33%
Bletchley South36%
Bletchley West45%49%39%48%49%44%49%36%
Bradwell50%48%54%52%58%57%54%42%
Broughton46%41%49%43%51%59%46%
Broughton and Moulsoe49%
Campbell Park and Old Woughton42%37%37%
Campbell Park and Old Wroughton43%45%48%37%
Campbell Park and Willen39%
Central Milton Keynes53%53%50%52%54%55%54%37%
Danesborough46%
Danesborough and Walton63%61%53%58%50%41%47%
Furzton31%
Great Linford33%
Hanslope49%
Loughton and Shenley52%47%42%49%52%48%45%
Monkston48%52%57%53%58%52%44%
New Bradwell38%
Newport Pagnell50%
Newport Pagnell North and Hanslope48%59%49%57%47%45%48%
Newport Pagnell South54%50%54%42%50%46%46%
Olney58%64%58%60%40%45%53%
Olney and Rural44%
Ouzel Valley38%
Shenley Brook End35%36%34%42%46%39%43%
Stantonbury42%47%41%46%46%51%49%
Stony Stratford43%52%41%44%53%46%51%40%
Tattenhoe47%47%52%52%44%46%49%45%
Walton32%
Watling29%
Wolverton59%54%49%52%60%62%57%39%
Woughton and Fishermead66%63%60%66%70%65%64%39%