New

Explore RenewMap: Operational Insights

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

WhereData exports and the network dataset; binding periods are also visible in the Headroom chart wherever Constrained Headroom dips below Thermal Headroom
Granularity30 minutes, per measurement point, combined to the transmission line
UnitsMarginal Value in $ (per MW of relaxation, on a $/MWh basis). Is Binding is a proportion from 0 to 1
Series namesmarginal_value, is_binding
Applies toEquipment with a flow reading and at least one matched thermal constraint. See Constrained Headroom
Blank whenNo 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.

Last updated 2 August 2026