BPA Demand Forecast Accuracy: Error, Bias and Worst Miss, 6 October to 5 November 2026
The day-ahead demand forecast for BPA was off by 1.5% on average (mean absolute percentage error) over 719 hours from 6 October to 5 November 2026, and 98% of hours landed within 5% of the reading. Its bias was +0.2%: it ran close to balanced on average. The largest miss was 469 MW (6.5%) too high at 26 Oct 2026, 15: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.5% on average (mean absolute percentage error) over 719 hours from 6 October to 5 November 2026, and 98% of hours landed within 5% of the reading. Its bias was +0.2%: it ran close to balanced on average. The largest miss was 469 MW (6.5%) too high at 26 Oct 2026, 15:00 PDT (UTC-07:00).
- Across 53 US grids ranked by average error over their own latest 30 day windows, BPA came 4 (1 is the smallest error).
- On average the forecast differed from reported demand by 108 MW, against average demand of 7,005 MW.
- The forecast was above reported demand in 51% of compared hours.
Forecast Error at a Glance
719 hours from 6 October to 5 November 2026Average error is the mean absolute percentage gap between the forecast and reported demand. Bias is the signed mean (+16 MW per hour on average): the forecast ran close to balanced on average. The worst miss was 469 MW (6.5%) too high at 26 Oct 2026, 15:00 PDT (UTC-07:00): forecast 7,700 MW, reported 7,231 MW.
Source: U.S. Energy Information Administration (EIA). (US Government work, public domain) Data as of 2026-11-05. 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 5 Nov 2026, 05:00 PST (UTC-08:00)Show the data table (168 rows)
| Local hour | Reported demand | Day-ahead forecast |
|---|---|---|
| 29 Oct, 07:00 | 8,129 MW | 8,296 MW |
| 29 Oct, 08:00 | 8,211 MW | 8,291 MW |
| 29 Oct, 09:00 | 8,108 MW | 8,132 MW |
| 29 Oct, 10:00 | 7,951 MW | 7,923 MW |
| 29 Oct, 11:00 | 7,751 MW | 7,731 MW |
| 29 Oct, 12:00 | 7,590 MW | 7,555 MW |
| 29 Oct, 13:00 | 7,438 MW | 7,436 MW |
| 29 Oct, 14:00 | 7,331 MW | 7,325 MW |
| 29 Oct, 15:00 | 7,307 MW | 7,292 MW |
| 29 Oct, 16:00 | 7,435 MW | 7,391 MW |
| 29 Oct, 17:00 | 7,649 MW | 7,646 MW |
| 29 Oct, 18:00 | 7,873 MW | 7,886 MW |
| 29 Oct, 19:00 | 7,876 MW | 7,889 MW |
| 29 Oct, 20:00 | 7,714 MW | 7,763 MW |
| 29 Oct, 21:00 | 7,478 MW | 7,512 MW |
| 29 Oct, 22:00 | 7,116 MW | 7,158 MW |
| 29 Oct, 23:00 | 6,801 MW | 6,878 MW |
| 30 Oct, 00:00 | 6,642 MW | 6,869 MW |
| 30 Oct, 01:00 | 6,522 MW | 6,739 MW |
| 30 Oct, 02:00 | 6,514 MW | 6,724 MW |
| 30 Oct, 03:00 | 6,519 MW | 6,756 MW |
| 30 Oct, 04:00 | 6,741 MW | 6,936 MW |
| 30 Oct, 05:00 | 7,161 MW | 7,320 MW |
| 30 Oct, 06:00 | 7,745 MW | 7,874 MW |
| 30 Oct, 07:00 | 8,065 MW | 8,249 MW |
| 30 Oct, 08:00 | 8,180 MW | 8,318 MW |
| 30 Oct, 09:00 | 8,159 MW | 8,283 MW |
| 30 Oct, 10:00 | 8,069 MW | 8,144 MW |
| 30 Oct, 11:00 | 7,928 MW | 7,986 MW |
| 30 Oct, 12:00 | 7,794 MW | 7,818 MW |
| 30 Oct, 13:00 | 7,680 MW | 7,680 MW |
| 30 Oct, 14:00 | 7,533 MW | 7,565 MW |
| 30 Oct, 15:00 | 7,430 MW | 7,524 MW |
| 30 Oct, 16:00 | 7,484 MW | 7,593 MW |
| 30 Oct, 17:00 | 7,625 MW | 7,765 MW |
| 30 Oct, 18:00 | 7,768 MW | 7,918 MW |
| 30 Oct, 19:00 | 7,723 MW | 7,862 MW |
| 30 Oct, 20:00 | 7,650 MW | 7,726 MW |
| 30 Oct, 21:00 | 7,449 MW | 7,527 MW |
| 30 Oct, 22:00 | 7,197 MW | 7,247 MW |
| 30 Oct, 23:00 | 6,973 MW | 6,990 MW |
| 31 Oct, 00:00 | 6,806 MW | 6,795 MW |
| 31 Oct, 01:00 | 6,770 MW | 6,698 MW |
| 31 Oct, 02:00 | 6,734 MW | 6,710 MW |
| 31 Oct, 03:00 | 6,815 MW | 6,747 MW |
| 31 Oct, 04:00 | 6,922 MW | 6,896 MW |
| 31 Oct, 05:00 | 7,207 MW | 7,145 MW |
| 31 Oct, 06:00 | 7,633 MW | 7,512 MW |
| 31 Oct, 07:00 | 7,973 MW | 7,908 MW |
| 31 Oct, 08:00 | 8,308 MW | 8,200 MW |
| 31 Oct, 09:00 | 8,344 MW | 8,279 MW |
| 31 Oct, 10:00 | 8,163 MW | 8,111 MW |
| 31 Oct, 11:00 | 7,935 MW | 7,909 MW |
| 31 Oct, 12:00 | 7,661 MW | 7,531 MW |
| 31 Oct, 13:00 | 7,436 MW | 7,366 MW |
| 31 Oct, 14:00 | 7,286 MW | 7,206 MW |
| 31 Oct, 15:00 | 7,172 MW | 7,281 MW |
| 31 Oct, 16:00 | 7,177 MW | 7,412 MW |
| 31 Oct, 17:00 | 7,270 MW | 7,456 MW |
| 31 Oct, 18:00 | 7,322 MW | 7,379 MW |
| 31 Oct, 19:00 | 7,309 MW | 7,230 MW |
| 31 Oct, 20:00 | 7,262 MW | 7,139 MW |
| 31 Oct, 21:00 | 7,169 MW | 7,046 MW |
| 31 Oct, 22:00 | 6,995 MW | 7,012 MW |
| 31 Oct, 23:00 | 6,762 MW | 6,805 MW |
| 1 Nov, 00:00 | 6,610 MW | 6,763 MW |
| 1 Nov, 01:00 | 6,559 MW | 6,710 MW |
| 1 Nov, 01:00 | 6,505 MW | 6,710 MW |
| 1 Nov, 02:00 | 6,517 MW | 6,731 MW |
| 1 Nov, 03:00 | 6,557 MW | 6,775 MW |
| 1 Nov, 04:00 | 6,706 MW | 6,920 MW |
| 1 Nov, 05:00 | 7,007 MW | 7,180 MW |
| 1 Nov, 06:00 | 7,345 MW | 7,518 MW |
| 1 Nov, 07:00 | 7,719 MW | 7,784 MW |
| 1 Nov, 08:00 | 7,898 MW | 7,943 MW |
| 1 Nov, 09:00 | 7,888 MW | 7,807 MW |
| 1 Nov, 10:00 | 7,729 MW | 7,538 MW |
| 1 Nov, 11:00 | 7,565 MW | 7,317 MW |
| 1 Nov, 12:00 | 7,452 MW | 7,203 MW |
| 1 Nov, 13:00 | 7,354 MW | 7,195 MW |
| 1 Nov, 14:00 | 7,270 MW | 7,132 MW |
| 1 Nov, 15:00 | 7,326 MW | 7,204 MW |
| 1 Nov, 16:00 | 7,545 MW | 7,520 MW |
| 1 Nov, 17:00 | 7,902 MW | 7,897 MW |
| 1 Nov, 18:00 | 7,893 MW | 7,923 MW |
| 1 Nov, 19:00 | 7,777 MW | 7,870 MW |
| 1 Nov, 20:00 | 7,566 MW | 7,724 MW |
| 1 Nov, 21:00 | 7,266 MW | 7,473 MW |
| 1 Nov, 22:00 | 6,973 MW | 7,199 MW |
| 1 Nov, 23:00 | 6,682 MW | 6,981 MW |
| 2 Nov, 00:00 | 6,587 MW | 6,973 MW |
| 2 Nov, 01:00 | 6,550 MW | 6,829 MW |
| 2 Nov, 02:00 | 6,577 MW | 6,875 MW |
| 2 Nov, 03:00 | 6,710 MW | 7,002 MW |
| 2 Nov, 04:00 | 6,990 MW | 7,306 MW |
| 2 Nov, 05:00 | 7,554 MW | 7,888 MW |
| 2 Nov, 06:00 | 8,210 MW | 8,547 MW |
| 2 Nov, 07:00 | 8,542 MW | 8,892 MW |
| 2 Nov, 08:00 | 8,438 MW | 8,739 MW |
| 2 Nov, 09:00 | 8,193 MW | 8,480 MW |
| 2 Nov, 10:00 | 7,913 MW | 8,182 MW |
| 2 Nov, 11:00 | 7,689 MW | 7,954 MW |
| 2 Nov, 12:00 | 7,515 MW | 7,741 MW |
| 2 Nov, 13:00 | 7,483 MW | 7,595 MW |
| 2 Nov, 14:00 | 7,408 MW | 7,521 MW |
| 2 Nov, 15:00 | 7,469 MW | 7,555 MW |
| 2 Nov, 16:00 | 7,742 MW | 7,844 MW |
| 2 Nov, 17:00 | 8,069 MW | 8,219 MW |
| 2 Nov, 18:00 | 8,020 MW | 8,247 MW |
| 2 Nov, 19:00 | 7,881 MW | 8,131 MW |
| 2 Nov, 20:00 | 7,714 MW | 7,953 MW |
| 2 Nov, 21:00 | 7,397 MW | 7,629 MW |
| 2 Nov, 22:00 | 6,979 MW | 7,296 MW |
| 2 Nov, 23:00 | 6,713 MW | 7,019 MW |
| 3 Nov, 00:00 | 6,522 MW | 6,797 MW |
| 3 Nov, 01:00 | 6,454 MW | 6,587 MW |
| 3 Nov, 02:00 | 6,428 MW | 6,567 MW |
| 3 Nov, 03:00 | 6,481 MW | 6,648 MW |
| 3 Nov, 04:00 | 6,703 MW | 6,917 MW |
| 3 Nov, 05:00 | 7,211 MW | 7,453 MW |
| 3 Nov, 06:00 | 7,792 MW | 8,086 MW |
| 3 Nov, 07:00 | 8,075 MW | 8,347 MW |
| 3 Nov, 08:00 | 8,025 MW | 8,232 MW |
| 3 Nov, 09:00 | 7,885 MW | 8,006 MW |
| 3 Nov, 10:00 | 7,896 MW | 7,734 MW |
| 3 Nov, 11:00 | 7,507 MW | 7,525 MW |
| 3 Nov, 12:00 | 7,342 MW | 7,371 MW |
| 3 Nov, 13:00 | 7,264 MW | 7,266 MW |
| 3 Nov, 14:00 | 7,161 MW | 7,189 MW |
| 3 Nov, 15:00 | 7,236 MW | 7,249 MW |
| 3 Nov, 16:00 | 7,489 MW | 7,546 MW |
| 3 Nov, 17:00 | 7,830 MW | 7,929 MW |
| 3 Nov, 18:00 | 7,874 MW | 7,957 MW |
| 3 Nov, 19:00 | 7,765 MW | 7,857 MW |
| 3 Nov, 20:00 | 7,614 MW | 7,729 MW |
| 3 Nov, 21:00 | 7,359 MW | 7,424 MW |
| 3 Nov, 22:00 | 7,001 MW | 7,092 MW |
| 3 Nov, 23:00 | 6,770 MW | 6,835 MW |
| 4 Nov, 00:00 | 6,617 MW | 6,664 MW |
| 4 Nov, 01:00 | 6,610 MW | 6,461 MW |
| 4 Nov, 02:00 | 6,590 MW | 6,477 MW |
| 4 Nov, 03:00 | 6,686 MW | 6,565 MW |
| 4 Nov, 04:00 | 6,958 MW | 6,827 MW |
| 4 Nov, 05:00 | 7,524 MW | 7,389 MW |
| 4 Nov, 06:00 | 8,251 MW | 8,015 MW |
| 4 Nov, 07:00 | 8,546 MW | 8,320 MW |
| 4 Nov, 08:00 | 8,398 MW | 8,195 MW |
| 4 Nov, 09:00 | 8,101 MW | 7,912 MW |
| 4 Nov, 10:00 | 7,762 MW | 7,666 MW |
| 4 Nov, 11:00 | 7,554 MW | 7,394 MW |
| 4 Nov, 12:00 | 7,415 MW | 7,239 MW |
| 4 Nov, 13:00 | 7,302 MW | 7,143 MW |
| 4 Nov, 14:00 | 7,288 MW | 7,073 MW |
| 4 Nov, 15:00 | 7,340 MW | 7,146 MW |
| 4 Nov, 16:00 | 7,649 MW | 7,415 MW |
| 4 Nov, 17:00 | 7,941 MW | 7,782 MW |
| 4 Nov, 18:00 | 7,919 MW | 7,781 MW |
| 4 Nov, 19:00 | 7,809 MW | 7,652 MW |
| 4 Nov, 20:00 | 7,643 MW | 7,481 MW |
| 4 Nov, 21:00 | 7,333 MW | 7,213 MW |
| 4 Nov, 22:00 | 6,934 MW | 6,860 MW |
| 4 Nov, 23:00 | 6,605 MW | 6,611 MW |
| 5 Nov, 00:00 | 6,476 MW | 6,451 MW |
| 5 Nov, 01:00 | 6,320 MW | 6,391 MW |
| 5 Nov, 02:00 | 6,240 MW | 6,387 MW |
| 5 Nov, 03:00 | 6,306 MW | 6,438 MW |
| 5 Nov, 04:00 | 6,532 MW | 6,672 MW |
| 5 Nov, 05:00 | 7,045 MW | 7,167 MW |
Assumptions
- Only hours with both a forecast and a positive demand reading count (719 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.
Related
Cite this page
World Power Monitor. (2026). BPA Demand Forecast Accuracy: Error, Bias and Worst Miss. https://worldpowermonitor.com/forecast-accuracy/bpa/
World Power Monitor. BPA Demand Forecast Accuracy: Error, Bias and Worst Miss. Data as of 2026-11-05. Data from U.S. Energy Information Administration. https://worldpowermonitor.com/forecast-accuracy/bpa/
@misc{wpm_forecast_accuracy_bpa_2026,
title = {{BPA Demand Forecast Accuracy: Error, Bias and Worst Miss}},
author = {{World Power Monitor}},
year = {2026},
note = {Data as of 2026-11-05. Data from U.S. Energy Information Administration.},
url = {https://worldpowermonitor.com/forecast-accuracy/bpa/}
} Permalink: https://worldpowermonitor.com/forecast-accuracy/bpa/
The Copy buttons add today's date as the access date.