Methodology
Oil Stock Levels
Stock data comes from DESNZ Energy Trends Table 3.11 (Stocks of Petroleum), published monthly. The data covers closing stock levels at UK refineries, terminals, and offshore facilities.
We track four product categories:
Petrol — Motor spirit (column: "Petrol")
Diesel — Total diesel/gas oil (DERV + red diesel, column: "Total diesel/gas oil stocks")
Jet Fuel — Aviation kerosene (column: "Jet fuel")
Heating Oil — Burning oil (column: "Burning oil")
Units are thousand tonnes (kt). Data is published with an approximate 2-month lag — for example, January 2026 data was published in late March 2026.
Days of Supply Calculation
Days of supply = (Stock level ÷ Monthly consumption) × 30
Monthly consumption comes from DESNZ Energy Trends Table 3.13 (Deliveries of petroleum products for inland consumption). Where consumption data for the exact stock period is not yet available, we use the most recent available month within 3 months.
The 90-Day Benchmark
The UK is an IEA member and is obligated to hold emergency oil stocks. The IEA’s own page on UK oil-security legislation puts the operative obligation at 67.5 days of domestic net consumption (61 days plus 10 per cent) — the greater of that or 90 days of net imports. It is assessed on the UK’s total oil stocks: crude plus all products, including stocks that obligated suppliers hold and stocks held abroad under bilateral agreement.
The UK meets this obligation. DESNZ’s Energy Trends release of 30 June 2026 reports 10.2 million tonnes of UK stock at the end of Q1 2026, “more than meeting the 90-day net import requirement set by the IEA”.
Why the dashboard no longer compares against it. The days-of-supply figures here measure something different: consumption cover for four refined products. They share neither numerator nor denominator with the obligation, so a shortfall against 90 days cannot be computed from them and is not shown. Each fuel’s status instead reflects where its current cover sits against its own history — the percentile within the months we hold. “Critical” means unusually low for that fuel, not non-compliant.
Two limitations follow, and we would rather state them than have you infer them. The baseline is short — 29 months as of August 2026 — and it is relative: a fuel in sustained structural decline can read “safe” while being low in absolute terms, because the comparison is to its own recent past. Where 90 days still appears on a chart, it is a labelled reference line and nothing more.
Correction — 11 August 2026
Until today this dashboard derived every fuel’s status by dividing its days of cover by 90. That was wrong in two ways and we are correcting it on the record. It compared a per-product consumption measure against a whole-system net-import obligation, which overstated the shortfall; and because “safe” required 99 days of product cover — a level no refined-product inventory holds anywhere — every fuel read “critical” permanently, including heating oil while it sat near the top of its own range. The paragraph above this one had described the mismatch correctly for some time; the code did not follow it. Statuses are now percentile-based, so they can and do differ between fuels. Sources: the IEA’s United Kingdom’s legislation on oil security and DESNZ Energy Trends, 30 June 2026.
Weekly Fuel Prices
Pump prices come from the DESNZ weekly road fuel prices dataset, compiled from the CMA Road Fuel Prices Scheme. This covers approximately 90% of UK retail fuel volume. Prices are national weighted averages in pence per litre, including duty and VAT.
Brent Crude
The site uses two different Brent series for two different jobs. We disclose this because they can diverge meaningfully during volatile markets, and a reader who compares the dashboard's live card against the historical chart should know why the numbers may not match exactly.
The live current-price card tracks Stooq's cb.f front-month Brent futures — intraday, freely available, refreshes client-side every five minutes. Front-month futures price expected near-term delivery and roll between contracts.
The “Brent in Historical Context” chart on the prices page draws from the U.S. Energy Information Administration's Europe Brent Spot Price FOB daily series (RBRTE), which goes back to 20 May 1987. EIA spot is the more authoritative reference for analytical work; it's what most press and policy citations mean by “Brent.” eia.gov ↗
In normal markets the gap between the two series is about $1–3 per barrel. During the Iran war period of early 2026 the gap widened to over $25/bbl as the futures curve discounted a near-term ceasefire that didn't arrive. Both are real, sourced numbers — they answer different questions.
AI Analysis
A daily AI-generated analysis is produced using Claude (Anthropic). The model receives the latest stock, price, and crude oil data and generates a plain-English summary. The analysis is clearly labelled and timestamped. It may contain errors and should not be relied upon for critical decisions.
Data Pipeline
An automated pipeline runs daily via GitHub Actions. It downloads the latest DESNZ spreadsheets and price CSV, processes the data, generates the AI analysis, and commits updated JSON files to the repository. The site rebuilds automatically on each commit.
Limitations
Stock data has an inherent ~2-month lag from DESNZ publication schedules
Days-of-supply figures use total consumption, not net imports — see note above
Prices are national averages; regional and forecourt-level variation exists
The DESNZ spreadsheet URLs change with each publication — the pipeline scrapes for the latest
AI analysis may contain errors or misinterpretations