Overview

PJM's seven-day hourly demand forecast in long form: issued_at (when PJM published the forecast), event_time (the hour being forecast), area, and forecast_mw. 4.14M rows across 2,033 issue vintages and 25 areas, covering forecasts issued since 2026-05-21 and targets out to seven days ahead. Because issue time and target time are separate columns, this table can answer both 'what does PJM expect for tomorrow evening' and 'what did PJM expect for that hour twelve hours before it happened' — the second question needs the issue-time filter, and getting it wrong turns a forecast evaluation into hindsight. The area column mixes three levels of the same hierarchy: the RTO total (RTO_COMBINED), three regional aggregates (MID_ATLANTIC_REGION, SOUTHERN_REGION, WESTERN_REGION), transmission zones (AEP, COMED, DOMINION, ...) and Mid-Atlantic sub-zones (PSE&G/MIDATL, PECO/MIDATL, ...). Summing across areas double-counts, in some cases three times over.

Use with MCP

This table is readable two ways, over the same guarded boundary. Over HTTP: POST /api/v1/datasets/pjm_load_forecast/query, described in the API reference. Or from an MCP client: connect a market below, then use search_data or describe_data to load its query contract before calling query_data.

Schema4

Column
Type
issued_atDateTime64(6, 'UTC')
event_timeDateTime64(6, 'UTC')
areaLowCardinality(String)
forecast_mwNullable(Float64)

Sample rows

issued_atevent_timeareaforecast_mw
2026-08-27 04:17:15.0000002026-09-03 03:00:00.000000AEP20094
2026-08-27 04:17:15.0000002026-09-03 03:00:00.000000AE/MIDATL1583
2026-08-27 05:17:16.0000002026-09-03 03:00:00.000000AE/MIDATL1597
2026-08-27 06:17:16.0000002026-09-03 03:00:00.000000AE/MIDATL1598
2026-08-27 07:17:16.0000002026-09-03 03:00:00.000000AE/MIDATL1595
2026-08-27 08:17:17.0000002026-09-03 03:00:00.000000AE/MIDATL1585
2026-08-27 09:22:52.0000002026-09-03 03:00:00.000000AE/MIDATL1595
2026-08-27 10:17:18.0000002026-09-03 03:00:00.000000AE/MIDATL1588
2026-08-27 11:17:19.0000002026-09-03 03:00:00.000000AE/MIDATL1588
2026-08-27 12:17:19.0000002026-09-03 03:00:00.000000AE/MIDATL1573
2026-08-27 13:17:19.0000002026-09-03 03:00:00.000000AE/MIDATL1570
2026-08-27 14:17:20.0000002026-09-03 03:00:00.000000AE/MIDATL1570
2026-08-27 15:17:20.0000002026-09-03 03:00:00.000000AE/MIDATL1568
2026-08-27 16:17:21.0000002026-09-03 03:00:00.000000AE/MIDATL1568
2026-08-27 17:17:23.0000002026-09-03 03:00:00.000000AE/MIDATL1568
2026-08-27 18:17:24.0000002026-09-03 03:00:00.000000AE/MIDATL1571
2026-08-27 19:17:24.0000002026-09-03 03:00:00.000000AE/MIDATL1572
2026-08-27 20:17:24.0000002026-09-03 03:00:00.000000AE/MIDATL1568
2026-08-27 21:17:25.0000002026-09-03 03:00:00.000000AE/MIDATL1568
2026-08-27 22:17:25.0000002026-09-03 03:00:00.000000AE/MIDATL1532
2026-08-28 00:17:26.0000002026-09-03 03:00:00.000000AE/MIDATL1545
2026-08-27 23:17:26.0000002026-09-03 03:00:00.000000AE/MIDATL1532
2026-08-28 01:17:27.0000002026-09-03 03:00:00.000000AE/MIDATL1551
2026-08-27 19:17:24.0000002026-09-03 03:00:00.000000AEP20238
2026-08-27 21:17:25.0000002026-09-03 03:00:00.000000AEP20229

Coverage

91.5% complete9 gap days97 days with data
Show coverage history ▾
Coverage: 91.5%Days with data: 97Gaps: 9
2026
gaplessmore