Data
Every series behind the Clock, as CSV. The files are regenerated by the same daily build that updates the dashboard, from the same figures — they cannot disagree with it. Each file's derivation is on the methodology page; citation formats are under Citing this site.
The column names changed on 15 July 2026. Currency and base year have
been dropped from every published column and JSON key: cost_gbp is now
cost, cost_gbp_2024 is now cost_real,
real_2024 is now real, and the same rule runs throughout —
cumulative_gbp became cumulative, rate_gbp_per_sec
became rate_per_sec. The rename moved no figure — it was verified as a change
of names and nothing else before it was published. (The series themselves keep changing
daily, as they always have; that is the data updating, not this.) A column name is the
wrong place to keep a currency or a price basis — the base year moves whenever the series
is rebased, and a name that hard-codes it has to break its readers every time that
happens. Both are published as metadata instead, in
meta.json. If a script of yours broke, that is
the whole of it, and it was better done now than later.
Files
Per-scheme files share one schema: year (the calendar year for
daily-settled schemes — CfD, constraints, BSUoS — and the published scheme or levy year,
labelled by its starting year, for the rest), cost (as paid, in the currency
of publication), cost_real (the same series restated in the price basis of a
single base year, using ONS CPIH, series L522). Column names carry no currency or base
year: both are settings rather than facts about the column, so they are published as
metadata in meta.json — read
deflator.base_year for the base year cost_real is expressed in.
The current year is a partial year. Amounts for indirect schemes are the estimated share
attributed to renewables — the attribution rules are
on the methodology page.
Each file begins with three # comment lines recording the source, licence,
build time and method;
most tools skip them automatically (pandas.read_csv(…, comment='#');
in R, read.csv(…, comment.char='#')).
| File | Series | Source body | Layer |
|---|---|---|---|
| cfd.csv | Contracts for Difference — renewables (incl. biomass), net payments | LCCC | direct |
| renewables-obligation.csv | Renewables Obligation | Ofgem | direct |
| feed-in-tariffs.csv | Feed-in Tariffs | Ofgem | direct |
| constraints.csv | Constraint payments to wind farms | Elexon / REF | direct |
| capacity-market.csv | Capacity Market | LCCC (EMRS) | indirect, estimated |
| climate-change-levy.csv | Climate Change Levy | HMRC | indirect, estimated |
| emissions-trading.csv | Emissions trading | HMRC / DESNZ | indirect, estimated |
| tnuos.csv | Grid upgrades for renewables (TNUoS) | NESO | indirect, estimated |
| bsuos.csv | Balancing the grid (BSUoS) | NESO / Elexon | indirect, estimated |
| combined-annual.csv | All schemes, one column each named for its scheme id, as paid — direct columns are measured, indirect columns estimated (layers as above) | — | both |
| restatements.csv | Every source revision the engine has recorded: when a publisher restates history, it is logged here, never silently overwritten | — | — |
| corrections.csv | Corrections to our own published figures — every confirmed error: what was shown, what it now shows, and who found it | — | — |
The dashboard's own JSON (totals, timeseries, breakdown, meta) is published at the same stable URLs.
Spot an error in any of these figures?
Report it — confirmed errors are
corrected and logged in corrections.csv above and on the
corrections page.
Licence
This dataset is published under Creative Commons Attribution 4.0 (CC BY 4.0). You may copy, redistribute and adapt it for any purpose, including commercially, provided you credit "The Subsidy Clock — subsidyclock.co.uk". The underlying official data remains subject to its own source terms (LCCC, Ofgem, Elexon, NESO, HMRC). Contains public sector information licensed under the Open Government Licence v3.0.
Audit the code
The engine that builds these files — retrieval, money model, reconciliation against official aggregates, and this site — is public: github.com/richardjlyon/subsidy-clock.
Put the Clock on your site
A live, self-updating counter you can embed with one line of HTML: the embed page.