SPP logo

SPP Real-Time Binding Constraints

Which transmission facilities bound in SPP's real-time market and what each one cost, one row per interval and constraint.

Native record
exact source identity (raw constraint ID x interconnect x published monitored/contingent context) x dispatch interval
5-minute publication cadence
Evidence
Observed market data
Published observations from the named source
Time basis
Interval-start records
UTC · event_time

Overview

Inspect the current measured time coverage. Columns: event_time, constraint_name, shadow_price_usd_mwh, plus constraint_type, nerc_id, tlr_level, binding_status, monitored_facility, contingent_facility, contingency_name, source_limit_mw, effective_limit_mw, initial_limit_mw, interconnect and source_file. limit_mw retains the established published-limit fallback (effective, then source, then initial); direction and flow_mw remain null because SPP does not publish them in this feed. 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 SPP published this constraint for this interval, which is NOT the same as it having bound: binding_status = 'ACTIVATED' rows are monitored-only and always carry a zero shadow price. A binding interval is one with binding_status IN ('BINDING','BREACHED'); non-zero shadow price separately identifies priced congestion. Absence of a row means SPP published nothing for that constraint, not that the constraint 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

  • SPP publishes E or W in interconnect. Preserve that footprint in every grouping; the same opaque constraint name is not sufficient identity across the eastern and western footprints.
  • monitored_facility, contingent_facility and contingency_name are exact SPP labels, not joins to a physical line, station, or grid.entities record.

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

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

Schema20

Column
Type
event_timeDateTime64(6, 'UTC')
constraint_nameLowCardinality(String)
directionLowCardinality(Nullable(String))
shadow_price_usd_mwhNullable(Float64)
limit_mwNullable(Float64)
flow_mwNullable(Float64)
source_intervalNullable(String)
source_gmt_interval_endNullable(String)
constraint_typeLowCardinality(Nullable(String))
nerc_idNullable(String)
tlr_levelLowCardinality(Nullable(String))
binding_statusLowCardinality(Nullable(String))
monitored_facilityNullable(String)
contingent_facilityNullable(String)
contingency_nameNullable(String)
source_limit_mwNullable(Float64)
effective_limit_mwNullable(Float64)
initial_limit_mwNullable(Float64)
interconnectLowCardinality(Nullable(String))
source_fileNullable(String)

Sample data

