Dudley: wards that bucked the trend
Dudley: in 2023, 34 ward results beat the expected swing and 35 trailed it. The biggest gap was Labour in Halesowen South (+28.5 pts actual vs +1.1 pts expected).
Expected swing is how much a party's share moved across comparable councils in the same year. A positive gap means the party did better locally than that trend; negative means worse.
| Year | Ward | Party | Actual swing | Expected swing | Gap |
|---|---|---|---|---|---|
| 2023 | Halesowen South | Labour | +28.5 pts | +1.1 pts | +27.5 pts |
| 2023 | Gornal | Conservative | -30.3 pts | -5.7 pts | -24.6 pts |
| 2023 | Castle and Priory | Labour | -16.4 pts | +1.1 pts | -17.4 pts |
| 2023 | Halesowen North | Labour | +15.6 pts | +1.1 pts | +14.5 pts |
| 2023 | Belle Vale | Conservative | +6.7 pts | -5.7 pts | +12.4 pts |
| 2023 | Castle and Priory | Conservative | +6.7 pts | -5.7 pts | +12.4 pts |
| 2023 | Gornal | Labour | -10.8 pts | +1.1 pts | -11.9 pts |
| 2023 | Brierley Hill | Conservative | +4.6 pts | -5.7 pts | +10.3 pts |
| 2023 | Cradley & Wollescote | Liberal Democrats | +7.3 pts | -2.0 pts | +9.3 pts |
| 2023 | Lye & Stourbridge North | Liberal Democrats | -11.2 pts | -2.0 pts | -9.2 pts |
| 2023 | Netherton Woodside & St. Andrews | Conservative | -13.9 pts | -5.7 pts | -8.2 pts |
| 2023 | Kingswinford South | Labour | +9.0 pts | +1.1 pts | +8.0 pts |
| 2023 | Brockmoor and Pensnett | Labour | -6.6 pts | +1.1 pts | -7.6 pts |
| 2023 | Norton | Green | +11.0 pts | +3.5 pts | +7.5 pts |
| 2023 | Brierley Hill | Labour | -6.1 pts | +1.1 pts | -7.2 pts |
| 2023 | St. James's | Labour | +7.7 pts | +1.1 pts | +6.7 pts |
| 2023 | St. Thomas's | Labour | +7.1 pts | +1.1 pts | +6.0 pts |
| 2023 | Cradley & Wollescote | Conservative | -11.5 pts | -5.7 pts | -5.8 pts |
| 2023 | Lye & Stourbridge North | Labour | +6.7 pts | +1.1 pts | +5.6 pts |
| 2023 | Belle Vale | Green | -2.0 pts | +3.5 pts | -5.5 pts |
| 2023 | Kingswinford South | Liberal Democrats | -7.4 pts | -2.0 pts | -5.4 pts |
| 2023 | Coseley East | Conservative | -10.7 pts | -5.7 pts | -5.0 pts |
| 2023 | Halesowen South | Green | -1.2 pts | +3.5 pts | -4.8 pts |
| 2023 | Norton | Labour | -3.6 pts | +1.1 pts | -4.7 pts |
| 2023 | Pedmore & Stourbridge East | Conservative | -1.2 pts | -5.7 pts | +4.6 pts |
| 2023 | Halesowen North | Conservative | -10.2 pts | -5.7 pts | -4.5 pts |
| 2023 | Hayley Green & Cradley South | Labour | +5.3 pts | +1.1 pts | +4.2 pts |
| 2023 | Kingswinford South | Conservative | -1.6 pts | -5.7 pts | +4.1 pts |
| 2023 | Upper Gornal and Woodsetton | Conservative | -9.8 pts | -5.7 pts | -4.1 pts |
| 2023 | St. Thomas's | Conservative | -9.8 pts | -5.7 pts | -4.1 pts |
| 2023 | Upper Gornal and Woodsetton | Labour | +5.0 pts | +1.1 pts | +3.9 pts |
| 2023 | Belle Vale | Labour | -2.8 pts | +1.1 pts | -3.8 pts |
| 2023 | Pedmore & Stourbridge East | Liberal Democrats | -5.8 pts | -2.0 pts | -3.8 pts |
| 2023 | Kingswinford North & Wall Heath | Conservative | -2.1 pts | -5.7 pts | +3.6 pts |
| 2023 | Sedgley | Liberal Democrats | +1.5 pts | -2.0 pts | +3.6 pts |
| 2023 | Halesowen North | Green | +0.1 pts | +3.5 pts | -3.4 pts |
| 2023 | Halesowen South | Conservative | -9.0 pts | -5.7 pts | -3.3 pts |
| 2023 | Kingswinford North & Wall Heath | Labour | -2.2 pts | +1.1 pts | -3.3 pts |
| 2023 | Wordsley | Labour | +4.3 pts | +1.1 pts | +3.2 pts |
| 2023 | Sedgley | Conservative | -8.9 pts | -5.7 pts | -3.2 pts |
| 2023 | Brierley Hill | Liberal Democrats | -5.1 pts | -2.0 pts | -3.1 pts |
| 2023 | Wordsley | Liberal Democrats | -4.7 pts | -2.0 pts | -2.7 pts |
| 2023 | Brockmoor and Pensnett | Conservative | -3.1 pts | -5.7 pts | +2.6 pts |
| 2023 | Amblecote | Liberal Democrats | +0.6 pts | -2.0 pts | +2.6 pts |
| 2023 | Sedgley | Labour | -1.5 pts | +1.1 pts | -2.6 pts |
| 2023 | Amblecote | Green | +1.1 pts | +3.5 pts | -2.5 pts |
| 2023 | Wordsley | Conservative | -8.0 pts | -5.7 pts | -2.3 pts |
| 2023 | Quarry Bank and Dudley Wood | Labour | -1.0 pts | +1.1 pts | -2.1 pts |
| 2023 | Coseley East | Labour | -0.9 pts | +1.1 pts | -2.0 pts |
| 2023 | Lye & Stourbridge North | Conservative | -3.8 pts | -5.7 pts | +1.9 pts |
| 2023 | Wollaston & Stourbridge Town | Conservative | -3.9 pts | -5.7 pts | +1.9 pts |
| 2023 | Hayley Green & Cradley South | Liberal Democrats | -0.3 pts | -2.0 pts | +1.7 pts |
| 2023 | Amblecote | Labour | +2.7 pts | +1.1 pts | +1.6 pts |
| 2023 | Norton | Liberal Democrats | -3.5 pts | -2.0 pts | -1.5 pts |
| 2023 | Amblecote | Conservative | -4.3 pts | -5.7 pts | +1.4 pts |
| 2023 | Quarry Bank and Dudley Wood | Liberal Democrats | -0.7 pts | -2.0 pts | +1.3 pts |
| 2023 | Halesowen North | Liberal Democrats | -3.3 pts | -2.0 pts | -1.3 pts |
| 2023 | Norton | Conservative | -7.0 pts | -5.7 pts | -1.3 pts |
| 2023 | Wollaston & Stourbridge Town | Liberal Democrats | -0.9 pts | -2.0 pts | +1.1 pts |
| 2023 | Cradley & Wollescote | Labour | +0.1 pts | +1.1 pts | -1.0 pts |
| 2023 | Halesowen South | Liberal Democrats | -1.0 pts | -2.0 pts | +1.0 pts |
| 2023 | Kingswinford North & Wall Heath | Liberal Democrats | -1.2 pts | -2.0 pts | +0.8 pts |
| 2023 | Hayley Green & Cradley South | Conservative | -5.0 pts | -5.7 pts | +0.7 pts |
| 2023 | Netherton Woodside & St. Andrews | Labour | +1.5 pts | +1.1 pts | +0.5 pts |
| 2023 | Quarry Bank and Dudley Wood | Conservative | -5.3 pts | -5.7 pts | +0.4 pts |
| 2023 | St. James's | Liberal Democrats | -1.9 pts | -2.0 pts | +0.1 pts |
| 2023 | St. James's | Conservative | -5.8 pts | -5.7 pts | -0.1 pts |
| 2023 | Belle Vale | Liberal Democrats | -2.0 pts | -2.0 pts | +0.0 pts |
| 2023 | Pedmore & Stourbridge East | Labour | +1.1 pts | +1.1 pts | -0.0 pts |
| 2022 | Brockmoor and Pensnett | Labour | +30.5 pts | +7.1 pts | +23.4 pts |
| 2022 | Cradley North and Wollescote | Liberal Democrats | +19.9 pts | +2.8 pts | +17.1 pts |
| 2022 | Cradley & Wollescote | Liberal Democrats | +19.9 pts | +2.8 pts | +17.1 pts |
| 2022 | Halesowen South | Labour | -8.5 pts | +7.1 pts | -15.6 pts |
| 2022 | Wordsley | Labour | +20.3 pts | +7.1 pts | +13.2 pts |
| 2022 | Netherton Woodside & St. Andrews | Labour | +18.6 pts | +7.1 pts | +11.6 pts |
| 2022 | St. Thomas's | Conservative | +2.4 pts | -8.4 pts | +10.9 pts |
| 2022 | Quarry Bank and Dudley Wood | Conservative | -18.8 pts | -8.4 pts | -10.4 pts |
| 2022 | Brierley Hill | Conservative | -18.8 pts | -8.4 pts | -10.3 pts |
| 2022 | Quarry Bank and Dudley Wood | Labour | +16.9 pts | +7.1 pts | +9.8 pts |
| 2022 | Wordsley | Conservative | -17.4 pts | -8.4 pts | -9.0 pts |
| 2022 | Kingswinford North & Wall Heath | Labour | -1.7 pts | +7.1 pts | -8.8 pts |
| 2022 | St. Thomas's | Labour | -1.7 pts | +7.1 pts | -8.8 pts |
| 2022 | Kingswinford North & Wall Heath | Conservative | -0.2 pts | -8.4 pts | +8.3 pts |
| 2022 | Castle and Priory | Labour | +15.1 pts | +7.1 pts | +8.1 pts |
| 2022 | Upper Gornal and Woodsetton | Conservative | -0.6 pts | -8.4 pts | +7.8 pts |
| 2022 | Cradley & Wollescote | Labour | -0.1 pts | +7.1 pts | -7.1 pts |
| 2022 | Cradley North and Wollescote | Labour | -0.1 pts | +7.1 pts | -7.1 pts |
| 2022 | Amblecote | Conservative | -1.6 pts | -8.4 pts | +6.9 pts |
| 2022 | Pedmore & Stourbridge East | Liberal Democrats | +8.9 pts | +2.8 pts | +6.1 pts |
| 2022 | Gornal | Conservative | -2.5 pts | -8.4 pts | +6.0 pts |
| 2022 | Norton | Labour | +12.2 pts | +7.1 pts | +5.1 pts |
| 2022 | Cradley & Wollescote | Conservative | -13.5 pts | -8.4 pts | -5.1 pts |
| 2022 | Cradley North and Wollescote | Conservative | -13.5 pts | -8.4 pts | -5.1 pts |
| 2022 | Brierley Hill | Labour | +12.0 pts | +7.1 pts | +4.9 pts |
| 2022 | Amblecote | Labour | +2.7 pts | +7.1 pts | -4.4 pts |
| 2022 | Wollaston & Stourbridge Town | Labour | +11.4 pts | +7.1 pts | +4.3 pts |
| 2022 | Quarry Bank and Dudley Wood | Liberal Democrats | +6.5 pts | +2.8 pts | +3.7 pts |
| 2022 | Brierley Hill | Liberal Democrats | +6.5 pts | +2.8 pts | +3.7 pts |
| 2022 | Coseley East | Labour | +10.6 pts | +7.1 pts | +3.6 pts |
| 2022 | Kingswinford South | Liberal Democrats | -0.7 pts | +2.8 pts | -3.5 pts |
| 2022 | Hayley Green & Cradley South | Labour | +10.5 pts | +7.1 pts | +3.4 pts |
| 2022 | Sedgley | Liberal Democrats | -0.6 pts | +2.8 pts | -3.4 pts |
| 2022 | St. Thomas's | TUSC | +3.5 pts | +0.1 pts | +3.4 pts |
| 2022 | Belle Vale | Conservative | -11.8 pts | -8.4 pts | -3.4 pts |
| 2022 | Lye & Stourbridge North | Labour | +10.4 pts | +7.1 pts | +3.4 pts |
| 2022 | Castle and Priory | Conservative | -11.3 pts | -8.4 pts | -2.8 pts |
| 2022 | Halesowen North | Labour | +4.2 pts | +7.1 pts | -2.8 pts |
| 2022 | Halesowen North | Green | +1.6 pts | -0.9 pts | +2.5 pts |
| 2022 | Hayley Green & Cradley South | Liberal Democrats | +0.3 pts | +2.8 pts | -2.5 pts |
| 2022 | Coseley East | Conservative | -6.0 pts | -8.4 pts | +2.4 pts |
| 2022 | Belle Vale | Green | +1.5 pts | -0.9 pts | +2.4 pts |
| 2022 | Halesowen South | Green | +1.2 pts | -0.9 pts | +2.1 pts |
| 2022 | Sedgley | Labour | +9.1 pts | +7.1 pts | +2.0 pts |
| 2022 | St. James's | Liberal Democrats | +0.9 pts | +2.8 pts | -1.9 pts |
| 2022 | Kingswinford South | Labour | +8.9 pts | +7.1 pts | +1.8 pts |
| 2022 | Norton | Green | -2.7 pts | -0.9 pts | -1.8 pts |
| 2022 | Brockmoor and Pensnett | Conservative | -10.1 pts | -8.4 pts | -1.6 pts |
| 2022 | Gornal | Labour | +8.7 pts | +7.1 pts | +1.6 pts |
| 2022 | Netherton Woodside & St. Andrews | Conservative | -10.0 pts | -8.4 pts | -1.6 pts |
| 2022 | Halesowen South | Liberal Democrats | +1.3 pts | +2.8 pts | -1.5 pts |
| 2022 | Wollaston & Stourbridge Town | Liberal Democrats | +4.1 pts | +2.8 pts | +1.3 pts |
| 2022 | Norton | Liberal Democrats | +1.6 pts | +2.8 pts | -1.2 pts |
| 2022 | Halesowen North | Liberal Democrats | +1.7 pts | +2.8 pts | -1.1 pts |
| 2022 | Amblecote | Green | +0.2 pts | -0.9 pts | +1.1 pts |
| 2022 | St. James's | Conservative | -7.4 pts | -8.4 pts | +1.0 pts |
| 2022 | Kingswinford North & Wall Heath | Liberal Democrats | +1.9 pts | +2.8 pts | -0.9 pts |
| 2022 | Halesowen South | Conservative | -7.6 pts | -8.4 pts | +0.8 pts |
| 2022 | Belle Vale | Liberal Democrats | +3.6 pts | +2.8 pts | +0.8 pts |
| 2022 | Amblecote | Liberal Democrats | +2.1 pts | +2.8 pts | -0.7 pts |
| 2022 | Norton | Conservative | -9.1 pts | -8.4 pts | -0.7 pts |
| 2022 | Halesowen North | Conservative | -7.8 pts | -8.4 pts | +0.6 pts |
| 2022 | Pedmore & Stourbridge East | Conservative | -7.9 pts | -8.4 pts | +0.6 pts |
| 2022 | St. James's | Labour | +6.5 pts | +7.1 pts | -0.6 pts |
| 2022 | Wollaston & Stourbridge Town | Conservative | -7.9 pts | -8.4 pts | +0.5 pts |
| 2022 | Upper Gornal and Woodsetton | Labour | +6.6 pts | +7.1 pts | -0.4 pts |
| 2022 | Brierley Hill | REF | +0.3 pts | -0.1 pts | +0.4 pts |
| 2022 | Pedmore & Stourbridge East | Labour | +7.4 pts | +7.1 pts | +0.4 pts |
| 2022 | Wordsley | Liberal Democrats | +2.4 pts | +2.8 pts | -0.4 pts |
| 2022 | Belle Vale | Labour | +6.7 pts | +7.1 pts | -0.3 pts |
| 2022 | Kingswinford South | Conservative | -8.1 pts | -8.4 pts | +0.3 pts |
| 2022 | Lye & Stourbridge North | Conservative | -8.3 pts | -8.4 pts | +0.1 pts |
| 2022 | Sedgley | Conservative | -8.5 pts | -8.4 pts | -0.1 pts |
| 2022 | Hayley Green & Cradley South | Conservative | -8.4 pts | -8.4 pts | +0.0 pts |
| 2022 | Lye & Stourbridge North | Liberal Democrats | +2.8 pts | +2.8 pts | +0.0 pts |
| 2021 | St. James's | Labour | -30.1 pts | -1.7 pts | -28.5 pts |
| 2021 | St. James's | Conservative | +41.5 pts | +18.1 pts | +23.4 pts |
| 2021 | Kingswinford North & Wall Heath | Conservative | -2.1 pts | +18.1 pts | -20.2 pts |
| 2021 | Coseley East | UK Independence Party (UKIP) | -28.3 pts | -9.8 pts | -18.4 pts |
| 2021 | Gornal | UK Independence Party (UKIP) | -27.9 pts | -9.8 pts | -18.1 pts |
| 2021 | Kingswinford North & Wall Heath | Labour | +14.1 pts | -1.7 pts | +15.8 pts |
| 2021 | Sedgley | Conservative | +3.2 pts | +18.1 pts | -14.9 pts |
| 2021 | Kingswinford South | Conservative | +4.0 pts | +18.1 pts | -14.1 pts |
| 2021 | Netherton Woodside & St. Andrews | Conservative | +31.3 pts | +18.1 pts | +13.2 pts |
| 2021 | Norton | Independent | -13.1 pts | -0.9 pts | -12.2 pts |
| 2021 | Belle Vale | Conservative | +6.1 pts | +18.1 pts | -12.0 pts |
| 2021 | Lye & Stourbridge North | Labour | -13.5 pts | -1.7 pts | -11.8 pts |
| 2021 | Lye & Stourbridge North | Liberal Democrats | +12.2 pts | +1.5 pts | +10.7 pts |
| 2021 | Coseley East | Labour | +9.0 pts | -1.7 pts | +10.7 pts |
| 2021 | Quarry Bank and Dudley Wood | Conservative | +28.6 pts | +18.1 pts | +10.5 pts |
| 2021 | Upper Gornal and Woodsetton | Labour | +7.5 pts | -1.7 pts | +9.1 pts |
| 2021 | St. Thomas's | Labour | -10.2 pts | -1.7 pts | -8.6 pts |
| 2021 | St. Thomas's | Conservative | +25.6 pts | +18.1 pts | +7.5 pts |
| 2021 | Halesowen North | Conservative | +24.8 pts | +18.1 pts | +6.7 pts |
| 2021 | Brockmoor and Pensnett | Conservative | +11.4 pts | +18.1 pts | -6.7 pts |
| 2021 | Castle and Priory | Conservative | +24.7 pts | +18.1 pts | +6.6 pts |
| 2021 | Hayley Green & Cradley South | Green | -8.1 pts | -1.5 pts | -6.5 pts |
| 2021 | Halesowen South | Conservative | +11.9 pts | +18.1 pts | -6.2 pts |
| 2021 | Wollaston & Stourbridge Town | Conservative | +12.0 pts | +18.1 pts | -6.2 pts |
| 2021 | Gornal | Labour | +4.0 pts | -1.7 pts | +5.7 pts |
| 2021 | Wordsley | Labour | -7.4 pts | -1.7 pts | -5.7 pts |
| 2021 | Pedmore & Stourbridge East | Liberal Democrats | -4.0 pts | +1.5 pts | -5.6 pts |
| 2021 | Wollaston & Stourbridge Town | Liberal Democrats | -3.9 pts | +1.5 pts | -5.5 pts |
| 2021 | Castle and Priory | Labour | +3.7 pts | -1.7 pts | +5.4 pts |
| 2021 | Sedgley | Labour | -7.0 pts | -1.7 pts | -5.3 pts |
| 2021 | Belle Vale | Labour | +3.6 pts | -1.7 pts | +5.3 pts |
| 2021 | Pedmore & Stourbridge East | Conservative | +13.0 pts | +18.1 pts | -5.1 pts |
| 2021 | Lye & Stourbridge North | Conservative | +23.2 pts | +18.1 pts | +5.1 pts |
| 2021 | Wordsley | Green | -6.5 pts | -1.5 pts | -5.0 pts |
| 2021 | Cradley & Wollescote | Liberal Democrats | +6.4 pts | +1.5 pts | +4.9 pts |
| 2021 | Brierley Hill | Conservative | +22.8 pts | +18.1 pts | +4.6 pts |
| 2021 | Quarry Bank and Dudley Wood | Labour | +2.9 pts | -1.7 pts | +4.6 pts |
| 2021 | Norton | Conservative | +22.7 pts | +18.1 pts | +4.5 pts |
| 2021 | Kingswinford South | Labour | +2.9 pts | -1.7 pts | +4.5 pts |
| 2021 | Amblecote | Liberal Democrats | -2.6 pts | +1.5 pts | -4.2 pts |
| 2021 | Kingswinford North & Wall Heath | Liberal Democrats | -2.6 pts | +1.5 pts | -4.2 pts |
| 2021 | Cradley & Wollescote | Black Country Party | -2.5 pts | -6.6 pts | +4.1 pts |
| 2021 | Norton | Liberal Democrats | -2.5 pts | +1.5 pts | -4.0 pts |
| 2021 | Halesowen South | Liberal Democrats | -2.5 pts | +1.5 pts | -4.0 pts |
| 2021 | Cradley & Wollescote | Conservative | +14.2 pts | +18.1 pts | -3.9 pts |
| 2021 | Brockmoor and Pensnett | Labour | +2.2 pts | -1.7 pts | +3.9 pts |
| 2021 | Pedmore & Stourbridge East | Labour | +2.2 pts | -1.7 pts | +3.9 pts |
| 2021 | Norton | Green | +2.3 pts | -1.5 pts | +3.9 pts |
| 2021 | Kingswinford South | Liberal Democrats | +5.1 pts | +1.5 pts | +3.6 pts |
| 2021 | Amblecote | Labour | +1.9 pts | -1.7 pts | +3.5 pts |
| 2021 | Wordsley | Conservative | +14.9 pts | +18.1 pts | -3.2 pts |
| 2021 | St. James's | Liberal Democrats | +4.5 pts | +1.5 pts | +3.0 pts |
| 2021 | Hayley Green & Cradley South | Labour | +1.2 pts | -1.7 pts | +2.8 pts |
| 2021 | Halesowen South | Labour | +1.0 pts | -1.7 pts | +2.7 pts |
| 2021 | Wollaston & Stourbridge Town | Labour | +0.9 pts | -1.7 pts | +2.6 pts |
| 2021 | Wordsley | Liberal Democrats | -1.0 pts | +1.5 pts | -2.5 pts |
| 2021 | Netherton Woodside & St. Andrews | Labour | -3.7 pts | -1.7 pts | -2.1 pts |
| 2021 | Quarry Bank and Dudley Wood | Liberal Democrats | -0.5 pts | +1.5 pts | -2.1 pts |
| 2021 | Amblecote | Conservative | +16.2 pts | +18.1 pts | -1.9 pts |
| 2021 | Gornal | Conservative | +19.9 pts | +18.1 pts | +1.8 pts |
| 2021 | Netherton Woodside & St. Andrews | Green | +0.1 pts | -1.5 pts | +1.6 pts |
| 2021 | Upper Gornal and Woodsetton | Conservative | +19.5 pts | +18.1 pts | +1.4 pts |
| 2021 | Hayley Green & Cradley South | Conservative | +16.9 pts | +18.1 pts | -1.2 pts |
| 2021 | Coseley East | Conservative | +19.3 pts | +18.1 pts | +1.2 pts |
| 2021 | Netherton Woodside & St. Andrews | Liberal Democrats | +0.4 pts | +1.5 pts | -1.1 pts |
| 2021 | Halesowen North | Labour | -2.8 pts | -1.7 pts | -1.1 pts |
| 2021 | Cradley & Wollescote | Labour | -2.6 pts | -1.7 pts | -0.9 pts |
| 2021 | Lye & Stourbridge North | Green | -0.8 pts | -1.5 pts | +0.7 pts |
| 2021 | Norton | Labour | -1.0 pts | -1.7 pts | +0.7 pts |
| 2021 | Belle Vale | Green | -1.0 pts | -1.5 pts | +0.5 pts |
| 2021 | Brierley Hill | Labour | -1.9 pts | -1.7 pts | -0.3 pts |
| 2021 | Pedmore & Stourbridge East | Green | -1.3 pts | -1.5 pts | +0.2 pts |
| 2019 | St. James's | Labour | +20.9 pts | -4.4 pts | +25.4 pts |
| 2019 | Wordsley | Conservative | +11.8 pts | -9.3 pts | +21.0 pts |
| 2019 | Sedgley | Conservative | +11.5 pts | -9.3 pts | +20.7 pts |
| 2019 | Coseley East | UK Independence Party (UKIP) | +22.3 pts | +2.3 pts | +20.1 pts |
| 2019 | Gornal | UK Independence Party (UKIP) | +22.0 pts | +2.3 pts | +19.7 pts |
| 2019 | St. James's | Conservative | -25.9 pts | -9.3 pts | -16.7 pts |
| 2019 | Cradley & Wollescote | Conservative | +4.3 pts | -9.3 pts | +13.6 pts |
| 2019 | Belle Vale | Conservative | +3.6 pts | -9.3 pts | +12.8 pts |
| 2019 | Norton | Conservative | -21.8 pts | -9.3 pts | -12.6 pts |
| 2019 | Amblecote | UK Independence Party (UKIP) | +14.8 pts | +2.3 pts | +12.5 pts |
| 2019 | Castle and Priory | UK Independence Party (UKIP) | +14.5 pts | +2.3 pts | +12.2 pts |
| 2019 | Sedgley | Labour | +7.0 pts | -4.4 pts | +11.5 pts |
| 2019 | Halesowen North | UK Independence Party (UKIP) | -8.7 pts | +2.3 pts | -11.0 pts |
| 2019 | Belle Vale | Labour | -15.1 pts | -4.4 pts | -10.7 pts |
| 2019 | Castle and Priory | Labour | -14.3 pts | -4.4 pts | -9.9 pts |
| 2019 | Brierley Hill | Conservative | +0.1 pts | -9.3 pts | +9.3 pts |
| 2019 | Brockmoor and Pensnett | Labour | -13.6 pts | -4.4 pts | -9.2 pts |
| 2019 | Quarry Bank and Dudley Wood | Labour | -13.0 pts | -4.4 pts | -8.5 pts |
| 2019 | Brockmoor and Pensnett | UK Independence Party (UKIP) | +10.6 pts | +2.3 pts | +8.3 pts |
| 2019 | St. Thomas's | UK Independence Party (UKIP) | +9.6 pts | +2.3 pts | +7.3 pts |
| 2019 | Kingswinford North & Wall Heath | Conservative | -3.0 pts | -9.3 pts | +6.2 pts |
| 2019 | Pedmore & Stourbridge East | UK Independence Party (UKIP) | +8.3 pts | +2.3 pts | +6.1 pts |
| 2019 | Kingswinford South | Conservative | -3.5 pts | -9.3 pts | +5.8 pts |
| 2019 | Gornal | Labour | -10.1 pts | -4.4 pts | -5.7 pts |
| 2019 | Cradley & Wollescote | Labour | -10.1 pts | -4.4 pts | -5.7 pts |
| 2019 | Coseley East | Conservative | -14.8 pts | -9.3 pts | -5.5 pts |
| 2019 | Halesowen South | Conservative | -14.5 pts | -9.3 pts | -5.3 pts |
| 2019 | Brierley Hill | UK Independence Party (UKIP) | +7.6 pts | +2.3 pts | +5.3 pts |
| 2019 | Kingswinford South | Labour | -9.6 pts | -4.4 pts | -5.2 pts |
| 2019 | Quarry Bank and Dudley Wood | UK Independence Party (UKIP) | +7.2 pts | +2.3 pts | +4.9 pts |
| 2019 | Brierley Hill | Labour | -9.3 pts | -4.4 pts | -4.9 pts |
| 2019 | Kingswinford South | Green | +6.4 pts | +1.8 pts | +4.5 pts |
| 2019 | Cradley & Wollescote | UK Independence Party (UKIP) | -2.2 pts | +2.3 pts | -4.5 pts |
| 2019 | St. Thomas's | Conservative | -5.0 pts | -9.3 pts | +4.2 pts |
| 2019 | Pedmore & Stourbridge East | Conservative | -13.5 pts | -9.3 pts | -4.2 pts |
| 2019 | Amblecote | Conservative | -13.3 pts | -9.3 pts | -4.0 pts |
| 2019 | Netherton Woodside & St. Andrews | Labour | -8.2 pts | -4.4 pts | -3.8 pts |
| 2019 | Wollaston & Stourbridge Town | Labour | -8.1 pts | -4.4 pts | -3.6 pts |
| 2019 | St. Thomas's | Labour | -7.9 pts | -4.4 pts | -3.4 pts |
| 2019 | Upper Gornal and Woodsetton | Conservative | -12.6 pts | -9.3 pts | -3.4 pts |
| 2019 | Kingswinford North & Wall Heath | Labour | -7.8 pts | -4.4 pts | -3.3 pts |
| 2019 | Lye & Stourbridge North | Conservative | -12.3 pts | -9.3 pts | -3.1 pts |
| 2019 | Halesowen North | Labour | -1.4 pts | -4.4 pts | +3.0 pts |
| 2019 | Hayley Green & Cradley South | Green | +4.7 pts | +1.8 pts | +2.9 pts |
| 2019 | Netherton Woodside & St. Andrews | Green | -1.0 pts | +1.8 pts | -2.8 pts |
| 2019 | St. James's | UK Independence Party (UKIP) | -0.4 pts | +2.3 pts | -2.7 pts |
| 2019 | Hayley Green & Cradley South | Conservative | -11.9 pts | -9.3 pts | -2.7 pts |
| 2019 | Brierley Hill | Green | +4.5 pts | +1.8 pts | +2.7 pts |
| 2019 | Wollaston & Stourbridge Town | Conservative | -11.5 pts | -9.3 pts | -2.3 pts |
| 2019 | St. James's | Liberal Democrats | -1.5 pts | +0.8 pts | -2.3 pts |
| 2019 | Norton | Liberal Democrats | -1.4 pts | +0.8 pts | -2.2 pts |
| 2019 | Norton | UK Independence Party (UKIP) | +4.5 pts | +2.3 pts | +2.2 pts |
| 2019 | Wordsley | Liberal Democrats | +3.0 pts | +0.8 pts | +2.2 pts |
| 2019 | Castle and Priory | Conservative | -7.1 pts | -9.3 pts | +2.1 pts |
| 2019 | Amblecote | Labour | -2.4 pts | -4.4 pts | +2.1 pts |
| 2019 | Upper Gornal and Woodsetton | Labour | -2.4 pts | -4.4 pts | +2.1 pts |
| 2019 | Netherton Woodside & St. Andrews | UK Independence Party (UKIP) | +4.0 pts | +2.3 pts | +1.8 pts |
| 2019 | Quarry Bank and Dudley Wood | Conservative | -10.9 pts | -9.3 pts | -1.7 pts |
| 2019 | Netherton Woodside & St. Andrews | Conservative | -10.9 pts | -9.3 pts | -1.7 pts |
| 2019 | Pedmore & Stourbridge East | Labour | -2.8 pts | -4.4 pts | +1.6 pts |
| 2019 | St. Thomas's | Green | +3.3 pts | +1.8 pts | +1.5 pts |
| 2019 | Norton | Labour | -2.9 pts | -4.4 pts | +1.5 pts |
| 2019 | Lye & Stourbridge North | Labour | -5.9 pts | -4.4 pts | -1.4 pts |
| 2019 | Halesowen South | Liberal Democrats | -0.3 pts | +0.8 pts | -1.1 pts |
| 2019 | Belle Vale | Green | +0.9 pts | +1.8 pts | -0.9 pts |
| 2019 | Halesowen North | Conservative | -10.2 pts | -9.3 pts | -0.9 pts |
| 2019 | Wordsley | Labour | -5.3 pts | -4.4 pts | -0.8 pts |
| 2019 | Lye & Stourbridge North | Green | +1.1 pts | +1.8 pts | -0.7 pts |
| 2019 | Quarry Bank and Dudley Wood | Liberal Democrats | +0.1 pts | +0.8 pts | -0.7 pts |
| 2019 | Brockmoor and Pensnett | Conservative | -9.9 pts | -9.3 pts | -0.6 pts |
| 2019 | Gornal | Conservative | -9.9 pts | -9.3 pts | -0.6 pts |
| 2019 | Kingswinford North & Wall Heath | Liberal Democrats | +1.4 pts | +0.8 pts | +0.6 pts |
| 2019 | Halesowen South | Labour | -5.0 pts | -4.4 pts | -0.6 pts |
| 2019 | Coseley East | Labour | -4.9 pts | -4.4 pts | -0.5 pts |
| 2019 | Pedmore & Stourbridge East | Liberal Democrats | +1.2 pts | +0.8 pts | +0.4 pts |
| 2019 | Hayley Green & Cradley South | Labour | -4.5 pts | -4.4 pts | -0.1 pts |
| 2019 | Amblecote | Liberal Democrats | +0.8 pts | +0.8 pts | +0.1 pts |
| 2018 | Kingswinford North & Wall Heath | Labour | -18.5 pts | +0.8 pts | -19.3 pts |
| 2018 | Kingswinford North & Wall Heath | Conservative | +29.3 pts | +14.3 pts | +15.0 pts |
| 2018 | Lye & Stourbridge North | Conservative | +0.2 pts | +14.3 pts | -14.1 pts |
| 2018 | Lye & Stourbridge North | Labour | +13.5 pts | +0.8 pts | +12.8 pts |
| 2018 | Halesowen North | UK Independence Party (UKIP) | -3.0 pts | -14.8 pts | +11.8 pts |
| 2018 | Amblecote | Conservative | +24.6 pts | +14.3 pts | +10.3 pts |
| 2018 | Belle Vale | Conservative | +4.3 pts | +14.3 pts | -10.0 pts |
