EIA Form 923

Source URL


Source Description

Generation, consumption, stocks, receipts


Electric, CHP plants, and sometimes fuel transfer terminals with either 1MW+ or the ability to receive and deliver power to the grid.

Source Format

Microsoft Excel (.xls/.xlsx)

Source Years


Size (Download)

256 MB



Years Liberated


Records Liberated

~5 million


Open EIA 923 issues


Form EIA-923 is known as the Power Plant Operations Report. The data include electric power generation, energy source consumption, end of reporting period fossil fuel stocks, as well as the quality and cost of fossil fuel receipts at the power plant and prime mover level (with a subset of +10MW steam-electric plants reporting at the boiler and generator level. Information is available for non-utility plants starting in 1970 and utility plants beginning in 1999. The Form EIA-923 has evolved over the years, beginning as an environmental add-on in 2007 and ultimately eclipsing the information previously recorded in EIA-906, EIA-920, FERC 423, and EIA-423 by 2008.

As of 2019, the EIA-923 Form is organized into the following schedules:

  • Schedule 2: fuel receipts and costs

  • Schedules 3A & 5A: generator data including generation, fuel consumption and stocks

  • Schedule 4: fossil fuel stocks

  • Schedules 6 & 7: non-utility source and disposition of electricity

  • Schedules 8A-F: environmental data

Who is required to fill out the form?

Respondents include all all electric and CHP plants, and in some cases fuel transfer terminals, that have a total generator nameplate capacity (sum for generators at a single site) of 1 Megawatt (MW) or greater and are connected to the local or regional electric power grid.

Selected plants may be permitted to report schedules 1-4B monthly and 6-8 annually so as to lighten their reporting burden. All other respondents must respond to the Form in its entirety once a year.

What does the original data look like?

Once the respondents have submitted their responses, the EIA creates a series of spreadsheets that reflect themes within the form. These spreadsheets have changed over the years as the form itself evolves. They are accessible on the EIA website as downloadable ZIP files categorized by year. The internal data are organized into excel spreadsheets. To gain greater insight into year-to-year nuances of the form, we recommend downloading multiple years of EIA-923 ZIP files and comparing both the Form and the Form Instructions files.

How much of the data is accessible through PUDL?

EIA-923 data stretches back to 1970, and PUDL currently covers all years starting from 2009. Due to a difference in reporting between the older and newer years, the older data will require more time to integrate. Monthly and year to date releases are not yet integrated.

In addition, We have not yet integrated tables reporting fuel stocks, data from Puerto Rico, or EIA-923 schedules 6, 7, and 8.

Notable Irregularities

File Naming Conventions

The naming conventions for the raw files are confusing and difficult to trace year to year. Subtle and not so subtle changes to the form and published spreadsheets make aggregating pre-2009 data difficult from a programmatic standpoint.

Protected Data

In accordance with the Freedom of Information Act and the Trade Secrets Act, certain information reported to EIA-923 may remain undisclosed to the public until three months after its collection date. The fields subject to this legislation include: total delivered cost of coal, natural gas, and petroleum received at non-utility power plants and the commodity cost information for all plants (Schedule 2).

Net generation & fuel consumed reported in two separate tables

Net generation and fuel consumption are reported in two separate tables in EIA-923: in the generation_eia923 and generation_fuel_eia923 tables. The generation_fuel_eia923 table is more complete (the generation_eia923 table includes only ~55% of the reported MWh), but the generation_eia923 table is more granular (it is reported at the generator level).

Adding to the complexity, nuclear units reporting in the Generation and Fuel table report each nuclear_unit_id (the same as the associated generator_id) separately, while all other generation is broken down by report_date, plant_id_eia, prime_mover_code, and energy_source_code. This means that the natural primary key for the nuclear records is different from all the other records. To keep the data well normalized and ensure that we can use the real primary keys for enforcing database structural constraints, we’ve thus split out a new generation_fuel_nuclear_eia923 table.

Data Estimates

Plants that did not respond or reported unverified data were recorded as estimates rolled in with the state/fuel aggregates values reported under the plant id 99999.

PUDL Database Tables

We’ve segmented the processed EIA-923 data into the following normalized data tables. Clicking on the links will show you a description of the table as well as the names and descriptions of each of its fields.

EIA-923 Data Tables

These tables contain the bulk data reported in the EIA-923.

Data Dictionary

Browse Online













PUDL Data Transformations

The PUDL transformation process cleans the input data so that it is adjusted for uniformity, corrected for errors, and ready for bulk programmatic use.

To see the transformations applied to the data in each table, you can read the function level documentation in pudl.transform.eia923.