Case Study
Renewcast · Solar Forecasting Product
Re-architecting day-ahead and intraday solar forecasts with a physics-aware core, optimisation engine, and ML adapters that delivered a 2.5× accuracy boost.
- Industry
- Utility-scale & distributed solar
- Partner
- Renewcast
Capabilities & tooling

Summary
As the sole AI Engineer and Data Scientist for Renewcast, I rebuilt the solar forecasting stack from the ground up—combining interpretable physical models, mathematically rigorous optimisation, and adaptive machine learning. Over a five-month continuous improvement program, each sprint stacked measurable gains until the platform shifted from reactive, error-prone forecasts to a physics-aware system trusted by trading and operations teams.
Portfolio nMAE
15% → 6%
2.5× more accurate
Error Reduction
60%
Lower imbalance cost
Sites Covered
100s
Utility & C&I
Delivery Timeline
5 months
Concept → production
Approach
Each workstream ran in overlapping, two-week sprints so the full physics core, optimisation engine, and ML adapters could hit production inside the five-month rebuild window—treating the engagement as a continuous improvement loop rather than a one-off rebuild.
1. Physical foundations
Modelled clear-sky irradiance, tracker geometry, temperature losses, shading, and site topology to create a physics baseline that traders could interrogate. The deterministic layer ensures forecasts remain interpretable while capturing site-specific behaviour such as single-axis tracker stow positions and historical curtailment.
2. Optimisation engine
Built a rolling-origin backtesting framework aligned to trading hours, with loss functions weighted by market penalties. Bayesian optimisation tuned hyperparameters per site, and feature selection routines guarded against weather bias drift—all orchestrated through MLflow tracking and automated reports.
3. Advanced ML layer
Layered a global gradient-boosted model with site-specific adapters and residual neural nets to correct remaining bias. Quantile regression delivered calibrated P50/P90 forecasts, enabling risk-aware bidding and reserve planning for every asset.
Performance evolution
Within five months, portfolio error dropped from 15% to 6% nMAE through an uninterrupted cadence of improvements. Explore the monthly glide path below—the chart highlights how each optimisation sprint compressed error bands and built confidence for traders.
Portfolio nMAE
6.2%
| Month | nMAE (%) |
|---|---|
| 2025-05 | 15.3 |
| 2025-06 | 11.1 |
| 2025-07 | 10.1 |
| 2025-08 | 9.4 |
| 2025-09 | 7.4 |
| 2025-10 | 6.2 |
New capabilities in progress
With the five-month continuous-improvement phase live, the next wave targets resilience modules that extend the same tempo to new product surfaces.
Stow-aware & wind-aware forecasting
Building high-resolution wind models (6 m height) with stow-position forecasts for Normal, East, West, and Flat tracker modes. These modules anticipate defence operations and quantify expected production loss under high-wind events.
Nowcasting & area forecasting
Rolling out 0–6 hour nowcasts that fuse satellite imagery with ground telemetry, plus regional aggregation models that capture shared cloud regimes across fleets to strengthen multi-site trading positions.
Integration & delivery
- CadenceDay-ahead & intraday refreshes
- Resolution15-minute intervals
- DeliveryAPI, SFTP, Renewcast portal
- StackPython · Xarray · LightGBM · PyTorch · MLflow · Docker · CI/CD
- TimelineConcept to production in 5 months
Why it matters
- 60% fewer forecasting errors that reduce imbalance costs and contract penalties.
- 2.5× accuracy uplift that strengthens trading signals and operational planning confidence.
- 5-month turnaround proving the team can deliver transformational forecasting upgrades without multi-year programmes.
- Physics + ML synergy delivering explainable forecasts at scale across diverse assets.
Let’s talk
Ready to transform your solar forecasts with physics-aware machine learning? I’d love to hear about your challenges and explore how we can replicate these gains.
Book a short assessment →