Spain Demand Forecast Accuracy: Error, Bias and Worst Miss, 23 August to 20 September 2026
The day-ahead demand forecast for Spain was off by 1.2% on average (mean absolute percentage error) over 685 hours from 23 August to 20 September 2026, and 100% of hours landed within 5% of the reading. Its bias was +0.2%: it ran close to balanced on average. The largest miss was 1,446 MW (4.8%) too high at 9 Sept 2026, 22:00 CEST (UTC+02:00). Dates and times are local (Europe/Madrid).
Key Facts
- The day-ahead demand forecast for Spain was off by 1.2% on average (mean absolute percentage error) over 685 hours from 23 August to 20 September 2026, and 100% of hours landed within 5% of the reading. Its bias was +0.2%: it ran close to balanced on average. The largest miss was 1,446 MW (4.8%) too high at 9 Sept 2026, 22:00 CEST (UTC+02:00).
- Across 47 European bidding zones ranked by average error over their own latest 30 day windows, Spain came 2 (1 is the smallest error).
- On average the forecast differed from reported demand by 339 MW, against average demand of 28,507 MW.
- The forecast was above reported demand in 54% of compared hours.
Forecast Error at a Glance
685 hours from 23 August to 20 September 2026Average error is the mean absolute percentage gap between the forecast and reported demand. Bias is the signed mean (+42 MW per hour on average): the forecast ran close to balanced on average. The worst miss was 1,446 MW (4.8%) too high at 9 Sept 2026, 22:00 CEST (UTC+02:00): forecast 31,686 MW, reported 30,240 MW.
Source: ENTSO-E Transparency Platform (transparency.entsoe.eu), CC BY 4.0. Aggregated and converted by World Power Monitor; ENTSO-E does not endorse this site. (ENTSO-E Terms of Use plus CC BY 4.0 for listed data items) Data as of 2026-09-20. Accuracy is computed by World Power Monitor from the operator's hourly forecast and reported demand.
Forecast and Reported Demand, Last 7 Days
Local time, to 20 Sept 2026, 13:00 CEST (UTC+02:00)| Local hour | Reported demand | Day-ahead forecast |
|---|---|---|
| 13 Sept, 14:00 | 24,999 MW | 24,671 MW |
| 13 Sept, 15:00 | 24,421 MW | 24,177 MW |
| 13 Sept, 16:00 | 24,436 MW | 24,226 MW |
| 13 Sept, 17:00 | 25,785 MW | 24,981 MW |
| 13 Sept, 18:00 | 27,400 MW | 26,453 MW |
| 13 Sept, 19:00 | 28,123 MW | 27,611 MW |
| 13 Sept, 20:00 | 29,207 MW | 29,175 MW |
| 13 Sept, 21:00 | 29,758 MW | 29,814 MW |
| 13 Sept, 22:00 | 28,186 MW | 28,192 MW |
| 13 Sept, 23:00 | 26,107 MW | 26,170 MW |
| 14 Sept, 00:00 | 24,413 MW | 24,718 MW |
| 14 Sept, 01:00 | 23,377 MW | 23,542 MW |
| 14 Sept, 02:00 | 22,670 MW | 22,680 MW |
| 14 Sept, 03:00 | 22,314 MW | 22,299 MW |
| 14 Sept, 04:00 | 22,193 MW | 22,163 MW |
| 14 Sept, 05:00 | 22,795 MW | 22,695 MW |
| 14 Sept, 06:00 | 25,727 MW | 25,440 MW |
| 14 Sept, 07:00 | 29,019 MW | 28,773 MW |
| 14 Sept, 08:00 | 30,607 MW | 30,253 MW |
| 14 Sept, 09:00 | 31,184 MW | 30,816 MW |
| 14 Sept, 10:00 | 31,209 MW | 30,950 MW |
| 14 Sept, 11:00 | 31,120 MW | 30,849 MW |
| 14 Sept, 12:00 | 31,372 MW | 31,090 MW |
| 14 Sept, 13:00 | 31,956 MW | 31,642 MW |
| 14 Sept, 14:00 | 32,014 MW | 31,715 MW |
| 14 Sept, 15:00 | 31,819 MW | 31,440 MW |
| 14 Sept, 16:00 | 32,077 MW | 31,793 MW |
| 14 Sept, 17:00 | 33,162 MW | 32,885 MW |
| 14 Sept, 18:00 | 33,903 MW | 33,739 MW |
| 14 Sept, 19:00 | 34,442 MW | 34,087 MW |
| 14 Sept, 20:00 | 35,054 MW | 34,805 MW |
| 14 Sept, 21:00 | 34,645 MW | 34,540 MW |
| 14 Sept, 22:00 | 31,511 MW | 31,350 MW |
| 14 Sept, 23:00 | 28,844 MW | 28,672 MW |
| 15 Sept, 00:00 | 27,231 MW | 27,157 MW |
| 15 Sept, 01:00 | 25,851 MW | 25,928 MW |
| 15 Sept, 02:00 | 24,845 MW | 24,934 MW |
| 15 Sept, 03:00 | 24,409 MW | 24,421 MW |
| 15 Sept, 04:00 | 24,210 MW | 24,170 MW |
| 15 Sept, 05:00 | 24,567 MW | 24,461 MW |
| 15 Sept, 06:00 | 26,832 MW | 26,775 MW |
| 15 Sept, 07:00 | 30,046 MW | 29,872 MW |
| 15 Sept, 08:00 | 31,203 MW | 31,160 MW |
| 15 Sept, 09:00 | 31,824 MW | 31,826 MW |
| 15 Sept, 10:00 | 31,886 MW | 31,969 MW |
| 15 Sept, 11:00 | 31,835 MW | 31,884 MW |
| 15 Sept, 12:00 | 31,975 MW | 32,248 MW |
| 15 Sept, 13:00 | 32,417 MW | 32,905 MW |
| 15 Sept, 14:00 | 32,489 MW | 33,012 MW |
| 15 Sept, 15:00 | 32,290 MW | 32,628 MW |
| 15 Sept, 16:00 | 32,703 MW | 32,965 MW |
| 15 Sept, 17:00 | 33,577 MW | 34,011 MW |
| 15 Sept, 18:00 | 34,320 MW | 34,716 MW |
| 15 Sept, 19:00 | 34,565 MW | 35,129 MW |
| 15 Sept, 20:00 | 35,291 MW | 35,754 MW |
| 15 Sept, 21:00 | 34,418 MW | 34,865 MW |
| 15 Sept, 22:00 | 31,111 MW | 31,988 MW |
| 15 Sept, 23:00 | 28,471 MW | 29,323 MW |
| 16 Sept, 00:00 | 26,578 MW | 27,056 MW |
| 16 Sept, 01:00 | 25,154 MW | 25,712 MW |
| 16 Sept, 02:00 | 24,067 MW | 24,822 MW |
| 16 Sept, 03:00 | 23,705 MW | 24,341 MW |
| 16 Sept, 04:00 | 23,502 MW | 24,102 MW |
| 16 Sept, 05:00 | 23,938 MW | 24,459 MW |
| 16 Sept, 06:00 | 26,295 MW | 26,754 MW |
| 16 Sept, 07:00 | 29,559 MW | 29,663 MW |
| 16 Sept, 08:00 | 30,740 MW | 30,804 MW |
| 16 Sept, 09:00 | 31,202 MW | 31,408 MW |
| 16 Sept, 10:00 | 31,215 MW | 31,563 MW |
| 16 Sept, 11:00 | 31,288 MW | 31,343 MW |
| 16 Sept, 12:00 | 31,170 MW | 31,512 MW |
| 16 Sept, 13:00 | 31,465 MW | 31,874 MW |
| 16 Sept, 14:00 | 31,121 MW | 31,585 MW |
| 16 Sept, 15:00 | 31,082 MW | 31,035 MW |
| 16 Sept, 16:00 | 31,348 MW | 31,154 MW |
| 16 Sept, 17:00 | 31,759 MW | 31,953 MW |
| 16 Sept, 18:00 | 32,144 MW | 32,313 MW |
| 16 Sept, 19:00 | 32,726 MW | 32,651 MW |
| 16 Sept, 20:00 | 33,535 MW | 33,494 MW |
| 16 Sept, 21:00 | 32,603 MW | 32,906 MW |
| 16 Sept, 22:00 | 29,429 MW | 29,906 MW |
| 16 Sept, 23:00 | 26,923 MW | 27,526 MW |
| 17 Sept, 00:00 | 25,360 MW | 25,662 MW |
| 17 Sept, 01:00 | 24,272 MW | 24,439 MW |
| 17 Sept, 02:00 | 23,628 MW | 23,533 MW |
| 17 Sept, 03:00 | 23,192 MW | 23,149 MW |
| 17 Sept, 04:00 | 23,151 MW | 22,991 MW |
| 17 Sept, 05:00 | 23,540 MW | 23,408 MW |
| 17 Sept, 06:00 | 25,899 MW | 25,709 MW |
| 17 Sept, 07:00 | 29,187 MW | 28,848 MW |
| 17 Sept, 08:00 | 30,301 MW | 29,967 MW |
| 17 Sept, 09:00 | 30,740 MW | 30,515 MW |
| 17 Sept, 10:00 | 30,549 MW | 30,458 MW |
| 17 Sept, 11:00 | 30,066 MW | 30,150 MW |
| 17 Sept, 12:00 | 30,021 MW | 30,088 MW |
| 17 Sept, 13:00 | 30,318 MW | 30,347 MW |
| 17 Sept, 14:00 | 29,713 MW | 29,981 MW |
| 17 Sept, 15:00 | 29,114 MW | 29,480 MW |
| 17 Sept, 16:00 | 29,460 MW | 29,596 MW |
| 17 Sept, 17:00 | 30,500 MW | 30,218 MW |
| 17 Sept, 18:00 | 31,034 MW | 31,147 MW |
| 17 Sept, 19:00 | 31,465 MW | 31,574 MW |
| 17 Sept, 20:00 | 32,827 MW | 32,805 MW |
| 17 Sept, 21:00 | 32,336 MW | 32,195 MW |
| 17 Sept, 22:00 | 29,329 MW | 29,255 MW |
| 17 Sept, 23:00 | 27,159 MW | 26,921 MW |
| 18 Sept, 00:00 | 25,619 MW | 25,366 MW |
| 18 Sept, 01:00 | 24,237 MW | 24,271 MW |
| 18 Sept, 02:00 | 23,374 MW | 23,427 MW |
| 18 Sept, 03:00 | 22,893 MW | 23,038 MW |
| 18 Sept, 04:00 | 22,662 MW | 22,881 MW |
| 18 Sept, 05:00 | 23,147 MW | 23,245 MW |
| 18 Sept, 06:00 | 25,604 MW | 25,534 MW |
| 18 Sept, 07:00 | 28,926 MW | 28,674 MW |
| 18 Sept, 08:00 | 30,157 MW | 29,823 MW |
| 18 Sept, 09:00 | 30,384 MW | 30,198 MW |
| 18 Sept, 10:00 | 30,106 MW | 30,001 MW |
| 18 Sept, 11:00 | 29,736 MW | 29,544 MW |
| 18 Sept, 12:00 | 29,750 MW | 29,452 MW |
| 18 Sept, 13:00 | 29,969 MW | 29,696 MW |
| 18 Sept, 14:00 | 29,657 MW | 29,453 MW |
| 18 Sept, 15:00 | 29,062 MW | 28,767 MW |
| 18 Sept, 16:00 | 29,186 MW | 28,905 MW |
| 18 Sept, 17:00 | 30,030 MW | 29,685 MW |
| 18 Sept, 18:00 | 30,730 MW | 30,449 MW |
| 18 Sept, 19:00 | 30,821 MW | 30,968 MW |
| 18 Sept, 20:00 | 31,635 MW | 31,934 MW |
| 18 Sept, 21:00 | 31,113 MW | 31,291 MW |
| 18 Sept, 22:00 | 28,645 MW | 28,372 MW |
| 18 Sept, 23:00 | 26,558 MW | 26,272 MW |
| 19 Sept, 00:00 | 25,156 MW | 25,052 MW |
| 19 Sept, 01:00 | 23,821 MW | 23,913 MW |
| 19 Sept, 02:00 | 22,786 MW | 22,867 MW |
| 19 Sept, 03:00 | 22,218 MW | 22,265 MW |
| 19 Sept, 04:00 | 21,900 MW | 21,932 MW |
| 19 Sept, 05:00 | 21,681 MW | 21,757 MW |
| 19 Sept, 06:00 | 22,324 MW | 22,427 MW |
| 19 Sept, 07:00 | 23,332 MW | 23,463 MW |
| 19 Sept, 08:00 | 24,272 MW | 24,263 MW |
| 19 Sept, 09:00 | 25,465 MW | 25,393 MW |
| 19 Sept, 10:00 | n/a | 25,963 MW |
| 19 Sept, 11:00 | 25,696 MW | 25,746 MW |
| 19 Sept, 12:00 | 25,326 MW | 25,572 MW |
| 19 Sept, 13:00 | 25,505 MW | 25,839 MW |
| 19 Sept, 14:00 | 25,247 MW | 25,616 MW |
| 19 Sept, 15:00 | 24,470 MW | 24,964 MW |
| 19 Sept, 16:00 | 24,330 MW | 24,839 MW |
| 19 Sept, 17:00 | 25,432 MW | 25,664 MW |
| 19 Sept, 18:00 | 26,524 MW | 26,795 MW |
| 19 Sept, 19:00 | 27,296 MW | 27,644 MW |
| 19 Sept, 20:00 | 28,504 MW | 28,739 MW |
| 19 Sept, 21:00 | 28,578 MW | 28,926 MW |
| 19 Sept, 22:00 | 26,631 MW | 26,736 MW |
| 19 Sept, 23:00 | 24,834 MW | 25,025 MW |
| 20 Sept, 00:00 | 23,216 MW | 23,470 MW |
| 20 Sept, 01:00 | 21,942 MW | 22,263 MW |
| 20 Sept, 02:00 | 21,107 MW | 21,276 MW |
| 20 Sept, 03:00 | 20,605 MW | 20,686 MW |
| 20 Sept, 04:00 | 20,296 MW | 20,369 MW |
| 20 Sept, 05:00 | 20,113 MW | 20,254 MW |
| 20 Sept, 06:00 | 20,570 MW | 20,751 MW |
| 20 Sept, 07:00 | 21,266 MW | 21,285 MW |
| 20 Sept, 08:00 | 21,642 MW | 21,661 MW |
| 20 Sept, 09:00 | 22,573 MW | 22,664 MW |
| 20 Sept, 10:00 | 22,927 MW | 23,319 MW |
| 20 Sept, 11:00 | 23,054 MW | 23,236 MW |
| 20 Sept, 12:00 | 23,039 MW | 23,247 MW |
| 20 Sept, 13:00 | 23,517 MW | 23,863 MW |
Assumptions
- Only hours with both a forecast and a positive demand reading count (685 of 686 hours in the window). Missing and zero values, and readings under 30% or over 3 times the grid's own median for the window, are treated as reporting faults and left out.
- Error is (forecast minus reported demand) divided by reported demand; average error uses absolute values so high and low misses do not cancel. Bias keeps the sign and does cancel.
- Reported demand is preliminary and may be revised. A 30 day window is a short sample and one heat wave or holiday can move these figures.
- European figures are for the ENTSO-E bidding zone named on this page. US and European grids are ranked separately.