How the HCM Values Constraints (Value at Risk)
A hosting capacity study produces constraints measured in different units: volts outside a band, amps above a rating, hours, and events. These are hard to compare directly. Is 40 hours of overvoltage in one LV area worse than a 15% transformer overload in another? Which of the two is worth more to fix?
The HCM answers this by converting constraints into a common measure in two steps:
- Energy at risk (kWh) - an estimate of how much customer consumption or generation is affected by each constraint, in each interval.
- Value at risk ($) - that energy multiplied by a half-hourly dollar value for the type of customer impact (unserved load, curtailed export, or emissions).
Value at risk is the basis for ranking intervention candidates and for measuring how much an intervention improves the network. It is reported per measurement zone in the Network Performance Metrics Enhanced (NPME) table.
The HCM does not model customers actually losing supply or inverters actually tripping. Energy at risk is a consistent, transparent proxy for customer impact, designed so that constraints can be compared and aggregated across the network. It is best used to rank and compare options, rather than as a forecast of how many kWh customers will actually lose.
Who is at risk, and what value applies
Every value-at-risk metric is built from one of three customer impacts, each with its own value table:
| Customer impact | What is at risk | Value applied | Typical metric prefix |
|---|---|---|---|
| Load at risk | Customer consumption that may not be served reliably, because voltage is outside limits or upstream assets are overloaded while power flows downstream | VCR (Value of Customer Reliability) | load_..._vcr |
| Generation at risk | Customer export that may be curtailed, because voltage is outside limits or assets are overloaded while power flows upstream | CECV (Customer Export Curtailment Value), plus optionally CO2 | gen_..._cecv, gen_..._co2 |
| Appliance exposure to overvoltage | Appliances exposed to overvoltage, valued separately from reliability | CVVR (Customer Value of Voltage Reduction) | load_overvoltage_cvvr |
The direction of power flow decides which value applies. Energy at risk while customers are drawing from the network is valued at VCR. Energy at risk while they are exporting is valued at CECV (and CO2 where enabled).
Step 1: Estimating energy at risk
Energy at risk comes from two sources: voltage constraints and thermal constraints.
Voltage-driven energy at risk
When a zone's voltage moves outside its normal limits, the HCM counts a proportion of the energy consumed or generated in that zone as at risk. The proportion grows linearly with how far the voltage is outside the normal limit:
- At or inside the normal limit (VL1 to VH1), nothing is counted.
- Between the normal and emergency limit, a linearly increasing share is counted.
- At or beyond the emergency limit (VL2 or VH2), all of the energy in that interval is counted.
The default thresholds for a 230 V / 400 V base are:
| Label | Meaning | Single phase (V) | Per unit |
|---|---|---|---|
| VH2 | Upper emergency limit - 100% counted at or above | 260.0 | 1.130 |
| VH1 | Upper normal limit - counting starts above | 253.0 | 1.100 |
| VL1 | Lower normal limit - counting starts below | 216.0 | 0.939 |
| VL2 | Lower emergency limit - 100% counted at or below | 207.0 | 0.900 |
These are set per environment rather than per work package. See Voltage Limits.
For overvoltage, the share counted in an interval is:
high_scaling = (V - VH1) / (VH2 - VH1), limited to between 0 and 1
and for undervoltage:
low_scaling = (VL1 - V) / (VL1 - VL2), limited to between 0 and 1
V is the average voltage across the zone's nodes on a given phase in that interval, evaluated at the zone's single voltage base (see Measurement Zones). It is calculated for each phase and each interval.
Example
In one interval, customers in a transformer zone generate 10 kWh. The zone's average voltage on that phase is 256.5 V.
high_scaling = (256.5 - 253) / (260 - 253) = 3.5 / 7 = 0.5
generation at risk = 0.5 x 10 kWh = 5 kWh
Half of the zone's generation in that interval is counted as at risk of curtailment. If the voltage had been 253 V or below, nothing would be counted; at 260 V or above, all 10 kWh would be.
The ramp reflects the fact that real impacts build up gradually. Voltage just above 253 V is unlikely to cause significant curtailment, but as voltage climbs towards the point where inverters reduce output and eventually disconnect, more of the zone's export is affected.
load_overvoltage_kwh and load_undervoltage_kwh count all load energy in any interval where the zone voltage is outside the normal limit, with no scaling. They measure exposure (how much energy was delivered while out of limits) rather than estimating the share at risk. load_overvoltage_cvvr is based on load_overvoltage_kwh.
Thermal-driven energy at risk
For thermal constraints, the energy at risk is the excess energy above the asset's rating - not the whole flow through the asset. If a transformer rated at 100 kVA carries 120 kVA for a half hour, the at-risk energy is based on the 20 kVA excess for that half hour.
Three details matter when reading thermal metrics:
- One asset per zone per interval. In each interval, only the single most overloaded asset in the zone is recorded. Excess on other assets in the same zone in that interval is not added.
- Direction sets the label and the value. If net power at the zone head is flowing downstream, the excess is recorded as load at risk (
load_..._thermal) and valued at VCR. If it is flowing upstream, it is recorded as generation at risk (gen_..._thermal) and valued at CECV and CO2. - Through-flow, not local. The overload can be driven by customers in other zones, because power to and from downstream zones flows through this zone's assets. A zone with no PV of its own can still report generation at risk on its assets.
See Measurement Zones for more on how flow direction and zone boundaries affect thermal metrics. Both normal and emergency rating versions are reported; the emergency rating defaults to 150% of the normal rating.
Combining voltage and thermal: the "Mixed" metrics
A voltage constraint and a thermal constraint can occur in the same zone in the same interval. Adding them together would count the same customer energy twice. The combined ..._thermal_voltage_... metrics therefore take the larger of the two in each interval:
energy at risk (interval) = max(voltage-driven energy at risk, thermal-driven energy at risk)
Example
In one interval, a zone has 5 kWh of generation at risk from overvoltage and 8 kWh of excess energy on an overloaded transformer while exporting. The combined metric records 8 kWh for that interval, not 13 kWh.
These are labelled Mixed in the Scope column of the NPME table.
Step 2: Converting energy to value
Each interval's energy at risk is multiplied by the value for that interval from the relevant value table:
value at risk ($) = sum over intervals of ( energy at risk (kWh) x value ($/MWh) / 1000 )
The value tables hold a value for each half hour of each day, so the same kWh can be worth more or less depending on when it occurs. For example, export curtailed in the middle of the day is valued at that half hour's CECV.
Example (continued)
If the CECV for the interval in the first example is $40/MWh:
5 kWh x $40/MWh / 1000 = $0.20
Summed over every interval in the year, this gives the zone's annual gen_exceeding_normal_voltage_cecv.
The value tables
All four tables use the same layout as the AER CECV table: one row per day, with 48 half-hourly columns. See Input Tables for the full structure.
| Table | Source | Notes |
|---|---|---|
| CECV | Published by the AER | Can be loaded directly from the AER's published file. |
| VCR | Published by the AER | The AER publishes VCR by customer segment, but the HCM applies a single value to all customers, so you will need to choose an appropriate average. A flat value for every half hour is common. |
| CO2 | AER emissions intensity profile multiplied by a carbon value (e.g. the AER's interim value of emissions reduction, or an internally agreed figure) | Only calculated when calculateCO2 is enabled in the Enhanced Metrics config. Otherwise the CO2 columns are zero. |
| CVVR | User-defined | There is no published CVVR, so you will need to determine your own values. |
Because these tables are inputs, value-at-risk results are only as good as the values loaded. If you update the value tables, rerun any work packages you want to compare, so all results use the same values.
The headline value-at-risk metrics
The NPME table contains many value metrics. The ones used most often are:
| Metric | What it measures | Used for |
|---|---|---|
load_exceeding_normal_thermal_voltage_vcr | Load at risk from voltage or normal-rating thermal constraints (whichever is larger each interval), valued at VCR | Total value of load at risk in the zone |
gen_exceeding_normal_thermal_voltage_cecv | Generation at risk from voltage or normal-rating thermal constraints, valued at CECV | Total value of export at risk in the zone |
gen_exceeding_normal_thermal_voltage_co2 | As above, valued at CO2 | Emissions value of export at risk (zero unless CO2 is enabled) |
load_exceeding_normal_voltage_vcr / gen_exceeding_normal_voltage_cecv | Voltage-driven only | Isolating the value of voltage constraints |
load_exceeding_normal_thermal_vcr / gen_exceeding_normal_thermal_cecv | Thermal-driven only | Isolating the value of thermal constraints |
The sum of the first three is the zone's total value at risk for normal limits. Emergency-rating versions (..._emerg_...) are also available.
For the full list and formulas, see the NPME row by row breakdown.
How value at risk is used
Ranking intervention candidates
The candidate-based interventions rank locations by value at risk, so the zones with the most value to recover are addressed first:
- COMMUNITY_BESS ranks on total value at risk (voltage and thermal).
- LV_STATCOMS and DISTRIBUTION_TX_OLTC rank on voltage-only value at risk, since they cannot relieve thermal constraints.
- VOLTAGE_LINE_UPGRADE apportions the zone's total value at risk to candidate lines and ranks by value recovered per metre of line.
See How Candidate Generation and Allocation Works.
Measuring an intervention's benefit
The reduction in value at risk between a parent work package and an intervention work package is the main measure of the benefit an intervention delivers. Because it is in dollars, it can be set directly against the intervention's cost. See How to evaluate an intervention's impact.
Comparing scenarios and locations
Value at risk lets you compare constraints of different types and in different places on one scale, for example to find which zones contribute most to a feeder's total, or how much a high-DER scenario adds compared with a low-DER one.
Adding value at risk across zones
Value metrics can be added up, but the scope of each metric determines how:
- Local voltage-driven values can be summed across all zones, including the feeder head, to give a feeder total.
- Through-flow thermal values and Mixed values can be summed across transformer zones, but should not be added to the feeder head zone above them, as that counts the same power flow at two points.
See Rolling up results for the full rules.
Things to keep in mind
- It is a proxy. The linear ramp between normal and emergency limits is a simplified model of customer impact, applied consistently so that results can be compared. It does not model individual inverter settings, tripping, or load disconnection.
- Voltage is assessed at the zone average. The ramp uses the average voltage across the zone's nodes on each phase, not each customer's voltage. A few customers at the end of a long LV run can be well outside limits while the zone average is not, and so may not show up as energy at risk.
- Thresholds are network-wide. The same VL2/VL1/VH1/VH2 thresholds apply to every zone in the environment.
- Thermal follows one asset. A zone's thermal value reflects only the most overloaded asset in each interval. Use the asset level summaries to see individual assets.
- Advanced PV runs are not comparable with plain runs. With Advanced PV, inverters already curtail in the model, so that curtailment does not appear in the generation-at-risk metrics. Compare Advanced PV runs only with other Advanced PV runs.
- Value depends on inputs. Changing the value tables, or comparing work packages run with different value tables, changes value at risk without any change to the network.
load_exceeding_normal_een_vcrshould not be used for now. Due to a limitation in OpenDSS this metric is not currently calculated correctly. Useload_exceeding_normal_voltage_vcrandload_exceeding_normal_thermal_voltage_vcrinstead.
Related pages
- Measurement Zones - how zones are defined and what each metric scope means
- Using HCM Results - how results are structured and compared
- Network Performance Metrics Enhanced - every metric with its formula
- Input Tables - the CECV, VCR, CO2 and CVVR value tables
- What are Interventions and how do they work? - how value at risk drives intervention ranking
- How to evaluate an intervention's impact - using value at risk to measure benefit