out_ferc1__yearly_detailed_income_statements

package: pudl

Annual time series of granular, de-duplicated accounting data of utilities' income statements.

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:

FERC Form 1 -- Annual Report of Major Electric Utilities (Schedules 114, 300, 320 and 336)

Primary key:

This table has no primary key.

Usage Warnings

  • The data from these xbrl_factoid tables contains nested totals and subtotals - making aggregations difficult. We used FERC 1's reported calculations to determine the most granular, non-duplicative records. The reported calculations are not always perfect - we've corrected many of them, but errors could still exist.

  • FERC data is notoriously difficult to extract cleanly, and often contains free-form strings, non-labeled total rows and lack of IDs. See Notable Irregularities for details.

Additional Details

This table is derived from four FERC Form 1 accounting tables with nested calculations:

  • core_ferc1__yearly_income_statements_sched114

  • core_ferc1__yearly_depreciation_summary_sched336

  • core_ferc1__yearly_operating_expenses_sched320

  • core_ferc1__yearly_operating_revenues_sched300

We reconciled the nested calculations within these tables and then identified the most granular data across the tables. We applied slight modifications to two columns (utility_type & plant_function) as compared to the originally reported values in our core tables. The modifications were applied to either provide more specificity (i.e. we converted some total utility_type's into electric) or to condense similar categories for easier analysis (i.e. creating a hydraulic_production plant_function by combining hydraulic_production_conventional and hydraulic_production_pumped_storage). See pudl.output.ferc1.Exploder for more details. This table was made entirely with support and direction from RMI.

Columns
report_year

Four-digit year in which the data was reported.

utility_id_ferc1

PUDL-assigned utility ID, identifying a FERC1 utility. This is an auto-incremented ID and is not expected to be stable from year to year.

utility_id_ferc1_dbf

FERC-assigned respondent_id from DBF reporting years, identifying the reporting entity. Stable from year to year.

utility_id_ferc1_xbrl

FERC-assigned entity_id from XBRL reporting years, identifying the reporting entity. Stable from year to year.

utility_id_pudl

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

utility_name_ferc1

Name of the responding utility, as it is reported in FERC Form 1. For human readability only.

xbrl_factoid

The name of type of value which is a derivative of the XBRL fact name.

utility_type

Listing of utility plant types. Examples include Electric Utility, Gas Utility, and Other Utility.

plant_function

Functional role played by utility plant (steam production, nuclear production, distribution, transmission, etc.).

revenue_requirement_technology

The technology type associated with components of a utility's revenue requirement. These categories were manually compiled by RMI utility accounting experts based on the xbrl_factoid and sometimes vary based on the utility_type or plant_function as well. This column is intended to be used to aggregate this table.

dollar_value

Dollar value of reported income, expense, asset, or liability.

in_revenue_requirement

Whether or not a record from the detailed income statement data is typically included in a utility's revenue requirement. This flag was manually compiled by RMI utility accounting experts based on the xbrl_factoid and sometimes varies based on the utility_type or plant_function.

revenue_requirement_category

The category of revenue requirement associated with each component of utility'sincome statements. These categories were manually compiled by RMI utility accounting experts based on the xbrl_factoid and sometimes vary based on the utility_type or plant_function. This column is intended to be used to aggregate this table.

table_name

The name of the PUDL database table where a given record originated from.