Cutting demand charges and energy costs at a mid-size SPP-grid metal finisher — measured against 12 months of real wholesale prices.
kW demand by hour, based on the latest 48h price forecast.
Would extending the day shift to capture cheap overnight hours pay for itself?
Tells you when to run plating loads during the day to minimize two costs at once: the kWh charge (when wholesale electricity is cheap) and the demand charge (your peak kW during the month).
XGBoost regressor on hourly LMP with calendar + weather + demand + lag features. 80/20 chronological split. The metric above is WMAPE (weighted absolute percentage error: sum of errors divided by sum of actual prices) — the industry-standard metric for ISO LMP forecasting. WMAPE is used instead of plain MAPE because SPP LMP regularly dips below zero during high-wind hours, which breaks the percentage math in MAPE.
For each of the last 365 days, both schedulers replay against that day's real SPP LMP. The savings number above is the year sum of (flat-baseline cost − optimized cost).
Want a heads-up when V2 ships? DM me on LinkedIn.