Without the hype
The True Cost of GB Electricity (beta)
Beta. This explorer is new and still being checked: figures, methods and wording may change. It covers February 2019 to September 2026, from public data. Spotted something wrong? Tell me.
What does a MWh of electricity really cost in Great Britain, who is paid for it, and how much of the bill does policy set rather than gas? In 2025 a MWh on a typical household's bill cost —. Wholesale energy before carbon pricing, the part gas mostly sets, was — of that; policy, from carbon pricing to subsidies, schemes and the Capacity Market, was —. The tabs follow the money from the bill to each generator: what it is paid per MWh once subsidies and constraint payments are added, what carbon pricing adds and who keeps it, what balancing the grid costs, and what sets the wholesale price. The last two tabs keep the project's first questions, about market conduct. Hover over a dotted-underlined heading or label for what it means, and open How this is worked out under any chart for its method.
Daily market price against a gas plant's running cost
The market index price is Elexon's half-hourly wholesale price from trades on the APX intraday power exchange, weighted by volume, here averaged over each day: the free, public stand-in for the wholesale price. The running cost is what a 49%-efficient gas plant spends on fuel, carbon and operation to make a MWh. The third line is the market price with carbon pricing (ETS and Carbon Price Support) taken out. Drag across the strip under the chart to zoom in.
How this is worked out
Data. The half-hourly market index price (Elexon MID, the APX intraday exchange's price and volume), averaged over each day; ONS's daily System Average Price of gas, by gas day (05:00 to 05:00); annual ETS carbon prices plus £18 a tonne Carbon Price Support.
Method. A gas plant's running cost is (gas price + carbon price × 0.183 t of CO2 per MWh of gas) ÷ 0.49, plus £3 a MWh operating cost: what a 49%-efficient CCGT spends to make one more MWh. When the price tracks this line, gas is setting it. The price without carbon pricing takes out what ETS allowances and Carbon Price Support added in each half-hour, by the method on the Carbon pricing tab.
Limits. Real CCGTs range from about 45% to 55% efficient. The market index covers part of traded volume on an intraday exchange; the day-ahead auction prices are licensed and not used.
What set the price, by year
Share of priced half-hours. Gas or coal set it when running part-loaded with the price inside a band around its cost; otherwise the price sat above or below every running fossil plant's cost. 2026 runs to September.
How this is worked out
Data. Generation by fuel (Elexon FUELHH), each unit's metered output (B1610) and declared maximum export limit (MELS), the market index price, and gas, coal and carbon prices.
Method. GB publishes no merit order, so the price-setter is inferred each half-hour. Gas (or coal) is taken to set the price when (1) the fleet is running above its must-run floor (its 2nd-percentile output), (2) the running units have at least 3% headroom below their declared limits, so they were part-loaded and could move, and (3) the price is within 0.90 to 1.20 times the fleet's cost range, from its most to its least efficient unit. If both pass, the one whose cost is closer wins. 'Fleet at its limits' is gas in the price band with no headroom. Otherwise the price sat above every running fossil plant's cost (scarcity, peaking plant, storage, imports priced above gas) or below it (wind, nuclear or imports at the margin, with fossil plant running only because it must).
Limits. It is an inference from public data with stated thresholds; the sensitivity table shows how the gas share moves with them. Half-hours without a market price are left out.
Carbon in the price, by year
In half-hours gas set the price. EU ETS to 2020, UK ETS from 2021, each with £18/t Carbon Price Support; 2025's price carried into 2026.
| Year | Carbon, £/t | Carbon cost, £/MWh | Price, £/MWh | Share of price |
|---|
How this is worked out
Data. Annual carbon prices (config/carbon_prices.csv: the EU ETS average to 2020, UK ETS auction and futures prices since 2021) plus £18 a tonne Carbon Price Support, and the price-setter labels.
Method. In each half-hour where gas set the price, the carbon part of a 49%-efficient CCGT's cost is (ETS + £18) × 0.183 ÷ 0.49 £/MWh. The table gives its mean by year and its median share of the market price.
Limits. Annual carbon prices smooth out moves within the year. The Carbon pricing tab works out what carbon added to every half-hour, not just those gas set.
How the gas share depends on the method
Price band around the cost, and whether the cost spans old to new plant efficiencies. Published figures for 2021 are over 80%.
| Price band | Efficiency | Gas | Gas or coal |
|---|
How this is worked out
Method. The price-setter classification is re-run with narrower and wider price bands around the cost, and with the cost taken either as a range across plant efficiencies or as one 49%-efficient plant. Each row is the share of priced half-hours gas set under that choice.
Limits. Published figures (such as UCL's 84%) use other methods and periods, so they are a guide to scale, not a check.
In 2025 each MWh a typical household used cost —, including VAT. Wholesale energy before carbon pricing, the part gas mostly sets, was — of it. Policy, from carbon pricing to the Renewables Obligation, CfDs, ECO and the Capacity Market, came to — of the cost. Only in the gas crisis did wholesale energy dominate: in 2023 it was — of —.
What a household's electricity bill pays for
£ a year for a typical household using 2,700 kWh, each Ofgem cap period from January 2019 (half-years to September 2022, quarters since), including VAT. The red block on top is the part of the Renewables Obligation now paid through taxes. Hover over a bar for the figures.
How this is worked out
Data. Ofgem's default tariff cap model (version 1.31) and its Annex 4 policy cost workbook (version 1.25), downloaded from Ofgem's price cap levels page: each allowance for every cap period since January 2019, for a single-rate electricity meter paid by direct debit, GB average. LCCC's daily CfD payments and eligible demand; NESO's daily balancing costs; and what carbon pricing added to the market price (the Carbon pricing tab).
Method. Ofgem gives each allowance at nil consumption (a fixed £ a year) and at its benchmark consumption (3.1 MWh a year to December 2025, 2.5 MWh since), so the per-MWh part is the difference over the benchmark. A typical household using 2.7 MWh a year pays the fixed part plus 2.7 times the per-MWh part. Each policy scheme comes from Annex 4. CfD top-ups are LCCC's actual payments over eligible demand in the period's months, taken out of Ofgem's wholesale allowance, which has carried them. Carbon pricing is what it added to the market price, £ per MWh, in the period's months, taken out of the rest of wholesale. Balancing is NESO's balancing costs per MWh of demand (half of it before April 2023, when generators paid the other half), taken out of network costs. VAT is 5%.
Limits. The cap is the most a supplier may charge on a standard variable tariff; households on fixed deals paid different amounts. Ofgem's wholesale allowance is bought forward, so it lags the market by months. Carbon is the market's absolute carbon cost per MWh, so the 2022-23 gas spike is not counted as carbon. Not counted: the £400 Energy Bills Support Scheme of winter 2022-23 (a payment per household, not per unit) and the tax-funded Warm Homes Plan that followed ECO.
How each part of the bill has changed
Each part's cost per MWh a typical household used, against 2019: +100% means it doubled. The scale is a ratio scale, so a part that grew eightfold doesn't squash the rest. Switch to see each part's share of the bill instead. 2026 runs to September.
How this is worked out
Data. The typical household's bill by calendar year (the table below): Ofgem's price cap allowances for a single-rate, direct-debit household using 2.7 MWh a year, split by what drives them, £ per MWh used.
Method. Each part is the sum of the bill's lines in it (renewable subsidies, for example, are CfD, RO and FiT, with the RO's taxpayer-funded part from April 2026 counted in the whole cost). Change is each year's £ per MWh over 2019's, less one. Share is each part over the whole cost, the bill plus what taxpayers pay of the RO. VAT is left out of the parts and kept in the whole cost.
Limits. 2019 starts in February, when the cap's first full data year begins here, and 2026 ends in September. A small part can show a large change: balancing was about £1.50 a MWh in 2019.
Wholesale energy against the whole cost of a MWh
£ per MWh a typical household used, by year. The gap between the top line and wholesale energy is everything else on the bill: networks, policy, supplier costs and VAT.
How this is worked out
Method. Each cap period's bill per MWh used, averaged over the calendar year by month. Wholesale energy is Ofgem's allowance less CfD top-ups; the market index price is the spot price averaged over the year, for comparison. Policy counts carbon pricing, CfD, the RO (with the part taxpayers pay), FiT, ECO, Warm Home Discount, AAHEDC, NCC, the Capacity Market and the nuclear levy.
Why the lines differ. Ofgem buys wholesale energy forward, so its allowance follows the market price with a lag of months, and adds the cost of matching a household's daily shape. In 2022-23 the allowance stayed high after spot prices fell; in 2021 it lagged the rise.
Who paid: households and taxpayers
£ a year for a typical household. Under the Energy Price Guarantee taxpayers paid much of the cost in the winter of 2022-23; since April 2026 they pay most of the Renewables Obligation.
How this is worked out
Method. Under the Energy Price Guarantee households paid about 34.0p a kWh and 46.36p a day for electricity from October 2022 to March 2023, and about 33.2p and 53p from April to June 2023 (GB averages for direct debit, including VAT). Taxpayers paid the rest of Ofgem's cap. From April 2026 government pays three quarters of the Renewables Obligation's domestic cost (Budget 2025), so the bill carries a quarter and taxpayers three quarters.
Limits. The guarantee's rates varied by region; these are averages. ECO ended in April 2026 rather than moving to taxes.
Every part of the bill, by year
£ per MWh a typical household used, calendar-year averages of the cap periods. Click a column to sort.
| Year | Wholesale before carbon | Carbon | CfD | RO | FiT | ECO | WHD | Capacity Market | Nuclear RAB | Balancing | Networks | Supplier costs | Margin | VAT | Bill | RO by taxpayers | Policy share |
|---|
How this is worked out
Data. Ofgem's default tariff cap model (version 1.31) and its Annex 4 policy cost workbook (version 1.25), downloaded from Ofgem's price cap levels page: each allowance for every cap period since January 2019, for a single-rate electricity meter paid by direct debit, GB average. LCCC's daily CfD payments and eligible demand; NESO's daily balancing costs; and what carbon pricing added to the market price (the Carbon pricing tab).
Method. Ofgem gives each allowance at nil consumption (a fixed £ a year) and at its benchmark consumption (3.1 MWh a year to December 2025, 2.5 MWh since), so the per-MWh part is the difference over the benchmark. A typical household using 2.7 MWh a year pays the fixed part plus 2.7 times the per-MWh part. Each policy scheme comes from Annex 4. CfD top-ups are LCCC's actual payments over eligible demand in the period's months, taken out of Ofgem's wholesale allowance, which has carried them. Carbon pricing is what it added to the market price, £ per MWh, in the period's months, taken out of the rest of wholesale. Balancing is NESO's balancing costs per MWh of demand (half of it before April 2023, when generators paid the other half), taken out of network costs. VAT is 5%.
Limits. The cap is the most a supplier may charge on a standard variable tariff; households on fixed deals paid different amounts. Ofgem's wholesale allowance is bought forward, so it lags the market by months. Carbon is the market's absolute carbon cost per MWh, so the 2022-23 gas spike is not counted as carbon. Not counted: the £400 Energy Bills Support Scheme of winter 2022-23 (a payment per household, not per unit) and the tax-funded Warm Homes Plan that followed ECO.
Each cap period
£ a year for a typical household. Click a column to sort.
| Period | Bill | Paid by household | Price Guarantee | RO by taxpayers | Wholesale before carbon | Policy | Policy share |
|---|
How this is worked out
Method. Under the Energy Price Guarantee households paid about 34.0p a kWh and 46.36p a day for electricity from October 2022 to March 2023, and about 33.2p and 53p from April to June 2023 (GB averages for direct debit, including VAT). Taxpayers paid the rest of Ofgem's cap. From April 2026 government pays three quarters of the Renewables Obligation's domestic cost (Budget 2025), so the bill carries a quarter and taxpayers three quarters.
Limits. The guarantee's rates varied by region; these are averages. ECO ended in April 2026 rather than moving to taxes.
In 2025 a MWh of GB electricity cost consumers — all in, before networks and the Capacity Market, against a wholesale price of —. Behind Scotland's transmission constraints, offshore wind on a CfD cost — for each MWh it delivered, against — in England and Wales.
What a MWh cost, by year
£ per MWh of demand. Wholesale is the market price weighted by generation; CfD and RO payments and the cost of balancing are spread over all demand. Networks, the Capacity Market and supplier costs are not included. 2019 starts in February and 2026 ends in September.
How this is worked out
Data. Wholesale: the market index price weighted by each half-hour's generation. CfD: LCCC's payments by contract. RO: Ofgem's annual scheme cost, spread evenly over each April-to-March year's months. Balancing: each unit's accepted bids and offers from Elexon settlement, split into half-hours NESO flagged as for system reasons and the rest, and the rest of NESO's reported daily balancing costs (reserve, response, and trades and contracts outside the balancing mechanism). Demand: LCCC's eligible demand, the electricity suppliers sold.
Method. Each part's yearly total, in £, is divided by that year's demand in MWh, so the parts add up to what a MWh cost before networks, the Capacity Market and supplier costs.
Limits. It is not a household bill: network charges, the Capacity Market, Feed-in Tariffs, supplier costs and VAT are left out. RO figures after Ofgem's latest report take its latest year.
Cost per MWh delivered, by technology
February 2019 to September 2026. Simple: the market price of what it delivered plus subsidy, as if nothing were curtailed. Paid: everything it was actually paid, so a unit turned down is paid for energy it sold but did not generate, and paid again to stop. With replacement: plus the energy NESO bought elsewhere to replace it, an estimate. Pumped storage's pumping costs are not netted off.
How this is worked out
Data. Metered output of every unit (Elexon B1610), the half-hourly market index price (Elexon MID), each unit's accepted bids and offers and their cashflows (Elexon indicative settlement), CfD payments by contract (LCCC, matched to units in config/cfd_units.csv and shared across a station's units by output), and RO support estimated from Ofgem's ROCs per MWh by technology times each year's ROC value.
Method. Simple is the market price of what it delivered, plus subsidy, as if nothing had been curtailed. Paid is everything it was actually paid: the energy it sold at the market price, plus subsidy, plus what NESO paid it (or it paid NESO) in the balancing mechanism, over the MWh it delivered. What it sold is its market position, metered output less the offers and bids NESO accepted: a wind farm turned down still sold the energy it was told not to generate, and is paid to stop as well. With replacement adds the energy NESO bought elsewhere to make up for the turn-down: each half-hour's system-flagged turn-downs are matched to that half-hour's accepted offers, at their average price, and shared among the units turned down by volume. Each technology's totals are summed over its units first, then divided by its delivered MWh.
Limits. Capacity Market payments, network charges and Feed-in Tariffs are not counted. Most generators sell forward, so the market index price stands for what they earned rather than recording it. RO support is an estimate (units without a CfD that generated by mid-2019 are taken to be on the RO; Drax's converted units get 1 ROC per MWh).
Scotland against England and Wales
£ per MWh delivered. Behind the transmission constraints the same technology costs much more for each MWh that reaches consumers. Click a column to sort.
| Technology | Country | TWh | Simple | Paid | With replacement | Turned down |
|---|
How this is worked out
Data. Metered output of every unit (Elexon B1610), the half-hourly market index price (Elexon MID), each unit's accepted bids and offers and their cashflows (Elexon indicative settlement), CfD payments by contract (LCCC, matched to units in config/cfd_units.csv and shared across a station's units by output), and RO support estimated from Ofgem's ROCs per MWh by technology times each year's ROC value. Country comes from DUKES station lists and config/unit_places.csv.
Method. Simple is the market price of what it delivered, plus subsidy, as if nothing had been curtailed. Paid is everything it was actually paid: the energy it sold at the market price, plus subsidy, plus what NESO paid it (or it paid NESO) in the balancing mechanism, over the MWh it delivered. What it sold is its market position, metered output less the offers and bids NESO accepted: a wind farm turned down still sold the energy it was told not to generate, and is paid to stop as well. With replacement adds the energy NESO bought elsewhere to make up for the turn-down: each half-hour's system-flagged turn-downs are matched to that half-hour's accepted offers, at their average price, and shared among the units turned down by volume. Units are grouped by technology and by Scotland against England and Wales.
Limits. Wind, gas, hydro and pumped storage with at least 1 TWh delivered are shown. Capacity Market payments, network charges and Feed-in Tariffs are not counted. Most generators sell forward, so the market index price stands for what they earned rather than recording it. RO support is an estimate (units without a CfD that generated by mid-2019 are taken to be on the RO; Drax's converted units get 1 ROC per MWh).
The more a unit is turned down, the dearer each MWh it delivers
Each dot is a generator. Across: the share of what it could have generated that NESO turned it down for system reasons, mostly transmission constraints. Up: how much being turned down, and the payments that go with it, add to its cost for each MWh it actually delivered. Open How this is worked out below for why the dots curve upward and a worked example.
How this is worked out
What it shows. Each dot is one generator that delivered at least 50 GWh from February 2019 to September 2026. Across: the share of what it could have generated that NESO turned it down for system reasons, which is turned-down MWh over (delivered MWh plus turned-down MWh). Up: how much constraint and balancing payments add to its cost per MWh delivered, its paid cost less its simple cost (see the table above).
Why it curves upward. A wind farm turned down still sells the energy it was told not to generate, at the market price, and NESO also pays it its bid to stop, roughly the subsidy it loses. All of that is then divided by the MWh it actually delivered. So the extra per delivered MWh is about turned-down MWh ÷ delivered MWh times (the market price of the turned-down energy plus the payment to stop). At a third turned down, each delivered MWh carries half a turned-down MWh; at half, one; at two-thirds, two. That ratio, s ÷ (1 − s), climbs ever faster as the share s rises, which is why the dots bend upward rather than lie on a straight line.
An example. Seagreen 1, unit 1 (T_SGRWO-1), an unsubsidised Scottish offshore wind farm, was turned down for — of what it could have generated. The market price of what it delivered averaged — a MWh, but counting what it was paid for energy it did not generate, and paid to stop, it cost — for each MWh that reached consumers: — more. With the energy NESO bought elsewhere to replace it, —. Hornsea 1A (T_HOWAO-1), in England with almost no turn-downs, adds only —.
Why units are turned down. Most of the dots high up are in Scotland. The transmission lines south to England cannot carry everything Scottish wind can generate on a windy day, so NESO pays Scottish units to stop and pays others further south, usually gas, to start, and both payments land on consumers' bills.
Data. Metered output of every unit (Elexon B1610), the half-hourly market index price (Elexon MID), each unit's accepted bids and offers and their cashflows (Elexon indicative settlement), CfD payments by contract (LCCC, matched to units in config/cfd_units.csv and shared across a station's units by output), and RO support estimated from Ofgem's ROCs per MWh by technology times each year's ROC value.
Limits. Turned down counts only half-hours in which NESO flagged every acceptance in force for the unit as for system reasons. Pumped storage appears because Foyers and others are turned down from generating; what it pays to pump is not netted off. Capacity Market payments, network charges and Feed-in Tariffs are not counted. Most generators sell forward, so the market index price stands for what they earned rather than recording it. RO support is an estimate (units without a CfD that generated by mid-2019 are taken to be on the RO; Drax's converted units get 1 ROC per MWh).
Every generator's cost per MWh delivered
February 2019 to September 2026, generators that delivered at least 50 GWh. Subsidy is CfD top-ups (LCCC) or estimated RO support, per MWh delivered. Click a column to sort; search by unit, name, technology, owner or country.
| Unit | Name | Technology | Owner | Country | GWh | Turned down | Market £/MWh | Subsidy | Simple | Paid | With replacement |
|---|
How this is worked out
Data. Metered output of every unit (Elexon B1610), the half-hourly market index price (Elexon MID), each unit's accepted bids and offers and their cashflows (Elexon indicative settlement), CfD payments by contract (LCCC, matched to units in config/cfd_units.csv and shared across a station's units by output), and RO support estimated from Ofgem's ROCs per MWh by technology times each year's ROC value.
Method. Simple is the market price of what it delivered, plus subsidy, as if nothing had been curtailed. Paid is everything it was actually paid: the energy it sold at the market price, plus subsidy, plus what NESO paid it (or it paid NESO) in the balancing mechanism, over the MWh it delivered. What it sold is its market position, metered output less the offers and bids NESO accepted: a wind farm turned down still sold the energy it was told not to generate, and is paid to stop as well. With replacement adds the energy NESO bought elsewhere to make up for the turn-down: each half-hour's system-flagged turn-downs are matched to that half-hour's accepted offers, at their average price, and shared among the units turned down by volume.
Limits. Generators that delivered at least 50 GWh. Capacity Market payments, network charges and Feed-in Tariffs are not counted. Most generators sell forward, so the market index price stands for what they earned rather than recording it. RO support is an estimate (units without a CfD that generated by mid-2019 are taken to be on the RO; Drax's converted units get 1 ROC per MWh).
In 2025 carbon pricing added — to each MWh used: the market price averaged — and would have been — without it. Since February 2019 it has cost consumers — after CfDs passed some back. Only — of that went on carbon payments by gas and coal plant; most of the rest went to generators that pay no carbon charge, led by —, which kept —.
The market price with and without carbon pricing
Monthly mean of the market index price. GB generators pay for their CO2 twice: ETS allowances (the EU ETS to 2020, the UK ETS since) and Carbon Price Support, a GB-only £18 a tonne. Where gas or coal set the price, the price is cut by the carbon share of that fuel's cost; above every fossil cost, by a 49%-efficient CCGT's carbon cost; where wind, nuclear or imports set it, not at all. Output and imports are held as they were.
How this is worked out
Data. The market index price, the price-setter labels from the Prices tab, daily gas prices, monthly coal prices and annual carbon prices.
Method. GB generators pay for CO2 twice: ETS allowances (EU ETS to 2020, UK ETS since 2021, annual average prices) and Carbon Price Support, £18 a tonne. Each half-hour, the price-setter from the Prices tab decides what carbon pricing added: where gas or coal set the price, the price less operating cost is cut by the carbon share of that fuel's fuel-plus-carbon cost (so a less efficient plant at the margin sheds more carbon per MWh); where the price was above every fossil cost, by a 49%-efficient CCGT's carbon cost; where wind, nuclear or imports set it, not at all. The lines are monthly means of the price with each scenario's carbon taken off.
Limits. Everything else is held as it was: each plant's output, imports (continental prices carry the EU ETS too) and the Capacity Market. Carbon prices are annual averages and 2026 takes 2025's. It counts what carbon pricing did within the fleet that existed, not its part in closing coal before 2019 or in what gets built.
Where the money went, by year
£ million. What carbon pricing added to wholesale bills, by who received it: the bar's height above zero, less any part below, is what consumers paid. Gas and coal plant pay for carbon on every MWh, but the price carries carbon only when fossil plant sets it, so as a group they paid more than the price gave back. Everyone else sold at the higher price without a carbon charge. Hover over a bar for the figures.
How this is worked out
Method. GB generators pay for CO2 twice: ETS allowances (EU ETS to 2020, UK ETS since 2021, annual average prices) and Carbon Price Support, £18 a tonne. Each half-hour, the price-setter from the Prices tab decides what carbon pricing added: where gas or coal set the price, the price less operating cost is cut by the carbon share of that fuel's fuel-plus-carbon cost (so a less efficient plant at the margin sheds more carbon per MWh); where the price was above every fossil cost, by a 49%-efficient CCGT's carbon cost; where wind, nuclear or imports set it, not at all.
Where the money goes. Consumers pay the extra on every MWh used: transmission demand plus NESO's estimates of solar and embedded wind. Each metered unit receives the extra on its own output, half-hour by half-hour. Gas and coal units pay carbon on what they generate, at reference efficiencies (49% CCGT, 35% open cycle, 36% coal; 0.183 t of CO2 per MWh of gas burned, 0.34 for coal). A unit on a CfD hands the extra back through a smaller top-up, in proportion to the share of each day's output under contract. Imports, embedded generation and transmission output without unit metering take the rest, so the parts add up exactly to what consumers paid.
Limits. Everything else is held as it was: each plant's output, imports (continental prices carry the EU ETS too) and the Capacity Market. Carbon prices are annual averages and 2026 takes 2025's. It counts what carbon pricing did within the fleet that existed, not its part in closing coal before 2019 or in what gets built.
By year
Prices are means of the half-hourly market index; what carbon pricing added is weighted by demand. The re-dispatch check lets the coal fleet that existed move ahead of gas at the lower carbon price. 2019 starts in February, 2026 ends in September and takes 2025's carbon price. Click a column to sort.
| Year | ETS £/t | Price | Without CPS | Without any | Added £/MWh | Of which CPS | Re-dispatch check | Carbon in price | Consumers £m | To carbon payments | Extra CO2 Mt |
|---|
How this is worked out
Method. GB generators pay for CO2 twice: ETS allowances (EU ETS to 2020, UK ETS since 2021, annual average prices) and Carbon Price Support, £18 a tonne. Each half-hour, the price-setter from the Prices tab decides what carbon pricing added: where gas or coal set the price, the price less operating cost is cut by the carbon share of that fuel's fuel-plus-carbon cost (so a less efficient plant at the margin sheds more carbon per MWh); where the price was above every fossil cost, by a 49%-efficient CCGT's carbon cost; where wind, nuclear or imports set it, not at all. What was added is weighted by demand. The re-dispatch check runs the Coal tab's model at the lower carbon price with the coal fleet that existed, so coal can move ahead of gas; where fossil plant set the price, the price moves by the change in the marginal plant's cost. Extra CO2 comes from that model, valued at DESNZ's central carbon values.
Money. Consumers pay the extra on every MWh used: transmission demand plus NESO's estimates of solar and embedded wind. Each metered unit receives the extra on its own output, half-hour by half-hour. Gas and coal units pay carbon on what they generate, at reference efficiencies (49% CCGT, 35% open cycle, 36% coal; 0.183 t of CO2 per MWh of gas burned, 0.34 for coal). A unit on a CfD hands the extra back through a smaller top-up, in proportion to the share of each day's output under contract. Imports, embedded generation and transmission output without unit metering take the rest, so the parts add up exactly to what consumers paid.
Limits. Everything else is held as it was: each plant's output, imports (continental prices carry the EU ETS too) and the Capacity Market. Carbon prices are annual averages and 2026 takes 2025's. It counts what carbon pricing did within the fleet that existed, not its part in closing coal before 2019 or in what gets built.
Who received it, February 2019 to September 2026
£ billion. Consumers' payment is shown below zero, so each column adds up to zero. Click a column to sort.
| Who | CPS alone | All carbon pricing |
|---|
How this is worked out
Where the money goes. Consumers pay the extra on every MWh used: transmission demand plus NESO's estimates of solar and embedded wind. Each metered unit receives the extra on its own output, half-hour by half-hour. Gas and coal units pay carbon on what they generate, at reference efficiencies (49% CCGT, 35% open cycle, 36% coal; 0.183 t of CO2 per MWh of gas burned, 0.34 for coal). A unit on a CfD hands the extra back through a smaller top-up, in proportion to the share of each day's output under contract. Imports, embedded generation and transmission output without unit metering take the rest, so the parts add up exactly to what consumers paid.
Limits. Everything else is held as it was: each plant's output, imports (continental prices carry the EU ETS too) and the Capacity Market. Carbon prices are annual averages and 2026 takes 2025's. It counts what carbon pricing did within the fleet that existed, not its part in closing coal before 2019 or in what gets built.
By owner
£ million, all carbon pricing, owners whose units delivered at least 0.05 TWh. Click a column to sort; search by owner.
| Owner | TWh | Added | Carbon paid | Via CfD | Kept | Kept £/MWh |
|---|
How this is worked out
Method. Each unit's added revenue, carbon paid, CfD hand-back and what it kept (see the generator table below), summed by owner. Owners come from the owner map, then DUKES, then Elexon's lead party.
Limits. Owners are fixed, so stations that changed hands are counted under their current owner. Everything else is held as it was: each plant's output, imports (continental prices carry the EU ETS too) and the Capacity Market. Carbon prices are annual averages and 2026 takes 2025's. It counts what carbon pricing did within the fleet that existed, not its part in closing coal before 2019 or in what gets built.
Every generator: what carbon pricing gave it, and what it paid
February 2019 to September 2026, £ million, generators that delivered at least 0.05 TWh. Carbon paid is at reference efficiencies (49% for a CCGT, 35% open cycle, 36% coal); a CfD unit passes back its contracted share of each day's output. Click a column to sort; search by unit, name, technology, owner or country.
| Unit | Name | Technology | Owner | Country | TWh | Added | Carbon paid | Via CfD | Kept | Kept £/MWh | Kept from CPS |
|---|
How this is worked out
Data. Each unit's metered output every half-hour (Elexon B1610), with what carbon pricing added to that half-hour's price; CfD volumes by unit and day from LCCC.
Where the money goes. Consumers pay the extra on every MWh used: transmission demand plus NESO's estimates of solar and embedded wind. Each metered unit receives the extra on its own output, half-hour by half-hour. Gas and coal units pay carbon on what they generate, at reference efficiencies (49% CCGT, 35% open cycle, 36% coal; 0.183 t of CO2 per MWh of gas burned, 0.34 for coal). A unit on a CfD hands the extra back through a smaller top-up, in proportion to the share of each day's output under contract. Imports, embedded generation and transmission output without unit metering take the rest, so the parts add up exactly to what consumers paid.
Limits. Carbon paid uses one efficiency per technology, so an efficient CCGT's carbon is overstated and an old one's understated. Everything else is held as it was: each plant's output, imports (continental prices carry the EU ETS too) and the Capacity Market. Carbon prices are annual averages and 2026 takes 2025's. It counts what carbon pricing did within the fleet that existed, not its part in closing coal before 2019 or in what gets built.
From February 2019 to September 2026 NESO paid units — to generate more and — to generate less. The unit paid most, —, received —.
One unit at a time
The units with the most money through the balancing mechanism either way. Pick one here, or click a row in the list further down. Above the line, what NESO paid it each month, for offers and to turn down; below, what it paid back when turned down.
| Unit | Name | Technology | Owner | Country | MW | Offers, £m | Paid to stop, £m | Paid back, £m | Offer £/MWh | Bid £/MWh |
|---|
Offer: NESO asks the unit to generate more than it planned (or a storage or demand unit to use less), and pays its offer price for each extra MWh. Bid: NESO asks it to generate less, and the unit pays its bid price for each MWh it no longer generates. A gas plant bids above zero because it saves the fuel; a wind farm bids below zero, roughly the subsidy it loses, so NESO pays it to stop. The lines are the month's average accepted prices; a gap means no offers or bids were accepted that month.
How this is worked out
Data. Elexon's indicative settlement: for every unit and half-hour, the volume of each accepted bid and offer and the cashflow it earned ('Tagged' volumes, which include everything NESO flagged). A cashflow is paid to the unit when positive. NESO flags acceptances it takes for system reasons, such as transmission constraints, voltage or inertia, rather than to balance supply and demand.
Method. Each month: what NESO paid the unit for accepted offers (to generate more, or use less), what it paid the unit to turn down (bids below zero) and what the unit paid back when turned down (bids above zero). The average accepted offer price is offer cashflow ÷ offer MWh; the average accepted bid price is bid cashflow ÷ bid MWh, with the sign set so that below zero means NESO paid the unit to stop. The list holds the 150 units with the most money through the balancing mechanism either way.
Limits. Indicative settlement can differ slightly from final settlement. A month with no accepted offers or bids shows a gap.
Who was paid, by technology
£ million a year paid to units, for accepted offers and to turn down. 2019 starts in February and 2026 ends in September.
How this is worked out
Data. Elexon's indicative settlement: for every unit and half-hour, the volume of each accepted bid and offer and the cashflow it earned ('Tagged' volumes, which include everything NESO flagged). A cashflow is paid to the unit when positive. NESO flags acceptances it takes for system reasons, such as transmission constraints, voltage or inertia, rather than to balance supply and demand.
Method. Payments to units for offers and to turn down, summed by year and by technology. Technology is Elexon's fuel type, with batteries picked out by their names.
Limits. What units paid back when turned down is not netted off here.
Wind paid to stop
£ million a year paid to wind farms to turn down, by where they are.
How this is worked out
Data. Elexon's indicative settlement: for every unit and half-hour, the volume of each accepted bid and offer and the cashflow it earned ('Tagged' volumes, which include everything NESO flagged). A cashflow is paid to the unit when positive. NESO flags acceptances it takes for system reasons, such as transmission constraints, voltage or inertia, rather than to balance supply and demand. A wind farm's place comes from DUKES station lists, matched by name, and config/unit_places.csv.
Method. What wind farms were paid to reduce output (their accepted bids below zero), summed by year and by country.
Limits. Wind farms not matched to a place are shown as not placed.
Every unit paid in the balancing mechanism
February 2019 to September 2026, £ million. Prices are averages of what was accepted, £/MWh; a bid price below zero means the unit was paid to stop. The last column is the share of its turn-downs NESO flagged as for system reasons. Click a column to sort, search by unit, name, technology, owner or country, and click a row to see the unit in the chart above.
| Unit | Name | Technology | Owner | Country | Received | Offers | Paid to stop | Paid back | Offer £/MWh | Bid £/MWh | £k per MW | System |
|---|
How this is worked out
Data. Elexon's indicative settlement: for every unit and half-hour, the volume of each accepted bid and offer and the cashflow it earned ('Tagged' volumes, which include everything NESO flagged). A cashflow is paid to the unit when positive. NESO flags acceptances it takes for system reasons, such as transmission constraints, voltage or inertia, rather than to balance supply and demand.
Method. Totals per unit over the period. Average prices are cashflow ÷ volume. The system share is the share of the unit's turn-down MWh that fell in half-hours where NESO flagged every acceptance in force for it as for system reasons.
Limits. A unit is one BM unit; a station can have several.
Gas and coal turned down for system reasons
What each unit paid NESO per MWh it no longer generated (its bid), the fuel and carbon it saved (estimated for a 49%-efficient CCGT, 36% for coal), and what it kept: the saving less the bid. Ofgem found South Humber Bank's prices excessive in 2019-2021; nothing is implied about the others. Click a column to sort.
| Unit | Name | Owner | GWh | Bid | Saved | Kept £/MWh | Kept £m |
|---|
How this is worked out
Data. Elexon's indicative settlement: for every unit and half-hour, the volume of each accepted bid and offer and the cashflow it earned ('Tagged' volumes, which include everything NESO flagged). A cashflow is paid to the unit when positive. NESO flags acceptances it takes for system reasons, such as transmission constraints, voltage or inertia, rather than to balance supply and demand. Daily gas prices, monthly coal prices and annual carbon prices.
Method. For gas and coal units turned down for system reasons: the bid price is what the unit paid NESO per MWh it no longer generated. The saving is the fuel and carbon it did not burn, for a 49%-efficient CCGT or a 36% coal unit. What it kept is the saving less the bid: positive means being turned down paid it better than running would have.
Limits. Real efficiencies differ by unit, and a unit turned down may also save start-up and wear costs that are not counted.
Gas and coal offers against running cost
Average accepted offer against estimated running cost, £/MWh, overall and in the tightest tenth of half-hours by day-ahead de-rated margin. Offers also cover start-up costs and minimum running times, and high prices in scarcity are lawful. Click a column to sort.
| Unit | Name | Owner | GWh | Offer | Cost | Mark-up, tight | Other times | Over cost, £m |
|---|
How this is worked out
Data. Elexon's indicative settlement: for every unit and half-hour, the volume of each accepted bid and offer and the cashflow it earned ('Tagged' volumes, which include everything NESO flagged). A cashflow is paid to the unit when positive. NESO flags acceptances it takes for system reasons, such as transmission constraints, voltage or inertia, rather than to balance supply and demand. NESO's day-ahead de-rated margin (Elexon LOLPDRM).
Method. For each gas and coal unit, the average price of its accepted offers against the estimated running cost of the same MWh (49% CCGT, 35% open cycle, 36% coal). Tight half-hours are the tenth with the lowest day-ahead de-rated margin, when the system had least to spare.
Limits. Offers also have to cover start-up costs and minimum running times, and high prices in scarcity are lawful, so a mark-up is a fact to explain, not a finding.
Who receives the balancing money, and where they are
February 2019 to September 2026. Each unit's payments for offers and to turn down, shared among its shareholders by their stakes, and summed by the country where each shareholder has its headquarters. Hover over a bar for the amount.
How this is worked out
Data. A register of each unit's shareholders, their stakes and the dates stakes changed hands (config/unit_owners.csv), with a source for every row: company announcements, the Crown Estate's offshore wind ownership register, and fund and project pages. Each shareholder's headquarters country, kind and controller are in config/owners.csv. Payments are Elexon's indicative settlement: accepted offers, and payments to turn down.
Method. Each unit's payments each month are shared among its shareholders by their stake that month; a stake sold during a month counts for whoever held it on the 15th. A shareholder headquartered outside the UK counts as overseas; one majority-owned by a government outside the UK as foreign-state (Uniper from March 2020, controlled by Finland's state-majority Fortum, then from December 2022 by the German state; EDF, ESB, Equinor, Statkraft, Vattenfall, Ørsted, PTTEP and the Chinese state companies). Units the register does not cover, mostly aggregators, batteries and small units traded by a route-to-market company, are not identified.
Limits. This is where the revenue is attributable, not money that leaves the country: a project company pays its UK costs first (operations, staff, rates, network charges, debt, UK corporation tax), and shareholders receive the profit after them. UK-listed companies count as UK, though ONS finds 58.8% of UK quoted shares held abroad. Stakes are mostly the sources' current ones, with dated changes where known; the company that trades a unit is not always its owner.
By year
£ million a year paid to units for offers and to turn down, by where the shareholders are. 2019 starts in February and 2026 ends in September.
How this is worked out
Data. A register of each unit's shareholders, their stakes and the dates stakes changed hands (config/unit_owners.csv), with a source for every row: company announcements, the Crown Estate's offshore wind ownership register, and fund and project pages. Each shareholder's headquarters country, kind and controller are in config/owners.csv. Payments are Elexon's indicative settlement: accepted offers, and payments to turn down.
Method. Each unit's payments each month are shared among its shareholders by their stake that month; a stake sold during a month counts for whoever held it on the 15th. A shareholder headquartered outside the UK counts as overseas; one majority-owned by a government outside the UK as foreign-state (Uniper from March 2020, controlled by Finland's state-majority Fortum, then from December 2022 by the German state; EDF, ESB, Equinor, Statkraft, Vattenfall, Ørsted, PTTEP and the Chinese state companies). Units the register does not cover, mostly aggregators, batteries and small units traded by a route-to-market company, are not identified.
Limits. This is where the revenue is attributable, not money that leaves the country: a project company pays its UK costs first (operations, staff, rates, network charges, debt, UK corporation tax), and shareholders receive the profit after them. UK-listed companies count as UK, though ONS finds 58.8% of UK quoted shares held abroad. Stakes are mostly the sources' current ones, with dated changes where known; the company that trades a unit is not always its owner.
Who was paid to turn wind farms down
£ million paid to wind farms to reduce output, February 2019 to September 2026, by shareholder and where it has its headquarters.
How this is worked out
Data. A register of each unit's shareholders, their stakes and the dates stakes changed hands (config/unit_owners.csv), with a source for every row: company announcements, the Crown Estate's offshore wind ownership register, and fund and project pages. Each shareholder's headquarters country, kind and controller are in config/owners.csv. Payments are Elexon's indicative settlement: accepted offers, and payments to turn down.
Method. Each unit's payments each month are shared among its shareholders by their stake that month; a stake sold during a month counts for whoever held it on the 15th. A shareholder headquartered outside the UK counts as overseas; one majority-owned by a government outside the UK as foreign-state (Uniper from March 2020, controlled by Finland's state-majority Fortum, then from December 2022 by the German state; EDF, ESB, Equinor, Statkraft, Vattenfall, Ørsted, PTTEP and the Chinese state companies). Units the register does not cover, mostly aggregators, batteries and small units traded by a route-to-market company, are not identified.
Limits. This is where the revenue is attributable, not money that leaves the country: a project company pays its UK costs first (operations, staff, rates, network charges, debt, UK corporation tax), and shareholders receive the profit after them. UK-listed companies count as UK, though ONS finds 58.8% of UK quoted shares held abroad. Stakes are mostly the sources' current ones, with dated changes where known; the company that trades a unit is not always its owner.
Every shareholder: what it received
£ million, February 2019 to September 2026, each shareholder's share of the payments to the units it owns stakes in. Click a column to sort; search by owner, country, kind or asset.
| Shareholder | Headquarters | Kind | Controlled by | Received | Offers | Paid to stop | Wind paid to stop | Share | Assets |
|---|
How this is worked out
Data. A register of each unit's shareholders, their stakes and the dates stakes changed hands (config/unit_owners.csv), with a source for every row: company announcements, the Crown Estate's offshore wind ownership register, and fund and project pages. Each shareholder's headquarters country, kind and controller are in config/owners.csv. Payments are Elexon's indicative settlement: accepted offers, and payments to turn down.
Method. Each unit's payments each month are shared among its shareholders by their stake that month; a stake sold during a month counts for whoever held it on the 15th. A shareholder headquartered outside the UK counts as overseas; one majority-owned by a government outside the UK as foreign-state (Uniper from March 2020, controlled by Finland's state-majority Fortum, then from December 2022 by the German state; EDF, ESB, Equinor, Statkraft, Vattenfall, Ørsted, PTTEP and the Chinese state companies). Units the register does not cover, mostly aggregators, batteries and small units traded by a route-to-market company, are not identified.
Limits. This is where the revenue is attributable, not money that leaves the country: a project company pays its UK costs first (operations, staff, rates, network charges, debt, UK corporation tax), and shareholders receive the profit after them. UK-listed companies count as UK, though ONS finds 58.8% of UK quoted shares held abroad. Stakes are mostly the sources' current ones, with dated changes where known; the company that trades a unit is not always its owner.
Every unit and who owns it
Units paid at least £0.5 million, with their shareholders in the latest month. Click a column to sort; search by unit, name, technology, place or owner.
| Unit | Name | Technology | Place | Received | Paid to stop | Overseas share | Shareholders |
|---|
How this is worked out
Data. A register of each unit's shareholders, their stakes and the dates stakes changed hands (config/unit_owners.csv), with a source for every row: company announcements, the Crown Estate's offshore wind ownership register, and fund and project pages. Each shareholder's headquarters country, kind and controller are in config/owners.csv. Payments are Elexon's indicative settlement: accepted offers, and payments to turn down.
Method. Each unit's payments each month are shared among its shareholders by their stake that month; a stake sold during a month counts for whoever held it on the 15th. A shareholder headquartered outside the UK counts as overseas; one majority-owned by a government outside the UK as foreign-state (Uniper from March 2020, controlled by Finland's state-majority Fortum, then from December 2022 by the German state; EDF, ESB, Equinor, Statkraft, Vattenfall, Ørsted, PTTEP and the Chinese state companies). Units the register does not cover, mostly aggregators, batteries and small units traded by a route-to-market company, are not identified.
Limits. This is where the revenue is attributable, not money that leaves the country: a project company pays its UK costs first (operations, staff, rates, network charges, debt, UK corporation tax), and shareholders receive the profit after them. UK-listed companies count as UK, though ONS finds 58.8% of UK quoted shares held abroad. Stakes are mostly the sources' current ones, with dated changes where known; the company that trades a unit is not always its owner.
Ranked by when they choose to run against the national price, power stations fall into the merit order without being told their fuel: nuclear and biomass first, then gas, hydro, pumped storage, coal and open-cycle gas last.
The merit order their running reveals
Each bar is a unit, as wide as its capacity and as tall as its switch-on point: the rank of the price within its month above which it runs in at least half the half-hours it is available (0 the cheapest half-hour, 1 the dearest). Running is its market position, metered output less the bids and offers NESO accepted. Units that rarely run are drawn full height and pale. February 2019 to September 2026.
How this is worked out
Data. Each unit's metered output (B1610), its accepted bids and offers (Elexon settlement), its declared maximum export limit (MELS) and the market index price.
Method. A unit's market position is its metered output less the offers and bids NESO accepted: what it chose to run. It counts as running above a tenth of its capacity (at least 5 MW). Each half-hour's price is ranked within its month, 0 the cheapest and 1 the dearest, so months of cheap and dear gas compare like for like. For each unit, the share of half-hours it ran is traced against that rank, smoothed to rise with price (an isotonic fit), and the switch-on point is where it first reaches a half. Units that run at least half the time even at the cheapest prices 'always run'; those that never reach half 'rarely run'.
Limits. Only half-hours when the unit declared itself available count. Capacity is the larger of its registered capacity and its 99th-percentile output.
By fuel
Medians across each fuel's units. Runs: the share of half-hours it ran, in its market position and as metered. Click a column to sort.
| Fuel | Units | GW | Place | Switch-on | Runs, market | Runs, metered | Capacity factor | Starts a year |
|---|
How this is worked out
Method. Medians across each fuel's units of the measures in the unit table. Runs: share of half-hours it ran, in its market position and as metered.
Limits. A median hides the spread inside a fuel.
Every unit in order
Spread is the switch-on point as the clean spark spread, £/MWh. NESO effect is the share of half-hours it ran beyond its market position: positive, NESO kept it on more; negative, NESO turned it down. Click a column to sort; search by unit, name, fuel, owner or country.
| Place | Unit | Name | Fuel | Owner | Country | MW | Pattern | Switch-on | Spread | Runs, market | Runs, metered | NESO effect | Capacity factor | Starts a year | Hours a run |
|---|
How this is worked out
Method. Switch-on point as on the chart above. Spread is the same point measured against the clean spark spread, the price less a 49%-efficient CCGT's fuel and carbon cost, £/MWh. NESO effect is the share of half-hours it ran as metered less the share it ran in its market position: positive, NESO kept it on more than it had chosen; negative, NESO turned it down.
Limits. Units with fewer than 1,000 available half-hours have no switch-on point.
From October 2019 to May 2021, the period of Ofgem's finding, NESO turned South Humber Bank down for system reasons — times a month per unit, against — for other Humber CCGTs and — for CCGTs elsewhere. Before it began the plant was in line with its neighbours, at —.
How often NESO turned it down for system reasons
Acceptances that moved a unit down and that NESO flagged as for system reasons (constraints), per unit per month it ran. The dashed lines mark the period of Ofgem's finding that EP SHB charged excessive prices to reduce output during transmission constraints. Part of the fall after May 2021 is regional: the other Humber CCGTs fell too.
How this is worked out
Data. Elexon's indicative settlement: for every unit and half-hour, the volume of each accepted bid and offer and the cashflow it earned ('Tagged' volumes, which include everything NESO flagged). A cashflow is paid to the unit when positive. NESO flags acceptances it takes for system reasons, such as transmission constraints, voltage or inertia, rather than to balance supply and demand. Ofgem's finding (config/regulator_cases.csv).
Method. Each month, acceptances that moved a unit down and that NESO flagged as for system reasons, per unit per month it ran, for South Humber Bank, the other Humber CCGTs (its regional peers) and CCGTs elsewhere.
Limits. Part of the change after the case period is regional, as the Humber constraints changed too.
Before, during and after the case period
Bid discount is the market price less the bid: what NESO pays per MWh, beyond buying the energy back, to turn the unit down. In 2020 every CCGT bid close to £0, so the bid price itself did not set South Humber Bank apart; how often it was turned down did.
| Period | Group | Units | Turn-downs per unit-month | Median bid, £/MWh | Bid discount, £/MWh | Offer mark-up, £/MWh |
|---|
How this is worked out
Method. Before, during and after Ofgem's case period (October 2019 to May 2021): median bid on system-flagged turn-downs, the bid discount (market price less bid, what NESO pays per MWh beyond buying the energy back) and the median first offer above running cost, for South Humber Bank and its comparison groups.
Limits. Ofgem's finding is the finding; the table shows what public data can and cannot see of it.
How often it ran
Share of the time each unit generated, from metered output, against the fleet median.
How this is worked out
Method. Share of each month's half-hours the unit generated above a tenth of capacity, from metered output, against the median across CCGTs.
Limits. Running reflects outages and NESO's instructions as well as the unit's own choices.
Revealed merit order, 2021
Each dot is a CCGT. Efficiency is what its choices about when to run imply; the breakeven is the price at which it would be as likely to run as not if fuel were free. Low means it ran almost whatever the price.
How this is worked out
Method. For each CCGT in 2021, a fractional logit of the share of each day it ran on the day's market price and its fuel and carbon cost per MWh of gas. A unit indifferent between running and not has b × price = c × cost, so b ÷ c is the efficiency its behaviour implies. A unit that runs almost whatever the price shows a tiny implied efficiency: combined heat and power plants supplying heat, or units held on for the system.
Limits. One year and daily data; the Merit order tab does the same more simply for every unit and year.
Sharpest change in how often each unit runs
Each unit's monthly running share against the fleet median, 2019 to 2026, searched for its biggest shift.
| Rank | Unit | Fuel | Break | Before | After | t |
|---|
Before and after are running share minus the fleet median.
How this is worked out
Method. Each unit's monthly running share, less the fleet median, is split at every month leaving at least four on each side, and the split with the largest t-statistic is its sharpest change.
Limits. Outages, refurbishments and closures all make breaks; a break is a prompt to look, not a finding.
Different owners started outages on the same day — times as often as the outage model predicts by chance, and — times on tight days.
Do different owners' outages coincide?
Outages simulated 2,000 times from each unit's fitted daily probability, compared with the real number of same-day pairs of different owners. Tight days are the quarter with the lowest day-ahead de-rated margin.
| Model | Days | Observed | Expected | Ratio | p |
|---|
How this is worked out
Data. Unplanned outages of at least half a unit's capacity from REMIT notices, for gas, coal, biomass, nuclear and oil units, and the outage model below.
Method. The model gives each unit a probability of starting an outage on each day. Outages are simulated from those probabilities 2,000 times, and the number of days on which different owners start outages together is compared with the real count. The p-value is the share of simulations with at least as many coincidences. Tight days are the quarter with the lowest day-ahead de-rated margin.
Limits. Excess coincidence could be a shared shock (a gas problem, a cold snap, a grid fault) as easily as coordination; a result is a prompt to look at the days, not a finding.
What makes an unplanned outage more likely
Logit with a baseline per unit and month and year effects, 6,594 outage starts. Test terms should not explain a genuine fault. Outages rise on tight days by about 2% per GW of margin; the owner's other sites add nothing significant.
| Term | Kind | Coefficient | p |
|---|
How this is worked out
Method. A logit of whether a unit starts a major unplanned outage on a day it was not already out, with a baseline per unit and month and year effects, errors clustered by unit. Physical terms (age, days since its last outage, starts in the past 30 days, temperature, the previous day's load, other units on the same site) should explain faults; test terms (the de-rated margin, the previous day's price against cost, the owner's output at other sites, and rivals' output as a placebo) should not, if outages are genuine.
Limits. Notices describe availability, not conduct, and a significant test term would be a prompt, not a finding.
Unplanned outages by owner
MW-days out per GW of capacity, from REMIT notices, owners with at least 500 MW. Closure notices, and a unit's time after it stopped for good, are left out. Notices describe availability, not conduct.
How this is worked out
Method. MW-days unavailable under unplanned REMIT notices per GW of the owner's capacity, for owners with at least 500 MW. Closure notices, and a unit's time after it stopped for good, are left out.
Limits. Large owners of old plant have more outages for physical reasons.
How late notices are published
Median hours from the start of an outage to its first notice (negative means in advance), and the share published after the outage began.
| Year | Outage | Notices | Median lag, h | After start |
|---|
How this is worked out
Method. Hours from the start of each outage to its first REMIT notice, median by year, planned and unplanned, and the share of notices published after the outage had begun.
Limits. Revised notices keep their first publication time.
What balancing the grid costs, by year
NESO's daily balancing costs by category, £ million. 2019 starts in February and 2026 ends in September.
How this is worked out
Data. NESO's daily balancing costs by category (its Balancing Services Use of System data), summed by year.
Method. NESO's own categories: constraints, energy imbalance, frequency control, positive reserve, and other and negative reserve.
Limits. NESO's categories cover costs inside and outside the balancing mechanism.
Constraint costs by type
£ million. Thermal constraints pay generators to switch off where the network cannot carry their output, and others to switch on beyond the bottleneck.
| Year | Thermal | Voltage | Inertia | Largest loss | Thermal, GWh |
|---|
How this is worked out
Data. NESO's constraint breakdown, by financial year, summed by month.
Method. Thermal constraints pay generators to stop where the network cannot carry their output and others to start beyond the bottleneck; voltage, inertia and largest-loss costs keep the system stable.
Limits. NESO's split; the Balancing by unit tab follows the same money to individual units.
Offer mark-ups over cost
Median first offer less estimated running cost while running, £/MWh. Start-up costs, minimum run times and scarcity all raise offers, so a high mark-up is a fact to explain, not a finding.
| Fuel | Year | Mark-up, £/MWh |
|---|
How this is worked out
Method. While a CCGT or coal unit runs, its first offer (its price to generate a little more) less its estimated running cost (49% CCGT, 36% coal), median per unit and month, then the median across units.
Limits. Start-up costs, minimum run times and lawful scarcity pricing all raise offers.
Actual and predicted daily price
Gradient-boosted trees predicting the price from gas prices (GB's daily System Average Price, and the monthly European, Asian LNG and US benchmarks), the carbon price, wind, nuclear, demand, the de-rated margin and the calendar. Each month is predicted by a model that never saw it. The second prediction leaves out GB's own gas price.
How this is worked out
Method. Gradient-boosted decision trees (400 trees, fitted to absolute error) predict each half-hour's market index price. Calendar months are dealt into 12 groups, and each group is predicted by a model trained only on the other 11, so no month is predicted from its own data.
Inputs. Inputs: GB's daily gas price (ONS System Average Price), the monthly European (TTF), Asian LNG and US (Henry Hub) gas prices from the World Bank, converted to £/MWh at Bank of England exchange rates, the carbon price, wind and nuclear output, demand, residual demand (demand less wind and nuclear), NESO's day-ahead de-rated margin, and the hour, day of week and month.
The lines. Actual and predicted are daily means of the half-hourly values. The global-gas line is the same model without GB's own daily gas price.
Limits. A model of what the price was, from what was known about the system; not a forecast.
Where the model misses, by month
Mean of actual less predicted, £/MWh. The misses cluster in the 2021-2022 gas crisis.
How this is worked out
Method. Each month, the mean of actual less predicted price, from the out-of-sample predictions. Above zero, the price was higher than the inputs explain.
Limits. Misses cluster when gas prices moved fastest.
What the model relies on
How much the error rises, £ per MWh, when each input is shuffled. GB's daily gas price carries the most.
How this is worked out
Method. Permutation importance: a model fitted to every half-hour is scored, then each input in turn is shuffled so it carries no information, and the rise in mean absolute error, £/MWh, is recorded (three shuffles each).
Inputs. Inputs: GB's daily gas price (ONS System Average Price), the monthly European (TTF), Asian LNG and US (Henry Hub) gas prices from the World Bank, converted to £/MWh at Bank of England exchange rates, the carbon price, wind and nuclear output, demand, residual demand (demand less wind and nuclear), NESO's day-ahead de-rated margin, and the hour, day of week and month.
Limits. Inputs that move together share credit: GB's daily gas price and European gas carry much the same information.
How well each model predicts
Mean absolute error over February 2019 to September 2026, each month predicted by a model that never saw it. Cost only takes the price to be a CCGT's running cost; the global-gas model has the monthly world benchmarks but not GB's daily gas price; the fundamentals model predicts the price's ratio to a CCGT's cost without gas prices as inputs. Click a column to sort.
| Model | Error, £/MWh |
|---|
How this is worked out
Method. Gradient-boosted decision trees (400 trees, fitted to absolute error) predict each half-hour's market index price. Calendar months are dealt into 12 groups, and each group is predicted by a model trained only on the other 11, so no month is predicted from its own data. Cost only takes the price to be a 49%-efficient CCGT's running cost. The fundamentals model has no gas prices and predicts the price's ratio to that cost. The global-gas model has the world benchmarks but not GB's daily gas price. The main model has everything.
Limits. Mean absolute error over every half-hour with a price; one large miss counts no more than its size.
Without GB's own gas price
What the model relies on when it has only the monthly world benchmarks: European gas (TTF) carries it. Rise in the error, £ per MWh, when each input is shuffled.
How this is worked out
Method. Permutation importance, as above, for the model without GB's own daily gas price.
Inputs. Inputs: GB's daily gas price (ONS System Average Price), the monthly European (TTF), Asian LNG and US (Henry Hub) gas prices from the World Bank, converted to £/MWh at Bank of England exchange rates, the carbon price, wind and nuclear output, demand, residual demand (demand less wind and nuclear), NESO's day-ahead de-rated margin, and the hour, day of week and month.
Spread over every MWh used in 2024-25, Contracts for Difference added — and the Renewables Obligation —. In 2022-23, when gas was dear, CfDs cost — in all, while RO generators earned — more than the first CfDs' strike prices would have paid them.
What a MWh earned, by year
April-to-March years, £/MWh. A CfD generator receives its strike price. An RO generator receives the market value of its output (estimated from CfD capture prices and the day-ahead price) plus RO support, shown to 2024-25, the last year Ofgem has published. A gas plant's running cost is fuel, carbon and operating cost, with no capital cost.
How this is worked out
Data. LCCC's CfD data (each contract's daily generation, strike price, capture price and payment), Ofgem's RO support per MWh by technology, LCCC's hourly day-ahead price, and a CCGT's running cost.
Method. A CfD generator receives its strike price: the market value of its output plus the top-up. An RO generator receives the market value of its output plus RO support; the market value is estimated from CfD capture prices for wind and solar and the day-ahead baseload price for the rest. April-to-March years, so the RO lines up.
Limits. RO market value is an estimate; Ofgem's figures end in 2024-25.
Support over every MWh used
CfD payments and the RO's cost divided by GB electricity demand, £/MWh. CfD payments all but stop when the market price passes the strike price. RO figures end in 2024-25.
How this is worked out
Method. CfD payments and the RO's cost in each April-to-March year, divided by LCCC's eligible demand, the electricity suppliers sold.
Limits. CfD payments fall, and turn into repayments, when the market price is above strike prices, as in 2022.
RO revenue above CfD terms
What RO generators earned beyond the strike price of the earliest CfDs for the same technology, £m. Revenue above a benchmark, not profit. Against every CfD round, including cheaper later ones, 2024-25 comes to —.
How this is worked out
Method. What RO generators earned per MWh (estimated market value plus ROC support) less the strike price of the earliest CfD contracts for the same technology in the same year, times RO output.
Limits. Revenue above a benchmark, not profit. Later, cheaper CfD rounds give a larger figure (in the note).
How far CfD output lowered the wholesale price
The price model run with and without CfD output, short-run, with the rest of the system as it was. The low and high cases differ in whether the de-rated margin also loses the CfD output. Net cost is CfD payments less the saving; below zero, the saving was larger.
| Year | Price cut, low, £/MWh | High | CfD payments, £m | Net cost, low case, £m | High case |
|---|
How this is worked out
Method. The price model's trees, constrained so the price can only fall with more wind, nuclear or margin, predict every half-hour as it was and without CfD output (CfD wind taken out of metered wind, embedded CfD output added back to demand, all of it added to the residual demand the rest of the fleet meets). The saving is the difference times demand. The low and high cases differ in whether the de-rated margin also loses the CfD output.
Limits. Short-run: the rest of the system is held as it was. Without CfDs other plants would have been built or kept open.
CfDs by technology, 2025-26
Per MWh of each technology's CfD output: the strike price, what the market paid, and the top-up. LCCC figures.
| Technology | TWh | Strike, £/MWh | Market | Top-up | Paid, £m |
|---|
How this is worked out
Data. LCCC's figures for 2025-26 by technology.
Method. Per MWh of each technology's CfD output: generation-weighted strike price, what the market paid (capture price) and the top-up, strike less capture.
Had GB kept its coal stations open without Carbon Price Support, coal would have generated — from January 2015 to September 2026, against — that actually ran. Wholesale power would have cost — less, but the extra — of CO2 is valued at —.
With every coal station kept open and no Carbon Price Support, January 2015 to September 2026:
The scenarios side by side
January 2015 to September 2026. Kept: every coal station that closed stays open, while units converted to biomass stay converted. Carbon Price Support was £18/t from 2016 on top of the ETS price. The saving is on the wholesale market; carbon damage values the extra CO2 at DESNZ's central value.
| Scenario | Coal, TWh | Coal ran | Extra CO2, Mt | Wholesale saving, £bn | Per household, £ | CPS forgone, £bn | Carbon damage, £bn |
|---|
CPS forgone is below zero where more coal burning means more Carbon Price Support is collected.
How this is worked out
Method. Each half-hour from January 2015, the gas and coal output that actually ran (NESO's generation mix) is shared again between a gas fleet (efficiencies spread from 45% to 55%, a must-run floor at the year's 2nd percentile of gas output, capacity at its 99.5th percentile) and the coal stations open on that date at 80% availability, cheapest fuel-plus-carbon cost first. The price moves by the change in the marginal plant's cost, times the chance that fossil plant set the price at that half-hour's fossil share of supply (learned from the 2019-2026 price-setter labels).
Calibration. Each year coal's running cost carries an adjustment that makes the model reproduce the coal that actually ran; years without coal take the median.
Limits. Renewables, nuclear, imports and demand stay as they were. It leaves out the cost of keeping old stations open and meeting emission limits, and how interconnector flows would have shifted. Gas before 2018 is the World Bank's European price; coal is a South African price.
Wholesale saving against the value of the extra CO2
£ billion over the period. The whisker spans DESNZ's low and high carbon values. In every scenario the carbon damage at the central value exceeds the saving.
How this is worked out
Method. The wholesale saving is the price change times demand, summed over the period. The carbon damage is the extra CO2 times DESNZ's carbon values; the whisker spans the low and high values.
Limits. Renewables, nuclear, imports and demand stay as they were. It leaves out the cost of keeping old stations open and meeting emission limits, and how interconnector flows would have shifted. Gas before 2018 is the World Bank's European price; coal is a South African price.
Coal generation by year
TWh. The coal that actually ran is in grey. 2026 runs to September.
How this is worked out
Method. Each half-hour from January 2015, the gas and coal output that actually ran (NESO's generation mix) is shared again between a gas fleet (efficiencies spread from 45% to 55%, a must-run floor at the year's 2nd percentile of gas output, capacity at its 99.5th percentile) and the coal stations open on that date at 80% availability, cheapest fuel-plus-carbon cost first. The price moves by the change in the marginal plant's cost, times the chance that fossil plant set the price at that half-hour's fossil share of supply (learned from the 2019-2026 price-setter labels).
Limits. Renewables, nuclear, imports and demand stay as they were. It leaves out the cost of keeping old stations open and meeting emission limits, and how interconnector flows would have shifted. Gas before 2018 is the World Bank's European price; coal is a South African price.
Change in the wholesale price by year
£/MWh against the price as it was. It is largest where gas cost most against coal, as in 2026. In 2021 and 2022 coal was short, which the calibration reflects.
How this is worked out
Method. Each half-hour from January 2015, the gas and coal output that actually ran (NESO's generation mix) is shared again between a gas fleet (efficiencies spread from 45% to 55%, a must-run floor at the year's 2nd percentile of gas output, capacity at its 99.5th percentile) and the coal stations open on that date at 80% availability, cheapest fuel-plus-carbon cost first. The price moves by the change in the marginal plant's cost, times the chance that fossil plant set the price at that half-hour's fossil share of supply (learned from the 2019-2026 price-setter labels). Shown as the demand-weighted change in the year's price.
Limits. Renewables, nuclear, imports and demand stay as they were. It leaves out the cost of keeping old stations open and meeting emission limits, and how interconnector flows would have shifted. Gas before 2018 is the World Bank's European price; coal is a South African price.
How the model was calibrated
Each year coal's running cost carries an adjustment that makes the model reproduce the coal that actually ran. On fuel and carbon costs alone it would have run less in most years and more in 2021 and 2022. Years with no coal take the median.
| Year | Coal that ran, TWh | Fuel and carbon alone, TWh | Adjustment, £/MWh |
|---|
How this is worked out
Method. For each year coal ran, the amount added to coal's running cost (£/MWh) is found by bisection so the model's coal output matches what actually ran. It stands for what fuel and carbon costs leave out: contracts and stockpiles, winter running, plant held for the system, and the 2021-22 coal shortage.
Limits. Renewables, nuclear, imports and demand stay as they were. It leaves out the cost of keeping old stations open and meeting emission limits, and how interconnector flows would have shifted. Gas before 2018 is the World Bank's European price; coal is a South African price.
How it works
Each half-hour from January 2015, the gas and coal output that actually ran (NESO's generation mix) is shared again between the gas fleet and the coal stations open on that date, cheapest fuel-plus-carbon cost first. Gas plants range from 45% to 55% efficient and keep a must-run floor; coal is 80% available. The price moves by the change in the marginal plant's cost, times the chance that fossil plant set the price at that share of fossil output, learned from 2019 to 2026. Renewables, nuclear, imports and demand stay as they were.
Left out: the cost of keeping old stations open and meeting emission limits, and how interconnector flows would have shifted as prices fell. ETS prices for 2015 and 2016 are approximate, and gas before 2018 is the World Bank's European price.
Data and sources
Every number on this page is drawn from one of these files, built from public data: Elexon's balancing and settlement data, NESO, LCCC, Ofgem's price cap and Renewables Obligation reports, ONS, DESNZ, the World Bank, the Crown Estate's offshore wind ownership register, and company announcements for who owns what. Each chart's How this is worked out note gives its method and limits.
- Balancing costs by year: NESO balancing costs by category, £ million, with constraints' share, by year (2019 from February, 2026 to September).
- Household bill by cap period: The same bill for each Ofgem cap period from January 2019 to September 2026, £ a year for a typical household, with grouped parts, what the household paid, and what taxpayers paid through the Energy Price Guarantee and the RO.
- Household bill by year: A typical household's electricity bill (2,700 kWh a year, single-rate, direct debit, GB average) under Ofgem's price cap, split by what drives it, £ per MWh used, calendar-year averages: wholesale energy before carbon, carbon pricing, CfD, RO, FiT, ECO, Warm Home Discount, AAHEDC, NCC, nuclear RAB, Capacity Market, balancing, networks, supplier costs, margin, VAT, and what taxpayers pay.
- How concentrated BM payments are: By year, the ten units' share of offer payments and of payments to turn down, and the Herfindahl index across owners.
- Explorer units by month: Each explorer unit's balancing payments (£ thousand), volumes and average accepted prices by month.
- Units in the explorer: The 150 units with the most money through the balancing mechanism either way, with their totals.
- Offers against running cost: Gas and coal units' accepted offers against estimated running cost, overall and in tight and other half-hours.
- BM payments by technology: £ million paid to units each year for offers and to turn down, by technology group.
- Gas and coal turn-downs: Gas and coal units turned down for system reasons: volume, bid price, estimated fuel and carbon saved, and what they kept.
- BM payments by unit: Every unit paid in the balancing mechanism, February 2019 to September 2026: money received and paid back, volumes, average accepted prices and the system-flagged share.
- Wind paid to stop: £ million paid to wind farms to turn down each year, by country, with the volume and the average payment per MWh.
- Balancing mechanism by year: What NESO paid units for offers and to turn down, what units paid back, the net, and NESO's reported balancing costs, by year.
- Sharpest running changes: Each unit's sharpest shift in running share against the fleet median, 2019-2026, top 10.
- Carbon in the price: When gas set the price, 2019-2026: mean price, mean carbon cost of a CCGT and carbon's median share of the price.
- Carbon in the price, by year: Carbon price, a CCGT's carbon cost and its share of the price in gas-marginal half-hours, by year.
- Who received carbon pricing's money: February 2019 to September 2026, £bn: what consumers paid for carbon pricing and who received it, for Carbon Price Support alone and for all carbon pricing.
- Price with and without carbon pricing: Monthly mean market index price, and the same without Carbon Price Support and without any carbon price, February 2019 to September 2026.
- Carbon pricing by owner: Each owner whose units delivered at least 0.05 TWh, February 2019 to September 2026: what carbon pricing added to revenue, carbon paid, passed back through CfDs and kept (£m).
- Carbon pricing by generator: Each generator that delivered at least 0.05 TWh, February 2019 to September 2026: what carbon pricing added to its revenue, the carbon it paid at a reference efficiency, what its CfD passed back, and what it kept (£m).
- Carbon pricing by year: By year: ETS price, mean price with and without carbon pricing, what it added per MWh used (and the coal-model re-dispatch check), what consumers paid after CfDs, the share that went on carbon payments, extra CO2 without it, and who received the money (£m, without any carbon price). From outputs/carbon_pricing_by_year.csv and carbon_money_by_year.csv.
- CfDs' wholesale saving: How far CfD output lowered the GB wholesale price, short-run, from the price model run with and without it, against CfD payments, by April-to-March year.
- CfDs by technology, 2025-26: CfD generation, strike price, market value and top-up per MWh by technology, April 2025 to March 2026, from LCCC.
- Coal counterfactual by year: Each scenario's coal generation, extra CO2 and change in the wholesale price by calendar year, with gas and coal prices.
- Coal model calibration: Coal that actually ran each year, what fuel and carbon costs alone would have run, and the adjustment to coal's running cost that matches the two.
- Coal counterfactual scenarios: Totals from January 2015 to September 2026 for each coal and carbon-price scenario: coal generation, extra CO2, wholesale and household savings, Carbon Price Support forgone and the DESNZ value of the extra CO2.
- Cross-owner coincidence test: Observed against simulated same-day outage pairs between owners, with a baseline per fuel and per unit, 2019-2026.
- Constraint costs by type: NESO constraint costs by type, £ million, and volumes, GWh, by year.
- Cost per MWh by generator: Every metered generator that delivered at least 50 GWh: output, share turned down, market price, subsidy and cost per MWh delivered, February 2019 to September 2026.
- Cost per MWh, Scotland vs E&W: Cost per MWh delivered for each technology in Scotland and in England and Wales, February 2019 to September 2026.
- All-in cost of a MWh: By year: the generation-weighted wholesale price plus CfD, RO and balancing costs (split into system-flagged BM actions, the rest of the BM and other services) per MWh of demand, and the total.
- Cost per MWh by technology: For each technology, February 2019 to September 2026: TWh delivered and cost per MWh delivered three ways (simple, paid, with replacement energy).
- Daily prices and costs: Daily means of the APX market index price, the price without carbon pricing (ETS and Carbon Price Support), the price model's out-of-sample predictions with and without GB's own gas price, and a 49%-efficient CCGT's running cost, February 2019 to September 2026. From data/processed/system_labelled.parquet, price_predictions.parquet and outputs/carbon_prices_daily.csv.
- What set the price: Share of priced half-hours, generation and hours by inferred price-setter, February 2019 to September 2026.
- What set the price, by year: Share of priced half-hours by inferred price-setter for each year.
- Offer mark-ups by year: Median first-offer mark-up over estimated running cost while running, by fuel and year, where at least three units ran.
- Revealed merit order by fuel: Medians by fuel of place in the revealed merit order, switch-on point, running share, capacity factor and starts.
- Revealed merit order, 2021: Implied efficiency and breakeven price for each CCGT from when it ran in 2021.
- Revealed merit order by unit: Each metered unit in order of its switch-on point against the national price, with how much it ran in its market position and as metered, capacity factor and starts.
- Price model accuracy: Mean absolute error of the gas-and-fundamentals price model, the global-gas-only model, the earlier fundamentals model and a cost-only benchmark, each month held out, 2019-2026.
- Price model by month: Mean price, prediction, bias and error for each month, February 2019 to September 2026.
- Price model inputs: Permutation importance of each input to the price model: rise in mean absolute error, £/MWh, when the input is shuffled.
- Price model inputs, global gas only: Permutation importance of each input to the model without GB's own gas price: rise in mean absolute error, £/MWh, when the input is shuffled.
- Outage model terms: Coefficients of the unplanned-outage logit with a baseline per unit and month and year effects, physical and test terms.
- Outages and model misses: Regression of price-model residuals on unavailable capacity from REMIT notices, with month effects.
- Unplanned outages by owner: Unplanned REMIT outages, February 2019 to September 2026, for owners with at least 500 MW. Closure notices and a unit's time after it stopped for good are left out.
- Balancing money by shareholder country: Balancing payments to units by the headquarters country of their shareholders, February 2019 to September 2026, £m.
- Balancing money by shareholder: Each shareholder's share of balancing payments to units (offers and payments to turn down), February 2019 to September 2026, with headquarters country, kind and controller. From outputs/ownership_owners.csv; register in config/unit_owners.csv and config/owners.csv.
- Balancing money ownership summary: Totals: money paid to units, share traced to an owner, share to overseas and foreign-state shareholders, wind turn-down money overseas, and the look-through for UK-listed owners.
- Units and their shareholders: Each unit paid at least £0.5m: what it received, the share that went to overseas shareholders, and its shareholders in the latest month.
- Balancing money by year and shareholder location: By year: payments to units, and to wind farms to turn down, by UK shareholders, overseas shareholders, foreign-state-owned shareholders and units not identified, £m.
- REMIT publication lag by year: Notices, median hours from outage start to first notice, and share published after the start, by year and planned/unplanned.
- Renewable support by year: CfD and RO revenue and cost per MWh, the day-ahead price and a gas plant's running cost, by April-to-March year, 2019-20 to 2025-26 (RO to 2024-25).
- RO revenue above CfD terms: RO revenue beyond the strike price of CfDs for the same technology, against the earliest contracts and against every contract, by April-to-March year. From outputs/ro_excess_by_year_early_cfds.csv and outputs/ro_excess_by_year_all_cfds.csv.
- Gas share sensitivity: Gas and gas-or-coal share of half-hours under different price bands and plant efficiencies, 2019-2026.
- South Humber Bank case comparison: Turn-downs, bids, bid discounts and offer mark-ups before, during and after the EP SHB case period, against Humber peers and CCGTs elsewhere.
- South Humber Bank running share: Monthly share of the time each South Humber Bank unit generated, with the fleet median, 2019-2026.
- South Humber Bank turn-downs: System-flagged acceptances moving units down, per running unit per month: South Humber Bank, other Humber CCGTs and CCGTs elsewhere.