← Work index

No One Home

Open housing evidence, built with the London Renters Union: fragmented official data reconciled into 296 comparable councils and a Lewisham map you can actually investigate.

Period
2026
Role
Researcher and developer
Scale
England and Lewisham
Context
Civic, Research, Product
PLATE CIV-296 · 2026National-to-building evidence scaleEngland and Lewisham

Researcher and developer

  • A 296-local-authority interactive choropleth with six switchable measures; the derived national long-term-empty total of 303,185 matched Action on Empty Homes' independently published 303,143 to within 0.01%.
  • Lewisham's enforcement gap quantified from open data: 469 of 1,070 long-term empties (43.8%) carry no Empty Homes Premium, against a national gap of 150,257 (49.6%).
  • A Lewisham building-level map of 96,123 Overture footprints delivered as 25 MB PMTiles vector tiles, plus a seven-sheet Excel deliverable and companion CSV built to the LRU brief.
  • A full public methodology, a UK GDPR legitimate-interests assessment, three FOI templates, and a pipeline parametric on a single config that reruns for any of the 296 districts.

The building layer supports investigation; it does not assert that every mapped footprint is an empty home. The per-property composite vacancy score is a documented, source-cited plan, not yet run: it awaits FOI aggregates and walking-survey ground truth before any individual building can be called empty.

Operative overview. Detailed methods and public evidence follow below.

England holds hundreds of thousands of long-term empty homes while renters wait in temporary accommodation, yet the official evidence is scattered across incompatible council-tax tables, census releases and administrative geographies, so no organiser can see the pattern at a glance or carry it into a rent tribunal or a council meeting. The London Renters Union needed a defensible, reproducible database of Lewisham's long-term empty homes, broken down by tenure and built only from public data, so it could survive scrutiny and support pressure for rehousing and Compulsory Purchase Orders.

My contribution

I built a ten-stage, idempotent Python pipeline that ingests MHCLG Live Table 615, Council Taxbase 2025, ONS boundaries and Nomis Census 2021, joins them in DuckDB on local-authority and UPRN keys, and renders the whole thing as a static, backend-free site. The national view is a MapLibre GL choropleth of 296 English local authorities with six switchable measures; the Lewisham layer turns 96,123 Overture building footprints into vector tiles via tippecanoe to PMTiles, served over HTTP byte ranges, atop LSOA census density. Alongside the maps I wrote the methodology, a UK GDPR legitimate-interests assessment, three FOI templates and a seven-sheet Excel deliverable, and cross-checked the national figure against Action on Empty Homes to within 0.01%. The pipeline is parametric on a single config, so the same code scales from Lewisham to any English district with one line.

Decisions and constraints

Decisions I made

  • Separate the public national comparison from any building-level investigation: publish everything aggregated to local authority and LSOA, keep property-level work internal to LRU under a documented legitimate-interests assessment, so the project enables council action rather than becoming a doxxing tool.
  • Triangulate rather than trust one source: mirror ONS's own six-signal method for classifying a vacant dwelling, because council-tax records alone undercount empties by around 72%, and make every indicator cite its provenance.
  • Ship a defensible borough-and-national scaffold first from already-published statistics, and hold the per-building composite vacancy score as a documented, source-cited but un-run plan gated on FOI aggregates and walking-survey ground truth, rather than assert classifications the data cannot yet support.
  • Build backend-free and reproducible: DuckDB, PMTiles and a tiny range-supporting server so the whole evidence package is static-hostable and any figure can be rebuilt from source with one make command.

Operating constraint

No single official dataset answers the question: definitions and geographies do not line up, the Empty Homes Premium misses roughly 72% of empties nationally, and property-level data is either FOI-refused on squatting grounds or GDPR-gated. Everything had to be triangulated from open sources and stay defensible in public.

Claim boundary: The building layer supports investigation; it does not assert that every mapped footprint is an empty home. The per-property composite vacancy score is a documented, source-cited plan, not yet run: it awaits FOI aggregates and walking-survey ground truth before any individual building can be called empty.

Evidence

  • A 296-local-authority interactive choropleth with six switchable measures; the derived national long-term-empty total of 303,185 matched Action on Empty Homes' independently published 303,143 to within 0.01%.
  • Lewisham's enforcement gap quantified from open data: 469 of 1,070 long-term empties (43.8%) carry no Empty Homes Premium, against a national gap of 150,257 (49.6%).
  • A Lewisham building-level map of 96,123 Overture footprints delivered as 25 MB PMTiles vector tiles, plus a seven-sheet Excel deliverable and companion CSV built to the LRU brief.
  • A full public methodology, a UK GDPR legitimate-interests assessment, three FOI templates, and a pipeline parametric on a single config that reruns for any of the 296 districts.