← Bradford (all cycles) · 2 May 2024 cohort
Bradford 2024
Local elections held 2 May 2024.
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 that would be needed to be guaranteed that 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 gap as points under par — the editorial indictment. Above-par results are just majority mandates 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 allocated to those vote totals in proportion (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 in this council, negative are parties it under-represented.
| Party | Votes | Vote % | Seats won | % of seats | Proportional seats | Proportional % | Δ |
|---|---|---|---|---|---|---|---|
| Labour Party | 41,657 | 32.8% | 10 | 33.3% | 11 | 36.7% | -1 |
| Independent | 25,783 | 20.3% | 9 | 30.0% | 6 | 20.0% | +3 |
| Conservative and Unionist Party | 25,244 | 19.9% | 4 | 13.3% | 6 | 20.0% | -2 |
| Green Party | 19,519 | 15.4% | 4 | 13.3% | 5 | 16.7% | -1 |
| Liberal Democrats | 9,344 | 7.4% | 3 | 10.0% | 2 | 6.7% | +1 |
| Yorkshire Party | 2,509 | 2.0% | 0 | 0.0% | 0 | 0.0% | 0 |
| Reform UK | 1,306 | 1.0% | 0 | 0.0% | 0 | 0.0% | 0 |
| ND | 988 | 0.8% | 0 | 0.0% | 0 | 0.0% | 0 |
| British Democratic Party | 190 | 0.1% | 0 | 0.0% | 0 | 0.0% | 0 |
| UK Independence Party (UKIP) | 110 | 0.1% | 0 | 0.0% | 0 | 0.0% | 0 |
| Trade Unionist and Socialist Coalition | 103 | 0.1% | 0 | 0.0% | 0 | 0.0% | 0 |
| Social Democratic Party | 58 | 0.0% | 0 | 0.0% | 0 | 0.0% | 0 |
| Total | 126,811 | 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.
Wards in this council
Sorted with the largest gap below the quota first. Click any ward to jump to its full result.
- Wibsey · 1 seat · won at 31.7% · +18.3 pts below quota
- Eccleshill · 1 seat · won at 35.3% · +14.7 pts below quota
- Keighley East · 1 seat · won at 37.6% · +12.4 pts below quota
- Ilkley · 1 seat · won at 37.7% · +12.3 pts below quota
- Keighley West · 1 seat · won at 39.7% · +10.3 pts below quota
- Bowling and Barkerend · 1 seat · won at 40.1% · +9.9 pts below quota
- Clayton and Fairweather Green · 1 seat · won at 40.9% · +9.1 pts below quota
- Wharfedale · 1 seat · won at 41.1% · +8.9 pts below quota
- Craven · 1 seat · won at 41.3% · +8.7 pts below quota
- Heaton · 1 seat · won at 41.4% · +8.6 pts below quota
- Great Horton · 1 seat · won at 41.8% · +8.2 pts below quota
- Bolton and Undercliffe · 1 seat · won at 43.0% · +7.0 pts below quota
- Wyke · 1 seat · won at 43.3% · +6.7 pts below quota
- Baildon · 1 seat · won at 45.2% · +4.8 pts below quota
- Thornton and Allerton · 1 seat · won at 45.4% · +4.6 pts below quota
- Bingley Rural · 1 seat · won at 50.2% · above quota
- Royds · 1 seat · won at 50.6% · above quota
- Keighley Central · 1 seat · won at 51.5% · above quota
- Windhill and Wrose · 1 seat · won at 51.6% · above quota
- City · 1 seat · won at 52.5% · above quota
- Bradford Moor · 1 seat · won at 52.6% · above quota
- Toller · 1 seat · won at 52.6% · above quota
- Queensbury · 1 seat · won at 53.6% · above quota
- Worth Valley · 1 seat · won at 56.4% · above quota
- Idle and Thackley · 1 seat · won at 60.3% · above quota
- Tong · 1 seat · won at 60.6% · above quota
- Bingley · 1 seat · won at 61.7% · above quota
- Shipley · 1 seat · won at 63.6% · above quota
- Little Horton · 1 seat · won at 68.5% · above quota
- Manningham · 1 seat · won at 76.8% · above quota
Race results
Wibsey · single-seat
Marginal winner 31.7% Proportional quota 50.0% Difference +18.3 pts below quota Valid ballots 2,882
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Ilyas, F. | Labour Party | 913 | 31.7% | Elected |
| 2 | Peterken, N. | Independent | 766 | 26.6% | |
| 3 | Radice, A. | Green Party | 435 | 15.1% | |
| 4 | Head, S. | Yorkshire Party | 367 | 12.7% | |
| 5 | Rajput, O. | Conservative and Unionist Party | 296 | 10.3% | |
| 6 | Lubenko, S. | Liberal Democrats | 105 | 3.6% |
Eccleshill · single-seat
Marginal winner 35.3% Proportional quota 50.0% Difference +14.7 pts below quota Valid ballots 3,435
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Stubbs, B. | Liberal Democrats | 1,211 | 35.3% | Elected |
| 2 | Martin, V. | Labour Party | 1,163 | 33.9% | |
| 3 | Rasool, U. | Conservative and Unionist Party | 414 | 12.1% | |
| 4 | Vanicat, S. | Green Party | 293 | 8.5% | |
| 5 | Barras, J. | Yorkshire Party | 288 | 8.4% | |
| 6 | Fretwell, L. | Trade Unionist and Socialist Coalition | 66 | 1.9% |
Keighley East · single-seat
Marginal winner 37.6% Proportional quota 50.0% Difference +12.4 pts below quota Valid ballots 4,151
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Ahmed, F. | Labour Party | 1,561 | 37.6% | Elected |
| 2 | Ambler, J. | Conservative and Unionist Party | 1,383 | 33.3% | |
| 3 | Razak, N. | Independent | 491 | 11.8% | |
| 4 | Hunnisett, D. | Green Party | 362 | 8.7% | |
| 5 | Allon, P. | Liberal Democrats | 296 | 7.1% | |
| 6 | Vann, A. | Social Democratic Party | 58 | 1.4% |
Ilkley · single-seat
Marginal winner 37.7% Proportional quota 50.0% Difference +12.3 pts below quota Valid ballots 6,401
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Brown, R. | Green Party | 2,414 | 37.7% | Elected |
| 2 | Sugden, J. | Conservative and Unionist Party | 2,247 | 35.1% | |
| 3 | Hawkesworth, A. | ND | 988 | 15.4% | |
| 4 | Baldwin, M. | Labour Party | 694 | 10.8% | |
| 5 | Briggs, J. | Liberal Democrats | 58 | 0.9% |
Keighley West · single-seat
Marginal winner 39.7% Proportional quota 50.0% Difference +10.3 pts below quota Valid ballots 3,121
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | O'Keeffe, J. | Labour Party | 1,238 | 39.7% | Elected |
| 2 | Glentworth, J. | Conservative and Unionist Party | 968 | 31.0% | |
| 3 | Farley, A. | Green Party | 448 | 14.4% | |
| 4 | Judson, A. | Reform UK | 297 | 9.5% | |
| 5 | Atlas, D. | Yorkshire Party | 113 | 3.6% | |
| 6 | Hewitt, D. | Liberal Democrats | 57 | 1.8% |
Bowling and Barkerend · single-seat
Marginal winner 40.1% Proportional quota 50.0% Difference +9.9 pts below quota Valid ballots 3,871
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Uddin, I. | Independent | 1,551 | 40.1% | Elected |
| 2 | Khan, H. | Labour Party | 1,332 | 34.4% | |
| 3 | Rickford, A. | Green Party | 282 | 7.3% | |
| 4 | Jamal, A. | Conservative and Unionist Party | 259 | 6.7% | |
| 5 | Middleton, H. | Liberal Democrats | 228 | 5.9% | |
| 6 | Wood, K. | Yorkshire Party | 219 | 5.7% |
Clayton and Fairweather Green · single-seat
Marginal winner 40.9% Proportional quota 50.0% Difference +9.1 pts below quota Valid ballots 3,344
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Ilyas, M. | Labour Party | 1,369 | 40.9% | Elected |
| 2 | Lawton, K. | Conservative and Unionist Party | 720 | 21.5% | |
| 3 | Hussain, S. | Independent | 661 | 19.8% | |
| 4 | Hassell, S. | Green Party | 369 | 11.0% | |
| 5 | Cotterill, S. | Liberal Democrats | 225 | 6.7% |
Wharfedale · single-seat
Marginal winner 41.1% Proportional quota 50.0% Difference +8.9 pts below quota Valid ballots 4,653
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Felstead, B. | Conservative and Unionist Party | 1,913 | 41.1% | Elected |
| 2 | O'Connor, B. | Labour Party | 1,846 | 39.7% | |
| 3 | Turner, C. | Green Party | 418 | 9.0% | |
| 4 | Needle, J. | Liberal Democrats | 328 | 7.0% | |
| 5 | Martins, R. | Yorkshire Party | 148 | 3.2% |
Craven · single-seat
Marginal winner 41.3% Proportional quota 50.0% Difference +8.7 pts below quota Valid ballots 5,947
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Whitaker, N. | Green Party | 2,455 | 41.3% | Elected |
| 2 | Buckley, G. | Conservative and Unionist Party | 2,288 | 38.5% | |
| 3 | Knight, A. | Labour Party | 736 | 12.4% | |
| 4 | Kaye, P. | Yorkshire Party | 299 | 5.0% | |
| 5 | Robinson, L. | UK Independence Party (UKIP) | 110 | 1.8% | |
| 6 | Mann, P. | Liberal Democrats | 59 | 1.0% |
Heaton · single-seat
Marginal winner 41.4% Proportional quota 50.0% Difference +8.6 pts below quota Valid ballots 5,268
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Ahmed, I. | Independent | 2,183 | 41.4% | Elected |
| 2 | Mahmood, K. | Green Party | 1,544 | 29.3% | |
| 3 | Hussain, I. | Labour Party | 1,245 | 23.6% | |
| 4 | Butler, S. | Conservative and Unionist Party | 296 | 5.6% |
Great Horton · single-seat
Marginal winner 41.8% Proportional quota 50.0% Difference +8.2 pts below quota Valid ballots 4,044
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Saddiq, S. | Independent | 1,692 | 41.8% | Elected |
| 2 | Jabar, A. | Labour Party | 1,453 | 35.9% | |
| 3 | Khan, S. | Conservative and Unionist Party | 269 | 6.7% | |
| 4 | Grant, W. | Yorkshire Party | 248 | 6.1% | |
| 5 | Prosser, S. | Green Party | 231 | 5.7% | |
| 6 | Moses, S. | Liberal Democrats | 151 | 3.7% |
Bolton and Undercliffe · single-seat
Marginal winner 43.0% Proportional quota 50.0% Difference +7.0 pts below quota Valid ballots 3,331
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Ward, D. | Independent | 1,432 | 43.0% | Elected |
| 2 | Cunningham, S. | Labour Party | 1,169 | 35.1% | |
| 3 | Harrison, W. | Conservative and Unionist Party | 284 | 8.5% | |
| 4 | Gulland, B. | Green Party | 227 | 6.8% | |
| 5 | Barras, W. | Yorkshire Party | 182 | 5.5% | |
| 6 | Gibson, T. | Trade Unionist and Socialist Coalition | 37 | 1.1% |
Wyke · single-seat
Marginal winner 43.3% Proportional quota 50.0% Difference +6.7 pts below quota Valid ballots 2,674
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Hughes, T. | Labour Party | 1,157 | 43.3% | Elected |
| 2 | McLean, M. | Conservative and Unionist Party | 544 | 20.3% | |
| 3 | Walker, I. | Reform UK | 365 | 13.6% | |
| 4 | Parkinson, D. | Green Party | 218 | 8.2% | |
| 5 | Hall, K. | Liberal Democrats | 200 | 7.5% | |
| 6 | Lewthwaite, J. | British Democratic Party | 190 | 7.1% |
Baildon · single-seat
Marginal winner 45.2% Proportional quota 50.0% Difference +4.8 pts below quota Valid ballots 5,033
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Davies, D. | Conservative and Unionist Party | 2,275 | 45.2% | Elected |
| 2 | Dixon, G. | Labour Party | 1,922 | 38.2% | |
| 3 | Ashton, J. | Independent | 490 | 9.7% | |
| 4 | Dunk, C. | Green Party | 229 | 4.5% | |
| 5 | Wilkinson, D. | Liberal Democrats | 117 | 2.3% |
Thornton and Allerton · single-seat
Marginal winner 45.4% Proportional quota 50.0% Difference +4.6 pts below quota Valid ballots 3,793
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Mullaney, B. | Labour Party | 1,721 | 45.4% | Elected |
| 2 | Goulding, R. | Conservative and Unionist Party | 761 | 20.1% | |
| 3 | Ahmed, Q. | Independent | 665 | 17.5% | |
| 4 | Griffiths, A. | Liberal Democrats | 342 | 9.0% | |
| 5 | Sorrell, I. | Green Party | 304 | 8.0% |
Bingley Rural · single-seat
Marginal winner 50.2% Proportional quota 50.0% Difference −0.2 pts Valid ballots 5,038
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Winnard, G. | Conservative and Unionist Party | 2,528 | 50.2% | Elected |
| 2 | Kimber, J. | Labour Party | 1,723 | 34.2% | |
| 3 | Newham, B. | Green Party | 548 | 10.9% | |
| 4 | Baranowski, H. | Liberal Democrats | 239 | 4.7% |
Royds · single-seat
Marginal winner 50.6% Proportional quota 50.0% Difference −0.6 pts Valid ballots 2,800
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Thornton, A. | Labour Party | 1,417 | 50.6% | Elected |
| 2 | Hainsworth, R. | Reform UK | 478 | 17.1% | |
| 3 | Emmanuel, E. | Conservative and Unionist Party | 391 | 14.0% | |
| 4 | Daw, M. | Green Party | 374 | 13.4% | |
| 5 | Riach, I. | Liberal Democrats | 140 | 5.0% |
Keighley Central · single-seat
Marginal winner 51.5% Proportional quota 50.0% Difference −1.5 pts Valid ballots 5,638
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Hussain, M. | Labour Party | 2,902 | 51.5% | Elected |
| 2 | Shabir, V. | Independent | 1,889 | 33.5% | |
| 3 | Abberton, C. | Conservative and Unionist Party | 498 | 8.8% | |
| 4 | Ferguson, P. | Green Party | 234 | 4.2% | |
| 5 | Allon, N. | Liberal Democrats | 115 | 2.0% |
Windhill and Wrose · single-seat
Marginal winner 51.6% Proportional quota 50.0% Difference −1.6 pts Valid ballots 3,007
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Ross-Shaw, A. | Labour Party | 1,551 | 51.6% | Elected |
| 2 | Gill, J. | Conservative and Unionist Party | 728 | 24.2% | |
| 3 | Wood, J. | Green Party | 388 | 12.9% | |
| 4 | Thorne, G. | Liberal Democrats | 340 | 11.3% |
City · single-seat
Marginal winner 52.5% Proportional quota 50.0% Difference −2.5 pts Valid ballots 4,239
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Saleem, R. | Independent | 2,224 | 52.5% | Elected |
| 2 | Ahmed, A. | Labour Party | 1,448 | 34.2% | |
| 3 | Tadych, M. | Green Party | 300 | 7.1% | |
| 4 | Kirk, P. | Conservative and Unionist Party | 267 | 6.3% |
Bradford Moor · single-seat
Marginal winner 52.6% Proportional quota 50.0% Difference −2.6 pts Valid ballots 3,903
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Ahmed, R. | Liberal Democrats | 2,052 | 52.6% | Elected |
| 2 | Alipoor, M. | Labour Party | 1,179 | 30.2% | |
| 3 | Wood, A. | Green Party | 494 | 12.7% | |
| 4 | Longhorn, D. | Yorkshire Party | 110 | 2.8% | |
| 5 | Shana, T. | Conservative and Unionist Party | 68 | 1.7% |
Toller · single-seat
Marginal winner 52.6% Proportional quota 50.0% Difference −2.6 pts Valid ballots 4,841
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Malik, A. | Independent | 2,548 | 52.6% | Elected |
| 2 | Hussain, A. | Labour Party | 1,665 | 34.4% | |
| 3 | Ford, B. | Green Party | 453 | 9.4% | |
| 4 | Sharp, J. | Conservative and Unionist Party | 175 | 3.6% |
Queensbury · single-seat
Marginal winner 53.6% Proportional quota 50.0% Difference −3.6 pts Valid ballots 3,973
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Majkowski, L. | Independent | 2,130 | 53.6% | Elected |
| 2 | Hussain, M. | Labour Party | 919 | 23.1% | |
| 3 | Paterson, A. | Conservative and Unionist Party | 574 | 14.4% | |
| 4 | Dodwell, E. | Green Party | 279 | 7.0% | |
| 5 | Whitrick, M. | Liberal Democrats | 71 | 1.8% |
Worth Valley · single-seat
Marginal winner 56.4% Proportional quota 50.0% Difference −6.4 pts Valid ballots 4,129
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Brown, R. | Conservative and Unionist Party | 2,327 | 56.4% | Elected |
| 2 | Joomun-Whitehead, A. | Labour Party | 1,309 | 31.7% | |
| 3 | Telfer, A. | Green Party | 328 | 7.9% | |
| 4 | Kirkham, K. | Liberal Democrats | 165 | 4.0% |
Idle and Thackley · single-seat
Marginal winner 60.3% Proportional quota 50.0% Difference −10.3 pts Valid ballots 4,142
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Griffiths, A. | Liberal Democrats | 2,499 | 60.3% | Elected |
| 2 | Logan, G. | Labour Party | 881 | 21.3% | |
| 3 | Barras, L. | Yorkshire Party | 309 | 7.5% | |
| 4 | Basit, S. | Conservative and Unionist Party | 243 | 5.9% | |
| 5 | Lawrence, T. | Green Party | 210 | 5.1% |
Tong · single-seat
Marginal winner 60.6% Proportional quota 50.0% Difference −10.6 pts Valid ballots 2,675
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Edwards, M. | Green Party | 1,620 | 60.6% | Elected |
| 2 | Ratcliffe, S. | Labour Party | 707 | 26.4% | |
| 3 | Lum, G. | Conservative and Unionist Party | 183 | 6.8% | |
| 4 | Herdson, D. | Yorkshire Party | 97 | 3.6% | |
| 5 | Elliott, S. | Liberal Democrats | 68 | 2.5% |
Bingley · single-seat
Marginal winner 61.7% Proportional quota 50.0% Difference −11.7 pts Valid ballots 6,005
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Dearden, M. | Labour Party | 3,705 | 61.7% | Elected |
| 2 | Golding, P. | Conservative and Unionist Party | 1,690 | 28.1% | |
| 3 | Drucquer, R. | Green Party | 398 | 6.6% | |
| 4 | Russell, P. | Liberal Democrats | 212 | 3.5% |
Shipley · single-seat
Marginal winner 63.6% Proportional quota 50.0% Difference −13.6 pts Valid ballots 5,114
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Love, M. | Green Party | 3,251 | 63.6% | Elected |
| 2 | Elgar, J. | Labour Party | 1,064 | 20.8% | |
| 3 | Hussain, Q. | Conservative and Unionist Party | 361 | 7.1% | |
| 4 | Nagbea, Nagbea | Independent | 206 | 4.0% | |
| 5 | Moncaster, P. | Reform UK | 166 | 3.2% | |
| 6 | Errington, N. | Liberal Democrats | 66 | 1.3% |
Little Horton · single-seat
Marginal winner 68.5% Proportional quota 50.0% Difference −18.5 pts Valid ballots 4,023
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Sajawal, T. | Independent | 2,755 | 68.5% | Elected |
| 2 | Mawson, A. | Labour Party | 769 | 19.1% | |
| 3 | Ali Arobi, N. | Green Party | 220 | 5.5% | |
| 4 | Bell, E. | Conservative and Unionist Party | 150 | 3.7% | |
| 5 | Buxton, B. | Yorkshire Party | 129 | 3.2% |
Manningham · single-seat
Marginal winner 76.8% Proportional quota 50.0% Difference −26.8 pts Valid ballots 5,336
| Rank | Candidate | Party | Votes | Share | Elected |
|---|---|---|---|---|---|
| 1 | Islam, M. | Independent | 4,100 | 76.8% | Elected |
| 2 | Hussain, A. | Labour Party | 899 | 16.8% | |
| 3 | Fetherston, A. | Green Party | 193 | 3.6% | |
| 4 | Burns, H. | Conservative and Unionist Party | 144 | 2.7% |