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.

In development. A dedicated interactive view built on a custom API script that pulls GB system-frequency data and produces month-by-month statistical summaries — distributions, percentiles, time inside and outside operational bands, and month-on-month trends.

The intent is a quick, high-level way to see whether baseline system behaviour is drifting, without wading through the underlying time-series yourself.

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.