← Spelthorne (all cycles) · 4 May 2023 cohort

Spelthorne 2023

Local elections held 4 May 2023.

13 ward races
39 seats
5 unfairly awarded seats
12.8% of seats unfairly awarded

Each race compares the marginal winner's share of valid ballots to the proportional quota — the share they'd need under any common proportional method. How the numbers are derived →

If votes were counted by party

Across the 13 wards in this cycle, parties received the vote totals below. The proportional column shows what each party would have won if the 39 seats had been shared out 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 %Δ
Conservative Party24,65638.5%1230.8%1641.0%-4
Liberal Democrats11,89318.6%1025.6%717.9%+3
Independent11,36317.7%717.9%717.9%0
Labour Party8,69613.6%717.9%512.8%+2
Green Party6,92710.8%37.7%410.3%-1
Reform UK3500.5%00.0%00.0%0
Trade Unionist and Socialist Coalition1570.2%00.0%00.0%0
Total64,042100.0%39100.0%39100.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

Council composition: what this election replaced

The 2023 cycle was an all-out election — every seat was contested. The two opencouncildata snapshots below show the council immediately after the 2023 election (current) and on the eve of it (2022), so you can see what the result replaced.

Current (2023)
Previous (2022)

Wards in this council

Sorted with the largest gap below the quota first. Click any ward to jump to its full result.

Race results

Ashford Town · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 36.0% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +11.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,881

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Arnold, M.Independent80114.2%42.6%+17.6 ptsElected
2Rybinski, O.Conservative Party72512.8%38.5%+13.5 ptsElected
3McLuskey, A.Green Party67712.0%36.0%+11.0 ptsElected
4Gething, N.Conservative Party65311.6%34.7%
5Woodward, P.Conservative Party65111.5%34.6%
6Kluth, M.Labour Party57110.1%30.4%
7Winch, D.Green Party5489.7%29.1%
8Henfrey, R.Independent5199.2%27.6%
9Edgington, Q.Independent4998.8%26.5%

Electorate 5,955 · Back to ward index

Ashford East · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 39.8% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +14.8 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,795

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Sexton, J.Independent99118.4%55.2%+30.2 ptsElected
2Baldock, E.Independent77614.4%43.2%+18.2 ptsElected
3Chandler, R.Conservative Party71413.3%39.8%+14.8 ptsElected
4Robinson, K.Conservative Party61511.4%34.3%
5Tuteja, V.Conservative Party54410.1%30.3%
6Enright, J.Independent4678.7%26.0%
7Dare, G.Labour Party4428.2%24.6%
8Hyde, C.Green Party3195.9%17.8%
9Gravett, G.Independent2654.9%14.8%
10Scott, N.Green Party2534.7%14.1%

Electorate 5,879 · Back to ward index

Laleham and Shepperton Green · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 42.5% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +17.5 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,672

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Howkins, K.Conservative Party94518.8%56.5%+31.5 ptsElected
2Clarke, D.Conservative Party87817.5%52.5%+27.5 ptsElected
3Mathur, A.Conservative Party71014.2%42.5%+17.5 ptsElected
4Whitmore, S.Green Party67313.4%40.2%
5Beecher, G.Green Party61412.2%36.7%
6Thesiger, J.Liberal Democrats4709.4%28.1%
7Cooper, P.Labour Party3787.5%22.6%
8Johnston, J.Independent1923.8%11.5%
9Pattinson, A.Trade Unionist and Socialist Coalition651.3%3.9%
10Couchman, H.Trade Unionist and Socialist Coalition551.1%3.3%
11Couchman, P.Trade Unionist and Socialist Coalition370.7%2.2%

Electorate 6,259 · Back to ward index

Ashford North and Stanwell South · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 43.7% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +18.7 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,534

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Beatty, S.Labour Party72815.8%47.5%+22.5 ptsElected
2Geach, R.Labour Party69515.1%45.3%+20.3 ptsElected
3Buck, M.Labour Party67114.6%43.7%+18.7 ptsElected
4Maya, S.Conservative Party51111.1%33.3%
5Brar, A.Conservative Party50611.0%33.0%
6Fegredo, J.Conservative Party49710.8%32.4%
7Davies, C.Independent4219.1%27.4%
8Lane, J.Independent3958.6%25.7%
9Rough, M.Reform UK1783.9%11.6%

Electorate 6,735 · Back to ward index

Sunbury Common · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 46.3% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +21.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,400

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Boparai, H.Liberal Democrats82819.7%59.1%+34.1 ptsElected
2Dong, M.Liberal Democrats74017.6%52.8%+27.8 ptsElected
3Gyawali, S.Liberal Democrats64815.4%46.3%+21.3 ptsElected
4Beardsmore, I.Independent60814.5%43.4%
5Stanton, J.Independent3488.3%24.9%
6Rollo, S.Conservative Party3478.3%24.8%
7Bhadye, J.Conservative Party2836.7%20.2%
8Sapunovas, A.Conservative Party2275.4%16.2%
9O'Brien, R.Reform UK1724.1%12.3%

Electorate 6,075 · Back to ward index

