out_eia923__fuel_receipts_costs

package: pudl

Individual fuel deliveries to power plants, organized by fuel type and supplier.

Most-recent data:

2025

Processing:

Data has been expanded into a wide/denormalized format, with IDs and codes accompanied by human-readable names and descriptions.

Source:

EIA Form 923 -- Power Plant Operations Report (Schedule 2 - Part A)

Primary key:

This table has no primary key. Each record describes an individual fuel delivery. There can be multiple deliveries of the same type of fuel from the same supplier to the same plant in a single month, so the table has no natural primary key.

Usage Warnings

  • Date column arbitrarily uses the first of the month.

  • Some values have been redacted.

  • Time of fuel deliveries is not necessarily connected with time of fuel consumption.

  • Data has been drawn from several EIA sources which are not always consistent with each other, and PUDL chooses the most consistent or relevant value to facilitate cross-referencing even if that means some values will differ from the raw sources. See Harvesting for details, and see Entity Resolution Methodology for a fuller conceptual overview.

  • Contains estimated values.

Additional Details

There can be a significant delay between the receipt of fuel and its consumption, so using this table to infer monthly attributes associated with power generation may not be entirely accurate. However, this is the most granular data we have describing fuel costs, and we use it in calculating the marginal cost of electricity for individual generation units.

Under some circumstances utilities are allowed to treat the price of fuel as proprietary business data, meaning it is redacted from the publicly available spreadsheets. It's still reported to EIA and influences the aggregated (state, region, annual, etc.) fuel prices they publish. From 2009-2021 about 1/3 of all prices are redacted. The missing data is not randomly distributed. Deregulated markets dominated by merchant generators (independent power producers) redact much more data, and natural gas is by far the most likely fuel to have its price redacted. This means, for instance, that the entire Northeastern US reports essentially no fine-grained data about its natural gas prices.

Additional data which we haven't yet integrated is available in a similar format from 2002-2008 via the EIA-423, and going back as far as 1972 from the FERC-423.

This table inherits canonicalized values for plants and utilities. EIA reports many attributes in many different tables across EIA-860 and EIA-923. In order to compile tidy, well-normalized database tables, PUDL collects all instances of these values and and chooses a canonical value. By default, PUDL chooses the most consistently reported value of a given attribute as long as it is at least 70% of the given instances reported. If an attribute was reported inconsistently across the original EIA tables, then it will show up as a null value. See /methodology/entity_resolution for a conceptual overview of this process.

Columns
report_date

Date reported.

plant_id_eia

The unique six-digit facility identification number, also called an ORISPL, assigned by the Energy Information Administration.

plant_id_pudl

A manually assigned PUDL plant ID. May not be constant over time.

plant_name_eia

Plant name.

utility_id_eia

The EIA Utility Identification number.

utility_id_pudl

A manually assigned PUDL utility ID. May not be stable over time.

utility_name_eia

The name of the utility.

state

Two letter US state abbreviation.

contract_type_code

Purchase type under which receipts occurred in the reporting month. C: Contract, NC: New Contract, S: Spot Purchase, T: Tolling Agreement.

contract_expiration_date

Date contract expires.Format: MMYY.

energy_source_code

A 2-3 letter code indicating the energy source (e.g. fuel type) associated with the record.

fuel_type_code_pudl

Simplified fuel type code used in PUDL

fuel_group_code

Fuel groups used in the Electric Power Monthly

supplier_name

Company that sold the fuel to the plant or, in the case of Natural Gas, pipeline owner.

fuel_received_units

Quantity of fuel received in tons, barrel, or Mcf.

fuel_mmbtu_per_unit

Heat content of the fuel in millions of Btus per physical unit.

fuel_cost_per_mmbtu

Average fuel cost per MMBTU of heat content in nominal USD.

bulk_agg_fuel_cost_per_mmbtu

Fuel cost per MMBTU reported in the EIA bulk electricity data. This is an aggregate average fuel price for a whole state, region, month, sector, etc. Used to fill in missing fuel prices.

fuel_received_mmbtu

Aggregated fuel receipts, in MMBTU, in EIA bulk electricity data.

total_fuel_cost

Total annual reported fuel costs for the plant part. Includes costs from all fuels.

fuel_cost_per_mmbtu_source

Indicates the source of the values in the fuel_cost_per_mmbtu column. The fuel cost either comes directly from the EIA forms (original), was filled in from the EIA's API using state-level averages (eiaapi), was filled in using a rolling average (rolling_avg) or When the records get aggregated together and contain multiple sources (mixed).

sulfur_content_pct

Sulfur content percentage by weight to the nearest 0.01 percent.

ash_content_pct

Ash content percentage by weight to the nearest 0.1 percent.

mercury_content_ppm

Mercury content in parts per million (ppm) to the nearest 0.001 ppm.

primary_transportation_mode_code

