Reform took the outer ring. Greens took the inner core. The geography is legible.
The Winners and Changes pages put numbers and correlations on the page. This one puts pins on a map. Three views of the same 215 wards: who won them last time (2022 for the thirds boroughs, 2021 for Salford), who won them in 2026, and the seats that changed hands. Each ward is shaded by the party that took it; borough outlines sit on top in a darker line. Reform's gains form a near-continuous outer ring through Wigan, Bolton, Bury, Rochdale, Tameside, eastern Trafford and the western edge of Stockport. The Green wins concentrate sharply in the Manchester core — Hulme, Withington, Old Moat, Chorlton, Rusholme, Whalley Range — with a handful of Salford and Trafford spillovers. Labour's surviving wards huddle in inner Manchester and the Salford / Trafford / Bury cores. The pattern is spatial, not just demographic.
Method: Ward boundaries are ONS WD24 (May 2024 BGC), filtered to the 10 GM borough LAD codes (E08000001–E08000010), reprojected from WGS84 to British National Grid (EPSG:27700), simplified at 50 m tolerance, and committed to data/ward_geoms.json — see scripts/09_fetch_ward_boundaries.py. Joins to results data via the GSS code map in data/all_gss_mapping.json. Where a 2026 ward name was a fuzzy match to its 2022/2021 predecessor because of the 2023/2024 boundary reviews in Bolton, Stockport, Trafford and Wigan, the prior-party value is rendered onto the closest current shape — flagged with a dashed stroke on the Before map only. Each ward's hover tooltip also surfaces its 2021 Census ethnic-group breakdown (ONS table TS022: five mutually-exclusive top-level shares — White, Asian, Black, Mixed, Other) and its mean household income (ONS small-area income estimates for FY ending March 2023, "Net income before housing costs", aggregated from MSOA to ward via Census-2021 OA-count weighting — see scripts/03b_aggregate_income.py). Both are the same sources already wired into the Winners and Changes pages. See scripts/07c_build_map_artifact.py for the splice.
§ 1Before · 2022 → After · 2026Ward fill = winning party · same colour encoding both sides
Before · 2022 (Salford 2021)
After · 2026
§ 2Where the seats flippedFlipped wards coloured by gaining party · holds in neutral grey
Flipped wards · 2022 → 2026 · gainer's colour
Hover (or tap) any ward for its name, 2026 / prior result, and 2021 Census ethnic-group shares (White · Asian · Black · Mixed · Other, from ONS table TS022). Dashed-outline wards on the Before map are the ones whose 2026 boundaries are a fuzzy match to a 2022 (or 2021) predecessor — read those colours as approximate.