Every European transmission system operator publishes a day-ahead wind forecast, and almost none of them publish how well it did. The comparisons that do exist are periodic, retrospective and usually behind a paywall. This page is the live version: thirteen bidding zones, each operator's own day-ahead forecast measured against metered output on the same target, updated every day, with the full daily record open underneath.
For every zone, two forecasts are scored against the same outcome: the transmission system operator's own published day-ahead forecast, and an independent forecast published by OpenWindCast. Both are fixed before the day-ahead auction closes, and the operator's forecast is the benchmark rather than an input to it.
The target is the same everywhere. Onshore wind output at 11:00 local time on the next day, expressed as a load factor, one value per zone per day. Keeping the target identical is what makes the comparison meaningful across countries of very different size. It also avoids the most common way these numbers get flattered, which is to average error across all 96 quarter-hours of a day. That mixes the easy hours into the total and produces a much smaller figure than the single day-ahead commitment a market participant actually has to make.
The spread across Europe is wide, and most of it has little to do with who has the better model. Three structural things dominate.
For that last reason especially, ranking countries by raw error tells you more about their fleets than about their forecasters. What is genuinely comparable is the gap inside a single zone: two forecasts, same target, same day, same fleet.
Every zone, both forecasts, measured over the full published record. nMAE is the average day-ahead miss as a share of installed capacity, so lower is better. Gap is how much lower the independent forecast's error is, in percentage points; a negative gap means the operator is ahead. Read down a row, not across a column: relative error is not comparable between a 68 GW fleet and a 745 MW one.
| Bidding zone | Operator | Operator nMAE | OpenWindCast nMAE | Gap | Days |
|---|---|---|---|---|---|
| Loading the live record… | |||||
Recomputed from the public daily record each time this page loads.
Each zone has its own page with the live daily record, the fleet it covers and the operator it is scored against. Relative error is not comparable between countries, because a small island zone will always look worse than a continental one, so read each zone against its own benchmark rather than against the others.
Every zone page carries the full daily record and a CSV export: our forecast, the operator's forecast, the metered outcome and both errors, one row per day. It is free to use with attribution. If you are researching operator forecast accuracy and want a longer or differently-cut extract, get in touch.
Terms used on this page are defined in the glossary, and the full measurement rules are in the methodology.