Vitreous LabsEnergy transparency

What a battery does outside the balancing mechanism, derived from its meter

Until September 2026 this site said that what a battery does in the wholesale market is published nowhere and could only be modelled. That was wrong, and it was wrong for a reason worth stating: Elexon publishes the metered output of every balancing mechanism unit for every half hour, and we had not read it. This page is what reading it gives, and what it does not.

Three published numbers per half hour

NumberWhere fromStatus
What the meter recorded, import or exportElexon dataset B1610, per unit, per settlement periodmeasured
What NESO accepted in the balancing mechanism, offers and bidsElexon settlement stack, the same file the balancing line on every page is built frommeasured
The market index priceElexon market index, APX, the volume weighted price of short term wholesale trading in that half hourpublished benchmark
The unit's frequency response contracts, megawatts by product and half hourNESO response and reserve auction results, joined through the unit's auction codemeasured
The grid frequency, every fifteen seconds, reduced to the share of contracted power each product had to deliverElexon system frequency, through NESO's published delivery curvesmeasured, then applied through a published curve
The imbalance priceElexon system price, per settlement period, the price at which energy outside a unit's declared position is settledpublished

Meter minus accepted volumes is what the unit did that NESO did not instruct. We call it the position outside the balancing mechanism. It has two parts, and since 28 September 2026 they are valued apart. The first is the energy the unit's frequency response contracts asked of it: contracted megawatts times NESO's delivery curve at the measured frequency, half hour by half hour, export for the low products and import for the high ones. That energy sits outside the unit's declared position, so Elexon settles it at the imbalance price, and that is the price it is valued at here. The second is what remains once that is taken out, the traded position, valued at the market index. Both are printed on every asset page, and added together.

The response layer, and the test it passed

The week view (the meter against the plan) showed in September 2026 that most of the gap between where a battery said it would run and where its meter says it ran is frequency response, almost one for one. Before the layer went into this line it was tested against the same plans: across 25,917 half hours in September 2026 where a metered unit held a Dynamic Containment, Moderation or Regulation contract, the mean gap between meter and plan was 0.90 MWh; with the expected response taken out it was 0.14 MWh, and no unit's gap got worse. Thurrock 3 went from 3.8 MWh to 0.5, Dollymans from 3.4 to 0.6, Clay Tye Farm 1 from 1.9 to 0.1. What is left after the layer is taken out is, to that accuracy, the plan, which is the traded position.

The layer is expected energy, not metered energy: nobody publishes how much of its contract a unit actually delivered. Where a unit held a contract in a half hour for which the grid frequency is not yet held, the half hour is left in the traded position and the page says how many. Where the imbalance price is not held, the response energy is valued at the index instead, and the page says that too.

What the pilot showed

Blackhillock unit 2, a year to 27 August 2026. Its meter took in 36,150 MWh and gave back 31,459 MWh, a round trip of 87 per cent. NESO accepted 67,546 MWh of bids from it. The bids exceed everything the battery ever took in. So most of them were not charging. They were NESO buying back a discharge the unit had already sold: on 10 March 2026 the unit notified a full discharge, NESO accepted a bid against most of it, and the meter read almost nothing. The energy stayed in the battery to be sold again. The site had described these units as absorbing trapped wind. The meter says they sell forward and are paid to stand down. That is a better story, and it is measured.

Reconciling against the unit's own notification

Every unit tells NESO, before each half hour, the level it intends to run at. For Blackhillock unit 2 across fourteen days in March the derived position matched that notification to a median of 0.05 MWh per half hour. For Thurrock and West Burton it matched as closely. For Dollymans, Lakeside and Ocker Hill it did not, on a third of half hours, by more than 2 MWh. The difference is frequency response and reserve delivery, which moves the meter without a balancing acceptance and without a change to the notified level. So the derived position is exactly what its name says, the position outside the balancing mechanism, and it is not always the wholesale contract alone. We publish it as the former.

Why the merchant leg on its own can be negative

