SPP Demand Forecast Accuracy: Error, Bias and Worst Miss, 21 August to 20 September 2026
The day-ahead demand forecast for SPP was off by 7.2% on average (mean absolute percentage error) over 688 hours from 21 August to 20 September 2026, and 46% of hours landed within 5% of the reading. Its bias was +7.0%: it ran high on average, an over forecast. The largest miss was 15,947 MW (39.7%) too high at 14 Sept 2026, 17:00 CDT (UTC-05:00). Dates and times are local (America/Chicago).
Key Facts
- The day-ahead demand forecast for SPP was off by 7.2% on average (mean absolute percentage error) over 688 hours from 21 August to 20 September 2026, and 46% of hours landed within 5% of the reading. Its bias was +7.0%: it ran high on average, an over forecast. The largest miss was 15,947 MW (39.7%) too high at 14 Sept 2026, 17:00 CDT (UTC-05:00).
- Across 53 US grids ranked by average error over their own latest 30 day windows, SPP came 37 (1 is the smallest error).
- On average the forecast differed from reported demand by 2,951 MW, against average demand of 42,174 MW.
- The forecast was above reported demand in 90% of compared hours.
Forecast Error at a Glance
688 hours from 21 August to 20 September 2026Average error is the mean absolute percentage gap between the forecast and reported demand. Bias is the signed mean (+2,872 MW per hour on average): the forecast ran high on average, an over forecast. The worst miss was 15,947 MW (39.7%) too high at 14 Sept 2026, 17:00 CDT (UTC-05:00): forecast 56,124 MW, reported 40,177 MW.
Source: U.S. Energy Information Administration (EIA). (US Government work, public domain) 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, 20:00 CDT (UTC-05:00)| Local hour | Reported demand | Day-ahead forecast |
|---|---|---|
| 13 Sept, 21:00 | 40,875 MW | 46,130 MW |
| 13 Sept, 22:00 | 38,665 MW | 43,968 MW |
| 13 Sept, 23:00 | 36,531 MW | 41,837 MW |
| 14 Sept, 00:00 | 34,926 MW | 39,208 MW |
| 14 Sept, 01:00 | 33,726 MW | 37,931 MW |
| 14 Sept, 02:00 | 32,954 MW | 36,866 MW |
| 14 Sept, 03:00 | 32,624 MW | 36,280 MW |
| 14 Sept, 04:00 | 32,747 MW | 36,339 MW |
| 14 Sept, 05:00 | 33,551 MW | 37,060 MW |
| 14 Sept, 06:00 | 35,111 MW | 38,424 MW |
| 14 Sept, 07:00 | 36,059 MW | 39,444 MW |
| 14 Sept, 08:00 | 37,150 MW | 41,264 MW |
| 14 Sept, 09:00 | 38,962 MW | 43,627 MW |
| 14 Sept, 10:00 | 40,166 MW | 46,071 MW |
| 14 Sept, 11:00 | 40,177 MW | 48,780 MW |
| 14 Sept, 12:00 | 40,177 MW | 51,274 MW |
| 14 Sept, 13:00 | 40,177 MW | 53,069 MW |
| 14 Sept, 14:00 | 40,177 MW | 54,626 MW |
| 14 Sept, 15:00 | 40,177 MW | 55,543 MW |
| 14 Sept, 16:00 | 40,177 MW | 56,095 MW |
| 14 Sept, 17:00 | 40,177 MW | 56,124 MW |
| 14 Sept, 18:00 | 40,177 MW | 55,411 MW |
| 14 Sept, 19:00 | 40,177 MW | 53,931 MW |
| 14 Sept, 20:00 | 40,177 MW | 52,248 MW |
| 14 Sept, 21:00 | 40,177 MW | 50,309 MW |
| 14 Sept, 22:00 | 40,177 MW | 47,847 MW |
| 14 Sept, 23:00 | 40,177 MW | 45,365 MW |
| 15 Sept, 00:00 | 36,476 MW | 38,534 MW |
| 15 Sept, 01:00 | 36,218 MW | 37,061 MW |
| 15 Sept, 02:00 | 35,961 MW | 35,965 MW |
| 15 Sept, 03:00 | 35,704 MW | 35,161 MW |
| 15 Sept, 04:00 | 35,447 MW | 34,830 MW |
| 15 Sept, 05:00 | 35,640 MW | 35,463 MW |
| 15 Sept, 06:00 | 36,813 MW | 36,628 MW |
| 15 Sept, 07:00 | 37,515 MW | 37,417 MW |
| 15 Sept, 08:00 | 38,486 MW | 38,579 MW |
| 15 Sept, 09:00 | 40,406 MW | 40,318 MW |
| 15 Sept, 10:00 | 42,545 MW | 42,369 MW |
| 15 Sept, 11:00 | 44,784 MW | 44,585 MW |
| 15 Sept, 12:00 | 46,761 MW | 46,475 MW |
| 15 Sept, 13:00 | 48,315 MW | 47,899 MW |
| 15 Sept, 14:00 | 49,242 MW | 48,689 MW |
| 15 Sept, 15:00 | 49,715 MW | 49,041 MW |
| 15 Sept, 16:00 | 49,677 MW | 49,011 MW |
| 15 Sept, 17:00 | 48,978 MW | 48,485 MW |
| 15 Sept, 18:00 | 47,453 MW | 47,577 MW |
| 15 Sept, 19:00 | 45,617 MW | 45,999 MW |
| 15 Sept, 20:00 | 43,904 MW | 44,567 MW |
| 15 Sept, 21:00 | 41,904 MW | 42,917 MW |
| 15 Sept, 22:00 | 39,538 MW | 40,689 MW |
| 15 Sept, 23:00 | 37,167 MW | 38,443 MW |
| 16 Sept, 00:00 | 35,445 MW | 36,687 MW |
| 16 Sept, 01:00 | 34,270 MW | 35,294 MW |
| 16 Sept, 02:00 | 33,380 MW | 34,307 MW |
| 16 Sept, 03:00 | 32,875 MW | 33,634 MW |
| 16 Sept, 04:00 | 32,773 MW | 33,456 MW |
| 16 Sept, 05:00 | 33,447 MW | 34,040 MW |
| 16 Sept, 06:00 | 34,952 MW | 35,251 MW |
| 16 Sept, 07:00 | 35,920 MW | 36,055 MW |
| 16 Sept, 08:00 | 36,804 MW | 37,260 MW |
| 16 Sept, 09:00 | 38,369 MW | 38,903 MW |
| 16 Sept, 10:00 | 40,292 MW | 40,935 MW |
| 16 Sept, 11:00 | 42,339 MW | 43,140 MW |
| 16 Sept, 12:00 | 44,355 MW | 45,224 MW |
| 16 Sept, 13:00 | 46,123 MW | 46,942 MW |
| 16 Sept, 14:00 | 47,293 MW | 48,027 MW |
| 16 Sept, 15:00 | 48,135 MW | 48,961 MW |
| 16 Sept, 16:00 | 48,373 MW | 49,481 MW |
| 16 Sept, 17:00 | 48,210 MW | 49,378 MW |
| 16 Sept, 18:00 | 47,457 MW | 48,547 MW |
| 16 Sept, 19:00 | 46,014 MW | 47,112 MW |
| 16 Sept, 20:00 | 44,773 MW | 45,632 MW |
| 16 Sept, 21:00 | 42,796 MW | 43,927 MW |
| 16 Sept, 22:00 | 40,500 MW | 41,497 MW |
| 16 Sept, 23:00 | 38,092 MW | 39,087 MW |
| 17 Sept, 00:00 | 36,236 MW | 36,827 MW |
| 17 Sept, 01:00 | 34,842 MW | 35,418 MW |
| 17 Sept, 02:00 | 33,838 MW | 34,414 MW |
| 17 Sept, 03:00 | 33,194 MW | 33,697 MW |
| 17 Sept, 04:00 | 32,921 MW | 33,564 MW |
| 17 Sept, 05:00 | 33,347 MW | 34,134 MW |
| 17 Sept, 06:00 | 34,837 MW | 35,392 MW |
| 17 Sept, 07:00 | 36,166 MW | 36,306 MW |
| 17 Sept, 08:00 | 37,208 MW | 37,719 MW |
| 17 Sept, 09:00 | 39,224 MW | 39,861 MW |
| 17 Sept, 10:00 | 41,655 MW | 42,134 MW |
| 17 Sept, 11:00 | 44,170 MW | 44,539 MW |
| 17 Sept, 12:00 | 46,429 MW | 46,738 MW |
| 17 Sept, 13:00 | 48,449 MW | 48,521 MW |
| 17 Sept, 14:00 | 49,775 MW | 49,600 MW |
| 17 Sept, 15:00 | 50,776 MW | 50,373 MW |
| 17 Sept, 16:00 | 51,058 MW | 50,692 MW |
| 17 Sept, 17:00 | 50,679 MW | 50,466 MW |
| 17 Sept, 18:00 | 49,468 MW | 49,374 MW |
| 17 Sept, 19:00 | 47,799 MW | 47,832 MW |
| 17 Sept, 20:00 | 46,278 MW | 46,307 MW |
| 17 Sept, 21:00 | 44,106 MW | 44,417 MW |
| 17 Sept, 22:00 | 41,553 MW | 42,053 MW |
| 17 Sept, 23:00 | 39,063 MW | 39,786 MW |
| 18 Sept, 00:00 | 37,153 MW | 38,013 MW |
| 18 Sept, 01:00 | 35,682 MW | 36,536 MW |
| 18 Sept, 02:00 | 34,576 MW | 35,378 MW |
| 18 Sept, 03:00 | 33,757 MW | 34,636 MW |
| 18 Sept, 04:00 | 33,568 MW | 34,336 MW |
| 18 Sept, 05:00 | 34,199 MW | 34,853 MW |
| 18 Sept, 06:00 | 35,478 MW | 36,045 MW |
| 18 Sept, 07:00 | 36,273 MW | 36,950 MW |
| 18 Sept, 08:00 | 37,590 MW | 38,436 MW |
| 18 Sept, 09:00 | 39,724 MW | 40,671 MW |
| 18 Sept, 10:00 | 42,516 MW | 43,151 MW |
| 18 Sept, 11:00 | 45,204 MW | 45,802 MW |
| 18 Sept, 12:00 | 47,583 MW | 47,970 MW |
| 18 Sept, 13:00 | 49,556 MW | 49,874 MW |
| 18 Sept, 14:00 | 50,726 MW | 51,095 MW |
| 18 Sept, 15:00 | 51,425 MW | 51,897 MW |
| 18 Sept, 16:00 | 51,644 MW | 52,105 MW |
| 18 Sept, 17:00 | 51,037 MW | 51,725 MW |
| 18 Sept, 18:00 | 49,393 MW | 50,470 MW |
| 18 Sept, 19:00 | 47,342 MW | 48,566 MW |
| 18 Sept, 20:00 | 45,426 MW | 46,814 MW |
| 18 Sept, 21:00 | 43,344 MW | 44,856 MW |
| 18 Sept, 22:00 | 41,221 MW | 42,648 MW |
| 18 Sept, 23:00 | 38,953 MW | 40,336 MW |
| 19 Sept, 00:00 | 36,866 MW | 41,591 MW |
| 19 Sept, 01:00 | 35,411 MW | 39,918 MW |
| 19 Sept, 02:00 | 34,219 MW | 38,721 MW |
| 19 Sept, 03:00 | 33,365 MW | 37,737 MW |
| 19 Sept, 04:00 | 32,838 MW | 37,214 MW |
| 19 Sept, 05:00 | 32,637 MW | 37,207 MW |
| 19 Sept, 06:00 | 32,855 MW | 37,318 MW |
| 19 Sept, 07:00 | 33,151 MW | 37,678 MW |
| 19 Sept, 08:00 | 34,516 MW | 39,517 MW |
| 19 Sept, 09:00 | 36,757 MW | 41,914 MW |
| 19 Sept, 10:00 | 39,160 MW | 44,326 MW |
| 19 Sept, 11:00 | 41,493 MW | 47,019 MW |
| 19 Sept, 12:00 | 43,607 MW | 49,286 MW |
| 19 Sept, 13:00 | 45,464 MW | 50,930 MW |
| 19 Sept, 14:00 | 46,750 MW | 52,010 MW |
| 19 Sept, 15:00 | 47,791 MW | 52,932 MW |
| 19 Sept, 16:00 | 48,255 MW | 53,280 MW |
| 19 Sept, 17:00 | 47,805 MW | 53,052 MW |
| 19 Sept, 18:00 | 46,233 MW | 51,758 MW |
| 19 Sept, 19:00 | 44,053 MW | 50,054 MW |
| 19 Sept, 20:00 | 42,062 MW | 48,242 MW |
| 19 Sept, 21:00 | 40,055 MW | 46,384 MW |
| 19 Sept, 22:00 | 38,120 MW | 44,433 MW |
| 19 Sept, 23:00 | 36,147 MW | 42,234 MW |
| 20 Sept, 00:00 | 34,472 MW | 39,066 MW |
| 20 Sept, 01:00 | 33,053 MW | 37,603 MW |
| 20 Sept, 02:00 | 31,870 MW | 36,423 MW |
| 20 Sept, 03:00 | 31,184 MW | 35,626 MW |
| 20 Sept, 04:00 | 30,667 MW | 35,130 MW |
| 20 Sept, 05:00 | 30,599 MW | 34,959 MW |
| 20 Sept, 06:00 | 30,747 MW | 34,986 MW |
| 20 Sept, 07:00 | 30,998 MW | 35,156 MW |
| 20 Sept, 08:00 | 32,111 MW | 36,331 MW |
| 20 Sept, 09:00 | 33,783 MW | 38,131 MW |
| 20 Sept, 10:00 | 35,614 MW | 39,941 MW |
| 20 Sept, 11:00 | 37,637 MW | 41,708 MW |
| 20 Sept, 12:00 | 39,399 MW | 43,412 MW |
| 20 Sept, 13:00 | 40,655 MW | 44,628 MW |
| 20 Sept, 14:00 | 41,188 MW | 45,592 MW |
| 20 Sept, 15:00 | 41,616 MW | 46,355 MW |
| 20 Sept, 16:00 | 41,960 MW | 46,625 MW |
| 20 Sept, 17:00 | 41,683 MW | 46,776 MW |
| 20 Sept, 18:00 | 40,668 MW | 45,946 MW |
| 20 Sept, 19:00 | 39,748 MW | 44,501 MW |
| 20 Sept, 20:00 | 38,725 MW | 43,211 MW |
Assumptions
- Only hours with both a forecast and a positive demand reading count (688 of 720 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.
- US figures are for the EIA balancing authority or region named on this page. US and European grids are ranked separately.