One forecasting system for portfolios that all look different
Renewcast's forecasting pipeline assumed one ID per plant, with the data already prepared. Portfolios broke that assumption. I modelled plants, meters and the forecasts Renewcast sells as separate things, so each new portfolio reuses the same steps instead of needing its own pipeline.
- Role
- Designed the framework and built the pipelines
- Stack
- Python, pvlib, H3, LightGBM, MLflow
4
Client portfolios with different layouts
1,189
Plants in the largest portfolio

How it works
- 1
Plants and weather
- 2
Physics forecast
- 3
Meter correction
where history exists
- 4
Portfolio total
- 5
Delivered forecast
asset, zone or portfolio
Results
Forecast against metered energy, 107-site portfolio
Monthly energy in MWh. Each month was forecast without seeing that month's data.
- Forecast
- Metered
107-site portfolio, July 2025 to August 2026.
Show dataHide data
| Metered | Forecast | |
|---|---|---|
| Jul 2025 | 2,976 MWh | 2,898 MWh |
| Aug 2025 | 3,064 MWh | 3,287 MWh |
| Sep 2025 | 2,228 MWh | 2,162 MWh |
| Oct 2025 | 1,346 MWh | 1,280 MWh |
| Nov 2025 | 697 MWh | 681 MWh |
| Dec 2025 | 397 MWh | 341 MWh |
| Jan 2026 | 573 MWh | 673 MWh |
| Feb 2026 | 862 MWh | 899 MWh |
| Mar 2026 | 2,527 MWh | 2,415 MWh |
| Apr 2026 | 2,649 MWh | 2,667 MWh |
| May 2026 | 3,020 MWh | 2,908 MWh |
| Jun 2026 | 3,335 MWh | 3,197 MWh |
| Jul 2026 | 3,266 MWh | 3,244 MWh |
| Aug 2026 | 2,792 MWh | 2,791 MWh |
By October 2026, four client portfolios ran on the framework, the largest with 1,189 plants. On a 107-site portfolio, hourly forecast error came to 10% of metered energy over 14 months. Monthly totals were off by 5% on average.
Key decisions
- 01
Plants, meters and forecasts are different things
One meter can measure several plants, and one portfolio can be sold as several forecasts. Modelling those relationships separately lets training follow the meters while delivery follows whatever grouping the client buys.
- 02
Start before every site has meter data
Sites with usable meter history get a learned correction and the others get the physics forecast. The client gets a complete portfolio forecast without waiting for every site to build up history.
- 03
Build new clients from existing routes
Forecasting one asset, a whole portfolio, a single zone or meter-level corrections are all routes built from the same steps. A new client requirement is usually a new combination of steps that already exist.