🧠 Refusal Pattern Browser
Planning officers reuse language. Councils share boilerplate. This page surfaces the patterns mined from 5,854 PINS appeal decisions — what phrases get reused, which policies get cited, and which cross-council templates dominate refusals.
⚖️ Your right to challenge generic refusals — the rules that bind the planner
Planning officers using generic catchphrases ("character and appearance of...", "contrary to policy", "harm to the openness of...") without identifying the specific feature, evidence, or measurable harm is challengeable. The system has rules — most planners assume applicants won't read them.
📜 What the rules actually require
- Statutory duty to give reasons — Article 35(1)(b) of the Town and Country Planning (Development Management Procedure) Order 2015: refusal notices must state "clearly and precisely" the full reasons. Generic phrases without specificity fail this test.
- NPPF para 135 — "Decisions should not refuse otherwise acceptable development on design grounds." Quote this back whenever the refusal hides behind vague design language.
- NPPF para 38 — Decision-makers must "approach decisions in a positive and creative way" and "work proactively with applicants to secure developments". Refusing without engagement breaches this.
- PINS Costs Guidance — Costs can be awarded against an LPA where its refusal is "unreasonable" (PPG Reference ID 16-049). Includes: vague refusal reasons, no evidence base, refusing contrary to officer's own assessment, refusing on grounds not raised at consultation.
- Probity / Bias — Lord Nolan's Standards in Public Life principles (selflessness, objectivity, openness, accountability) apply to planning officers. A refusal grounded in template language rather than site-specific evidence undermines objectivity.
- Case law: Save Britain's Heritage v SoS [2018] EWCA Civ 2137 — reasons must enable the reader to understand why a decision was made on each principal controversial issue. "Why" requires evidence + reasoning, not assertion.
🛡 How to push back
- Demand specificity in writing before the decision is made. "Which feature? Compared to what local character? Which paragraph of which policy?"
- If refused on vague grounds, appeal under s.78 — the Inspector applies a higher evidential bar than the LPA.
- Apply for costs at the same time as the appeal. Vague refusal is one of the explicitly listed "unreasonable behaviour" grounds in PPG.
- Use the patterns below — when this LPA's officer cites "character and appearance of" in 73 different refusals, that's a template, not site-specific reasoning. Hold them to the requirement that each refusal be evidenced on its own facts.
The patterns surfaced on this page are the platform's contribution to that fight. Every phrase the LPA reuses is statistical evidence it's not site-specific reasoning. Quote it back.
Pattern fingerprint — __all__
💡 How to use this fingerprint
- Themes: if you're submitting to __all__, your Planning Statement must engage with their top themes. A theme they cite 30+ times → write a dedicated section addressing it.
- Top-cited policies: quote each verbatim in your statement. If they cite Policy CS19 in 1 in 3 refusals, the officer expects to see it referenced in your submission.
- Reused phrases: these are this LPA's catchphrases. Acknowledging them in your text shows you understand their idiom; echoing them back uncritically is template-trap. Use the Policy Conflict Detector to check.
🎯 Refusal themes — what they refuse for
📜 Most-cited policies — what they lean on
🔁 Most-reused phrases — the catchphrases
📊 Data sources & freshness
Patterns surface what officers actually write. Lower thresholds = more noise; we filter n-grams to phrases containing at least one refusal-vocabulary token (harm, adverse, contrary, character, amenity, etc.) so the signal is concentrated on refusal language.
- lib_documents.plain_text ↗ (updated Mined daily via cron)
PINS appeal decisions with full Inspector text. Currently 401 of 57,920 have plain_text extracted; backfill scrape in progress. - Pattern detector ↗
n-grams (4-6 words) with refusal-y vocab filter · policy-citation regex (NPPF para, Policy X.Y, s.66/s.72) · theme classifier (9 themes) · cross-LPA boilerplate (phrases used by 2+ LPAs). - LPA name resolution
Internal ONS code → name map; covers the NE councils + a handful of London / High Peak. National rollout pending LPA scaleout.