RESEARCH & DATA
Scope, method, and limits.
Structured Section 106, CIL, and IFS line items from published council documents — with coverage transparency, methodology, and honest limits on scope for journalists, academics, and policy researchers.
What we study
Obsidian Dynamics ingests published Infrastructure Funding Statement (IFS) material — spreadsheets and PDFs — and extracts developer contribution rows. Each row is linked to a source document where possible. The dataset covers developer contributions reported through:
- Section 106 — planning obligations and developer agreement contributions
- Community Infrastructure Levy (CIL) — levy receipts, allocations, and retained balances where published
- IFS tables — tabular reporting that authorities publish annually or on request
We also provide:
- Per-authority coverage and latest reporting period
- Sample CSV exports with key S106/CIL fields
- A public read-only coverage API (no key required)
- Contact for bespoke exports or methodology questions
What this is not
Not full council budgets. We do not ingest entire local authority accounts, capital programmes, or general revenue spending. Coverage is limited to developer contribution material published through IFS-style reporting.
Not legal or planning advice. Figures are extracted from published documents and may require verification against originals. Low-confidence rows are flagged internally for review.
Not complete national coverage. Many authorities publish inconsistently, in non-machine-readable formats, or not at all. The table below shows where we have ingested data today — not where data theoretically exists.
Coverage
Live statistics are loaded from /api/public/coverage when the backend is reachable. If not, the page falls back to the last exported snapshot bundled with the site.
Loading coverage…
| Authority | Region | Records | Latest period | Last updated | Source |
|---|---|---|---|---|---|
| Loading… | |||||
Methodology
Each record passes through a documented pipeline from public source to structured output:
- Public sources — council IFS landing pages, published spreadsheets, and PDFs
- Crawl — scheduled fetch of new and updated documents per authority
- Normalisation — parse tabular line items; map categories to a consistent schema (S106, CIL, IFS)
- Review threshold — low-confidence extractions are flagged internally and withheld from published exports until reviewed
- Provenance — each row links to source document URL, report period, and page or table reference where available
Retained balances may be published explicitly by councils or derived from received minus spent totals when no retained column exists. Figures should always be checked against council originals before publication. Contact us if you need the archived source file for a specific authority.
Limitations
- Coverage gaps. Many authorities publish inconsistently, in non-machine-readable formats, or not at all. The table above shows where we have ingested data today — not where data theoretically exists.
- Council inconsistency. Reporting periods, category labels, and table structures vary by authority. Normalisation improves comparability but cannot remove all local variation.
- Not legal or financial advice. Structured extracts are for research and review. They are not a substitute for professional advice or verification against original published documents.
How to cite
If you republish analysis that relies materially on this data, attribution to Obsidian Dynamics Limited is required. Verify figures against council originals before publication.
Attribution requirements, permitted use, and export identifiers are set out in Terms of Service (§6.1). API responses include machine-readable attribution metadata and per-request identifiers.
Data use & attribution
Figures are structured extracts from published Infrastructure Funding Statements and related council documents — not original council records.
If you republish analysis that relies materially on this data, please attribute Obsidian Dynamics as the structured data provider and verify figures against council originals. See Terms (§6.1).
Shared exports and API responses include identifiers so we can trace republication and investigate suspected misuse. This supports responsible data use — not marketing profiling.
Technical details: API reference.
For journalists & researchers
GET /api/public/coverage — JSON list of authorities with record counts, latest period, source URLs, and ingest timestamps. No authentication. Responses include Obsidian Dynamics attribution headers and a machine-readable attribution block with a per-request ID.
Structured search, provenance, and bulk export endpoints are available on the private Intelligence API — see the API reference and request access if needed.
Bespoke exports are fingerprinted. Each pack we send includes a unique export_id in the README and as a comment line at the top of CSV files (not inside data cells). If you publish material derived from a pack we supplied, quote the export ID when contacting us — it helps us trace attribution without altering the underlying figures.
Enquiries
Media and research enquiries welcome — contact jamie@obsidiandynamics.co.uk for methodology questions, corrections, or bespoke exports.