PJM logo

PJM Day-Ahead Ancillary Prices

Cleared day-ahead ancillary-service capacity prices in PJM, one row per hour, reserve zone and product.

One row per
product x region x delivery hour
Hourly (day-ahead) cadence
Evidence
Cleared day-ahead market
A market outcome, not a physical observation
Time basis
Interval-start records
UTC · event_time

Overview

173,760 rows, 2022-10 to the next delivery day. Products: spin, primary_reserve, operating_30. 2 PJM reserve zones (RTO, and the Mid-Atlantic/Dominion subzone). primary_reserve is PJM's own name and is NOT the same set as another market's non_spin: it is the TOTAL 10-minute requirement, synchronized plus non-synchronized, so it overlaps spin rather than complementing it — spin + primary_reserve double-counts in PJM where it is additive elsewhere. Regulation is deliberately absent: PJM prices it in a separate feed (pjm.reg_prices) whose RMCP/RMCCP columns have not been mapped to this table's vocabulary with confidence. price_usd_mw is a price for CAPACITY held in reserve — dollars per megawatt of commitment — not dollars per megawatt-hour of energy delivered. The two are different units and are not comparable to an LMP.

Query contract
Select one product and one region before aggregating. Each row is already the canonical cleared price for that combination.
Analysis rules
Never sum prices across products. Reserve products are separately procured markets and their prices do not add to a meaningful total.Never sum or average across reserve zones without saying so; 2 pjm reserve zones (rto, and the mid-atlantic/dominion subzone). primary_reserve is pjm's own name and is not the same set as another market's non_spin: it is the total 10-minute requirement, synchronized plus non-synchronized, so it overlaps spin rather than complementing it — spin + primary_reserve double-counts in pjm where it is additive elsewhere. regulation is deliberately absent: pjm prices it in a separate feed (pjm.reg_prices) whose rmcp/rmccp columns have not been mapped to this table's vocabulary with confidence.
Interpretation
price_usd_mw is $/MW of capacity held, not $/MWh of energy. Do not compare it directly to an LMP, and do not multiply it by megawatt-hours.A cleared price is what the day-ahead market settled at. It is not the quantity procured, not a scarcity measurement, and not evidence that reserves were short.

Access

Download
Query it in SQL, download it, or read it with an API key. Download data
MCP
Connect an MCP client and load the contract with describe_data before calling query_data.PJM MCPAPI reference
HTTP endpoint
POST /api/v1/datasets/pjm_ancillary_da/query
Full history
Delivered to Snowflake, Databricks or your own storage on a schedule by Data services.
More coverage

Schema

4 columns
ColumnType
event_timeDateTime64(6, 'UTC')
regionLowCardinality(String)
productLowCardinality(String)
price_usd_mwNullable(Float64)

Sample data

event_timeregionproductprice_usd_mw
2026-11-05 04:00:00.000000PJM RTO Reserve Zoneoperating_300
2026-11-05 04:00:00.000000Mid-Atlantic/Dominion Reserve Subzoneprimary_reserve0.14
2026-11-05 04:00:00.000000PJM RTO Reserve Zoneprimary_reserve0.14
2026-11-05 04:00:00.000000PJM RTO Reserve Zonespin0.14
2026-11-05 04:00:00.000000Mid-Atlantic/Dominion Reserve Subzonespin0.14
2026-11-05 03:00:00.000000Mid-Atlantic/Dominion Reserve Subzonespin0.14
2026-11-05 03:00:00.000000PJM RTO Reserve Zoneprimary_reserve0.14
2026-11-05 03:00:00.000000PJM RTO Reserve Zoneoperating_300
2026-11-05 03:00:00.000000PJM RTO Reserve Zonespin0.14
2026-11-05 03:00:00.000000Mid-Atlantic/Dominion Reserve Subzoneprimary_reserve0.14
2026-11-05 02:00:00.000000PJM RTO Reserve Zonespin7.1
2026-11-05 02:00:00.000000Mid-Atlantic/Dominion Reserve Subzonespin7.1
2026-11-05 02:00:00.000000PJM RTO Reserve Zoneoperating_300
2026-11-05 02:00:00.000000PJM RTO Reserve Zoneprimary_reserve0
2026-11-05 02:00:00.000000Mid-Atlantic/Dominion Reserve Subzoneprimary_reserve0
2026-11-05 01:00:00.000000Mid-Atlantic/Dominion Reserve Subzoneprimary_reserve0
2026-11-05 01:00:00.000000PJM RTO Reserve Zoneprimary_reserve0
2026-11-05 01:00:00.000000PJM RTO Reserve Zoneoperating_300
2026-11-05 01:00:00.000000PJM RTO Reserve Zonespin12.03
2026-11-05 01:00:00.000000Mid-Atlantic/Dominion Reserve Subzonespin12.03
2026-11-05 00:00:00.000000PJM RTO Reserve Zoneprimary_reserve0
2026-11-05 00:00:00.000000Mid-Atlantic/Dominion Reserve Subzoneprimary_reserve0
2026-11-05 00:00:00.000000Mid-Atlantic/Dominion Reserve Subzonespin2.03
2026-11-05 00:00:00.000000PJM RTO Reserve Zoneoperating_300
2026-11-05 00:00:00.000000PJM RTO Reserve Zonespin2.03

Coverage

Complete
100.0%
Gap days
0
Days with data
1,497
Show coverage history
Coverage: 100.0%Days with data: 1,497Gaps: 0
2026
2025
2024
2023
2022
gaplessmore