Ashford Common · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 49.0% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +24.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,578

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Bhadye, S.Conservative Party78316.5%49.6%+24.6 ptsElected
2Islam, N.Conservative Party78116.5%49.5%+24.5 ptsElected
3Rutherford, K.Independent77316.3%49.0%+24.0 ptsElected
4Matharu, J.Conservative Party70915.0%44.9%
5Alexander, D.Independent70614.9%44.7%
6Lamb, A.Labour Party49110.4%31.1%
7Mockford, A.Liberal Democrats49010.4%31.1%

Electorate 6,465 · Back to ward index

Shepperton Town · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 51.0% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +26.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,804

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Attewell, M.Conservative Party1,19422.1%66.2%+41.2 ptsElected
2Brennan, L.Conservative Party95517.6%52.9%+27.9 ptsElected
3Boughtflower, J.Conservative Party92017.0%51.0%+26.0 ptsElected
4Hughes, P.Green Party69412.8%38.5%
5Gammon, M.Liberal Democrats67212.4%37.2%
6Bentley, S.Labour Party55510.3%30.8%
7Bryer, S.Independent4237.8%23.4%

Electorate 5,642 · Back to ward index

Sunbury East · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 51.8% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +26.8 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,852

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Grant, K.Liberal Democrats1,06819.2%57.7%+32.7 ptsElected
2Weerasinghe, W.Conservative Party96717.4%52.2%+27.2 ptsElected
3Lee, M.Conservative Party96017.3%51.8%+26.8 ptsElected
4Alexiou, M.Liberal Democrats95217.1%51.4%
5Patel, J.Conservative Party85215.3%46.0%
6Dollin, D.Green Party75813.6%40.9%

Electorate 5,843 · Back to ward index

Staines · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 52.1% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +27.1 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,809

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Beecher, M.Green Party1,22222.5%67.6%+42.6 ptsElected
2Gale, A.Green Party1,16921.5%64.6%+39.6 ptsElected
3Williams, H.Independent94217.4%52.1%+27.1 ptsElected
4Mustafa, K.Labour Party74013.6%40.9%
5Francis, M.Conservative Party5379.9%29.7%
6Burgess, T.Conservative Party4748.7%26.2%
7Ulisse, A.Conservative Party3436.3%19.0%

Electorate 6,860 · Back to ward index

Staines South · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 55.4% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +30.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,387

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Bateson, C.Liberal Democrats1,17128.1%84.4%+59.4 ptsElected
2Caplin, J.Liberal Democrats1,06425.6%76.7%+51.7 ptsElected
3Burrell, J.Labour Party76918.5%55.4%+30.4 ptsElected
4Hurst, K.Conservative Party43710.5%31.5%
5Watts, M.Conservative Party3839.2%27.6%
6Reid, G.Conservative Party3378.1%24.3%

Electorate 5,329 · Back to ward index

Halliford and Sunbury West · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 55.5% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +30.5 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,501

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Dunn, S.Liberal Democrats1,01422.5%67.5%+42.5 ptsElected
2Nichols, L.Liberal Democrats92120.4%61.3%+36.3 ptsElected
3Turner, J.Liberal Democrats83318.5%55.5%+30.5 ptsElected
4Nowicka, A.Conservative Party48910.9%32.6%
5Brennan, M.Conservative Party48910.9%32.6%
6Robigo, P.Conservative Party47710.6%31.8%
7Bowen, R.Labour Party2816.2%18.7%

Electorate 4,922 · Back to ward index

Stanwell North · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 56.5% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +31.5 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,368

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Doran, S.Labour Party80419.6%58.8%+33.8 ptsElected
2Button, J.Labour Party79819.4%58.3%+33.3 ptsElected
3Doran, J.Labour Party77318.8%56.5%+31.5 ptsElected
4McIlroy, A.Conservative Party63215.4%46.2%
5McIlroy, J.Conservative Party62115.1%45.4%
6Vijjhalwar, R.Conservative Party47611.6%34.8%

Electorate 5,923 · Back to ward index

Riverside and Laleham · 3-seat (bloc vote)

Marginal winner Voter-share estimate of the lowest-vote elected candidate. Comparable to the proportional quota. The raw vote share would be ~3× smaller. 57.9% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +32.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 1,764

This is a 3-seat ward under bloc vote — each voter could cast up to 3 votes, so summing candidate votes overcounts voters by ~3×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 3, the figure comparable to the proportional quota). Why two columns →

RankCandidatePartyVotesShare of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes.Share of voters (est.) Estimated share of voters who supported this candidate, comparable across single- and multi-seat wards. Each voter could cast up to 3 votes, so we approximate ballots as total votes ÷ 3. This is the figure compared against the proportional quota.Below quota Each elected candidate's share of valid ballots minus the proportional quota for this race. Negative = won the seat below the quota; positive = cleared it.Elected
1Saliagopoulos, D.Independent1,19122.5%67.5%+42.5 ptsElected
2Geraci, D.Independent1,04619.8%59.3%+34.3 ptsElected
3Gibson, M.Liberal Democrats1,02219.3%57.9%+32.9 ptsElected
4Mooney, S.Conservative Party75414.2%42.7%
5Malcouronne, K.Conservative Party66112.5%37.5%
6Zenonos, M.Conservative Party61911.7%35.1%

Electorate 5,368 · Back to ward index