← Bradford (all cycles) · 2 May 2019 cohort
Bradford 2019
Local elections held 2 May 2019.
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 30 wards in this cycle, parties received the vote totals below. The proportional column shows what each party would have won if the 30 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 | 51,134 | 45.5% | 18 | 60.0% | 15 | 50.0% | +3 |
| Conservative Party | 27,243 | 24.3% | 9 | 30.0% | 7 | 23.3% | +2 |
| Green Party | 14,271 | 12.7% | 1 | 3.3% | 4 | 13.3% | -3 |
| Liberal Democrats | 11,820 | 10.5% | 2 | 6.7% | 3 | 10.0% | -1 |
| UK Independence Party (UKIP) | 5,078 | 4.5% | 0 | 0.0% | 1 | 3.3% | -1 |
| Independent | 1,531 | 1.4% | 0 | 0.0% | 0 | 0.0% | 0 |
| BritDem | 701 | 0.6% | 0 | 0.0% | 0 | 0.0% | 0 |
| Yorkshire Party | 417 | 0.4% | 0 | 0.0% | 0 | 0.0% | 0 |
| DVP | 86 | 0.1% | 0 | 0.0% | 0 | 0.0% | 0 |
| Total | 112,281 | 100.0% | 30 | 100.0% | 30 | 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
Two opencouncildata snapshots: the council immediately after the 2019 election (current) and immediately before it (2018). Only ~⅓ of seats were contested in 2019 — most of the bench is unchanged, and the cycle's effect on the overall composition is what shifts.
Wards in this council
Sorted with the largest gap below the quota first. Click any ward to jump to its full result.
- Craven · 1 seat · won at 27.6% · −22.4 pts below quota
- Tong · 1 seat · won at 30.3% · −19.7 pts below quota
- Queensbury · 1 seat · won at 32.4% · −17.6 pts below quota
- Ilkley · 1 seat · won at 36.4% · −13.6 pts below quota
- Bingley · 1 seat · won at 39.8% · −10.2 pts below quota
- Eccleshill · 1 seat · won at 40.2% · −9.8 pts below quota
- Royds · 1 seat · won at 42.6% · −7.4 pts below quota
- Bolton and Undercliffe · 1 seat · won at 44.9% · −5.1 pts below quota
- Wyke · 1 seat · won at 45.6% · −4.4 pts below quota
- Wibsey · 1 seat · won at 45.7% · −4.3 pts below quota
- Baildon · 1 seat · won at 46.5% · −3.5 pts below quota
- Keighley West · 1 seat · won at 47.1% · −2.9 pts below quota
- Wharfedale · 1 seat · won at 47.4% · −2.6 pts below quota
- Windhill and Wrose · 1 seat · won at 49.8% · −0.2 pts below quota
- Keighley Central · 1 seat · won at 49.8% · −0.2 pts below quota
- Keighley East · 1 seat · won at 53.2% · above quota
- Shipley · 1 seat · won at 55.3% · above quota
- Bingley Rural · 1 seat · won at 55.8% · above quota
- Thornton and Allerton · 1 seat · won at 56.3% · above quota
- Clayton and Fairweather Green · 1 seat · won at 60.4% · above quota
- Worth Valley · 1 seat · won at 61.3% · above quota
- Idle and Thackley · 1 seat · won at 62.0% · above quota
- Bowling and Barkerend · 1 seat · won at 68.9% · above quota
- Heaton · 1 seat · won at 75.0% · above quota
- Great Horton · 1 seat · won at 75.4% · above quota
- Bradford Moor · 1 seat · won at 82.0% · above quota
- City · 1 seat · won at 82.4% · above quota
- Little Horton · 1 seat · won at 85.8% · above quota
- Toller · 1 seat · won at 88.0% · above quota
- Manningham · 1 seat · won at 88.9% · above quota
Race results
Craven · single-seat
Marginal winner Winning candidate's share of valid ballots. 27.6% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −22.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 4,961
| 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 | Owen Goodall | Conservative Party | 1,371 | 27.6% | −22.4 pts | Elected |
| 2 | David Loud | Labour Party | 1,126 | 22.7% | — | |
| 3 | Chris Atkinson | Independent | 1,113 | 22.4% | — | |
| 4 | Caroline Whitaker | Green Party | 946 | 19.1% | — | |
| 5 | Paul Mann | Liberal Democrats | 215 | 4.3% | — | |
| 6 | Peter Kaye | Yorkshire Party | 190 | 3.8% | — |
Tong · single-seat
Marginal winner Winning candidate's share of valid ballots. 30.3% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −19.7 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,456
| 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 | Kausar Mukhtar | Labour Party | 743 | 30.3% | −19.7 pts | Elected |
| 2 | Matt Edwards | Green Party | 742 | 30.2% | — | |
| 3 | Lincoln Stead | UK Independence Party (UKIP) | 596 | 24.3% | — | |
| 4 | Eddie Ward | Conservative Party | 254 | 10.3% | — | |
| 5 | Sylvia Oba | Liberal Democrats | 121 | 4.9% | — |
Queensbury · single-seat
Marginal winner Winning candidate's share of valid ballots. 32.4% Proportional quota 50.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 ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,105
| 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 | Matthew Bibby | Conservative Party | 1,005 | 32.4% | −17.6 pts | Elected |
| 2 | Eve Wagster | Labour Party | 845 | 27.2% | — | |
| 3 | Terry Duggan | UK Independence Party (UKIP) | 668 | 21.5% | — | |
| 4 | Eithne Dodwell | Green Party | 330 | 10.6% | — | |
| 5 | Christopher Dougherty | Liberal Democrats | 257 | 8.3% | — |
Ilkley · single-seat
Marginal winner Winning candidate's share of valid ballots. 36.4% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −13.6 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 5,447
| 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 | Kyle Green | Conservative Party | 1,982 | 36.4% | −13.6 pts | Elected |
| 2 | Ros Brown | Green Party | 1,386 | 25.4% | — | |
| 3 | Kath Steward | Labour Party | 1,077 | 19.8% | — | |
| 4 | Thomas Franks | Liberal Democrats | 1,002 | 18.4% | — |
Bingley · single-seat
Marginal winner Winning candidate's share of valid ballots. 39.8% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −10.2 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 5,705
| 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 | Geoff Winnard | Conservative Party | 2,271 | 39.8% | −10.2 pts | Elected |
| 2 | Marcus Dearden | Labour Party | 2,098 | 36.8% | — | |
| 3 | Rachael Drucquer | Green Party | 600 | 10.5% | — | |
| 4 | Mark Shaw | Independent | 418 | 7.3% | — | |
| 5 | Glen Cheney | Liberal Democrats | 318 | 5.6% | — |
Eccleshill · single-seat
Marginal winner Winning candidate's share of valid ballots. 40.2% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −9.8 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,119
| 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 | Susan Knox | Liberal Democrats | 1,254 | 40.2% | −9.8 pts | Elected |
| 2 | Margaret Alipoor | Labour Party | 1,018 | 32.6% | — | |
| 3 | Sam Wood | UK Independence Party (UKIP) | 430 | 13.8% | — | |
| 4 | Harry Boota | Conservative Party | 234 | 7.5% | — | |
| 5 | Sarah Dick | Green Party | 104 | 3.3% | — | |
| 6 | Lara Barras | Yorkshire Party | 79 | 2.5% | — |
Royds · single-seat
Marginal winner Winning candidate's share of valid ballots. 42.6% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −7.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,778
| 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 | Angela Tait | Labour Party | 1,183 | 42.6% | −7.4 pts | Elected |
| 2 | Derrick Hodgson | UK Independence Party (UKIP) | 750 | 27.0% | — | |
| 3 | David Servant | Conservative Party | 468 | 16.8% | — | |
| 4 | Phil Worsnop | Green Party | 198 | 7.1% | — | |
| 5 | Shauna Devonshire | Liberal Democrats | 179 | 6.4% | — |
Bolton and Undercliffe · single-seat
Marginal winner Winning candidate's share of valid ballots. 44.9% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −5.1 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,754
| 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 | Suhail Choudhry | Labour Party | 1,687 | 44.9% | −5.1 pts | Elected |
| 2 | Jafrul Gazi | Liberal Democrats | 1,315 | 35.0% | — | |
| 3 | Ranbir Singh | Conservative Party | 395 | 10.5% | — | |
| 4 | Jasmine Sharp | Green Party | 357 | 9.5% | — |
Wyke · single-seat
Marginal winner Winning candidate's share of valid ballots. 45.6% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −4.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,859
| 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 | Sarah Ferriby | Labour Party | 1,303 | 45.6% | −4.4 pts | Elected |
| 2 | James Lewthwaite | BritDem | 701 | 24.5% | — | |
| 3 | Francesca Stefanyszyn | Conservative Party | 531 | 18.6% | — | |
| 4 | Darren Parkinson | Green Party | 168 | 5.9% | — | |
| 5 | Kevin Hall | Liberal Democrats | 156 | 5.5% | — |
Wibsey · single-seat
Marginal winner Winning candidate's share of valid ballots. 45.7% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −4.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,646
| 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 | Ralph Berry | Labour Party | 1,208 | 45.7% | −4.3 pts | Elected |
| 2 | Richard Hainsworth | UK Independence Party (UKIP) | 550 | 20.8% | — | |
| 3 | Richard Sheard | Conservative Party | 490 | 18.5% | — | |
| 4 | Brian Boulton | Liberal Democrats | 170 | 6.4% | — | |
| 5 | David Stevens | Green Party | 142 | 5.4% | — | |
| 6 | Stephen Crosby | DVP | 86 | 3.3% | — |
Baildon · single-seat
Marginal winner Winning candidate's share of valid ballots. 46.5% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −3.5 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 4,492
| 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 | Mike Pollard | Conservative Party | 2,089 | 46.5% | −3.5 pts | Elected |
| 2 | Thomas Sutton | Labour Party | 1,141 | 25.4% | — | |
| 3 | Stephen Place | UK Independence Party (UKIP) | 475 | 10.6% | — | |
| 4 | David Wilkinson | Liberal Democrats | 465 | 10.4% | — | |
| 5 | Carl Dunk | Green Party | 322 | 7.2% | — |
Keighley West · single-seat
Marginal winner Winning candidate's share of valid ballots. 47.1% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −2.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,898
| 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 | Julie Lintern | Labour Party | 1,364 | 47.1% | −2.9 pts | Elected |
| 2 | John Kirby | Conservative Party | 748 | 25.8% | — | |
| 3 | Ian Bannister | UK Independence Party (UKIP) | 618 | 21.3% | — | |
| 4 | John Cole | Liberal Democrats | 168 | 5.8% | — |
Wharfedale · 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. 4,248
| 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 | Jackie Whiteley | Conservative Party | 2,014 | 47.4% | −2.6 pts | Elected |
| 2 | Chris Hayden | Labour Party | 905 | 21.3% | — | |
| 3 | Jamie Needle | Liberal Democrats | 748 | 17.6% | — | |
| 4 | Chris Turner | Green Party | 581 | 13.7% | — |
Windhill and Wrose · single-seat
Marginal winner Winning candidate's share of valid ballots. 49.8% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −0.2 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,140
| 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 | Susan Hinchcliffe | Labour Party | 1,563 | 49.8% | −0.2 pts | Elected |
| 2 | Stephen Williams | Conservative Party | 598 | 19.0% | — | |
| 3 | Tim Thorne | UK Independence Party (UKIP) | 483 | 15.4% | — | |
| 4 | Helen Love | Green Party | 284 | 9.0% | — | |
| 5 | Gillian Thorne | Liberal Democrats | 212 | 6.8% | — |
Keighley Central · single-seat
Marginal winner Winning candidate's share of valid ballots. 49.8% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. −0.2 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 4,380
| 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 | Zafar Ali | Conservative Party | 2,183 | 49.8% | −0.2 pts | Elected |
| 2 | Cath Bacon | Labour Party | 1,744 | 39.8% | — | |
| 3 | Allan Swales | Green Party | 288 | 6.6% | — | |
| 4 | Peter Russell | Liberal Democrats | 165 | 3.8% | — |
Keighley East · single-seat
Marginal winner Winning candidate's share of valid ballots. 53.2% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +3.2 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,971
| 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 | Doreen Lee | Labour Party | 2,111 | 53.2% | +3.2 pts | Elected |
| 2 | Peter Corkindale | Conservative Party | 1,017 | 25.6% | — | |
| 3 | Trudie Jackson | Green Party | 637 | 16.0% | — | |
| 4 | Bob Jones | Liberal Democrats | 206 | 5.2% | — |
Shipley · single-seat
Marginal winner Winning candidate's share of valid ballots. 55.3% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +5.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 5,200
| 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 | Kevin Warnes | Green Party | 2,875 | 55.3% | +5.3 pts | Elected |
| 2 | Stephen Blundell | Labour Party | 1,662 | 32.0% | — | |
| 3 | Andrew Quarrie | Conservative Party | 416 | 8.0% | — | |
| 4 | Darren Longhorn | Yorkshire Party | 148 | 2.8% | — | |
| 5 | Caroline Jones | Liberal Democrats | 99 | 1.9% | — |
Bingley Rural · single-seat
Marginal winner Winning candidate's share of valid ballots. 55.8% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +5.8 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 5,039
| 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 | Paul Sullivan | Conservative Party | 2,811 | 55.8% | +5.8 pts | Elected |
| 2 | Ashraf Miah | Labour Party | 999 | 19.8% | — | |
| 3 | Brian Newham | Green Party | 833 | 16.5% | — | |
| 4 | Helen Baranowski | Liberal Democrats | 396 | 7.9% | — |
Thornton and Allerton · single-seat
Marginal winner Winning candidate's share of valid ballots. 56.3% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +6.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,486
| 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 | Susan Duffy | Labour Party | 1,962 | 56.3% | +6.3 pts | Elected |
| 2 | John Berry | Conservative Party | 948 | 27.2% | — | |
| 3 | Anna Watson | Green Party | 389 | 11.2% | — | |
| 4 | James Hunt | Liberal Democrats | 187 | 5.4% | — |
Clayton and Fairweather Green · single-seat
Marginal winner Winning candidate's share of valid ballots. 60.4% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +10.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,186
| 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 | Carol Thirkill | Labour Party | 1,924 | 60.4% | +10.4 pts | Elected |
| 2 | Sajid Akhtar | Conservative Party | 764 | 24.0% | — | |
| 3 | Susan May | Green Party | 359 | 11.3% | — | |
| 4 | Steven Cotterill | Liberal Democrats | 139 | 4.4% | — |
Worth Valley · single-seat
Marginal winner Winning candidate's share of valid ballots. 61.3% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +11.3 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,931
| 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 | Rebecca Poulsen | Conservative Party | 2,409 | 61.3% | +11.3 pts | Elected |
| 2 | Faiz Ilyas | Labour Party | 731 | 18.6% | — | |
| 3 | Janet Russell | Green Party | 553 | 14.1% | — | |
| 4 | Kay Kirkham | Liberal Democrats | 238 | 6.1% | — |
Idle and Thackley · single-seat
Marginal winner Winning candidate's share of valid ballots. 62.0% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +12.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,955
| 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 | Jeanette Sunderland | Liberal Democrats | 2,454 | 62.0% | +12.0 pts | Elected |
| 2 | Alex Mitchell | Labour Party | 546 | 13.8% | — | |
| 3 | Garry Blackmore | UK Independence Party (UKIP) | 508 | 12.8% | — | |
| 4 | Rasjid Skinner | Conservative Party | 226 | 5.7% | — | |
| 5 | Tess Lawrence | Green Party | 221 | 5.6% | — |
Bowling and Barkerend · single-seat
Marginal winner Winning candidate's share of valid ballots. 68.9% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +18.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,652
| 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 | Imran Khan | Labour Party | 2,516 | 68.9% | +18.9 pts | Elected |
| 2 | Ansar Mahmood | Conservative Party | 535 | 14.6% | — | |
| 3 | Andrew Stanford | Green Party | 402 | 11.0% | — | |
| 4 | Aryan Safi | Liberal Democrats | 199 | 5.4% | — |
Heaton · single-seat
Marginal winner Winning candidate's share of valid ballots. 75.0% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +25.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,601
| 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 | Mohammed Amran | Labour Party | 2,701 | 75.0% | +25.0 pts | Elected |
| 2 | Celia Hickson | Green Party | 506 | 14.1% | — | |
| 3 | Awais Hussain | Conservative Party | 252 | 7.0% | — | |
| 4 | Ines Riach | Liberal Democrats | 142 | 3.9% | — |
Great Horton · single-seat
Marginal winner Winning candidate's share of valid ballots. 75.4% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +25.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,264
| 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 | Tariq Hussain | Labour Party | 2,460 | 75.4% | +25.4 pts | Elected |
| 2 | Kamran Sakhawat | Conservative Party | 322 | 9.9% | — | |
| 3 | Lesley Hall | Green Party | 276 | 8.5% | — | |
| 4 | Mary Whitrick | Liberal Democrats | 206 | 6.3% | — |
Bradford Moor · single-seat
Marginal winner Winning candidate's share of valid ballots. 82.0% Proportional quota 50.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 ÷ 1 seats. Source data does not publish a ballot count for this cycle. 4,092
| 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 | Zafar Iqbal | Labour Party | 3,357 | 82.0% | +32.0 pts | Elected |
| 2 | Zubair Hussain | Conservative Party | 333 | 8.1% | — | |
| 3 | Amjad Ali | Liberal Democrats | 253 | 6.2% | — | |
| 4 | Julia McGoldrick | Green Party | 149 | 3.6% | — |
City · single-seat
Marginal winner Winning candidate's share of valid ballots. 82.4% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +32.4 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 2,932
| 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 | Shakeela Lal | Labour Party | 2,416 | 82.4% | +32.4 pts | Elected |
| 2 | Charlotte Woollard | Green Party | 191 | 6.5% | — | |
| 3 | Abid Iqbal | Liberal Democrats | 174 | 5.9% | — | |
| 4 | Geoff Whiteley | Conservative Party | 151 | 5.2% | — |
Little Horton · single-seat
Marginal winner Winning candidate's share of valid ballots. 85.8% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +35.8 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,173
| 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 | Taj Salam | Labour Party | 2,723 | 85.8% | +35.8 pts | Elected |
| 2 | Ian Vipond | Liberal Democrats | 170 | 5.4% | — | |
| 3 | Ghazanfar Hussain | Conservative Party | 150 | 4.7% | — | |
| 4 | Nurjahan Arobi | Green Party | 130 | 4.1% | — |
Toller · single-seat
Marginal winner Winning candidate's share of valid ballots. 88.0% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +38.0 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,720
| 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 | Fozia Shaheen | Labour Party | 3,272 | 88.0% | +38.0 pts | Elected |
| 2 | Haseeb Rashad | Conservative Party | 171 | 4.6% | — | |
| 3 | Sean Dobiech | Green Party | 139 | 3.7% | — | |
| 4 | Howard Middleton | Liberal Democrats | 138 | 3.7% | — |
Manningham · single-seat
Marginal winner Winning candidate's share of valid ballots. 88.9% Proportional quota 50.0% Below quota Marginal winner's share minus the proportional quota for this race. Negative = below; positive = above. +38.9 pts Valid ballots (est.) Estimated voters: total votes ÷ 1 seats. Source data does not publish a ballot count for this cycle. 3,091
| 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 | Sameena Akhtar | Labour Party | 2,749 | 88.9% | +38.9 pts | Elected |
| 2 | Bruce Barnes | Green Party | 163 | 5.3% | — | |
| 3 | Jawad Hussain | Conservative Party | 105 | 3.4% | — | |
| 4 | Anthea Pickard | Liberal Democrats | 74 | 2.4% | — |