← Cardiff (all cycles) · 4 May 2017 cohort
Cardiff 2017
Local elections held 4 May 2017.
How to read this page
Each race below shows the share of valid ballots the marginal elected candidate actually won, and compares it to the proportional quota: the share they'd need to clinch the seat under any proportional voting method (1 seats + 1). For a 1-seat ward the quota is 50%; for 2 seats, 33.3%; for 3 seats, 25%.
Where the actual winning share fell below the quota, we show the signed gap as points below quota (a negative number) — the editorial indictment. Above-quota results clear the bar and pass without comment. The voting method is the subject of every observation here. Named candidates appear as the public election record requires; the cause being audited is the voting method, not the individuals. See the methodology page for derivations.
If votes were counted by party
Across the 29 wards in this cycle, parties received the vote totals below. The proportional column shows what each party would have won if the 75 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.
| Party | Votes | Vote % | Seats won | % of seats | Proportional seats | Proportional % | Δ |
|---|---|---|---|---|---|---|---|
| Labour Party | 112,189 | 39.0% | 40 | 53.3% | 30 | 40.0% | +10 |
| Conservative Party | 74,481 | 25.9% | 20 | 26.7% | 20 | 26.7% | 0 |
| Liberal Democrats | 45,309 | 15.8% | 11 | 14.7% | 12 | 16.0% | -1 |
| Plaid Cymru | 41,243 | 14.3% | 3 | 4.0% | 11 | 14.7% | -8 |
| Green Party | 4,374 | 1.5% | 0 | 0.0% | 1 | 1.3% | -1 |
| HBI | 3,810 | 1.3% | 1 | 1.3% | 1 | 1.3% | 0 |
| UK Independence Party (UKIP) | 2,995 | 1.0% | 0 | 0.0% | 0 | 0.0% | 0 |
| Independent | 2,372 | 0.8% | 0 | 0.0% | 0 | 0.0% | 0 |
| Trade Unionist and Socialist Coalition | 812 | 0.3% | 0 | 0.0% | 0 | 0.0% | 0 |
| Total | 287,585 | 100.0% | 75 | 100.0% | 75 | 100.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.
Council composition: what this election replaced
The 2017 cycle was an all-out election — every seat was contested. The two opencouncildata snapshots below show the council immediately after the 2017 election (current) and on the eve of it (2016), so you can see what the result replaced.
Wards in this council
Sorted with the largest gap below the quota first. Click any ward to jump to its full result.
- Radyr · 1 seat · won at 43.1% · −6.9 pts below quota
- Creigiau/St Fagans · 1 seat · won at 47.0% · −3.0 pts below quota
- Pentyrch · 1 seat · won at 47.4% · −2.6 pts below quota
- Llandaff · 2 seats · won at 31.4% · −1.9 pts below quota
- Butetown · 1 seat · won at 56.2% · above quota
- Heath · 3 seats · won at 34.1% · above quota
- Adamsdown · 2 seats · won at 44.5% · above quota
- Gabalfa · 2 seats · won at 45.5% · above quota
- Caerau · 2 seats · won at 46.3% · above quota
- Trowbridge · 3 seats · won at 38.0% · above quota
- Cyncoed · 3 seats · won at 39.1% · above quota
- Rumney · 2 seats · won at 47.7% · above quota
- Pentwyn · 4 seats · won at 37.6% · above quota
- Canton · 3 seats · won at 43.7% · above quota
- Penylan · 3 seats · won at 44.4% · above quota
- Grangetown · 3 seats · won at 45.3% · above quota
- Llanishen · 4 seats · won at 40.8% · above quota
- Whitchurch and Tongwynlais · 4 seats · won at 41.3% · above quota
- Llandaff North · 2 seats · won at 55.0% · above quota
- Rhiwbina · 3 seats · won at 47.3% · above quota
- Riverside · 3 seats · won at 47.9% · above quota
- Pontprennau/Old St Mellons · 2 seats · won at 57.0% · above quota
- Ely · 3 seats · won at 48.8% · above quota
- Fairwater · 3 seats · won at 49.4% · above quota
- Lisvane · 1 seat · won at 75.6% · above quota
- Cathays · 4 seats · won at 46.9% · above quota
- Plasnewydd · 4 seats · won at 47.3% · above quota
- Llanrumney · 3 seats · won at 55.3% · above quota
- Splott · 3 seats · won at 57.0% · above quota
Race results
Radyr · single-seat
Marginal winner Winning candidate's share of valid ballots. 43.1% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −6.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,768
| Rank | Candidate | Party | Votes | Share of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes. | 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 |
|---|---|---|---|---|---|---|
| 1 | Rod McKerlich | Conservative Party | 1,193 | 43.1% | −6.9 pts | Elected |
| 2 | Michael Deem | Plaid Cymru | 999 | 36.1% | — | |
| 3 | Mohammed Rafiqul Islam | Labour Party | 358 | 12.9% | — | |
| 4 | Hilary Borrow | Liberal Democrats | 218 | 7.9% | — |
Creigiau/St Fagans · single-seat
Marginal winner Winning candidate's share of valid ballots. 47.0% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −3.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,017
| Rank | Candidate | Party | Votes | Share of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes. | 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 |
|---|---|---|---|---|---|---|
| 1 | Graham Thomas | Conservative Party | 948 | 47.0% | −3.0 pts | Elected |
| 2 | Wynford Owen | Plaid Cymru | 644 | 31.9% | — | |
| 3 | John Yarrow | Labour Party | 334 | 16.6% | — | |
| 4 | Peter Borrow | Liberal Democrats | 91 | 4.5% | — |
Pentyrch · single-seat
Marginal winner Winning candidate's share of valid ballots. 47.4% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −2.6 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 1,548
| Rank | Candidate | Party | Votes | Share of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes. | 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 |
|---|---|---|---|---|---|---|
| 1 | Gavin Hill-John | Conservative Party | 733 | 47.4% | −2.6 pts | Elected |
| 2 | Hywel Wigley | Plaid Cymru | 518 | 33.5% | — | |
| 3 | Richard Hughes | Labour Party | 234 | 15.1% | — | |
| 4 | Caroline Morris | Liberal Democrats | 63 | 4.1% | — |
Llandaff · 2-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 ~2× smaller. 31.4% Proportional quota 33.3% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −1.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 2 seats. Source data does not publish a ballot count for this cycle. 3,724
This is a 2-seat ward under bloc vote — each voter could cast up to 2 votes, so summing candidate votes overcounts voters by ~2×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 2, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 2 votes, so we approximate ballots as total votes ÷ 2. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Sean Driscoll | Conservative Party | 1,370 | 18.4% | 36.8% | +3.5 pts | Elected |
| 2 | Philipa Hill-John | Conservative Party | 1,169 | 15.7% | 31.4% | −1.9 pts | Elected |
| 3 | Judith Allan | Plaid Cymru | 1,087 | 14.6% | 29.2% | — | |
| 4 | Angharad Llwyd | Plaid Cymru | 1,017 | 13.7% | 27.3% | — | |
| 5 | Catherine Antippas | Labour Party | 944 | 12.7% | 25.3% | — | |
| 6 | Keith Jackson | Labour Party | 853 | 11.5% | 22.9% | — | |
| 7 | Mike Baker | Independent | 349 | 4.7% | 9.4% | — | |
| 8 | Alexander Meredith | Liberal Democrats | 270 | 3.6% | 7.3% | — | |
| 9 | Christine Lutwyche | Liberal Democrats | 259 | 3.5% | 7.0% | — | |
| 10 | Benjamin Smith | Green Party | 130 | 1.7% | 3.5% | — |
Butetown · single-seat
Marginal winner Winning candidate's share of valid ballots. 56.2% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +6.2 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,602
| Rank | Candidate | Party | Votes | Share of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes. | 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 |
|---|---|---|---|---|---|---|
| 1 | Saeed Ebrahim | Labour Party | 1,462 | 56.2% | +6.2 pts | Elected |
| 2 | Arreyeh-Naasir Aadan | Plaid Cymru | 462 | 17.8% | — | |
| 3 | Heather Ward | Conservative Party | 356 | 13.7% | — | |
| 4 | Michail Arapis | Liberal Democrats | 237 | 9.1% | — | |
| 5 | Neil Monteiro | Green Party | 85 | 3.3% | — |
Heath · 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. 34.1% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +9.1 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 5,096
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Graham Hinchey | Labour Party | 2,010 | 13.1% | 39.4% | +14.4 pts | Elected |
| 2 | Lyn Hudson | Conservative Party | 1,830 | 12.0% | 35.9% | +10.9 pts | Elected |
| 3 | Fenella Bowden | HBI | 1,737 | 11.4% | 34.1% | +9.1 pts | Elected |
| 4 | Penelope Owen | Labour Party | 1,704 | 11.1% | 33.4% | — | |
| 5 | Michael Ash-Edwards | Labour Party | 1,667 | 10.9% | 32.7% | — | |
| 6 | Peter Hudson | Conservative Party | 1,602 | 10.5% | 31.4% | — | |
| 7 | Michelle Michaelis | Conservative Party | 1,477 | 9.7% | 29.0% | — | |
| 8 | Steven Bowden | HBI | 1,143 | 7.5% | 22.4% | — | |
| 9 | Jane Reece | HBI | 930 | 6.1% | 18.3% | — | |
| 10 | Helen Smith | Plaid Cymru | 410 | 2.7% | 8.0% | — | |
| 11 | Christopher von Ruhland | Green Party | 251 | 1.6% | 4.9% | — | |
| 12 | Peter Randerson | Liberal Democrats | 244 | 1.6% | 4.8% | — | |
| 13 | Wijdan Said | Liberal Democrats | 163 | 1.1% | 3.2% | — | |
| 14 | Daniel Schmeising-Barnes | Liberal Democrats | 119 | 0.8% | 2.3% | — |
Adamsdown · 2-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 ~2× smaller. 44.5% Proportional quota 33.3% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +11.2 pts Valid ballots (est.) Estimated voters: total votes ÷ 2 seats. Source data does not publish a ballot count for this cycle. 2,052
This is a 2-seat ward under bloc vote — each voter could cast up to 2 votes, so summing candidate votes overcounts voters by ~2×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 2, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 2 votes, so we approximate ballots as total votes ÷ 2. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Nigel Howells | Liberal Democrats | 917 | 22.3% | 44.7% | +11.4 pts | Elected |
| 2 | Owen Jones | Labour Party | 913 | 22.2% | 44.5% | +11.2 pts | Elected |
| 3 | Gwenda Owen | Labour Party | 874 | 21.3% | 42.6% | — | |
| 4 | John Dixon | Liberal Democrats | 863 | 21.0% | 42.1% | — | |
| 5 | Catherine Hemingway | Conservative Party | 107 | 2.6% | 5.2% | — | |
| 6 | Edward Mason | Plaid Cymru | 105 | 2.6% | 5.1% | — | |
| 7 | Esyllt Meurig | Plaid Cymru | 100 | 2.4% | 4.9% | — | |
| 8 | Mark Pritchard | Green Party | 99 | 2.4% | 4.8% | — | |
| 9 | Pauline Ambani | Conservative Party | 97 | 2.4% | 4.7% | — | |
| 10 | David Reid | Trade Unionist and Socialist Coalition | 29 | 0.7% | 1.4% | — |
Gabalfa · 2-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 ~2× smaller. 45.5% Proportional quota 33.3% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +12.2 pts Valid ballots (est.) Estimated voters: total votes ÷ 2 seats. Source data does not publish a ballot count for this cycle. 2,020
This is a 2-seat ward under bloc vote — each voter could cast up to 2 votes, so summing candidate votes overcounts voters by ~2×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 2, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 2 votes, so we approximate ballots as total votes ÷ 2. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Rhys Taylor | Liberal Democrats | 922 | 22.8% | 45.6% | +12.3 pts | Elected |
| 2 | Ashley Wood | Liberal Democrats | 920 | 22.8% | 45.5% | +12.2 pts | Elected |
| 3 | Joycelyn Coughlan | Labour Party | 818 | 20.2% | 40.5% | — | |
| 4 | Matthew Hexter | Labour Party | 719 | 17.8% | 35.6% | — | |
| 5 | Sioned Treharne | Plaid Cymru | 178 | 4.4% | 8.8% | — | |
| 6 | Gareth Kennard-Holden | Plaid Cymru | 169 | 4.2% | 8.4% | — | |
| 7 | Niall Piercy | Conservative Party | 165 | 4.1% | 8.2% | — | |
| 8 | Margaret Evans | Conservative Party | 149 | 3.7% | 7.4% | — |
Caerau · 2-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 ~2× smaller. 46.3% Proportional quota 33.3% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +12.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 2 seats. Source data does not publish a ballot count for this cycle. 2,490
This is a 2-seat ward under bloc vote — each voter could cast up to 2 votes, so summing candidate votes overcounts voters by ~2×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 2, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 2 votes, so we approximate ballots as total votes ÷ 2. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Peter Bradbury | Labour Party | 1,340 | 26.9% | 53.8% | +20.5 pts | Elected |
| 2 | Elaine Simmons | Labour Party | 1,152 | 23.1% | 46.3% | +12.9 pts | Elected |
| 3 | Matthew Harvey | Plaid Cymru | 881 | 17.7% | 35.4% | — | |
| 4 | Jonathan Swan | Plaid Cymru | 788 | 15.8% | 31.6% | — | |
| 5 | Edna Huntley | Conservative Party | 382 | 7.7% | 15.3% | — | |
| 6 | Kolawole Ponnle | Conservative Party | 277 | 5.6% | 11.1% | — | |
| 7 | John Speake | Liberal Democrats | 71 | 1.4% | 2.9% | — | |
| 8 | Laura Speake | Liberal Democrats | 61 | 1.2% | 2.4% | — | |
| 9 | John Williams | Trade Unionist and Socialist Coalition | 28 | 0.6% | 1.1% | — |
Trowbridge · 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. 38.0% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +13.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 2,789
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Christopher Lay | Labour Party | 1,239 | 14.8% | 44.4% | +19.4 pts | Elected |
| 2 | Mary Bowen-Thomson | Labour Party | 1,145 | 13.7% | 41.1% | +16.1 pts | Elected |
| 3 | Michael Costas-Michael | Labour Party | 1,061 | 12.7% | 38.0% | +13.0 pts | Elected |
| 4 | Ralph Cook | Liberal Democrats | 741 | 8.9% | 26.6% | — | |
| 5 | Richard Foley | Conservative Party | 692 | 8.3% | 24.8% | — | |
| 6 | Thomas Harrison | UK Independence Party (UKIP) | 629 | 7.5% | 22.6% | — | |
| 7 | Janine Jones-Pritchard | Conservative Party | 584 | 7.0% | 20.9% | — | |
| 8 | Jade Smith | Liberal Democrats | 540 | 6.5% | 19.4% | — | |
| 9 | Russell Tysoe | Liberal Democrats | 479 | 5.7% | 17.2% | — | |
| 10 | Thomas Hall | Conservative Party | 249 | 3.0% | 8.9% | — | |
| 11 | Cerith Griffiths | Plaid Cymru | 235 | 2.8% | 8.4% | — | |
| 12 | Catrin Davies | Plaid Cymru | 211 | 2.5% | 7.6% | — | |
| 13 | Patrick Daley | Plaid Cymru | 196 | 2.3% | 7.0% | — | |
| 14 | Richard Lewis | UK Independence Party (UKIP) | 193 | 2.3% | 6.9% | — | |
| 15 | Lawrence Lado | UK Independence Party (UKIP) | 172 | 2.1% | 6.2% | — |
Cyncoed · 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.1% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +14.1 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 4,523
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Wendy Congreve | Liberal Democrats | 1,874 | 13.8% | 41.4% | +16.4 pts | Elected |
| 2 | Kathryn Kelloway | Conservative Party | 1,852 | 13.6% | 40.9% | +15.9 pts | Elected |
| 3 | Bablin Molik | Liberal Democrats | 1,769 | 13.0% | 39.1% | +14.1 pts | Elected |
| 4 | Lee Canning | Conservative Party | 1,737 | 12.8% | 38.4% | — | |
| 5 | Lee Gonzalez | Conservative Party | 1,733 | 12.8% | 38.3% | — | |
| 6 | Jayne Lutwyche | Liberal Democrats | 1,727 | 12.7% | 38.2% | — | |
| 7 | Ian Bounds | Labour Party | 996 | 7.3% | 22.0% | — | |
| 8 | Alvin Shum | Labour Party | 757 | 5.6% | 16.7% | — | |
| 9 | Louise Thomas | Labour Party | 710 | 5.2% | 15.7% | — | |
| 10 | Timothy Jones | Green Party | 415 | 3.1% | 9.2% | — |
Rumney · 2-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 ~2× smaller. 47.7% Proportional quota 33.3% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +14.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 2 seats. Source data does not publish a ballot count for this cycle. 2,131
This is a 2-seat ward under bloc vote — each voter could cast up to 2 votes, so summing candidate votes overcounts voters by ~2×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 2, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 2 votes, so we approximate ballots as total votes ÷ 2. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Bob Derbyshire | Labour Party | 1,030 | 24.2% | 48.3% | +15.0 pts | Elected |
| 2 | Jacqueline Parry | Labour Party | 1,017 | 23.9% | 47.7% | +14.4 pts | Elected |
| 3 | Gareth Lloyd | Conservative Party | 871 | 20.4% | 40.9% | — | |
| 4 | James Roach | Conservative Party | 684 | 16.1% | 32.1% | — | |
| 5 | John Ireland | UK Independence Party (UKIP) | 221 | 5.2% | 10.4% | — | |
| 6 | Wayne Cashin | UK Independence Party (UKIP) | 204 | 4.8% | 9.6% | — | |
| 7 | Peter Amoss | Liberal Democrats | 104 | 2.4% | 4.9% | — | |
| 8 | Hugh Minor | Liberal Democrats | 91 | 2.1% | 4.3% | — | |
| 9 | Emily Stables | Trade Unionist and Socialist Coalition | 39 | 0.9% | 1.8% | — |
Pentwyn · 4-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 ~4× smaller. 37.6% Proportional quota 20.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +17.6 pts Valid ballots (est.) Estimated voters: total votes ÷ 4 seats. Source data does not publish a ballot count for this cycle. 3,757
This is a 4-seat ward under bloc vote — each voter could cast up to 4 votes, so summing candidate votes overcounts voters by ~4×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 4, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 4 votes, so we approximate ballots as total votes ÷ 4. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Joseph Carter | Liberal Democrats | 1,822 | 12.1% | 48.5% | +28.5 pts | Elected |
| 2 | Emma-Jayne Sandrey | Liberal Democrats | 1,627 | 10.8% | 43.3% | +23.3 pts | Elected |
| 3 | Daniel Naughton | Liberal Democrats | 1,578 | 10.5% | 42.0% | +22.0 pts | Elected |
| 4 | Frank Jacobsen | Labour Party | 1,411 | 9.4% | 37.6% | +17.6 pts | Elected |
| 5 | Michael Fogg | Labour Party | 1,409 | 9.4% | 37.5% | — | |
| 6 | Jonathan Shimmin | Liberal Democrats | 1,346 | 9.0% | 35.8% | — | |
| 7 | Samsunear Ali | Labour Party | 1,325 | 8.8% | 35.3% | — | |
| 8 | Margaret Thomas | Labour Party | 1,199 | 8.0% | 31.9% | — | |
| 9 | Kathleen Fisher | Conservative Party | 663 | 4.4% | 17.6% | — | |
| 10 | Munawar Mughal | Conservative Party | 623 | 4.1% | 16.6% | — | |
| 11 | Nathan Watson | Conservative Party | 559 | 3.7% | 14.9% | — | |
| 12 | Jack Sellers | Conservative Party | 530 | 3.5% | 14.1% | — | |
| 13 | Andrew Morgan | Plaid Cymru | 236 | 1.6% | 6.3% | — | |
| 14 | Pauline Morgan | Plaid Cymru | 228 | 1.5% | 6.1% | — | |
| 15 | Martin Pollard | Plaid Cymru | 202 | 1.3% | 5.4% | — | |
| 16 | Huw Hughes | Plaid Cymru | 172 | 1.1% | 4.6% | — | |
| 17 | Stephen Williams | Trade Unionist and Socialist Coalition | 98 | 0.7% | 2.6% | — |
Canton · 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. 5,261
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Susan Elsmore | Labour Party | 2,370 | 15.0% | 45.0% | +20.0 pts | Elected |
| 2 | Stephen Cunnah | Labour Party | 2,314 | 14.7% | 44.0% | +19.0 pts | Elected |
| 3 | Ramesh Patel | Labour Party | 2,301 | 14.6% | 43.7% | +18.7 pts | Elected |
| 4 | Rhys ab Owen | Plaid Cymru | 2,015 | 12.8% | 38.3% | — | |
| 5 | Elin Tudur | Plaid Cymru | 1,944 | 12.3% | 37.0% | — | |
| 6 | John Lowes | Plaid Cymru | 1,867 | 11.8% | 35.5% | — | |
| 7 | David Davies | Conservative Party | 666 | 4.2% | 12.7% | — | |
| 8 | Barbara Davies | Conservative Party | 649 | 4.1% | 12.3% | — | |
| 9 | Morgan Griffith-David | Liberal Democrats | 376 | 2.4% | 7.1% | — | |
| 10 | Aileen Ashmore | Conservative Party | 363 | 2.3% | 6.9% | — | |
| 11 | Daniel McGowan | Green Party | 363 | 2.3% | 6.9% | — | |
| 12 | Peter Harding | Liberal Democrats | 281 | 1.8% | 5.3% | — | |
| 13 | Andrew Owen | Liberal Democrats | 274 | 1.7% | 5.2% | — |
Penylan · 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. 44.4% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +19.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 4,683
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Michael Boyle | Liberal Democrats | 2,509 | 17.9% | 53.6% | +28.6 pts | Elected |
| 2 | Rodney Berman | Liberal Democrats | 2,195 | 15.6% | 46.9% | +21.9 pts | Elected |
| 3 | Asghar Ali | Liberal Democrats | 2,078 | 14.8% | 44.4% | +19.4 pts | Elected |
| 4 | Louise Westlake | Labour Party | 1,317 | 9.4% | 28.1% | — | |
| 5 | Bethan Proctor | Labour Party | 1,231 | 8.8% | 26.3% | — | |
| 6 | Sajad Nazari | Labour Party | 1,044 | 7.4% | 22.3% | — | |
| 7 | Sara Canning | Conservative Party | 855 | 6.1% | 18.3% | — | |
| 8 | Rhys Gadsby | Conservative Party | 743 | 5.3% | 15.9% | — | |
| 9 | Sophie Tyrill | Conservative Party | 723 | 5.1% | 15.4% | — | |
| 10 | Nicholas Carter | Plaid Cymru | 543 | 3.9% | 11.6% | — | |
| 11 | Huw Burrows | Green Party | 495 | 3.5% | 10.6% | — | |
| 12 | Leigh Worrall | Independent | 316 | 2.2% | 6.7% | — |
Grangetown · 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. 45.3% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +20.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 4,679
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Ashley Lister | Labour Party | 2,199 | 15.7% | 47.0% | +22.0 pts | Elected |
| 2 | Abdul Sattar | Labour Party | 2,198 | 15.7% | 47.0% | +22.0 pts | Elected |
| 3 | Lynda Thorne | Labour Party | 2,121 | 15.1% | 45.3% | +20.3 pts | Elected |
| 4 | Mohammed Tariq Awan | Plaid Cymru | 1,757 | 12.5% | 37.6% | — | |
| 5 | David Vaughan | Plaid Cymru | 1,438 | 10.2% | 30.7% | — | |
| 6 | Elizabeth Musa | Plaid Cymru | 1,310 | 9.3% | 28.0% | — | |
| 7 | Michael Bryan | Conservative Party | 671 | 4.8% | 14.3% | — | |
| 8 | Jenna Malvisi | Conservative Party | 604 | 4.3% | 12.9% | — | |
| 9 | Andrew Pike | Conservative Party | 580 | 4.1% | 12.4% | — | |
| 10 | Jahangir Hussain | Liberal Democrats | 350 | 2.5% | 7.5% | — | |
| 11 | Simon Morton | Green Party | 272 | 1.9% | 5.8% | — | |
| 12 | Malcolm Evans | Liberal Democrats | 232 | 1.7% | 5.0% | — | |
| 13 | Muhammad Imran Latif | Liberal Democrats | 194 | 1.4% | 4.1% | — | |
| 14 | Lianne Francis | Trade Unionist and Socialist Coalition | 65 | 0.5% | 1.4% | — | |
| 15 | Joseph Fathallah | Trade Unionist and Socialist Coalition | 46 | 0.3% | 1.0% | — |
Llanishen · 4-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 ~4× smaller. 40.8% Proportional quota 20.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +20.8 pts Valid ballots (est.) Estimated voters: total votes ÷ 4 seats. Source data does not publish a ballot count for this cycle. 6,197
This is a 4-seat ward under bloc vote — each voter could cast up to 4 votes, so summing candidate votes overcounts voters by ~4×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 4, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 4 votes, so we approximate ballots as total votes ÷ 4. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Shaun Jenkins | Conservative Party | 2,890 | 11.7% | 46.6% | +26.6 pts | Elected |
| 2 | Phillip Bale | Labour Party | 2,805 | 11.3% | 45.3% | +25.3 pts | Elected |
| 3 | John Lancaster | Conservative Party | 2,804 | 11.3% | 45.3% | +25.3 pts | Elected |
| 4 | Thomas Parkhill | Conservative Party | 2,528 | 10.2% | 40.8% | +20.8 pts | Elected |
| 5 | Garry Hunt | Labour Party | 2,523 | 10.2% | 40.7% | — | |
| 6 | Daniel Ruff | Conservative Party | 2,383 | 9.6% | 38.5% | — | |
| 7 | Jacqueline Jones | Labour Party | 2,282 | 9.2% | 36.8% | — | |
| 8 | Masudah Ali | Labour Party | 2,254 | 9.1% | 36.4% | — | |
| 9 | Lona Roberts | Plaid Cymru | 666 | 2.7% | 10.7% | — | |
| 10 | Karl Mudd | Liberal Democrats | 593 | 2.4% | 9.6% | — | |
| 11 | Sarah Bridges | Liberal Democrats | 575 | 2.3% | 9.3% | — | |
| 12 | Anabella Rees | Liberal Democrats | 543 | 2.2% | 8.8% | — | |
| 13 | Michael Cope | Green Party | 528 | 2.1% | 8.5% | — | |
| 14 | Robert Godfrey | Liberal Democrats | 449 | 1.8% | 7.2% | — | |
| 15 | Lawrence Gwynn | UK Independence Party (UKIP) | 323 | 1.3% | 5.2% | — | |
| 16 | Crispin John | UK Independence Party (UKIP) | 240 | 1.0% | 3.9% | — | |
| 17 | Vivian Evans | UK Independence Party (UKIP) | 220 | 0.9% | 3.6% | — | |
| 18 | John Hill | UK Independence Party (UKIP) | 180 | 0.7% | 2.9% | — |
Whitchurch and Tongwynlais · 4-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 ~4× smaller. 41.3% Proportional quota 20.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 ÷ 4 seats. Source data does not publish a ballot count for this cycle. 6,671
This is a 4-seat ward under bloc vote — each voter could cast up to 4 votes, so summing candidate votes overcounts voters by ~4×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 4, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 4 votes, so we approximate ballots as total votes ÷ 4. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Michael Phillips | Conservative Party | 2,905 | 10.9% | 43.5% | +23.5 pts | Elected |
| 2 | Timothy Davies | Conservative Party | 2,900 | 10.9% | 43.5% | +23.5 pts | Elected |
| 3 | Linda Morgan | Conservative Party | 2,856 | 10.7% | 42.8% | +22.8 pts | Elected |
| 4 | Michael Jones-Pritchard | Conservative Party | 2,753 | 10.3% | 41.3% | +21.3 pts | Elected |
| 5 | Hannah Buckingham | Labour Party | 2,700 | 10.1% | 40.5% | — | |
| 6 | Marc Palmer | Labour Party | 2,488 | 9.3% | 37.3% | — | |
| 7 | Norman Gettings | Labour Party | 2,461 | 9.2% | 36.9% | — | |
| 8 | Maliika Kaaba | Labour Party | 2,234 | 8.4% | 33.5% | — | |
| 9 | Mali Rowlands | Plaid Cymru | 962 | 3.6% | 14.4% | — | |
| 10 | Daniel Allsobrook | Plaid Cymru | 951 | 3.6% | 14.3% | — | |
| 11 | Glenys Evans | Plaid Cymru | 885 | 3.3% | 13.3% | — | |
| 12 | Julia Burns | Plaid Cymru | 856 | 3.2% | 12.8% | — | |
| 13 | Lynne Barrett-Lee | Liberal Democrats | 540 | 2.0% | 8.1% | — | |
| 14 | Dominic Eggbeer | Liberal Democrats | 516 | 1.9% | 7.7% | — | |
| 15 | Geraldine Nichols | Liberal Democrats | 365 | 1.4% | 5.5% | — | |
| 16 | Usman Mahmood Bukhari | Liberal Democrats | 312 | 1.2% | 4.7% | — |
Llandaff North · 2-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 ~2× smaller. 55.0% Proportional quota 33.3% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +21.7 pts Valid ballots (est.) Estimated voters: total votes ÷ 2 seats. Source data does not publish a ballot count for this cycle. 2,453
This is a 2-seat ward under bloc vote — each voter could cast up to 2 votes, so summing candidate votes overcounts voters by ~2×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 2, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 2 votes, so we approximate ballots as total votes ÷ 2. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Dilwar Ali | Labour Party | 1,400 | 28.5% | 57.1% | +23.8 pts | Elected |
| 2 | Jennifer Burke-Davies | Labour Party | 1,349 | 27.5% | 55.0% | +21.7 pts | Elected |
| 3 | Elizabeth Morgan | Conservative Party | 531 | 10.8% | 21.7% | — | |
| 4 | Steffan Webb | Plaid Cymru | 439 | 9.0% | 17.9% | — | |
| 5 | Diana Abuzaid | Conservative Party | 422 | 8.6% | 17.2% | — | |
| 6 | Gillian Griffin | Plaid Cymru | 394 | 8.0% | 16.1% | — | |
| 7 | Elinor Dixon | Liberal Democrats | 171 | 3.5% | 7.0% | — | |
| 8 | Matthew Dixon | Liberal Democrats | 104 | 2.1% | 4.2% | — | |
| 9 | Jonathan Bishop | Independent | 56 | 1.1% | 2.3% | — | |
| 10 | Gwilym Evans | Trade Unionist and Socialist Coalition | 39 | 0.8% | 1.6% | — |
Rhiwbina · 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. 47.3% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +22.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 5,426
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Jayne Cowan | Conservative Party | 3,595 | 22.1% | 66.3% | +41.3 pts | Elected |
| 2 | Adrian Robson | Conservative Party | 3,230 | 19.8% | 59.5% | +34.5 pts | Elected |
| 3 | Oliver Owen | Conservative Party | 2,565 | 15.8% | 47.3% | +22.3 pts | Elected |
| 4 | Eleanor Sanders | Independent | 1,565 | 9.6% | 28.8% | — | |
| 5 | Meurig Williams | Labour Party | 1,524 | 9.4% | 28.1% | — | |
| 6 | Clare Jones | Labour Party | 1,500 | 9.2% | 27.6% | — | |
| 7 | Alan Golding | Labour Party | 1,159 | 7.1% | 21.4% | — | |
| 8 | Stephen Lake | Plaid Cymru | 402 | 2.5% | 7.4% | — | |
| 9 | Jonathan Land | Liberal Democrats | 371 | 2.3% | 6.8% | — | |
| 10 | Philippa Willmot | Liberal Democrats | 198 | 1.2% | 3.6% | — | |
| 11 | Dale Hargrove | Liberal Democrats | 170 | 1.0% | 3.1% | — |
Riverside · 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. 47.9% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +22.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 4,052
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Iona Gordon | Labour Party | 2,278 | 18.7% | 56.2% | +31.2 pts | Elected |
| 2 | Caro Wild | Labour Party | 2,050 | 16.9% | 50.6% | +25.6 pts | Elected |
| 3 | Hardave Singh | Labour Party | 1,941 | 16.0% | 47.9% | +22.9 pts | Elected |
| 4 | Ruksana Begum | Plaid Cymru | 1,126 | 9.3% | 27.8% | — | |
| 5 | Richard Williams | Plaid Cymru | 1,054 | 8.7% | 26.0% | — | |
| 6 | Mubashar Khan Sawati | Plaid Cymru | 959 | 7.9% | 23.7% | — | |
| 7 | Jason Griffin | Conservative Party | 510 | 4.2% | 12.6% | — | |
| 8 | Leon Bancroft | Conservative Party | 464 | 3.8% | 11.5% | — | |
| 9 | Gaener Davies | Conservative Party | 415 | 3.4% | 10.2% | — | |
| 10 | Alun Williams | Liberal Democrats | 401 | 3.3% | 9.9% | — | |
| 11 | Kenneth Barker | Green Party | 400 | 3.3% | 9.9% | — | |
| 12 | Molik Ahmed | Liberal Democrats | 255 | 2.1% | 6.3% | — | |
| 13 | Callum Littlemore | Liberal Democrats | 218 | 1.8% | 5.4% | — | |
| 14 | Ahmed Alsisi | Independent | 86 | 0.7% | 2.1% | — |
Pontprennau/Old St Mellons · 2-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 ~2× smaller. 57.0% Proportional quota 33.3% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +23.6 pts Valid ballots (est.) Estimated voters: total votes ÷ 2 seats. Source data does not publish a ballot count for this cycle. 3,090
This is a 2-seat ward under bloc vote — each voter could cast up to 2 votes, so summing candidate votes overcounts voters by ~2×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 2, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 2 votes, so we approximate ballots as total votes ÷ 2. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Dianne Rees | Conservative Party | 1,851 | 30.0% | 59.9% | +26.6 pts | Elected |
| 2 | Joel Williams | Conservative Party | 1,760 | 28.5% | 57.0% | +23.6 pts | Elected |
| 3 | Georgina Phillips | Labour Party | 1,134 | 18.4% | 36.7% | — | |
| 4 | Shane Andrews | Labour Party | 891 | 14.4% | 28.8% | — | |
| 5 | David Davies | Plaid Cymru | 200 | 3.2% | 6.5% | — | |
| 6 | Mary Naughton | Liberal Democrats | 176 | 2.8% | 5.7% | — | |
| 7 | David Keigwin | Liberal Democrats | 167 | 2.7% | 5.4% | — |
Ely · 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. 48.8% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +23.8 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 2,601
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Susan Goddard | Labour Party | 1,472 | 18.9% | 56.6% | +31.6 pts | Elected |
| 2 | James Murphy | Labour Party | 1,380 | 17.7% | 53.1% | +28.1 pts | Elected |
| 3 | Russell Goodway | Labour Party | 1,269 | 16.3% | 48.8% | +23.8 pts | Elected |
| 4 | Lowri Brown | Plaid Cymru | 786 | 10.1% | 30.2% | — | |
| 5 | Christopher Newth | Plaid Cymru | 745 | 9.5% | 28.6% | — | |
| 6 | Andrea Gibson | Plaid Cymru | 622 | 8.0% | 23.9% | — | |
| 7 | Owen Robbins | Conservative Party | 509 | 6.5% | 19.6% | — | |
| 8 | Leighton McEwan | Conservative Party | 507 | 6.5% | 19.5% | — | |
| 9 | Linda Amoss | Liberal Democrats | 267 | 3.4% | 10.3% | — | |
| 10 | Michael Rees | Liberal Democrats | 97 | 1.2% | 3.7% | — | |
| 11 | Matthew Hemsley | Liberal Democrats | 84 | 1.1% | 3.2% | — | |
| 12 | Richard Edwards | Trade Unionist and Socialist Coalition | 64 | 0.8% | 2.5% | — |
Fairwater · 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.4% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +24.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 4,083
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Neil McEvoy | Plaid Cymru | 2,414 | 19.7% | 59.1% | +34.1 pts | Elected |
| 2 | Lisa Ford | Plaid Cymru | 2,349 | 19.2% | 57.5% | +32.5 pts | Elected |
| 3 | Keith Parry | Plaid Cymru | 2,017 | 16.5% | 49.4% | +24.4 pts | Elected |
| 4 | Paul Mitchell | Labour Party | 1,160 | 9.5% | 28.4% | — | |
| 5 | John Bayliss | Labour Party | 1,101 | 9.0% | 27.0% | — | |
| 6 | Irene Humphreys | Labour Party | 1,039 | 8.5% | 25.4% | — | |
| 7 | John Williams | Conservative Party | 535 | 4.4% | 13.1% | — | |
| 8 | Alan Hill | Conservative Party | 533 | 4.4% | 13.1% | — | |
| 9 | Ronald Michaelis | Conservative Party | 450 | 3.7% | 11.0% | — | |
| 10 | Eleri Randerson | Liberal Democrats | 203 | 1.7% | 5.0% | — | |
| 11 | Philip Croxall | Green Party | 190 | 1.6% | 4.7% | — | |
| 12 | Mark Rees | Liberal Democrats | 92 | 0.8% | 2.3% | — | |
| 13 | Oliver Townsend | Liberal Democrats | 92 | 0.8% | 2.3% | — | |
| 14 | Ross Saunders | Trade Unionist and Socialist Coalition | 73 | 0.6% | 1.8% | — |
Lisvane · single-seat
Marginal winner Winning candidate's share of valid ballots. 75.6% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +25.6 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 1,630
| Rank | Candidate | Party | Votes | Share of votes Candidate votes ÷ total votes cast in this ward. Matches the share the council publishes. | 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 |
|---|---|---|---|---|---|---|
| 1 | David Walker | Conservative Party | 1,232 | 75.6% | +25.6 pts | Elected |
| 2 | Jessica Taylor | Labour Party | 219 | 13.4% | — | |
| 3 | Myfanwy Price | Liberal Democrats | 130 | 8.0% | — | |
| 4 | Anthony Couch | Plaid Cymru | 49 | 3.0% | — |
Cathays · 4-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 ~4× smaller. 46.9% Proportional quota 20.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +26.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 4 seats. Source data does not publish a ballot count for this cycle. 3,110
This is a 4-seat ward under bloc vote — each voter could cast up to 4 votes, so summing candidate votes overcounts voters by ~4×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 4, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 4 votes, so we approximate ballots as total votes ÷ 4. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Sarah Merry | Labour Party | 1,639 | 13.2% | 52.7% | +32.7 pts | Elected |
| 2 | Ali Ahmed | Labour Party | 1,581 | 12.7% | 50.8% | +30.8 pts | Elected |
| 3 | Chris Weaver | Labour Party | 1,468 | 11.8% | 47.2% | +27.2 pts | Elected |
| 4 | Norma Mackie | Labour Party | 1,458 | 11.7% | 46.9% | +26.9 pts | Elected |
| 5 | Elizabeth Clark | Liberal Democrats | 976 | 7.8% | 31.4% | — | |
| 6 | Jack Satterthwaite | Liberal Democrats | 843 | 6.8% | 27.1% | — | |
| 7 | Thomas Pilliner | Liberal Democrats | 834 | 6.7% | 26.8% | — | |
| 8 | Paul Bailey | Liberal Democrats | 809 | 6.5% | 26.0% | — | |
| 9 | Helen Westhead | Green Party | 416 | 3.3% | 13.4% | — | |
| 10 | Daniel Bryant | Plaid Cymru | 318 | 2.6% | 10.2% | — | |
| 11 | Emily Higham | Conservative Party | 308 | 2.5% | 9.9% | — | |
| 12 | Simon Rees | Conservative Party | 300 | 2.4% | 9.6% | — | |
| 13 | Joseph Ventre | Conservative Party | 297 | 2.4% | 9.6% | — | |
| 14 | Peter Davies | Plaid Cymru | 280 | 2.3% | 9.0% | — | |
| 15 | Emily Cole | Plaid Cymru | 274 | 2.2% | 8.8% | — | |
| 16 | Emyr Gruffydd | Plaid Cymru | 250 | 2.0% | 8.0% | — | |
| 17 | Callum Sloper | Conservative Party | 244 | 2.0% | 7.8% | — | |
| 18 | Calum Glanville-Ellis | Trade Unionist and Socialist Coalition | 81 | 0.7% | 2.6% | — | |
| 19 | Sebastian Robyns-Landricombe | Trade Unionist and Socialist Coalition | 63 | 0.5% | 2.0% | — |
Plasnewydd · 4-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 ~4× smaller. 47.3% Proportional quota 20.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +27.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 4 seats. Source data does not publish a ballot count for this cycle. 4,347
This is a 4-seat ward under bloc vote — each voter could cast up to 4 votes, so summing candidate votes overcounts voters by ~4×. We show share of votes (matches the council's published figure) and share of voters (est.) (raw share × 4, the figure comparable to the proportional quota). Why two columns →
| Rank | Candidate | Party | Votes | Share 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 4 votes, so we approximate ballots as total votes ÷ 4. 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 |
|---|---|---|---|---|---|---|---|
| 1 | Susan Lent | Labour Party | 2,408 | 13.8% | 55.4% | +35.4 pts | Elected |
| 2 | Daniel de'Ath | Labour Party | 2,311 | 13.3% | 53.2% | +33.2 pts | Elected |
| 3 | Deborah Samothrakis | Labour Party | 2,159 | 12.4% | 49.7% | +29.7 pts | Elected |
| 4 | Peter Wong | Labour Party | 2,055 | 11.8% | 47.3% | +27.3 pts | Elected |
| 5 | Manzoor Ahmed | Liberal Democrats | 1,545 | 8.9% | 35.5% | — | |
| 6 | Robin Rea | Liberal Democrats | 1,531 | 8.8% | 35.2% | — | |
| 7 | Cadan ap Tomos | Liberal Democrats | 1,410 | 8.1% | 32.4% | — | |
| 8 | Richard Jerrett | Liberal Democrats | 1,300 | 7.5% | 29.9% | — | |
| 9 | Daniel Ward | Green Party | 560 | 3.2% | 12.9% | — | |
| 10 | Mariana Diaz Montiel | Plaid Cymru | 371 | 2.1% | 8.5% | — | |
| 11 | Angharad Lewis | Plaid Cymru | 346 | 2.0% | 8.0% | — | |
| 12 | Matthew Lloyd | Plaid Cymru | 331 | 1.9% | 7.6% | — | |
| 13 | Enid Harries | Conservative Party | 297 | 1.7% | 6.8% | — | |
| 14 | Lucy Golding | Conservative Party | 289 | 1.7% | 6.6% | — | |
| 15 | Rowland Hemingway | Conservative Party | 252 | 1.4% | 5.8% | — | |
| 16 | Marc Gonzalez | Conservative Party | 223 | 1.3% | 5.1% | — |
Llanrumney · 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.3% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +30.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 2,163
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Keith Jones | Labour Party | 1,269 | 19.6% | 58.7% | +33.7 pts | Elected |
| 2 | Heather Joyce | Labour Party | 1,258 | 19.4% | 58.2% | +33.2 pts | Elected |
| 3 | Lee Bridgeman | Labour Party | 1,195 | 18.4% | 55.3% | +30.3 pts | Elected |
| 4 | Giles Cross | Conservative Party | 551 | 8.5% | 25.5% | — | |
| 5 | Maria Hill | Conservative Party | 484 | 7.5% | 22.4% | — | |
| 6 | Aled Jones-Pritchard | Conservative Party | 432 | 6.7% | 20.0% | — | |
| 7 | Gary Oldfield | UK Independence Party (UKIP) | 255 | 3.9% | 11.8% | — | |
| 8 | Teresa Davies | UK Independence Party (UKIP) | 207 | 3.2% | 9.6% | — | |
| 9 | Trevor Keane | Plaid Cymru | 200 | 3.1% | 9.2% | — | |
| 10 | Robert Lewis | UK Independence Party (UKIP) | 151 | 2.3% | 7.0% | — | |
| 11 | Wayne Street | Liberal Democrats | 126 | 1.9% | 5.8% | — | |
| 12 | Colin Lewis | Plaid Cymru | 114 | 1.8% | 5.3% | — | |
| 13 | Ceri Tegwyn | Plaid Cymru | 96 | 1.5% | 4.4% | — | |
| 14 | Jonathan Bird | Liberal Democrats | 77 | 1.2% | 3.6% | — | |
| 15 | Patricia Rees | Liberal Democrats | 73 | 1.1% | 3.4% | — |
Splott · 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.0% Proportional quota 25.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +32.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 3 seats. Source data does not publish a ballot count for this cycle. 2,904
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 →
| Rank | Candidate | Party | Votes | Share 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 |
|---|---|---|---|---|---|---|---|
| 1 | Elizabeth Henshaw | Labour Party | 1,685 | 19.3% | 58.0% | +33.0 pts | Elected |
| 2 | Huw Thomas | Labour Party | 1,658 | 19.0% | 57.1% | +32.1 pts | Elected |
| 3 | Edward Stubbs | Labour Party | 1,656 | 19.0% | 57.0% | +32.0 pts | Elected |
| 4 | Robert Lawrence | Conservative Party | 416 | 4.8% | 14.3% | — | |
| 5 | Zara England | Liberal Democrats | 413 | 4.7% | 14.2% | — | |
| 6 | Gail Morgan | Conservative Party | 401 | 4.6% | 13.8% | — | |
| 7 | Stephanie Greedy | Plaid Cymru | 398 | 4.6% | 13.7% | — | |
| 8 | Rhys Cisuelo | Plaid Cymru | 385 | 4.4% | 13.3% | — | |
| 9 | Vivienne Ward | Conservative Party | 373 | 4.3% | 12.8% | — | |
| 10 | Philip Dore | Liberal Democrats | 356 | 4.1% | 12.3% | — | |
| 11 | James Bear | Liberal Democrats | 322 | 3.7% | 11.1% | — | |
| 12 | Favour Egbekayi | Plaid Cymru | 292 | 3.4% | 10.1% | — | |
| 13 | Samuel Patterson | Green Party | 170 | 2.0% | 5.9% | — | |
| 14 | Katrine Williams | Trade Unionist and Socialist Coalition | 70 | 0.8% | 2.4% | — | |
| 15 | David Bartlett | Trade Unionist and Socialist Coalition | 67 | 0.8% | 2.3% | — | |
| 16 | Joao Felix | Trade Unionist and Socialist Coalition | 50 | 0.6% | 1.7% | — |