BPA Demand Forecast Accuracy: Error, Bias and Worst Miss, 21 August to 20 September 2026
The day-ahead demand forecast for BPA was off by 1.7% on average (mean absolute percentage error) over 695 hours from 21 August to 20 September 2026, and 100% of hours landed within 5% of the reading. Its bias was +0.9%: it ran high on average, an over forecast. The largest miss was 3,807 MW (116.0%) too high at 11 Sept 2026, 09:00 PDT (UTC-07:00). Dates and times are local (America/Los_Angeles).
Key Facts
- The day-ahead demand forecast for BPA was off by 1.7% on average (mean absolute percentage error) over 695 hours from 21 August to 20 September 2026, and 100% of hours landed within 5% of the reading. Its bias was +0.9%: it ran high on average, an over forecast. The largest miss was 3,807 MW (116.0%) too high at 11 Sept 2026, 09:00 PDT (UTC-07:00).
- Across 53 US grids ranked by average error over their own latest 30 day windows, BPA came 3 (1 is the smallest error).
- On average the forecast differed from reported demand by 110 MW, against average demand of 6,720 MW.
- The forecast was above reported demand in 66% of compared hours.
Forecast Error at a Glance
695 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 (+54 MW per hour on average): the forecast ran high on average, an over forecast. The worst miss was 3,807 MW (116.0%) too high at 11 Sept 2026, 09:00 PDT (UTC-07:00): forecast 7,089 MW, reported 3,282 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, 18:00 PDT (UTC-07:00)| Local hour | Reported demand | Day-ahead forecast |
|---|---|---|
| 13 Sept, 19:00 | 6,879 MW | 6,890 MW |
| 13 Sept, 20:00 | 6,807 MW | 6,846 MW |
| 13 Sept, 21:00 | 6,511 MW | 6,592 MW |
| 13 Sept, 22:00 | 6,206 MW | 6,276 MW |
| 13 Sept, 23:00 | 5,865 MW | 5,959 MW |
| 14 Sept, 00:00 | 5,720 MW | 5,744 MW |
| 14 Sept, 01:00 | 5,570 MW | 5,609 MW |
| 14 Sept, 02:00 | 5,546 MW | 5,546 MW |
| 14 Sept, 03:00 | 5,537 MW | 5,546 MW |
| 14 Sept, 04:00 | 5,711 MW | 5,712 MW |
| 14 Sept, 05:00 | 6,035 MW | 6,106 MW |
| 14 Sept, 06:00 | 6,470 MW | 6,644 MW |
| 14 Sept, 07:00 | 6,740 MW | 6,886 MW |
| 14 Sept, 08:00 | 6,805 MW | 6,900 MW |
| 14 Sept, 09:00 | 6,771 MW | 6,886 MW |
| 14 Sept, 10:00 | 6,824 MW | 6,870 MW |
| 14 Sept, 11:00 | 6,751 MW | 6,874 MW |
| 14 Sept, 12:00 | 6,735 MW | 6,882 MW |
| 14 Sept, 13:00 | 6,766 MW | 6,891 MW |
| 14 Sept, 14:00 | 6,752 MW | 6,883 MW |
| 14 Sept, 15:00 | 6,742 MW | 6,894 MW |
| 14 Sept, 16:00 | 6,916 MW | 6,963 MW |
| 14 Sept, 17:00 | 7,090 MW | 7,100 MW |
| 14 Sept, 18:00 | 7,117 MW | 7,174 MW |
| 14 Sept, 19:00 | 7,106 MW | 7,259 MW |
| 14 Sept, 20:00 | 7,026 MW | 7,179 MW |
| 14 Sept, 21:00 | 6,640 MW | 6,853 MW |
| 14 Sept, 22:00 | 6,355 MW | 6,471 MW |
| 14 Sept, 23:00 | 6,006 MW | 6,149 MW |
| 15 Sept, 00:00 | 5,783 MW | 5,961 MW |
| 15 Sept, 01:00 | 5,661 MW | 5,802 MW |
| 15 Sept, 02:00 | 5,612 MW | 5,738 MW |
| 15 Sept, 03:00 | 5,602 MW | 5,724 MW |
| 15 Sept, 04:00 | 5,731 MW | 5,849 MW |
| 15 Sept, 05:00 | 6,088 MW | 6,202 MW |
| 15 Sept, 06:00 | 6,522 MW | 6,683 MW |
| 15 Sept, 07:00 | 6,751 MW | 6,933 MW |
| 15 Sept, 08:00 | 6,817 MW | 6,966 MW |
| 15 Sept, 09:00 | 6,826 MW | 6,904 MW |
| 15 Sept, 10:00 | 6,818 MW | 6,880 MW |
| 15 Sept, 11:00 | 6,769 MW | 6,841 MW |
| 15 Sept, 12:00 | 6,792 MW | 6,819 MW |
| 15 Sept, 13:00 | 6,736 MW | 6,811 MW |
| 15 Sept, 14:00 | 6,713 MW | 6,775 MW |
| 15 Sept, 15:00 | 6,711 MW | 6,770 MW |
| 15 Sept, 16:00 | 6,812 MW | 6,875 MW |
| 15 Sept, 17:00 | 6,884 MW | 7,008 MW |
| 15 Sept, 18:00 | 6,986 MW | 7,064 MW |
| 15 Sept, 19:00 | 7,035 MW | 7,117 MW |
| 15 Sept, 20:00 | 7,006 MW | 7,055 MW |
| 15 Sept, 21:00 | 6,659 MW | 6,757 MW |
| 15 Sept, 22:00 | 6,336 MW | 6,414 MW |
| 15 Sept, 23:00 | 6,027 MW | 6,083 MW |
| 16 Sept, 00:00 | 5,858 MW | 5,893 MW |
| 16 Sept, 01:00 | 5,732 MW | 5,717 MW |
| 16 Sept, 02:00 | 5,695 MW | 5,656 MW |
| 16 Sept, 03:00 | 5,681 MW | 5,650 MW |
| 16 Sept, 04:00 | 5,811 MW | 5,790 MW |
| 16 Sept, 05:00 | 6,165 MW | 6,152 MW |
| 16 Sept, 06:00 | 6,605 MW | 6,639 MW |
| 16 Sept, 07:00 | 6,843 MW | 6,880 MW |
| 16 Sept, 08:00 | 6,880 MW | 6,902 MW |
| 16 Sept, 09:00 | 6,788 MW | 6,902 MW |
| 16 Sept, 10:00 | 6,768 MW | 6,876 MW |
| 16 Sept, 11:00 | 6,773 MW | 6,888 MW |
| 16 Sept, 12:00 | 6,777 MW | 6,953 MW |
| 16 Sept, 13:00 | 6,878 MW | 7,032 MW |
| 16 Sept, 14:00 | 6,790 MW | 7,101 MW |
| 16 Sept, 15:00 | 7,010 MW | 7,195 MW |
| 16 Sept, 16:00 | 7,160 MW | 7,359 MW |
| 16 Sept, 17:00 | 7,292 MW | 7,433 MW |
| 16 Sept, 18:00 | 7,310 MW | 7,416 MW |
| 16 Sept, 19:00 | 7,296 MW | 7,390 MW |
| 16 Sept, 20:00 | 7,115 MW | 7,263 MW |
| 16 Sept, 21:00 | 6,728 MW | 6,915 MW |
| 16 Sept, 22:00 | 6,359 MW | 6,536 MW |
| 16 Sept, 23:00 | 6,182 MW | 6,182 MW |
| 17 Sept, 00:00 | 5,754 MW | n/a |
| 17 Sept, 01:00 | 5,642 MW | n/a |
| 17 Sept, 02:00 | 5,554 MW | n/a |
| 17 Sept, 03:00 | 5,515 MW | n/a |
| 17 Sept, 04:00 | 5,675 MW | n/a |
| 17 Sept, 05:00 | 6,001 MW | n/a |
| 17 Sept, 06:00 | 6,434 MW | n/a |
| 17 Sept, 07:00 | 6,679 MW | n/a |
| 17 Sept, 08:00 | 6,768 MW | n/a |
| 17 Sept, 09:00 | 6,721 MW | n/a |
| 17 Sept, 10:00 | 6,735 MW | n/a |
| 17 Sept, 11:00 | 6,779 MW | n/a |
| 17 Sept, 12:00 | 6,775 MW | n/a |
| 17 Sept, 13:00 | 6,879 MW | n/a |
| 17 Sept, 14:00 | 6,916 MW | n/a |
| 17 Sept, 15:00 | 6,999 MW | n/a |
| 17 Sept, 16:00 | 7,137 MW | n/a |
| 17 Sept, 17:00 | 7,247 MW | n/a |
| 17 Sept, 18:00 | 7,219 MW | n/a |
| 17 Sept, 19:00 | 7,221 MW | n/a |
| 17 Sept, 20:00 | 7,073 MW | n/a |
| 17 Sept, 21:00 | 6,752 MW | n/a |
| 17 Sept, 22:00 | 6,417 MW | n/a |
| 17 Sept, 23:00 | 6,063 MW | n/a |
| 18 Sept, 00:00 | 5,772 MW | 5,885 MW |
| 18 Sept, 01:00 | 5,648 MW | 5,631 MW |
| 18 Sept, 02:00 | 5,592 MW | 5,511 MW |
| 18 Sept, 03:00 | 5,577 MW | 5,481 MW |
| 18 Sept, 04:00 | 5,657 MW | 5,567 MW |
| 18 Sept, 05:00 | 5,940 MW | 5,826 MW |
| 18 Sept, 06:00 | 6,351 MW | 6,225 MW |
| 18 Sept, 07:00 | 6,621 MW | 6,500 MW |
| 18 Sept, 08:00 | 6,703 MW | 6,625 MW |
| 18 Sept, 09:00 | 6,793 MW | 6,648 MW |
| 18 Sept, 10:00 | 6,744 MW | 6,689 MW |
| 18 Sept, 11:00 | 6,793 MW | 6,742 MW |
| 18 Sept, 12:00 | 6,789 MW | 6,770 MW |
| 18 Sept, 13:00 | 6,788 MW | 6,823 MW |
| 18 Sept, 14:00 | 6,786 MW | 6,866 MW |
| 18 Sept, 15:00 | 6,869 MW | 6,932 MW |
| 18 Sept, 16:00 | 7,015 MW | 7,032 MW |
| 18 Sept, 17:00 | 7,105 MW | 7,089 MW |
| 18 Sept, 18:00 | 7,059 MW | 7,028 MW |
| 18 Sept, 19:00 | 6,988 MW | 6,955 MW |
| 18 Sept, 20:00 | 6,845 MW | 6,777 MW |
| 18 Sept, 21:00 | 6,565 MW | 6,493 MW |
| 18 Sept, 22:00 | 6,272 MW | 6,203 MW |
| 18 Sept, 23:00 | 5,968 MW | 5,911 MW |
| 19 Sept, 00:00 | 5,802 MW | 5,803 MW |
| 19 Sept, 01:00 | 5,624 MW | 5,614 MW |
| 19 Sept, 02:00 | 5,541 MW | 5,528 MW |
| 19 Sept, 03:00 | 5,463 MW | 5,501 MW |
| 19 Sept, 04:00 | 5,512 MW | 5,520 MW |
| 19 Sept, 05:00 | 5,621 MW | 5,636 MW |
| 19 Sept, 06:00 | 5,823 MW | 5,810 MW |
| 19 Sept, 07:00 | 6,049 MW | 6,037 MW |
| 19 Sept, 08:00 | 6,303 MW | 6,280 MW |
| 19 Sept, 09:00 | 6,435 MW | 6,422 MW |
| 19 Sept, 10:00 | 6,494 MW | 6,466 MW |
| 19 Sept, 11:00 | 6,536 MW | 6,486 MW |
| 19 Sept, 12:00 | 6,531 MW | 6,467 MW |
| 19 Sept, 13:00 | 6,551 MW | 6,490 MW |
| 19 Sept, 14:00 | 6,540 MW | 6,534 MW |
| 19 Sept, 15:00 | 6,646 MW | 6,606 MW |
| 19 Sept, 16:00 | 6,757 MW | 6,764 MW |
| 19 Sept, 17:00 | 6,872 MW | 6,847 MW |
| 19 Sept, 18:00 | 6,888 MW | 6,831 MW |
| 19 Sept, 19:00 | 6,826 MW | 6,801 MW |
| 19 Sept, 20:00 | 6,732 MW | 6,641 MW |
| 19 Sept, 21:00 | 6,432 MW | 6,356 MW |
| 19 Sept, 22:00 | 6,137 MW | 6,102 MW |
| 19 Sept, 23:00 | 5,858 MW | 5,825 MW |
| 20 Sept, 00:00 | 5,681 MW | 5,692 MW |
| 20 Sept, 01:00 | 5,527 MW | 5,521 MW |
| 20 Sept, 02:00 | 5,452 MW | 5,441 MW |
| 20 Sept, 03:00 | 5,424 MW | 5,404 MW |
| 20 Sept, 04:00 | 5,447 MW | 5,433 MW |
| 20 Sept, 05:00 | 5,577 MW | 5,530 MW |
| 20 Sept, 06:00 | 5,764 MW | 5,697 MW |
| 20 Sept, 07:00 | 6,004 MW | 5,921 MW |
| 20 Sept, 08:00 | 6,240 MW | 6,162 MW |
| 20 Sept, 09:00 | 6,408 MW | 6,300 MW |
| 20 Sept, 10:00 | 6,445 MW | 6,360 MW |
| 20 Sept, 11:00 | 6,474 MW | 6,415 MW |
| 20 Sept, 12:00 | 6,516 MW | 6,485 MW |
| 20 Sept, 13:00 | 6,556 MW | 6,548 MW |
| 20 Sept, 14:00 | 6,667 MW | 6,628 MW |
| 20 Sept, 15:00 | 6,837 MW | 6,751 MW |
| 20 Sept, 16:00 | 7,017 MW | 6,943 MW |
| 20 Sept, 17:00 | 7,226 MW | 7,083 MW |
| 20 Sept, 18:00 | 8,554 MW | 7,107 MW |
Assumptions
- Only hours with both a forecast and a positive demand reading count (695 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.