Marginal Value & Binding Hours
How RenewMap derives the Marginal Value (shadow price) of thermal constraints on transmission equipment, and the proportion of time those constraints are binding.
Upcoming Feature: These values are not yet shown in the app, but will be included soon.
Every 5 minutes, the NEM dispatch engine solves an optimisation problem: meet demand as cheaply as possible, using the offers submitted, without violating any network limit. Optimisation problems of this shape produce a useful by-product: for every constraint, the solver can report how much cheaper the answer would have been if that constraint had been slightly looser.
That number is the constraint’s Marginal Value, or shadow price. A thermal constraint with a Marginal Value of $85 means relaxing that limit by one megawatt would have reduced the cost of that dispatch interval by about $85 per megawatt hour. It’s the market’s own price tag on a bottleneck, and a far better measure of how much a constraint matters than looking at how full the line appears.
Is Binding answers the companion question: how often. A constraint binds when it’s been pushed right up against its limit and the solver can’t increase anything on the constrained side. Binding status flips on a 5-minute cadence, so we report it as a proportion of each half hour rather than a flag, and summing those proportions over a period gives Binding Hours.
Together they answer the questions that matter for congestion analysis: is this part of the network constrained, how much of the time, and is it expensive when it is? A limit that binds for 400 hours a year at $3 is a curiosity. One that binds for 40 hours a year at $2,000 is a business case.
How to read a Marginal Value
It’s a marginal price, not a total cost. A Marginal Value of $85/MWh doesn’t mean the constraint cost the market $85. It means the next megawatt of relief would have been worth about that much. Total congestion cost is a much harder calculation involving the full offer stack, and we don’t attempt it.
It reflects the offer stack, not the physics. The same physical limit produces a small Marginal Value when there’s cheap alternative generation to substitute, and an enormous one when the only alternative is a peaker offering near the market price cap. This is why Marginal Values are so volatile: a constraint that costs $10 at breakfast can cost thousands during an evening peak with no change in the network at all.
Where you see it in RenewMap
| Where | Data exports and the network dataset; binding periods are also visible in the Headroom chart wherever Constrained Headroom dips below Thermal Headroom |
| Granularity | 30 minutes, per measurement point, combined to the transmission line |
| Units | Marginal Value in $ (per MW of relaxation, on a $/MWh basis). Is Binding is a proportion from 0 to 1 |
| Series names | marginal_value, is_binding |
| Applies to | Equipment with a flow reading and at least one matched thermal constraint. See Constrained Headroom |
| Blank when | No flow reading, or no thermal constraint could be matched to the equipment. Where constraints are matched but none is binding, the values are zero rather than blank |
How it’s calculated
AEMO publishes a Marginal Value for every constraint equation in every dispatch interval, and those published values are used as they stand. The derivation work is in deciding which constraints belong to a given piece of equipment, using the same conservative matching described in Constrained Headroom.
For each 5-minute interval, the Marginal Values of the thermal constraints matched to a piece of equipment are combined, and the equipment counts as binding in any interval where the result is non-zero. Both are then averaged to the half hour.
Marginal Values are summed across matched constraints, which is the opposite of the choice made for Constrained Headroom, and deliberately so. Capacity is limited by whichever single constraint is tightest, so headroom takes the most restrictive. Cost accumulates, because each binding constraint is independently distorting dispatch and each carries its own price.
Is Binding is therefore the fraction of a period spent binding: 0 for none of it, 1 for all of it, and a third of it for two of the six intervals in a half hour. Intervals where no matched constraint appears count as zero rather than being dropped, which is what makes the result a true fraction — and what makes summing it over a period give a real duration:
Binding Hours = Σ Is Binding / 2 over the half hours in the period
A month with 200 Binding Hours out of 730 means a thermal constraint was holding this equipment about 27% of the time.
Where the data comes from
Marginal Values are AEMO’s own published constraint solution values, unmodified. The constraint definitions and equipment telemetry used to tie those solutions to specific equipment come from AEMO’s published data too, and the matching approach is described in Constrained Headroom.
Common questions
Why is Marginal Value zero when the line looks full?
Three possibilities, in order of likelihood. The equipment is heavily loaded but nothing was actually binding. The binding limit was a stability or voltage constraint, which this metric excludes. Or the binding constraint couldn’t be matched to this equipment.
Is Marginal Value the cost of congestion?
No. It’s the marginal price of relief in that interval, i.e. what one more megawatt of capacity would have been worth. Total congestion cost requires re-solving dispatch without the constraint, which is a modelling exercise well beyond what published data supports.
What does a Marginal Value of $1,000,000 mean?
Almost certainly a constraint violation rather than a real congestion price. When dispatch can’t satisfy a constraint, it violates it at a penalty, and the penalty shows up in the Marginal Value.
Can I get a list of which constraints were binding?
Not through the standard interface today; the metric reports the aggregate effect on the equipment.
How do I compare congestion between two lines?
Binding Hours first, Marginal Value second. Binding Hours are robust to magnitude outliers and answer “how often is this a problem”. Then compare typical Marginal Values during binding periods to see how expensive the problem is when it occurs. Comparing raw average Marginal Values alone will rank whichever line happened to be involved in a violated interval highest.
Related pages
- Constrained Headroom: the capacity effect of the same constraints
- Ratings & Thermal Headroom: the physical limits being protected
- Curtailment: what binding constraints do to nearby projects
- Data sources & coverage: which equipment is covered, and why