progrunners.comenergy & technology
progrunners / aFRR and mFRR / Imbalance prices

Imbalance prices today, across Europe

The imbalance price is what a market party pays or receives for the gap between its schedule and what actually happened, settled per 15-minute period. Below are the latest published prices for 20 European areas, refreshed every 30 minutes.

Latest imbalance prices

AreaLatest24 h avg MinMaxPricing Period (CET)
DEGermany147.5158.6-7.4325.2single27/09 00:15
NLNetherlands214.8 / 214.8163.7-9.5386.0dual26/09 23:45
BEBelgium189.1143.5-3.5226.6single27/09 00:30
FRFrance168.3 / 150.9145.6-107.9272.6dual27/09 00:30
ATAustria155.5149.2-14.1292.0single27/09 00:00
CHSwitzerland237.1146.9-261.6339.9single26/09 23:00
CZCzechia CZK4 550.43 824.9-511.36 363.8single27/09 00:30
PLPoland PLN840.3726.030.61 337.2single27/09 00:00
HUHungary HUF36 857.5 / –17 403.5-17 932.040 163.0dual27/09 00:15
SISlovenia216.7143.6-127.1461.6single26/09 20:00
HRCroatia349.677.8-462.8463.0single27/09 00:15
RORomania RON332.8956.1-2 003.65 063.0single27/09 00:15
ESSpain187.0 / 187.0137.70.0251.1dual27/09 00:15
DK1Denmark 1119.1119.6-1.2368.4single27/09 00:00
DK2Denmark 2192.1154.2-8.7746.7single27/09 00:00
SE3Sweden 366.859.3-4.0327.8single27/09 00:15
NO1Norway 1131.1111.77.0140.9single27/09 00:15
FIFinland-2.039.2-3.8188.2single26/09 23:30
EEEstonia4.068.8-6.5208.8single26/09 22:45
LVLatvia7.657.3-2.3287.9single27/09 00:00

Where pricing is dual, “Latest” shows short / long (insufficient / excess balance). Prices per MWh in EUR, or in the TSO’s own currency where shown (CZK, PLN, HUF, RON), as published; TSOs may revise them. Dual pricing in the last 24 h: Netherlands, France, Hungary, Spain.

In the last 24 hours negative imbalance prices occurred in 17 of 20 areas, most often in Croatia (46% of quarter hours). The highest EUR price was 747 EUR/MWh in Denmark 2.

What is energy balancing?

Electricity cannot be stored in the grid, so generation and consumption must match at every moment or the frequency drifts away from 50 Hz. The job is split in two. Balance responsible parties — suppliers, generators, traders — plan their portfolios so that what they buy equals what they sell, per 15-minute period. What is still left over in real time is covered by the transmission system operator, which activates balancing energy: FCR, aFRR and mFRR.

The TSO then settles each party’s deviation at the imbalance price. That price is built from the cost of the balancing energy actually activated, which is why it is usually close to the day-ahead price and occasionally many times higher.

How the imbalance price is set

Each quarter hour the TSO looks at the net imbalance of its area and the balancing energy it had to buy to cover it. If the system was short, upward energy was activated and the price reflects its cost; if the system was long, downward energy was activated, and its price can be low or negative.

Single pricing gives long and short parties the same price. Dual pricing gives the two directions different prices, so whoever made the imbalance worse pays more. The table labels each area from its own published data, not from rulebooks.

Where the data comes from

Everything on this page is ENTSO-E Transparency Platform document type A85. Four things we learned the hard way: the response arrives zipped; the domain is the control area, not the bidding zone (Germany answers only to 10Y1001A1001A83F, the DE-LU code returns “No matching data”); prices come in local currency; and a quarter hour whose price equals the previous one is left out (curve type A03), so a naive parser sees gaps — in Sweden a third of the day. Portugal, Italy, Bulgaria, Lithuania, Greece, Ireland and Slovakia published nothing for the last two days, so they are not in the table.

import io, zipfile, urllib.request

TOKEN = "your-entso-e-token"
url = ("https://web-api.tp.entsoe.eu/api?securityToken=" + TOKEN +
       "&documentType=A85"
       "&controlArea_Domain=10Y1001A1001A83F"   # Germany as control area, not DE-LU
       "&periodStart=202609250000&periodEnd=202609260000")

raw = urllib.request.urlopen(url).read()
if raw[:2] == b"PK":                             # A85 arrives zipped
    z = zipfile.ZipFile(io.BytesIO(raw))
    raw = z.read(z.namelist()[0])
print(raw[:600].decode())

More on tokens, parameters and the usual errors in the ENTSO-E API guide.

Frequently asked questions

What is an imbalance price?

The price at which the transmission system operator settles the difference between what a balance responsible party scheduled and what its customers and plants actually did, for every 15-minute settlement period. It is derived from the cost of the balancing energy the TSO had to activate.

What is energy balancing?

Keeping generation and consumption equal at every moment so that grid frequency stays at 50 Hz. Market parties balance their own portfolios in advance; whatever imbalance is left, the TSO covers in real time with balancing reserves — FCR, aFRR and mFRR — and passes the cost on through the imbalance price.

What is the difference between single and dual imbalance pricing?

With single pricing, a party that is long and a party that is short in the same quarter hour settle at the same price. With dual pricing, the two directions get different prices, so a position that made the system imbalance worse pays more than one that helped. The table above labels each area from its published data.

Why can the imbalance price be negative?

When the whole system is long, the TSO activates downward balancing energy, and those bids can be negative — for example when wind and solar would rather pay than curtail. The imbalance price then follows them below zero, and parties that are long pay for their surplus.

What is reBAP?

reBAP is the German imbalance price (regelzonenübergreifender einheitlicher Bilanzausgleichsenergiepreis): one price for all four German control areas per quarter hour, calculated by the TSOs and published on netztransparenz.de.

Where can I download imbalance prices?

From the ENTSO-E Transparency Platform, document type A85, for every area that reports it — free with an API token. The code above shows the request; zone codes are in our EIC code list. National TSOs publish the same prices, often with more detail.

Explore the rest of the site