MISO logo

MISO Load Forecast by Zone

MISO's hourly demand forecast in long form: issued_at (the forecast run's date), event_time (the hour being forecast), area (Local Resource Zone) and forecast_mw.

Native record
Local Resource Zone x target hour x issue date
hourly (one run per day) publication cadence
Evidence
Forecast data
Forward-looking values with an explicit issue time
Time basis
Interval-start records
UTC · event_time

Overview

755k rows, targets from 2022-08 to about a week ahead. area is MISO's Local Resource Zone, Z1 to Z10. Zones nest inside miso_load's three market regions: NORTH is Z1 and Z3; CENTRAL is Z2, Z4, Z5, Z6 and Z7; SOUTH is Z8, Z9 and Z10. There is no system-total row: the MISO-wide forecast is the sum of the ten zones from one vintage, counted once.

Query contract

One area, one target hour and one issued_at is one forecast. For the current expectation take the latest issued_at; for forecast accuracy take the latest issued_at earlier than event_time.

Analysis rules

  • Never average or sum across issue vintages; pick one before aggregating.
  • area is MISO's Local Resource Zone, Z1 to Z10. Zones nest inside miso_load's three market regions: NORTH is Z1 and Z3; CENTRAL is Z2, Z4, Z5, Z6 and Z7; SOUTH is Z8, Z9 and Z10. There is no system-total row: the MISO-wide forecast is the sum of the ten zones from one vintage, counted once.

Interpretation

  • issued_at is MISO's run DATE promoted to midnight UTC, not the hour MISO published. It orders vintages correctly, but a lead time from it is known only to the day.
  • Most target hours carry a single vintage; only recent hours carry several daily runs. Count the vintages for the hours in question before presenting a forecast-error series or a lead-time comparison.

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/miso_canonical_load_forecast/query

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

Schema4

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

Sample data

issued_atevent_timeareaforecast_mw
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z111501
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z103039
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z27732
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z44929
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z36798
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z54199
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z610469
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z710787
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z916462
2026-10-15 00:00:00.0000002026-10-23 04:00:00.000000Z84920
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z36798
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z103039
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z111501
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z44929
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z27732
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z84920
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z610469
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z54199
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z916462
2026-10-15 00:00:00.0000002026-10-23 03:00:00.000000Z710787
2026-10-15 00:00:00.0000002026-10-23 02:00:00.000000Z27732
2026-10-15 00:00:00.0000002026-10-23 02:00:00.000000Z103039
2026-10-15 00:00:00.0000002026-10-23 02:00:00.000000Z111501
2026-10-15 00:00:00.0000002026-10-23 02:00:00.000000Z44929
2026-10-15 00:00:00.0000002026-10-23 02:00:00.000000Z36798

Coverage

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