Decisions
Energy load forecasting: the clock is hourly, the cost is real
Load, generation, and price live on a tight clock. Weather is a covariate you only get as a forecast. A skinny band at hour 36 is swagger. Operators plan reserves on a high quantile, not on a pretty MAE.
Updated Aug 26, 2026·8 min read
Hourly is not optional
Load, generation, and price live on a tight clock. A daily total cannot place a peaker or size a battery dispatch. Forecast the hour (or finer). Then roll up for the report. The other way around is a fiction with a nice MAE.
Hourly load — plan the tail
Weather is a forecast of a forecast
You never have tomorrow’s actual temperature at origin. You have a weather forecast — and it will be revised. Train on the weather product you will actually have, at the lag you will have it, or you leaked. Promo flags you already approved are a different species: they are known ahead.
- Calendar: weekends, holidays, and school terms move load as much as mild weather.
- Behind-the-meter solar turns net load into a different series than consumption. Name it.
- Renewable generation wants irradiance and wind as drivers, and a humble interval.
Plan the tail
A 3% hourly WAPE can be a serious system and still be the wrong product if the tail trips a plant. Report coverage of a high quantile. Operators buy reserves on p90 (or whatever the reliability standard says), not on a pretty center line.
Temperature in, pinball out
Pull weather from the Signal Marketplace (or your own feed), aligned to the clock, and let a Predict.ai goal race models on load or generation. Serving returns quantiles. A scenario — a hotter Tuesday, a line down — reuses the live champion instead of a one-off notebook that does not match production features.
That is the gap with BigQuery on hourly load: TimesFM via AI.FORECAST will give you a univariate path in SQL in minutes. You still own the weather join at origin (TimesFM in BQ does not take covariates), the reserve quantile as a serving contract, and the alert when a heat spike leaves the band. We sell that loop.
FAQ
- Why is weather different from a promo flag?
- You never have tomorrow’s actual temperature at origin. You have a weather forecast. Train on that, or you leaked. Promo flags you already approved are known ahead.
- Is a 3% WAPE good for load?
- On hourly system load, often yes — and still not enough if the tail is what trips a plant. Report a high quantile coverage too.
Keep going
Guide
Forecasting with covariates
A covariate is an extra series the model is allowed to see — a promo flag, a temperature, a price. Used well, it explains swings the target's past cannot. Used as a dump of every column you have, it just overfits last quarter.
Guide
Prediction intervals
A prediction interval is a range the future value is expected to fall in, not a promise. p50 is the middle path; p10–p90 is a band for planning stock, staff, and cash without pretending the future is a single line.
Guide
Nowcasting
Nowcasting is a forecast with a horizon of this afternoon. The official close has not posted; you still have to staff the evening or dispatch the next hour. You use faster series — traffic, partial files, a weather nowcast — to estimate the present.
Use case
Energy load forecasting
Forecast demand by interval, feeder, zone, and customer class with weather-driven uncertainty.
Use case
Renewable generation forecasting
Predict wind and solar production with uncertainty for dispatch, bidding, storage, and maintenance.