publisher period x document x sheet/archive member x source row x collected revision
day publication publication cadence
Evidence
Mixed evidence
Multiple evidence types kept distinct in the contract
Time basis
Date-labelled records
UTC · report_date
Overview
Each row preserves a publisher record, workbook row, or report document with its source member and row index. Source timestamps, units, geographic scope, and revision qualifiers are retained in record_json; event_time is collection time; completed_at is when the entire document became available.
Query contract
The view admits a document only when its completion record and exact mirrored row count agree. Select a report_date, source_url and source_sha256 revision before joining source_member and row_index. Interpret observation times from the source record, never from the collection clock.
Analysis rules
·Decode the report's source headers and units before aggregating. Never sum report_date, row_index, snapshots, revisions, regional totals and components, or forecast vintages.
Interpretation
·report_date identifies the requested publisher period. It is not an observation timestamp. event_time records collection, not source publication or delivery.
·The serving mirror keeps the latest row for each publisher record; older collected revisions may no longer be queryable.
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.
MISO's Annual real-time constraint history. Each row preserves a publisher record, workbook row, or report document with its source member and row index. Source timestamps, units, geographic scope, and revision qualifiers are retained in record_json; event_time is collection time; completed_at is when the entire document became available.
One row per COMPLETED nightly estimation of MISO constraint shift factors, and the only record that a run finished. Resolve the latest usable run here — computed_at = (SELECT max(computed_at) FROM atg.miso_constraint_sensitivity_runs) — and never off max(computed_at) of the sensitivities themselves, because a run writes its rows in blocks that all carry the new timestamp and an unfinished or abandoned run would otherwise look like the newest one. Each row also carries how much evidence that run had: interval_coverage is the fraction of published dispatch intervals that survived admission, intervals_refused_unexplained counts intervals showing congestion with no constraint recorded as binding (an unobserved binding set), constraint_feed_lag_minutes is how far the constraint feed trailed the price feed, and constraints_seen / constraints_in_fit / constraints_reported show how many constraints bound, how many were good enough to control for, and how many earned a published estimate.
Estimated sensitivity of every MISO pricing location's price to every binding transmission constraint: one row per constraint, contingency, and location, recomputed nightly over a rolling 60-day window. This is what answers 'which nodes drive this constraint' and 'which constraints is this node exposed to'. Covers MISO's binding real-time constraints over its hub and zone roll-up of roughly 325 pricing locations, so the answers are coarser than a full nodal set. MISO publishes no contingency or terminal names, so contingency_name, from_station and to_station are always empty. shift_factor is in the ISO's orientation — POSITIVE means an incremental MW injected at that node increases loading on the constraint and the node is paid below system lambda while it binds; NEGATIVE means generation there relieves the constraint and earns a premium. These are ESTIMATES recovered from the price identity LMP = energy - sum(shift_factor x shadow_price), not a published PTDF matrix. They are measured RELATIVE TO THE MARKET'S REFERENCE — the identity yields SF(node) - SF(reference), so a single absolute value should be quoted as 'relative to the system reference' rather than as the node's PTDF, while DIFFERENCES between nodes are exact because the reference term cancels. Three further differences from a published matrix: they describe a NODE (a generator at that node inherits its location's value, and two units at one node are indistinguishable), they reflect the topology actually in effect across the window including outages rather than a stated base case, and every one carries a std_error from a 200-draw block bootstrap that resamples whole days. Read std_error before quoting shift_factor: an estimate whose absolute value is not at least twice its standard error is not distinguishable from zero. estimation_status says why a row has no number — 'thin_support' (in the fit, so it is controlled for, but under 12 binding intervals or under 3 distinct binding days), 'no_support' (under 3 binding intervals; not a regressor), or 'collinear' (it bound in lockstep with another constraint, so the two cannot be separated). Where from_station and to_station are populated they identify the monitored element and are NOT the constrained direction — the sign of shift_factor is what says which way. Every read must pin computed_at to one run, and must resolve that run through the companion atg.<iso>_constraint_sensitivity_runs ledger rather than off max(computed_at) here — rows are written in blocks that all carry the new timestamp, so an unfinished or abandoned run would otherwise look like the newest. Mixing runs averages a node across different network topologies.
The named transmission constraints that bound in MISO's day-ahead market, one row per constraint per operating hour, with the signed shadow price in dollars per MWh. constraint_name describes the flowgate as a monitored element under a contingency; branch_name is the monitored element itself, with branch_type LN for a line and XF for a transformer, and from_ca and to_ca its control areas. A row establishes that the constraint bound in the cleared day-ahead solution for that hour and its marginal system cost. It does not, by itself, identify which pricing node the constraint affected or whether it also bound in real time; those claims require shift-factor or direct attribution evidence. Distinct from miso.binding_constraint, which counts real-time binding constraints and names none of them. MISO restates this history, so read the latest load per constraint and hour.