Economic series

Hypothesis

Query US energy data from the Energy Information Administration (EIA) in your own warehouse, with the full history of each series. Also includes [BLS SERIES] from the Bureau of Labor Statistics (BLS).

About this dataset

We load all 13 of the EIA’s bulk datasets, from electricity and natural gas to the Short-Term Energy Outlook. Each series comes with its name, units, frequency, place and the periods it covers. Each dataset’s categories show how its series are grouped.

  • Analysts joining energy prices and output to their own data
  • Planning teams charting series by state or country
  • Data teams who don’t want to maintain their own EIA loads

Tables

Each dataset has 2 tables. The series table has one row per series, with all of its observations. The categories table has the same name, ending in _categories.

TableEIA dataset
co2_emissionsCO2 emissions
coalCoal
electricityElectricity
international_energyInternational energy
international_energy_outlookInternational Energy Outlook
natural_gasNatural gas
petroleumPetroleum
petroleum_importsPetroleum imports
short_term_energy_outlookShort-Term Energy Outlook
state_energy_data_systemState Energy Data System
total_energyTotal energy
us_electric_systemUS electric system operating data
us_nuclear_outagesUS nuclear outages

Series table columns

ColumnWhat it holds
series_idThe EIA’s ID for the series
name, descriptionWhat it measures, in the EIA’s words
unitsUnits, such as thousand megawatthours
fHow often it’s reported: A (annual), Q (quarterly) or M (monthly)
geographyWhere it’s measured, with an iso3166 code for countries and states
start, endFirst and last periods
last_updatedWhen the EIA last updated it
dataObservations, as period and value pairs

Sample queries

Each row is a whole series. Find the one you need, then unnest its observations.

  1. Find a series

    Search a series table by name or description, or browse its categories.

  2. Unnest its observations

    The data column holds every period and value. Flatten it to get one row per period.

  3. Read the period by its frequency

    The f column says how often a series is reported. Periods match it: 2024 for a year, 202401 for a month.

SQL
-- One series, one row per period (Snowflake)
select s.series_id, s.name, s.units,
d.value[0]::string as period,
d.value[1]::float as value
from electricity s,
lateral flatten(input => s.data) d
where s.series_id = '[SERIES ID]'
order by period;

Pricing

One monthly plan covers every table. It’s billed through Snowflake Marketplace or AWS Data Exchange, on your existing Snowflake or AWS bill.

Changelog

[DATE] · First release: the EIA’s 13 bulk datasets, in 26 tables.

The EIA and the BLS publish this data. Zym Labs isn’t affiliated with or endorsed by either.

Economic series | Zym Labs