An English battery that buys in the wholesale market and sells through balancing offers shows its purchases in the derived line and its sales in the measured balancing line. Read alone, the derived line is a cost. That is why every page also prints the two together, balancing and outside balancing, net. That combined figure is the one to compare between units. On the pilot fleet, 118 units, it came to about £93m for the year, against £59m for the outside balancing line alone.

Six things wrong with it

LimitWhat we do about it
The index is a benchmark. A good trader beats it, a poor one does not, and nobody trades at it exactly.The figure says "valued at the market index" on the line itself. It is never called revenue.
The position contained response delivery, not only trading, until 28 September 2026.Now taken out and valued apart, as above. Tested on 8 September 2026 the other way round, from awarded availability, and that bound was nine times larger than the thing it bounded; the frequency, not the award, is what turns a contract into energy. Quick Reserve and Balancing Reserve are dispatched through the balancing mechanism, so that energy was already taken out as accepted volumes. What the layer cannot see is a unit that pre-positions for its response, moving its declared position rather than deviating from it; the plan test above says that is rare.
The imbalance leg is only partly visible. A unit that delivered more or less than it contracted settles the gap at the imbalance price, and the contract is private.The response layer is the part of the imbalance we can work out, and it is valued at the imbalance price. Any other deviation from the declared position stays inside the traded position at the index. The plan archive, once it covers a year, will split that too.
Elexon revises. Interim figures are replaced by final ones weeks later and reconciled for over a year.The archive keeps the latest run per half hour, counts the provisional days, and the page prints the count.
Metered data lags about ten days behind the settlement stack.The derived line ends earlier than the balancing line, and the page says which day.
Only units with a balancing mechanism identifier have a published meter. Auction only registrations, 141 of the 251, have none.Their pages say so rather than showing a blank.

One rule that makes the meter different from the balancing data

A balancing mechanism imbalance can be explained by trading in another market: Blackhillock's bids exceed its imports because it sold forward and was bought back. A metered imbalance cannot. Every physical megawatt hour crosses the settlement meter whatever market it was sold in, so the gap between what a unit takes in and what it gives back is losses, its own standing load, the change in what it holds, anything else behind the same settlement boundary, or a data fault. Nothing else. Across the 99 units with a full year the apparent meter to meter efficiency is 85 per cent at the median, 76 per cent at the tenth percentile and 88 at the ninetieth, and it falls with utilisation: units that ran fewer than 300 full power hours in the year sit at 78 per cent, units above 800 hours at 87. Each page prints the unit's own figure with a reading against these bands: above 91 per cent, exceptionally efficient or a short period; 83 to 91, an ordinary battery; 77 to 83, losses plus a standing load that is material against a modest throughput; 67 to 77, worth investigating; below 67, not ordinary battery losses alone.

The checks every unit is put through

Before a figure is published the unit is tested: the meter must never exceed the registered power by more than fifteen per cent; exports against imports must be what a battery does, between 60 and 102 per cent; at least 300 of the 364 days must be metered; and every half hour must carry a price. A unit that fails keeps its figures and carries the flag, printed beside them, because a flagged figure with its flag is more use than a blank. In the first run 28 of 118 units carried one. Several are real findings, and one of them was first read wrongly. West Burton B, Penycae and Neilston return barely half of what they take in; the first reading was that something behind each meter consumes the rest, and the meter does not support it. Neilston exported 784 MWh in the whole year on 50 MW, sixteen full power hours, and West Burton draws about 2.6 MWh a day on days it exports nothing. These are units run for frequency response rather than energy, and when throughput is that small a battery's own standing load and losses dominate it. The flag now says so. Tye Lane's meter peaked at 100 MW of import against a 59 MW registration, which is still unexplained.

The scripts are gb/refresh_meter.py, which keeps the archive current twice a week and refreshes the last ninety days in full each run for revisions; gb/refresh_planmeter.py, which keeps the grid frequency reduced to delivery shares; gb/refresh_sysprice.py, which keeps the imbalance price; and gb/merchant.py, which derives the figures and runs the checks. The pilot is written up in the project notes for 7 September 2026 and the response layer in those for 27 September 2026.

All methods