Price explainer
The “Why is the price high?” panel on the Now page: what counts as usual, when it is highlighted or opens by itself, and how a possible price setter is found.
Data used
- Real-time dispatchElectricity Authority (EMI) The live week: generation by unit, island load, prices, the Tiwai smelter (TWI2201). Also the inputs to the HVDC estimate and the price explainer.The last month or so · Usually 1–2 minutes after each interval starts
- Final energy pricesElectricity Authority (EMI) Every price in the history. The usual prices the explainer compares with.From 1996 (the site uses August 1997 on) · Usually the next day
- Generator offersElectricity Authority (EMI) The possible price setter in the price explainer, from the final offers of the newest published day; offered capacity for the Generation tab’s dispatchable headroom, every half-hour from 2013.January 2013 on, daily files · The day after
What it does
Under the price tiles on the Now page, one line says how the price compares with recent prices at this time, for example “$38/MWh is about what prices have been recently around this time on weekends”. Opened, it lists what is different from usual (wind, solar, hydro, gas and coal, peaking plants, demand, the HVDC link and the gap between the islands), each against its usual value, a 24-hour price chart against the usual range (which can be enlarged), and a possible price setter. It has three states:
- Quiet
- Just the line and a “Why this price?” button.
- Highlighted
- The line is outlined and asks to be opened: prices are well up, the islands have split, or a new low has begun.
- Open
- The panel opens by itself, at extremes only. Low prices never open it.
What counts as usual
The history job keeps, for each of the week’s 336 half-hours (Monday 12:00 am = the first), the median and the 25th and 75th percentiles of the higher of the Haywards and Benmore prices, and the median of each factor, over the last 28 days of half-hourly history. For the price, each half-hour pools every half-hour on the same kind of day (weekday or weekend) within an hour of that time of day: 40 prices for a weekend half-hour, 100 for a weekday one. The same half-hour of the week alone gives only four prices, and two spill nights at a few cents among them made an ordinary $72 look six times usual (Saturday 11:30 pm, 17 October 2026: the four Saturdays were $0.02, $3.00, $20.76 and $66.55; pooled, the usual was $28). The panel doesn’t quote a multiple of usual for the same reason: it says prices are higher, or far above, what they have been recently around this time. It also keeps the median price over the past year, the year median, as a floor: when spilling hydro makes the usual price tiny, $20 against a usual $5 would otherwise count as four times usual.
Typical = median of max(Haywards, Benmore) on the same kind of day (weekday or weekend), within an hour of this time of day, last four weeks
Wind is the exception. It follows the weather, not the clock, so its usual value is its median over the whole four weeks, not at this half-hour. The panel then says how long it has been since wind was this low (or this high) before the current calm or windy spell, for example “Wind is lower than it has been for 5 days”, once that is at least 2 days; otherwise it says whether wind is above or below its four-week median. Wind now is its 30-minute average here.
When it is highlighted or opens
The rules test the 30-minute average of the 5-minute dispatch prices, and each state holds for 30 minutes after its condition ends, so it doesn’t flicker.
| State | Any of |
|---|---|
| Highlighted |
|
| Open |
|
How often, tested on 30 years
The rules were tested on every half-hour of the EA’s final prices at Haywards and Benmore from March 1997 to September 2026:
- Highlighted 11% of the time over the whole period, 12.5% since 2021 (8–19% a year): about 400 episodes a year, on 54% of days, a median of 1½ hours each.
- Open 0.6–0.7% of the time: about 33 times a year since 2021, on 6.2% of days. It would have opened on 9 August 2021, 8 May 2024, 12 December 2024 and 4 August 2026, and through August 2024’s dry-year prices (by the $800 rule).
- Lows never open it: prices were under $5 for 14% of the time since 2021 and 26% of 2026, and the longest run was 354 hours at $0.01, from 22 December 2025 to 6 January 2026.
Live, the rules run on dispatch prices, which spike more than final prices; the rates are to be checked against these after a month.
The reasons
Each factor’s value now (the newest interval) is compared with its usual value for this half-hour of the week (wind: with its four-week median), for New Zealand or the island the panel is about. A factor is only mentioned when it is off by at least a set number of MW and a set share of usual:
| Factor | When above usual, the price tends to | At least | And |
|---|---|---|---|
| Wind | fall | 100 MW | 30% |
| Solar | fall | 100 MW | 15% |
| Hydro | fall | 250 MW | 15% |
| Gas and coal | rise | 80 MW | 15% |
| Peakers | rise | 30 MW | 15% |
| Demand | rise | 150 MW | 4% |
Factors are ranked by how far off they are, relative to usual and in MW (a 300 MW swing counts in full), and the top two that tend to move the price the way it has gone lead the explanation. The panel doesn’t label each factor as pushing the price up or down: these are associations with the usual pattern, not a measured cause. Hydro counts for half: it is dispatched to balance everything else, so it follows the other factors more than it leads them. The HVDC transfer and the price gap between the islands are shown against usual too.
The possible price setter
Generators’ offers are published the day after, so the newest available day’s final offers (BidsAndOffers, latest revision only) are used, for the same half-hour of the day. Each plant’s offers for that trading period are stacked cheapest first. A plant running part way up one of its offer blocks (at least 1 MW into it and 1 MW short of its end) is on the margin; of those whose block is priced within 25% of their island’s reference price now, the closest is named. None is named when the price is under $5, where many plants offer at similar prices and none stands out. It is labelled an estimate, and called possible rather than likely: offers change from day to day, and node prices differ from the reference price by losses.
Known limits
- Hydro lake storage, reserves and outages can all move the price, and aren’t in the explanation yet.
- The usual values come from the half-hourly history, which runs on final prices; live prices are dispatch prices.
Code: site/src/lib/now/explain.js (rules and wording), ingest/explain.py (usual values, offers, price setter). Tests: analysis/price_triggers.py.
Spotted a problem with this page, or know a better source? Email us about it