Transportation mode for the longest distance transported.

secondary_transportation_mode_code

Transportation mode for the second longest distance transported.

natural_gas_transport_code

Contract type for natural gas transportation service.

natural_gas_delivery_contract_type_code

Contract type for natural gas delivery service:

moisture_content_pct

For coal only: the moisture content of the fuel in terms of moisture percentage by weight. Reported to the nearest 0.01 percent.

chlorine_content_ppm

For coal only: the chlorine content in parts per million (ppm) to the nearest 0.001 ppm. If lab tests of the coal do not include the chlorine content, this field contains the amount specified in the contract with the supplier.

data_maturity

Maturity of the source data published by EIA that is reflected in this record. EIA releases data incrementally over time, including monthly updates, annual year-to-date updates, provisional early releases of annual data, and final annual release data that is not expected to change further. Records sourced from multiple upstream EIA datasets may have no well defined data maturity. Records whose values have been inferred within PUDL will also have no data maturity.

mine_id_msha

MSHA issued mine identifier.

mine_name

Coal mine name.

mine_state

State where the coal mine is located. Two letter abbreviation.

coalmine_county_id_fips

County ID from the Federal Information Processing Standard Publication 6-4. This is the county where the coal mine is located.

mine_type_code

Type of coal mine.

out_eia923__monthly_fuel_receipts_costs

package: pudl

Monthly time series of fuel deliveries to power plants aggregated by plant, fuel type, and time period.

Most-recent data:

2025

Processing:

Data has been expanded into a wide/denormalized format, with IDs and codes accompanied by human-readable names and descriptions.

Source:

EIA Form 923 -- Power Plant Operations Report (Schedule 2 - Part A)

Primary key:

plant_id_eia, fuel_type_code_pudl, report_date

Usage Warnings

  • Date column arbitrarily uses the first of the month.

  • Contains estimated values.

  • Some values have been redacted.

  • Time of fuel deliveries is not necessarily connected with time of fuel consumption.

  • Data has been drawn from several EIA sources which are not always consistent with each other, and PUDL chooses the most consistent or relevant value to facilitate cross-referencing even if that means some values will differ from the raw sources. See Harvesting for details, and see Entity Resolution Methodology for a fuller conceptual overview.

Additional Details

This table is an aggregation of the more detailed data in the core_eia923__fuel_receipts_costs table. It provides a tidy timeseries of deliveries by fuel type for each plant. However, not all values in the original table can be aggregated meaningfully, so this table contains only a subset of the source table columns -- primarily numerical values and a handful of categorical variables, plus additional attributes that are constant within each plant-fuel-time period grouping and associated with the plant or utility. When aggregating numerical values any sum that contains an NA value is treated as NA.

This table inherits canonicalized values for plants and utilities. EIA reports many attributes in many different tables across EIA-860 and EIA-923. In order to compile tidy, well-normalized database tables, PUDL collects all instances of these values and and chooses a canonical value. By default, PUDL chooses the most consistently reported value of a given attribute as long as it is at least 70% of the given instances reported. If an attribute was reported inconsistently across the original EIA tables, then it will show up as a null value. See /methodology/entity_resolution for a conceptual overview of this process.

Columns
report_date

Date reported.

plant_id_eia

The unique six-digit facility identification number, also called an ORISPL, assigned by the Energy Information Administration.

plant_id_pudl

A manually assigned PUDL plant ID. May not be constant over time.

plant_name_eia

Plant name.

utility_id_eia

The EIA Utility Identification number.

utility_id_pudl

A manually assigned PUDL utility ID. May not be stable over time.

utility_name_eia

The name of the utility.

state

Two letter US state abbreviation.

fuel_type_code_pudl

Simplified fuel type code used in PUDL

fuel_received_units

Quantity of fuel received in tons, barrel, or Mcf.

fuel_mmbtu_per_unit

Heat content of the fuel in millions of Btus per physical unit.

fuel_cost_per_mmbtu

Average fuel cost per MMBTU of heat content in nominal USD.

fuel_received_mmbtu

Aggregated fuel receipts, in MMBTU, in EIA bulk electricity data.

total_fuel_cost

Total annual reported fuel costs for the plant part. Includes costs from all fuels.

fuel_cost_per_mmbtu_source

Indicates the source of the values in the fuel_cost_per_mmbtu column. The fuel cost either comes directly from the EIA forms (original), was filled in from the EIA's API using state-level averages (eiaapi), was filled in using a rolling average (rolling_avg) or When the records get aggregated together and contain multiple sources (mixed).

sulfur_content_pct

Sulfur content percentage by weight to the nearest 0.01 percent.

ash_content_pct

Ash content percentage by weight to the nearest 0.1 percent.

mercury_content_ppm

Mercury content in parts per million (ppm) to the nearest 0.001 ppm.

moisture_content_pct

