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
issued_atDateTime64(6, 'UTC')event_timeDateTime64(6, 'UTC')areaLowCardinality(String)forecast_mwNullable(Float64)Sample rows
| issued_at | event_time | area | forecast_mw |
|---|---|---|---|
| 2026-08-27 04:17:15.000000 | 2026-09-03 03:00:00.000000 | AEP | 20094 |
| 2026-08-27 04:17:15.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1583 |
| 2026-08-27 05:17:16.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1597 |
| 2026-08-27 06:17:16.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1598 |
| 2026-08-27 07:17:16.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1595 |
| 2026-08-27 08:17:17.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1585 |
| 2026-08-27 09:22:52.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1595 |
| 2026-08-27 10:17:18.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1588 |
| 2026-08-27 11:17:19.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1588 |
| 2026-08-27 12:17:19.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1573 |
| 2026-08-27 13:17:19.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1570 |
| 2026-08-27 14:17:20.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1570 |
| 2026-08-27 15:17:20.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1568 |
| 2026-08-27 16:17:21.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1568 |
| 2026-08-27 17:17:23.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1568 |
| 2026-08-27 18:17:24.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1571 |
| 2026-08-27 19:17:24.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1572 |
| 2026-08-27 20:17:24.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1568 |
| 2026-08-27 21:17:25.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1568 |
| 2026-08-27 22:17:25.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1532 |
| 2026-08-28 00:17:26.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1545 |
| 2026-08-27 23:17:26.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1532 |
| 2026-08-28 01:17:27.000000 | 2026-09-03 03:00:00.000000 | AE/MIDATL | 1551 |
| 2026-08-27 19:17:24.000000 | 2026-09-03 03:00:00.000000 | AEP | 20238 |
| 2026-08-27 21:17:25.000000 | 2026-09-03 03:00:00.000000 | AEP | 20229 |