NESO data

Statistical views and tools built on public NESO data.

A small catalogue of tools and reference material built on publicly available NESO data. Three sub-areas sit below — a planned frequency-statistics tool, live historical-trend views built on GC0105 / GC0151 incident reports, and a general-purpose interface to the NESO Data Portal.

The AI aspect of this piece of the work is a custom API interface developed to connect to the NESO data portal to allow data to be retrieved directly from the system operator, allowing for easy dissection, review and analysis. The AI approach here is somewhat more complex as using an AI to directly process large datasets (each NESO monthly frequency data set is circa 75Mb), becomes context heavy and a massive token burner. Instead I used the AI to develop software tools to analyse and parse the data in a structured method into trend data that the AI could then review and used to extrapolate patterns of behaviour.

Frequency data

1Statistical view of GB system frequency.

A statistical view of GB system frequency built from NESO’s 1-Hz public dataset. Each month is rendered as a single dashboard showing the per-minute envelope, the frequency distribution and diurnal profile, and time spent outside operational and statutory bands. Step through the months in the carousel below — the window currently runs from January 2025 to March 2026 and refreshes as new monthly CSVs are published.

The dashboard uses the FRCR thresholds for the colour banding: the operational band is 49.8–50.2 Hz, the statutory licence limits are 49.5–50.5 Hz. Across the whole window the grid sat inside the operational band more than 99.9% of the time and never breached the statutory limits — the interesting structure is in the tails, the short excursions, and the seasonality.

Looking across the whole period (Jan 2025 → Mar 2026), the grid stayed inside the operational band the vast majority of the time and never breached statutory licence limits. One month stands out — January 2025 — with roughly three times the operational-excursion count of any other month in the window.

GB frequency multi-month overview

NESO API

3General interface to the NESO Data Portal.

A static, interactive dashboard built directly on top of the NESO Data Portal’s CKAN API. Grouped into five themes — system load, generation mix, ancillary-service requirements, EAC procurement, and Demand Flexibility — covering roughly fourteen individual panels at half-hourly or EFA-block resolution.

Data refreshes monthly. A single build script pulls every source CSV from the Data Portal, geocodes new provider postcodes, and bakes the charts into a self-contained HTML page with no runtime calls — so it serves as a pure static asset from Cloudflare.

Live dashboard

Open in new tab ↗

Source: NESO Data Portal. Postcode geocoding via postcodes.io. Click the Open in new tab link above for a full-window view.