Monthly balancing authority operations

Demand, net generation and total interchange summed by month for each frame balancing authority, from Form EIA-930, with the number of hours each sum covers. A sum adds reported hours only, leaving out the flagged hours (reports EIA marked with its own imputed value, under each measure's rule), so read it beside its hours before treating it as a full month: a month is complete when its hours plus flagged hours cover it.

At a glance

Period
2015-07–2026-09
One row is
frame balancing authority x UTC calendar month
Built from source rows of
balancing authority x UTC hour (hour-ending)
Evidence and method
reported · directReported values as filed; EIA-adjusted and EIA-imputed columns kept beside them and never substituted for a reported value. An EIA-imputed value beside a reported one is EIA's mark that it replaced that report. Every marked demand hour is left out of every sum, mean and hours count and counted as flagged; a marked net-generation or interchange hour only when it is at least 1.5 times the largest unmarked magnitude of the authority's year, the others staying as reported. Frame authorities only enter the release.
Edition in this release
PUDL v2026.9.0 (embedded 2026.8.1.dev50) · core_eia930__hourly_operations · retrieved 2026-09-29
Download
ba_monthly_930.parquet ↓2,113 rows · 40 KB

Measures

ColumnUnitWhat it measures
demand_mwhMWhSum of the hourly demand the authority reported for the hours that start in the UTC month. EIA stamps an hour at its end, so the month holds stamps after its first instant up to and including the next month's first instant: the hour ending 00:00 UTC on the 1st belongs to the month before. Hours without a reported value add nothing and are counted, never filled. A reported hour EIA marked with its own imputed value adds nothing, is not in hours_demand and is counted in hours_demand_flagged; the imputed value is never substituted.
net_generation_mwhMWhSum of the hourly net generation the authority reported for the hours that start in the UTC month (the hour ending 00:00 UTC on the 1st belongs to the month before), over reported hours only, leaving out a marked hour at least 1.5 times the largest unmarked magnitude of the authority's year (counted in hours_net_generation_flagged); other marked hours are summed as reported.
interchange_mwhMWhSum of the hourly total interchange the authority reported for the hours that start in the UTC month (the hour ending 00:00 UTC on the 1st belongs to the month before), over reported hours only, leaving out a marked hour at least 1.5 times the largest unmarked magnitude of the authority's year (counted in hours_interchange_flagged); other marked hours are summed as reported. Positive is net outflow, negative is net inflow.

Coverage by balancing authority

Months and hours, balancing authority x UTC hour (hour-ending)
Each month sums the hours the authority reported. Hours behind a monthly value are counted so a thin month is visible.
AuthorityFirst monthLast monthMonths listed of expectedHours listed of hours in those monthsdemand: hours reportednet generation: hours reportedinterchange: hours reported
AvistaAVA2015-072026-09135 of 13598,040 of 98,640 h99.5%21 h replaced by EIA, left out · 444 h not reported99.5%21 h replaced by EIA, left out · 444 h not reported99.5%444 h not reported
Avangrid RenewablesAVRN · generation only2018-072026-0999 of 9970,992 of 72,336 hNot applicable99.9%46 h replaced by EIA, left out · 0 h not reported99.9%46 h replaced by EIA, left out · 0 h not reported
Bonneville Power AdministrationBPAT2015-072026-09135 of 13598,040 of 98,640 h99.9%65 h not reported99.9%69 h not reported99.9%68 h not reported
Chelan County PUDCHPD2015-072026-09135 of 13598,040 of 98,640 h99.8%2 h replaced by EIA, left out · 158 h not reported99.8%158 h not reported99.8%157 h not reported
Douglas County PUDDOPD2015-072026-09135 of 13598,040 of 98,640 h97.1%2,876 h not reported97.1%2,876 h not reported97.1%2,876 h not reported
Grant PUDGCPD2015-072026-09135 of 13598,040 of 98,640 h100.0%26 h not reported100.0%26 h not reported100.0%5 h replaced by EIA, left out · 26 h not reported
GridforceGRID · generation only2015-072026-09135 of 13598,016 of 98,640 hNot applicable99.9%69 h not reported99.9%69 h not reported
NaturEner Power WatchGWA · generation only2015-072026-09135 of 13598,016 of 98,640 hNot applicable99.7%259 h not reported99.7%1 h replaced by EIA, left out · 259 h not reported
Idaho PowerIPCO2015-072026-09135 of 13598,040 of 98,640 h99.9%103 h not reported99.9%103 h not reported99.9%103 h not reported
NorthWestern EnergyNWMT2015-072026-09135 of 13598,040 of 98,640 h99.9%19 h replaced by EIA, left out · 98 h not reported99.9%11 h replaced by EIA, left out · 98 h not reported99.9%98 h not reported
PacifiCorp WestPACW2015-072026-09135 of 13598,040 of 98,640 h96.1%99 h replaced by EIA, left out · 3,721 h not reported96.1%98 h replaced by EIA, left out · 3,722 h not reported96.2%1 h replaced by EIA, left out · 3,722 h not reported
Portland General ElectricPGE2015-072026-09135 of 13598,040 of 98,640 h99.4%2 h replaced by EIA, left out · 580 h not reported99.3%1 h replaced by EIA, left out · 649 h not reported99.3%1 h replaced by EIA, left out · 676 h not reported
Puget Sound EnergyPSEI2015-072026-09135 of 13598,040 of 98,640 h86.5%13,200 h not reported86.5%13,202 h not reported86.2%13,540 h not reported
Seattle City LightSCL2015-072026-09135 of 13598,040 of 98,640 h99.9%8 h replaced by EIA, left out · 112 h not reported99.9%10 h replaced by EIA, left out · 112 h not reported99.9%3 h replaced by EIA, left out · 112 h not reported
Tacoma PowerTPWR2015-072026-09135 of 13598,040 of 98,640 h100.0%24 h not reported100.0%24 h not reported100.0%24 h not reported
NaturEner Wind WatchWWA · generation only2015-072025-10124 of 12489,880 of 90,624 hNot applicable99.8%1 h replaced by EIA, left out · 192 h not reported99.8%12 h replaced by EIA, left out · 193 h not reported

What is missing, and why

  • month_not_listedMonths between an authority's first and last listed month with no row
    0 BA-months
  • Hour not listedHours of listed months with no row in the hourly source, including the part of a first or last month outside the source's span
    10,536 BA-hours
  • Reported, then replaced by the publisher · demandReported hours left out because EIA marked them by publishing its own imputed value beside the report: every marked demand hour, and a marked net-generation or interchange hour at least 1.5 times the largest unmarked magnitude of its authority and year. Left out of every sum, mean and hours-reported count, never substituted; other marked hours stay as reported
    151 BA-hours
  • Listed without a reported value · demandHours of listed months with no reported value; the monthly sum covers reported hours only
    21,407 BA-hours
  • Not applicable · demandListed hours of authorities EIA lists as generation-only, which report no value for this measure: AVRN, GRID, GWA, WWA
    356,904 BA-hours
  • Reported, then replaced by the publisher · net generationReported hours left out because EIA marked them by publishing its own imputed value beside the report: every marked demand hour, and a marked net-generation or interchange hour at least 1.5 times the largest unmarked magnitude of its authority and year. Left out of every sum, mean and hours-reported count, never substituted; other marked hours stay as reported
    188 BA-hours
  • Listed without a reported value · net generationHours of listed months with no reported value; the monthly sum covers reported hours only
    22,003 BA-hours
  • Reported, then replaced by the publisher · interchangeReported hours left out because EIA marked them by publishing its own imputed value beside the report: every marked demand hour, and a marked net-generation or interchange hour at least 1.5 times the largest unmarked magnitude of its authority and year. Left out of every sum, mean and hours-reported count, never substituted; other marked hours stay as reported
    69 BA-hours
  • Listed without a reported value · interchangeHours of listed months with no reported value; the monthly sum covers reported hours only
    22,367 BA-hours
  • No row in the sourceFrame authorities with no row in the source table (generation-only, retired, or not an EIA-930 respondent; the table cannot tell which)
    0 balancing authorities

How often it changes

Checked 2026-09-21
Publisher
Balancing authorities send EIA demand every hour, and demand, net generation and total interchange each morning for the previous day. EIA publishes them on its Grid Monitor and as six-month CSV files, the files PUDL integrates.www.eia.gov/electricity/930-content/about.html ↗www.eia.gov/survey/form/eia_930/instructions.pdf ↗docs.catalyst.coop/pudl/en/v2026.9.0/data_sources/eia930.html ↗
Delay
On EIA's Grid Monitor, demand is typically available one hour after the end of the operating hour; net generation and total interchange for each hour of yesterday are typically available by 11:00 a.m. Eastern time. This table is not that feed: its last month is the one stated under coverage.www.eia.gov/electricity/930-content/about.html ↗
This atlas
The atlas reads this history through PUDL, which Catalyst Cooperative publishes as quarterly versioned releases. Each atlas release pins one PUDL version, named under edition; the table changes only when that pin moves. No timed refresh.docs.catalyst.coop/pudl/en/v2026.9.0/data_access.html ↗

Checks and corrections

  • keys.ba_hourly_930_unique{"distinct":1533384,"rows":1533384}
    Passed
  • history.930_hours_bounded{"months_over_hours_in_month":0}
    Passed
  • history.930_frame_coverage{"authorities":16,"latest_month":"2026-09"}
    Passed
  • history.930_flagged_hours_excluded{"first":{"demand":[],"generation":[],"interchange":[],"net_generation":[]},"generation_months_wrong":0,"months_wrong":{"demand":0,"interchange":0,"net_generation":0}}
    Passed
  • history.930_marks_bounded{"limit":0.01,"measures":{"demand":{"marked":151,"reported":1155073,"share":0.000131},"interchange":{"marked":409,"reported":1511017,"share":0.000271},"net_generation":{"marked":565,"reported":1511381,"share":0.000374},"net_generation_by_source":{"marked":385,"reported":3949160,"share":0.000097}},"unit":"BA-hours (energy-source hours for net_generation_by_source)"}
    Passed

No corrections apply to this dataset in this release. Earlier editions: not available (earlier releases did not retain per-dataset edition comparisons).

Release 20260929T050546Z-51ae0f7d3c78