The bug we found
When we first ranked English outcodes by safety, every Manchester outcode came out in the top 10 nationally. M9 Harpurhey, the most deprived ward in the country, was apparently safer than Moseley.
That's not real. It's a publication gap.
What's actually going on
Police.uk pulls open-format crime data from each of the 43 territorial police forces in England and Wales. Each force has to push monthly extracts. Greater Manchester Police (GMP) had a publication gap from 2019 onwards — a known issue documented in HMICFRS reports — that meant the Police.uk feed for GMP outcodes returned 0–7 crimes per month for years.
A naive "safest" ranking interprets near-zero numbers as safe. They're not safe. They're absent.
How we detect it
We sample six recent months instead of one, take the median of non-zero months, and flag the outcode as `crimeDataGap: true` if every month is near-zero. Then a cross-source plausibility rule fires: if the centroid has more than 50 nightlife venues (OSM amenity count) and fewer than 50 crimes/month, we treat it as a gap, not a fact. Real low-crime areas have low amenity density too.
The bigger lesson
Open data is wonderful and it's full of holes. The Land Registry has a postcode field that's wrong on flats more often than anyone admits. The EPC register matches by address line which means typos cascade. The DfT STATS19 collision file changed column casing in 2018.
Our methodology is to publish what we know and what we don't. If a metric is missing, we say so on the page rather than synthesising a plausible-looking number.
Why this matters for buyers
If a property comparison tool tells you a postcode is "in the top 1% for safety," ask which six months. Ask whether the source had a publication gap. Ask what the road-collision rate is — DfT STATS19 doesn't share Police.uk's reporting issue and tells the same story from a different direction.
→ See crime stats methodology · See how STATS19 catches what Police.uk misses