MAE: mean absolute hourly error. Lower is better.
Forecast quality for experts · Calculated 2026-10-11 18:50 UTC
Forecast quality by lead time and market
The same subsequently published day-ahead prices are compared with production forecasts fixed 24 to 120 hours before delivery.
All bidding zones
This is not a league table: low errors are easier in flat markets. Read MAE, curve shape, bias and skill together.
| Bidding zone | Status | Lead time | Days | Hours | Coverage | MAE ct/kWh | RMSE ct/kWh | Bias ct/kWh | r | Skill |
|---|---|---|---|---|---|---|---|---|---|---|
| DEGermany | Mature | 24–48 h | 30 | 720 | 100% | 2.91 | 4.21 | +0.40 | 0.86 | +68% |
| 48–72 h | 30 | 720 | 100% | 3.21 | 4.57 | +0.49 | 0.84 | +62% | ||
| 72–96 h | 30 | 720 | 100% | 3.43 | 4.75 | +0.95 | 0.83 | +58% | ||
| 96–120 h | 30 | 720 | 100% | 3.90 | 5.20 | +1.13 | 0.80 | +51% | ||
| NLNetherlands | Provisional | 24–48 h | 29 | 696 | 100% | 2.99 | 4.09 | +0.05 | 0.83 | +57% |
| 48–72 h | 29 | 696 | 100% | 3.08 | 4.21 | -0.02 | 0.81 | +55% | ||
| 72–96 h | 29 | 696 | 100% | 3.08 | 4.19 | +0.31 | 0.82 | +56% | ||
| 96–120 h | 29 | 696 | 100% | 3.54 | 4.65 | +0.25 | 0.77 | +49% | ||
| BEBelgium | Mature | 24–48 h | 30 | 720 | 100% | 2.78 | 3.51 | -0.94 | 0.89 | +58% |
| 48–72 h | 30 | 720 | 100% | 3.89 | 4.73 | -2.58 | 0.85 | +42% | ||
| 72–96 h | 30 | 720 | 100% | 3.80 | 4.86 | -2.93 | 0.85 | +45% | ||
| 96–120 h | 30 | 720 | 100% | 4.06 | 5.38 | -3.13 | 0.81 | +43% | ||
| FRFrance | Mature | 24–48 h | 30 | 720 | 100% | 3.56 | 4.67 | +0.78 | 0.80 | +46% |
| 48–72 h | 30 | 720 | 100% | 3.77 | 4.85 | +0.86 | 0.79 | +42% | ||
| 72–96 h | 30 | 720 | 100% | 3.89 | 5.04 | +1.35 | 0.78 | +38% | ||
| 96–120 h | 30 | 720 | 100% | 4.16 | 5.43 | +1.22 | 0.73 | +36% | ||
| CZCzechia | No matched sample yet | – | ||||||||
| PLPoland | Mature | 24–48 h | 30 | 653 | 91% | 4.08 | 5.37 | -1.11 | 0.71 | +24% |
| 48–72 h | 30 | 653 | 91% | 4.11 | 5.37 | -1.31 | 0.72 | +23% | ||
| 72–96 h | 30 | 653 | 91% | 4.35 | 5.63 | -1.34 | 0.68 | +18% | ||
| 96–120 h | 30 | 653 | 91% | 4.33 | 5.64 | -1.41 | 0.68 | +19% | ||
| FIFinland | Provisional | 24–48 h | 8 | 170 | 24% | 2.97 | 3.74 | +1.10 | 0.73 | +35% |
| 48–72 h | 8 | 170 | 24% | 3.20 | 4.21 | +1.37 | 0.65 | +30% | ||
| 72–96 h | 8 | 170 | 24% | 4.01 | 5.24 | +3.58 | 0.65 | +12% | ||
| 96–120 h | 8 | 170 | 24% | 4.99 | 6.40 | +4.80 | 0.58 | -10% | ||
| SE1Sweden SE1 | Mature | 24–48 h | 30 | 665 | 92% | 1.91 | 3.02 | -0.82 | 0.63 | +48% |
| 48–72 h | 30 | 665 | 92% | 1.95 | 3.20 | -1.12 | 0.61 | +45% | ||
| 72–96 h | 30 | 665 | 92% | 1.79 | 2.93 | -0.95 | 0.70 | +51% | ||
| 96–120 h | 30 | 665 | 92% | 1.90 | 3.02 | -0.99 | 0.68 | +49% | ||
| SE2Sweden SE2 | Mature | 24–48 h | 30 | 665 | 92% | 2.40 | 3.75 | -0.66 | 0.54 | +45% |
| 48–72 h | 30 | 665 | 92% | 2.41 | 4.07 | -1.23 | 0.47 | +43% | ||
| 72–96 h | 30 | 665 | 92% | 2.36 | 3.79 | -1.12 | 0.58 | +46% | ||
| 96–120 h | 30 | 665 | 92% | 2.47 | 3.83 | -1.06 | 0.57 | +44% | ||
| SE3Sweden SE3 | Provisional | 24–48 h | 8 | 171 | 24% | 3.30 | 4.34 | +0.98 | 0.69 | +27% |
| 48–72 h | 8 | 171 | 24% | 3.53 | 4.60 | +1.12 | 0.65 | +22% | ||
| 72–96 h | 8 | 171 | 24% | 4.01 | 4.87 | +3.26 | 0.74 | +11% | ||
| 96–120 h | 8 | 171 | 24% | 4.68 | 5.54 | +4.27 | 0.72 | -4% | ||
| SE4Sweden SE4 | Provisional | 24–48 h | 8 | 171 | 24% | 4.20 | 5.35 | +2.59 | 0.76 | +41% |
| 48–72 h | 8 | 171 | 24% | 4.17 | 5.24 | +3.02 | 0.81 | +41% | ||
| 72–96 h | 8 | 171 | 24% | 5.04 | 6.57 | +4.05 | 0.69 | +29% | ||
| 96–120 h | 8 | 171 | 24% | 5.52 | 7.07 | +4.38 | 0.64 | +22% | ||
| DK1Denmark West | Mature | 24–48 h | 30 | 720 | 100% | 2.96 | 4.44 | +0.24 | 0.85 | +70% |
| 48–72 h | 30 | 720 | 100% | 3.20 | 4.70 | +0.39 | 0.83 | +65% | ||
| 72–96 h | 30 | 720 | 100% | 3.55 | 4.90 | +0.70 | 0.81 | +61% | ||
| 96–120 h | 30 | 720 | 100% | 3.82 | 5.21 | +0.70 | 0.78 | +59% | ||
| DK2Denmark East | Mature | 24–48 h | 30 | 720 | 100% | 3.49 | 4.91 | +0.61 | 0.81 | +59% |
| 48–72 h | 30 | 720 | 100% | 3.49 | 5.01 | +0.79 | 0.80 | +58% | ||
| 72–96 h | 30 | 720 | 100% | 3.78 | 5.24 | +1.11 | 0.78 | +53% | ||
| 96–120 h | 30 | 720 | 100% | 4.13 | 5.48 | +1.17 | 0.76 | +49% | ||
| ATAustria | No matched sample yet | – | ||||||||
| NO1Norway NO1 | Mature | 24–48 h | 30 | 653 | 91% | 2.75 | 3.58 | -0.17 | 0.49 | +18% |
| 48–72 h | 30 | 653 | 91% | 2.80 | 3.63 | -0.82 | 0.51 | +19% | ||
| 72–96 h | 30 | 653 | 91% | 2.86 | 3.73 | -0.72 | 0.47 | +19% | ||
| 96–120 h | 30 | 653 | 91% | 2.97 | 3.83 | -0.68 | 0.41 | +17% | ||
| NO2Norway NO2 | Provisional | 24–48 h | 19 | 401 | 56% | 3.86 | 5.33 | +1.85 | 0.51 | +34% |
| 48–72 h | 19 | 401 | 56% | 3.96 | 5.49 | +1.85 | 0.46 | +30% | ||
| 72–96 h | 19 | 401 | 56% | 4.06 | 5.56 | +2.06 | 0.46 | +22% | ||
| 96–120 h | 19 | 401 | 56% | 3.94 | 5.32 | +2.09 | 0.54 | +20% | ||
| NO3Norway NO3 | Mature | 24–48 h | 30 | 665 | 92% | 2.81 | 3.50 | -1.56 | 0.30 | +17% |
| 48–72 h | 30 | 665 | 92% | 3.19 | 3.83 | -1.96 | 0.20 | +9% | ||
| 72–96 h | 30 | 665 | 92% | 3.21 | 3.82 | -1.98 | 0.23 | +10% | ||
| 96–120 h | 30 | 665 | 92% | 3.22 | 3.81 | -1.92 | 0.21 | +10% | ||
| NO4Norway NO4 | Provisional | 24–48 h | 19 | 404 | 56% | 1.27 | 2.63 | -1.08 | 0.44 | +51% |
| 48–72 h | 19 | 404 | 56% | 1.42 | 2.69 | -1.18 | 0.39 | +42% | ||
| 72–96 h | 19 | 404 | 56% | 1.44 | 2.70 | -1.07 | 0.34 | +41% | ||
| 96–120 h | 19 | 404 | 56% | 1.70 | 2.85 | -0.75 | 0.14 | +17% | ||
| NO5Norway NO5 | Provisional | 24–48 h | 19 | 401 | 56% | 3.26 | 4.64 | +1.18 | 0.22 | +24% |
| 48–72 h | 19 | 401 | 56% | 3.72 | 4.94 | +1.21 | 0.07 | +15% | ||
| 72–96 h | 19 | 401 | 56% | 3.89 | 5.15 | +1.68 | 0.06 | +4% | ||
| 96–120 h | 19 | 401 | 56% | 3.80 | 5.03 | +1.85 | 0.18 | -1% | ||
| CHSwitzerland | No matched sample yet | – | ||||||||
| ITNItaly North | No matched sample yet | – | ||||||||
| IT_CNORItaly Centre-North | No matched sample yet | – | ||||||||
| IT_CSUDItaly Centre-South | No matched sample yet | – | ||||||||
| IT_SUDItaly South | No matched sample yet | – | ||||||||
| IT_CALAItaly Calabria | No matched sample yet | – | ||||||||
| IT_SICIItaly Sicily | No matched sample yet | – | ||||||||
| IT_SARDItaly Sardinia | No matched sample yet | – | ||||||||
| SKSlovakia | No matched sample yet | – | ||||||||
| RORomania | No matched sample yet | – | ||||||||
| ESSpain | No matched sample yet | – | ||||||||
| PTPortugal | No matched sample yet | – | ||||||||
| GRGreece | No matched sample yet | – | ||||||||
| BGBulgaria | No matched sample yet | – | ||||||||
Mature after 30 delivery days and at least 90% coverage. Shorter samples remain visible but are marked provisional.
How to read the metrics
RMSE: penalises large misses more strongly than MAE. Lower is better.
Bias: mean systematic error. Positive means forecasts were high on average, negative means low.
Correlation r: agreement of the curve shape. 1 is perfect; it does not measure the price level.
Skill: improvement over the price at the same local hour seven days earlier. +20% means 20% less MAE than that weekly baseline; negative values are worse.
Method and limitations
- For every target hour, the latest published production forecast still within the lead bucket is used.
- The evaluation rolls over at most the latest 30 settled delivery days per bidding zone.
- New markets appear immediately. No figures are invented without overlapping forecast snapshots and realised prices.
- The results describe the current 30-day period and do not guarantee performance in future market regimes.
All lead buckets use exactly the same target hours. For each hour, the latest published production forecast still inside the bucket is used. Skill compares MAE with the price at the same local hour seven days earlier. Positive values beat this simple weekly baseline; negative values trail it.