DeepAR Gas Forecasting
Sole developer · 2024–2025
⚡ Informed $300M capital planning decision
Problem
KUB needed a 10-year gas demand forecast to support a $300M infrastructure decision. The existing approach gave executives a single number with no uncertainty range. They were making a major capital commitment without any visibility into how wrong that number might be.
What I Built
- 01I picked DeepAR over Prophet and LSTM for two specific reasons: it outputs a full probability distribution rather than a single point estimate, giving P10/P50/P90 forecast bands out of the box. And its autoregressive structure feeds each prediction forward as input, making it naturally adaptive to demand shifts rather than assuming patterns stay constant.
- 02Weather drives gas demand more than almost anything else. I pulled about 50 ensemble scenarios from NOAA GFS covering temperature, HDD/CDD, and precipitation, so climate variability gets baked into the forecast range rather than treated as a fixed assumption.
- 03Built a Streamlit dashboard comparing four models side by side: DeepAR, Prophet, SARIMA, and a simple trend baseline. Executives could see how each approach handled uncertainty and question the assumptions directly, without needing to touch any code.
- 04Set up automated retraining so the model stays current as new historical data comes in. No one has to remember to kick it off manually.
~20 years historical gas demand data + NWP ensemble members (~50 weather scenarios) + Holiday / day-of-week / HDD-CDD covariates → DeepAR global model (learned per-meter embeddings) → Monte Carlo trajectory sampling at inference → Probabilistic forecast bands: P10 / P50 / P90 → 4-model comparison dashboard (Streamlit)
Results
The probabilistic bands changed the conversation entirely. When executives could see the full range of demand scenarios, the analysis showed that delaying construction and implementing a surcharge model made more financial sense than building new infrastructure. That was a meaningful directional shift on a $300M decision.
Stack
DeepARPyTorchNOAA GFS / NWPStreamlitPandasNumPyPython
Next Project
Market Signal Extraction→