SPP logo

SPP Hourly Actual Load

Actual hourly electricity demand in SPP, one row per hour and balancing area: event_time, baa ('SPP' for the RTO East footprint, 'SWPW' for RTO West from 2026-04), system_mw and source.

Native record
balancing area x operating hour
hourly publication cadence
Evidence
Observed market data
Published observations from the named source
Time basis
Interval-start records
UTC · event_time

Overview

140k rows, 2011-01 to now. Two feeds build it and `source` says which: 'zonal_hourly' rows (2011 to 2016, plus fallback hours later) are the sum of 17 load-zone columns (okge_mw, wfec_mw, wr_mw, waue_mw, les_mw, ede_mw, seci_mw, kacy_mw, mps_mw, csws_mw, sprm_mw, indn_mw, sps_mw, oppd_mw, kcpl_mw, nppd_mw, grda_mw); 'system_5m' rows (2017 on) average SPP's complete five-minute actuals and carry no zones.

Query contract

One row per (event_time, baa) is already the chosen observation: a complete five-minute hour wins over the zonal feed. Filter baa first.

Analysis rules

  • Select baa='SPP' for the East footprint, which is the whole RTO before 2026-04. Add 'SWPW' only for a question about the combined RTO after the western expansion, and say so.
  • Zone columns are NULL in system_5m rows. NULL is a feed without zones, not zero demand; a zone question can be answered only from zonal_hourly rows.

Related analysis

  • forecast error for a delivered hour · join on event_time and baa against mid_term rows from one issue vintage

Interpretation

  • The table changes shape at 2017-01, where the zonal feed gives way to the five-minute system feed. A long trend across that seam compares two measurements; say so.
  • Hourly values are interval averages, not instantaneous readings.

Access

Query from your own tools

Use the guarded HTTP endpoint directly, or connect an MCP client and load the dataset contract with describe_data before calling query_data.

HTTP endpoint
POST /api/v1/datasets/spp_load/query

Need the full history of this dataset in Snowflake, Databricks or your own storage? Data services delivers it on a schedule.

Schema21

Column
Type
event_timeDateTime64(6, 'UTC')
baaLowCardinality(String)
system_mwNullable(Float64)
sourceLowCardinality(String)
okge_mwNullable(Float64)
wfec_mwNullable(Float64)
wr_mwNullable(Float64)
waue_mwNullable(Float64)
les_mwNullable(Float64)
ede_mwNullable(Float64)
seci_mwNullable(Float64)
kacy_mwNullable(Float64)
mps_mwNullable(Float64)
csws_mwNullable(Float64)
sprm_mwNullable(Float64)
indn_mwNullable(Float64)
sps_mwNullable(Float64)
oppd_mwNullable(Float64)
kcpl_mwNullable(Float64)
nppd_mwNullable(Float64)
grda_mwNullable(Float64)

Sample data

event_timebaasystem_mwsourceokge_mwwfec_mwwr_mwwaue_mwles_mwede_mwseci_mwkacy_mwmps_mwcsws_mwsprm_mwindn_mwsps_mwoppd_mwkcpl_mwnppd_mwgrda_mw
2026-10-17 03:00:00.000000SWPW2759.9166666666665system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-17 03:00:00.000000SPP29873.583333333332system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-17 02:00:00.000000SWPW2800.8333333333335system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-17 02:00:00.000000SPP30624.666666666668system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-17 01:00:00.000000SPP31247.583333333332system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-17 01:00:00.000000SWPW2838.8333333333335system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-17 00:00:00.000000SWPW2802.4166666666665system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-17 00:00:00.000000SPP31577.083333333332system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 23:00:00.000000SPP31293.75system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 23:00:00.000000SWPW2697.4166666666665system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 22:00:00.000000SPP31281.166666666668system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 22:00:00.000000SWPW2597.5system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 21:00:00.000000SWPW2532.9166666666665system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 21:00:00.000000SPP31283.5system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 20:00:00.000000SPP31397.25system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 20:00:00.000000SWPW2524.4166666666665system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 19:00:00.000000SPP31613.75system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 19:00:00.000000SWPW2523.6666666666665system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 18:00:00.000000SPP31824.25system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 18:00:00.000000SWPW2538.0833333333335system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 17:00:00.000000SWPW2580.5system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 17:00:00.000000SPP31924.166666666668system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 16:00:00.000000SPP32005.75system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 16:00:00.000000SWPW2645.75system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅
2026-10-16 15:00:00.000000SPP31866.083333333332system_5m∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅∅

Coverage

No time-indexed data — coverage isn’t applicable to this dataset.