PJM logo

PJM Day-Ahead Binding Constraints

Which transmission facilities bound in PJM's day-ahead market and what each one cost, one row per interval and constraint.

Native record
constraint x delivery hour
hourly publication cadence
Evidence
Cleared day-ahead market
A market outcome, not a physical observation
Time basis
Interval-start records
UTC · event_time

Overview

2.65M rows, 2010-01 to the next delivery day. Columns: event_time, constraint_name, shadow_price_usd_mwh, plus contingency. The shadow price is the marginal cost of the binding limit — what the market would have saved from one more megawatt of capability on that element. This is the table that answers WHY congestion appeared; a price spread between two locations shows that they separated but not which facility separated them.

Query contract

A row means this constraint was binding in this interval. Absence of a row means it was not binding, not that it does not exist.

Analysis rules

  • Rank constraints by summed or averaged shadow price over a window, and say which — a constraint that binds rarely but hard ranks differently from one that binds constantly and cheaply.
  • Count binding INTERVALS, not rows, when describing how often a constraint bound.

Related analysis

  • explaining why a location's congestion component moved in an interval · align on event_time; the constraint explains the market-wide congestion pattern, not one location's share of it

Interpretation

  • This is day-ahead only. PJM's real-time shadow prices are ingested (pjm.rt_marginal_value, pjm.transmission_limits) but no atg.pjm_constraints_rt canonical table has been built off them yet — a real-time PJM congestion answer needs that build, not a new ingest.
  • A shadow price is the marginal value of relaxing the limit. It is not the amount of power that flowed, not a measure of how loaded the line was, and not a dollar cost anyone paid.

Schema4

Column
Type
event_timeDateTime64(6, 'UTC')
constraint_nameLowCardinality(String)
contingencyLowCardinality(String)
shadow_price_usd_mwhNullable(Float64)

Sample data

event_timeconstraint_namecontingencyshadow_price_usd_mwh
2026-09-19 18:00:00.000000TERMINAL_T1_34512_XFACTUAL-27.85
2026-09-19 18:00:00.000000Five Points - BrandyWine 138kV l/o Prescott BK1 345/69kVPrescott BK1 345/69kV-251.26
2026-09-19 18:00:00.000000MIAMIFOR_138KVMIA-08G1_1_LNL345.TannersCreek-MiamiFort-216.77
2026-09-19 18:00:00.000000COLLEGEC_138KVCOL-COL6_1_LNL345.TannersCreek-MiamiFort-168.63
2026-09-19 18:00:00.000000NOTTINGH_NOT2301-3_1_LNL500.Conastone-PeachBottom.5012-201.85
2026-09-19 18:00:00.000000Lallendorf - Fostoria 345kV l/o Lemoyne - Majestic 345kVL345.Lemoyne-Majestic-53.78
2026-09-19 18:00:00.000000Kokomo - Tipton W. 230kV l/o Nucor - Cayuga 345kVNucor-Cayuga 345 kV-324.89
2026-09-19 18:00:00.000000ELIMSPOR_230KVELI-SUN_1_LNL230.Montour-Saegers.1-11.51
2026-09-19 18:00:00.000000EDWSFERY_230KV23111_1_LNL500.Doubs-GooseCreek.514-33.64
2026-09-19 18:00:00.000000CONASTON_230KVCNS-OTT_1_LNL500.Conastone-PeachBottom.5012-165.03
2026-09-19 18:00:00.000000EASTON-EMUNI 6772 A 69 KVL69.Easton-EastonTap-Muni-Longwood-WyeMills.6707-48.15
2026-09-19 18:00:00.000000KAMMER2_138KVKAM-NAT_1_LNACTUAL-404.33
2026-09-19 18:00:00.000000GILBERT_115KVGIL-GLEN_1_LNL230.MartinsCreek-Portland.1008-49.36
2026-09-19 17:00:00.000000NOTTINGH_230KVNOT-PEA_1_LNL500.Conastone-PeachBottom.5012-178.35
2026-09-19 17:00:00.000000Lake George - Tower Road 138 kV l/o Lake George - Babcock 345 kVL345.Babcock-LakeGeorge (NIPS)-17.04
2026-09-19 17:00:00.000000Monroe-Lallendorf 345 kV l/o Lemoyne-Majestic 345 kVL345.Lemoyne-Majestic-17.47
2026-09-19 17:00:00.000000MIAMIFOR_138KVMIA-08G1_1_LNL345.TannersCreek-MiamiFort-223.16
2026-09-19 17:00:00.000000ELIMSPOR_230KVELI-SUN_1_LNL230.Montour-Saegers.1-10.47
2026-09-19 17:00:00.000000Kokomo - Tipton W. 230kV l/o Nucor - Cayuga 345kVNucor-Cayuga 345 kV-232.98
2026-09-19 17:00:00.000000Five Points - BrandyWine 138kV l/o Prescott BK1 345/69kVPrescott BK1 345/69kV-142.71
2026-09-19 17:00:00.000000EASTON-EMUNI 6772 A 69 KVL69.Easton-EastonTap-Muni-Longwood-WyeMills.6707-80.7
2026-09-19 17:00:00.000000EDWSFERY_230KV23111_1_LNL500.Doubs-GooseCreek.514-37.63
2026-09-19 17:00:00.000000KAMMER2_138KVKAM-NAT_1_LNACTUAL-45.12
2026-09-19 17:00:00.000000CONASTON_230KVCNS-OTT_1_LNL500.Conastone-PeachBottom.5012-153.83
2026-09-19 17:00:00.000000Dearborn - Pierce 345 kV l/o Tanners Creek - Miami Fort 345 kVL345.TannersCreek-MiamiFort-58.92

Coverage

100.0% complete0 gap days6,106 days with data
Show coverage history
Coverage: 100.0%Days with data: 6,106Gaps: 0
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
gaplessmore