Two-Product System
EPF produces two distinct forecast products, each aligned to the OMIE market publication schedule and optimized for its decision window.
Why Two Products?
The Spanish day-ahead electricity market (OMIE) follows a strict timeline:
- ~12:00 UTC — Bidding gate closes
- ~12:30–13:00 UTC — D+1 prices published
This creates a natural split in forecast usefulness:
- Before publication — Traders need D+1 forecasts to inform bidding strategy
- After publication — D+1 prices are known facts; the value shifts to D+2 through D+7 strategic planning
A single forecast product cannot serve both needs well. Predicting already-known prices wastes model capacity, and the information available at 10:00 UTC is fundamentally different from what’s available at 15:00 UTC.
Product Definitions
| Product | Run Time | Horizon | Groups | Key Feature |
|---|---|---|---|---|
| D+1 Day-Ahead | ~10:00 UTC | 24 hours (D+1 full day) | DA1, DA2 | Predicts before OMIE gate closes |
| D+2–D+7 Strategic | ~15:00 UTC | 144 hours (days 2–7) | S1–S5 | Uses published D+1 prices as features |
D+1 Day-Ahead
Generated at approximately 10:00 UTC — before the OMIE bidding gate closes. This gives traders time to incorporate forecasts into their bidding strategies.
The model has access to:
- All historical prices up to the forecast origin
- Current weather observations and 7-day weather forecasts
- Latest commodity prices (TTF gas, ETS carbon)
- Real-time generation mix and demand data
D+2–D+7 Strategic
Generated at approximately 15:00 UTC — after OMIE publishes D+1 prices. The strategic product covers the next 6 days (D+2 through D+7) and is designed for medium-term planning: maintenance scheduling, portfolio optimization, and risk assessment.
The strategic model has an important additional input: published D+1 prices. These 24 data points are the strongest predictive signal for the days that follow, providing features such as:
- D+1 daily average, min, max, and standard deviation
- D+1 peak vs. off-peak spread
- D+1 price at the same hour-of-day as each target (the single most important feature, accounting for ~26.5% of model importance)
Training Separation
Each product is trained independently using origin-filtered data:
- Day-ahead models train only on samples from 08:00–12:00 UTC origins — mimicking the morning forecast scenario
- Strategic models train only on samples from 13:00–18:00 UTC origins — mimicking the afternoon scenario where D+1 is known
This ensures the models learn from realistic information conditions rather than averaging across incompatible scenarios.
Production Schedule
Two automated runs execute daily:
- ~10:00 UTC — Day-ahead prediction (D+1)
- ~15:00 UTC — Strategic prediction (D+2 to D+7)
Performance
Based on a 149-day walk-forward backtest (October 2025 — February 2026):
| Product | Best Model | MAE (EUR/MWh) | Bias (EUR/MWh) |
|---|---|---|---|
| D+1 Day-Ahead | XGBoost | 14.85 | -12.49 |
| D+2–D+7 Strategic | Ensemble | 23.24 | -0.30 |
The strategic product benefits from near-zero bias thanks to the MAE loss function and the strong signal from D+1 published prices. The day-ahead product shows higher bias because it lacks this anchor — an area of ongoing improvement through post-prediction bias correction.