For coal only: the moisture content of the fuel in terms of moisture percentage by weight. Reported to the nearest 0.01 percent.

chlorine_content_ppm

For coal only: the chlorine content in parts per million (ppm) to the nearest 0.001 ppm. If lab tests of the coal do not include the chlorine content, this field contains the amount specified in the contract with the supplier.

data_maturity

Maturity of the source data published by EIA that is reflected in this record. EIA releases data incrementally over time, including monthly updates, annual year-to-date updates, provisional early releases of annual data, and final annual release data that is not expected to change further. Records sourced from multiple upstream EIA datasets may have no well defined data maturity. Records whose values have been inferred within PUDL will also have no data maturity.

out_eia923__yearly_fuel_receipts_costs

package: pudl

Annual time series of fuel deliveries to power plants aggregated by plant, fuel type, and time period.

Most-recent data:

2024

Processing:

Data has been expanded into a wide/denormalized format, with IDs and codes accompanied by human-readable names and descriptions.

Source:

EIA Form 923 -- Power Plant Operations Report (Schedule 2 - Part A)

Primary key:

plant_id_eia, fuel_type_code_pudl, report_date

Usage Warnings

  • Date column arbitrarily uses the first of the month.

  • Contains estimated values.

  • Some values have been redacted.

  • Time of fuel deliveries is not necessarily connected with time of fuel consumption.

  • Data has been drawn from several EIA sources which are not always consistent with each other, and PUDL chooses the most consistent or relevant value to facilitate cross-referencing even if that means some values will differ from the raw sources. See Harvesting for details, and see Entity Resolution Methodology for a fuller conceptual overview.

Additional Details

This table is an aggregation of the more detailed data in the core_eia923__fuel_receipts_costs table. It provides a tidy timeseries of deliveries by fuel type for each plant. However, not all values in the original table can be aggregated meaningfully, so this table contains only a subset of the source table columns -- primarily numerical values and a handful of categorical variables, plus additional attributes that are constant within each plant-fuel-time period grouping and associated with the plant or utility. When aggregating numerical values any sum that contains an NA value is treated as NA.

This table inherits canonicalized values for plants and utilities. EIA reports many attributes in many different tables across EIA-860 and EIA-923. In order to compile tidy, well-normalized database tables, PUDL collects all instances of these values and and chooses a canonical value. By default, PUDL chooses the most consistently reported value of a given attribute as long as it is at least 70% of the given instances reported. If an attribute was reported inconsistently across the original EIA tables, then it will show up as a null value. See /methodology/entity_resolution for a conceptual overview of this process.

Columns
report_date

Date reported.

plant_id_eia

The unique six-digit facility identification number, also called an ORISPL, assigned by the Energy Information Administration.

plant_id_pudl

A manually assigned PUDL plant ID. May not be constant over time.

plant_name_eia

Plant name.

utility_id_eia

The EIA Utility Identification number.

utility_id_pudl

A manually assigned PUDL utility ID. May not be stable over time.

utility_name_eia

The name of the utility.

state

Two letter US state abbreviation.

fuel_type_code_pudl

Simplified fuel type code used in PUDL

fuel_received_units

Quantity of fuel received in tons, barrel, or Mcf.

fuel_mmbtu_per_unit

Heat content of the fuel in millions of Btus per physical unit.

fuel_cost_per_mmbtu

Average fuel cost per MMBTU of heat content in nominal USD.

fuel_received_mmbtu

Aggregated fuel receipts, in MMBTU, in EIA bulk electricity data.

total_fuel_cost

Total annual reported fuel costs for the plant part. Includes costs from all fuels.

fuel_cost_per_mmbtu_source

Indicates the source of the values in the fuel_cost_per_mmbtu column. The fuel cost either comes directly from the EIA forms (original), was filled in from the EIA's API using state-level averages (eiaapi), was filled in using a rolling average (rolling_avg) or When the records get aggregated together and contain multiple sources (mixed).

sulfur_content_pct

Sulfur content percentage by weight to the nearest 0.01 percent.

ash_content_pct

Ash content percentage by weight to the nearest 0.1 percent.

mercury_content_ppm

Mercury content in parts per million (ppm) to the nearest 0.001 ppm.

moisture_content_pct

For coal only: the moisture content of the fuel in terms of moisture percentage by weight. Reported to the nearest 0.01 percent.

chlorine_content_ppm

For coal only: the chlorine content in parts per million (ppm) to the nearest 0.001 ppm. If lab tests of the coal do not include the chlorine content, this field contains the amount specified in the contract with the supplier.

data_maturity

Maturity of the source data published by EIA that is reflected in this record. EIA releases data incrementally over time, including monthly updates, annual year-to-date updates, provisional early releases of annual data, and final annual release data that is not expected to change further. Records sourced from multiple upstream EIA datasets may have no well defined data maturity. Records whose values have been inferred within PUDL will also have no data maturity.