About AgilePredict
Overview

AgilePredict forecasts wholesale day-ahead electricity prices and converts those forecasts into Octopus Agile import prices for each supported region. The raw day-ahead price is also available as Region Z and is shown in £/MWh.

Forecasts are generated by an equal-weight ensemble of CatBoost, LightGBM, and Extra Trees regressors trained on a rolling 90-day window of historical data. A confidence band (p10–p90) accompanies each forecast, combining empirical residuals from historical out-of-sample predictions with spread from a weather ensemble. The active feature set is chosen automatically every 14 days by a walk-forward cross-validation experiment.

Model inputs
Feature Description Source Role
opmr_surplusNESO operating margin reserve surplusNESOFixed base
bm_windForecast metered wind generationElexon BMRS / NESOFixed base
solarEmbedded solar generation forecastNESOFixed base
emb_windEmbedded wind generation forecastNESOFixed base
demandForecast national electricity demandElexon BMRS / NESOFixed base
peakFlag for the 16:00–19:00 peak pricing windowDerivedFixed base
weekendWeekend flagDerivedFixed base
bank_holidayEngland & Wales public bank holiday flagGOV.UKFixed base
days_agoAge of the forecast at prediction timeDerivedFixed base
fr_windFrench 10 m wind speedOpen-MeteoExperimental
fr_radFrench solar radiationOpen-MeteoExperimental
fr_nuclearFrench nuclear generationENTSO-EExperimental
wind_10mUK 10 m wind speed forecastOpen-MeteoExperimental
temp_2mUK 2 m temperature forecastOpen-MeteoExperimental
radUK solar radiation forecastOpen-MeteoExperimental
nuclearUK nuclear availabilityElexon BMRSExperimental
gas_ttfTTF natural gas futuresYahoo FinanceExperimental

Fixed base features are included in every run. Experimental features are evaluated by walk-forward cross-validation every 14 days; the winning set is applied until the next experiment. Weather inputs from Open-Meteo are at 15-minute resolution, resampled to 30 minutes.

How forecasts are built
More details →
  1. Recent forecasts and actual prices are loaded from the local database (90-day rolling window).
  2. Training rows are selected from the PM auction window, aligned around the 16:15 update. Price extremes are up-weighted using linear z-score sample weights.
  3. CatBoost, LightGBM, and Extra Trees models are each fitted on the training data; their predictions are averaged to produce the day-ahead forecast.
  4. Predictions are blended with known actual prices where appropriate.
  5. Regional Agile prices are derived from the day-ahead forecast using the configured region scale and shift factors.
  6. Confidence bands are added using empirical residuals and weather ensemble spread.
Uncertainty bands

The band represents a p10–p90 interval: the actual price should fall inside the band for roughly 80% of half-hour slots.

Two components are combined. First, empirical residuals from held-out historical forecasts are binned by forecast horizon (6h, 12h, 24h, 36h, 48h) to set a baseline floor that grows with look-ahead distance. Second, the ICON seamless weather ensemble (10 members) is run through the price model; the spread widens the band on days where weather is uncertain.

Bands are smoothed with a three-period rolling average and always enclose the point forecast.

Comparison forecasts

The History page compares AgilePredict against stored external forecasts from AgileForecast and X2R.

External forecasts are for comparison only and do not feed into the published AgilePredict model.

Supporting the project

Contributions are welcome on GitHub.

If you would like to support the site financially, the Ko-fi link supports Penrith Mountain Rescue Team.

To join Octopus, this referral gives both of us account credit: share.octopus.energy/silk-dream-111.

Forecasts are estimates. No warranty of any kind is given as to availability, accuracy, completeness, reliability, or fitness for any purpose. You should not rely on AgilePredict as the sole basis for financial or operational decisions. Contains BMRS data © Elexon Limited. Weather data by Open-Meteo.com. All data and forecasts are for private, non-commercial use only.