event_timeconstraint_namedirectionshadow_price_usd_mwhlimit_mwflow_mwsource_intervalsource_gmt_interval_endconstraint_typenerc_idtlr_levelbinding_statusmonitored_facilitycontingent_facilitycontingency_namesource_limit_mweffective_limit_mwinitial_limit_mwinterconnectsource_file
2026-10-12 08:05:00.000000BRKXF2BRKXF1∅0364∅10/12/2026 03:10:0010/12/2026 08:10:00FG5402CMEACTIVATEDXFMR BROOK_LN - BROOK_LNAECI:BROOK_LN XF T1:345 161:1:11∅400364388E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000CIMXF2CIMXF3∅0444.54∅10/12/2026 03:10:0010/12/2026 08:10:00FG5136CMEACTIVATEDXFMR CIMARRON - CIMARRONOKGE:CIMARRON XF A31:345 138:5:17∅478444.54463.66E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000CLEAECCLETUL∅-331.7737387.6∅10/12/2026 03:10:0010/12/2026 08:10:00FG5171CMEBINDINGLN CLEVLND7 - CLEV_AECCSWS GRDA:TULSA_NO CLEVLND7:345:1:∅408387.6395.76E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000CASNEWCASDEF∅0156.6∅10/12/2026 03:10:0010/12/2026 08:10:00FG5633CMEACTIVATEDLN CASTRO - NEWHARTSPS:TBLANCA CASTRO:115:2:12∅174156.6168.78E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000GGS∅01543.75∅10/12/2026 03:10:0010/12/2026 08:10:00FG6006CMEACTIVATEDMulti-Element ConstraintBASE∅16251543.751576.25E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000GAVYANGAVSPI∅0114∅10/12/2026 03:10:0010/12/2026 08:10:00M2M6573CMEACTIVATEDLN GAVINS - LEWSCLRKWAUE:GAVINS SPIRITM:115:1:5∅120114116.4E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000NDEX∅01976∅10/12/2026 03:10:0010/12/2026 08:10:00FG60013AACTIVATEDMulti-Element ConstraintBASE∅208019762017.6E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000NEB456WAG454∅0944.3∅10/12/2026 03:10:0010/12/2026 08:10:00M2M5759CMEACTIVATEDLN NEBRCTY - SUB3456LES OPPD:WAGENER SUB3454:345:1:11∅994944.3964.18E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000NEB456NEBROK∅0944.3∅10/12/2026 03:10:0010/12/2026 08:10:00M2M5758CMEACTIVATEDLN NEBRCTY - SUB3456OPPD LES:NEBRCTY 103_ROKE:345:1:10∅994944.3964.18E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000SEQANAVERSWS∅0160.55∅10/12/2026 03:10:0010/12/2026 08:10:00FG6841CMEACTIVATEDLN ANADARKO - SEQUOYAHCSWS:CORNVILL SW_STA:138:4:22∅169160.55163.93E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000SMKSUMPOSAXT∅0371.45∅10/12/2026 03:10:0010/12/2026 08:10:00FG5695CMEACTIVATEDLN WR_SMKHL - SUMMNPPD:MACON345 AXTELL1:345:1:13∅391371.45379.27E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000SPSNORTH_STH∅0890∅10/12/2026 03:10:0010/12/2026 08:10:00FG5196CMEACTIVATEDMulti-Element ConstraintBASE∅890890863.3E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000SPSNMTIES∅01081.1∅10/12/2026 03:10:0010/12/2026 08:10:00FG5529CMEACTIVATEDMulti-Element ConstraintBASE∅11381081.11103.86E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000SWSANAGRAANA∅0201.4∅10/12/2026 03:10:0010/12/2026 08:10:00FG5716CMEACTIVATEDLN SW_STA - ANADARKOOKGE WFEC:GRACMONT ANADARKO:138:1:∅212201.4205.64E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TEMP29_23044∅0157.17∅10/12/2026 03:10:0010/12/2026 08:10:00M2M23044CMEACTIVATEDLN STONEWSW - TUPELO2CSWS:VALLIANT PITTSB9:345:1:10∅169157.17163.93E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TEMP39_26016∅0240.35∅10/12/2026 03:10:0010/12/2026 08:10:00M2M26016CMEACTIVATEDLN TEKAMHO - SUB1226MEC OPPD:RAUN FT_CAL:345:2:10∅253240.35245.41E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TEMP90_26027∅0205.16∅10/12/2026 03:10:0010/12/2026 08:10:00FG26027CMEACTIVATEDLN MONETT - AUR1241AECI:JASPER7 BLACKBRY:345:1:12∅223205.16216.31E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP109_22593∅0169∅10/12/2026 03:10:0010/12/2026 08:10:00M2M22593CMEACTIVATEDLN STONEWSW - TUPELO2OKGE CSWS:SEMINOLE PITTSB9:345:1:1∅169169163.93E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP283_29683∅0210.49∅10/12/2026 03:10:0010/12/2026 08:10:00M2M29683CMEACTIVATEDLN SIBLY161 - ORRICK9MPS:GRAINVL5 BLSPE:161:1:4∅217210.49210.49E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP346_32993∅0292.6∅10/12/2026 03:10:0010/12/2026 08:10:00FG32993CMEACTIVATEDLN LONEOAK4 - QUAILOKGE:NOWST1 BRADEN4 SLVRL:138:2:16∅308292.6298.76E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP338_28287∅-349.7348310.62∅10/12/2026 03:10:0010/12/2026 08:10:00FG28287CMEBINDINGLN STILWELL - REDEL5MPS KCPL:PECULIA7 STILWELL:345:1:1∅334310.62323.98E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP419_25392∅0150.945∅10/12/2026 03:10:0010/12/2026 08:10:00FG25392CMEACTIVATEDLN FULTON_C - PAT_WXCSWS:HOPESWTC FULTON_C:115:1:3∅158.889150.945154.12E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP436_28110∅093.93∅10/12/2026 03:10:0010/12/2026 08:10:00FG28110CMEACTIVATEDLN MULGRE2 - ELLSWTP3SECI WR:MULGRE2 CIRC:230:1:9∅10193.9397.97E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP555_29231∅0503.1∅10/12/2026 03:10:0010/12/2026 08:10:00FG29231CMEACTIVATEDXFMR POTTER_S - POTTER_SSPS:HOBBS:COMBINEDCYCLE∅559503.1542.23E/RTBM-BC-latestInterval.csv
2026-10-12 08:05:00.000000TMP557_26013∅0187.21∅10/12/2026 03:10:0010/12/2026 08:10:00M2M26013CMEACTIVATEDLN MRYVL_SJ - BRADDCTRWAUE AECI:CRESTONW MARYVIL:161:1:5∅193187.21187.21E/RTBM-BC-latestInterval.csv

Coverage

100.0% complete0 gap days3,572 days with data
Show coverage history
Coverage: 100.0%Days with data: 3,572Gaps: 0
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
gaplessmore