A re-analysis of house-london-0's
"Spike
Girls" submission (The Spike) against Foreman's own live, continuously
updated data, rather than their frozen scrape from around March 2026. Same methodology
throughout — minor/householder applications only, the same borough data-quality gate — see
analysis/services.py for exactly what was ported from which notebook.
58082 decisions (218333 total) land exactly on the deadline the council set itself — 8.2x the surrounding days. Councils are measured on deciding within the statutory clock; this is what that incentive produces in practice.
Refusal rate: 16.0% in the two weeks before the deadline, jumping to 25.0% on the deadline itself, back down to 14.9% after — proof the bunching in the chart above costs applicants something, not just an administrative timing quirk.
Share of decisions landing exactly on the deadline, by borough. Havering — historically flagged as "broken data" for a ~0% refusal rate — is included here for the first time: the underlying Foreman bug that caused it (a planit.org.uk status-misclassification) is now fixed, and Havering's real refusal rate turns out to be entirely unremarkable.
Approval rate by borough, comparing decisions made in the deadline rush against everything else. Red lines slope down — a lower approval rate when bunched — for most boroughs; a few thin-volume boroughs go the other way, consistent with noise rather than a real reversal of the pattern.
What you propose predicts the outcome more than where you propose it. Routine, low-controversy work (tree works, heritage, advertising) clears well above the London average; full/outline applications for new development and telecoms installations sit well below it.
Words most associated with refusal (red) and approval (green), from a TF-IDF +
logistic regression model trained on application descriptions alone
(ROC-AUC 0.787, 276514 applications).
Trained 2026-08-10 — run
manage.py train_approval_word_model to refresh it against newer data.