CEGridSight couples a 27-zone pan-European dispatch MILP with per-hour markup calibration and a LightGBM residual model — all retrained nightly on the same production shadows it serves, so the calibration never drifts from what traders actually see.

£31 / MWh mean absolute error on 10-day GB price, measured on a 90-day walk-forward backtest against real Elexon settlements.
MAE vs climatology
Negative-price hit rate
Peak-hour MAE
Residual improvement
Every nightly retrain is gated on a regression check — if the new model fails MAE, calibration, or train/test ratio thresholds, we roll back automatically and keep serving the previous one.
A coupled MILP across 27 European bidding zones, 1,014 thermal units seeded from the Global Power Plant Database, 52 cross-border NTC links, and half-hourly storage dispatch. HiGHS solves the 480-period LP in ~4 minutes on a dedicated 32-core runner every six hours.
The raw MILP shadow price is passed through a per-hour linear markup model (actual = a·shadow + b, fit per settlement period) and a LightGBM residual correction on 51 MILP-derived features. Both models are trained nightly on real production shadows, not synthetic hindcasts — training ≡ production by construction.
Forecasts land in a cached API with tier-gated horizon, stamped with the MILP completion timestamp so clients can see freshness at a glance. Redis persists the trained calibration models across ephemeral GitHub-runner invocations. A nightly regression gate promotes or rolls back the model automatically.
All zones covered by the live forecast stack — GB, Iberia, Nordics, Baltics, Central and Eastern Europe.

Start free with historical GB data and live accuracy tracking. Upgrade to Pro for 2-day GB forecasts, or join the Expert waitlist for full European coverage.