Methodology
Where every figure comes from, what we computed ourselves, and where the limits are. If a number on this site cannot be explained here, it is a bug.
MW and MWh are not the same thing
MW is power — how much the system is generating or consuming right now. MWh is energy — how much was generated or consumed over an interval. A 100 MW farm running for an hour delivers 100 MWh. Every “live” figure on this site is a power, in MW.
The day-ahead price
Price figures come from ENTSO-E's A44 document, requested separately for each bidding zone. It is the day-ahead auction result: generators and suppliers bid, and where their curves cross a price emerges for each interval of the following day. Every price on this site is a wholesale price — a household bill adds network tariffs, levies, VAT and the supplier's margin on top.
The delivery day is not the UTC day
ENTSO-E publishes the auction on the Central European day, for all coupled zones. Verified: Romania's document for 5 September 2026 covers 2026-09-04T22:00Z — 2026-09-05T22:00Z, that is the CET day, not the Bucharest day.
We group by the local day of each zone, because that is what the question means: someone asking “what does it cost today” means their day, midnight to midnight. Since the archive is continuous, a local day is assembled from the tails of two published documents and comes out whole. There is one visible consequence, at the leading edge: the last published document reaches one hour into the next day, and that day is marked incomplete until the rest arrives. We do not average it — four quarter-hours are not a day.
Averages are weighted by duration
The European market moved from hourly to quarter-hourly intervals on 1 October 2025. In our archive that means the same zone has nearly four years of 60-minute intervals and the rest at 15. Any average crossing that boundary has to be weighted by duration: a plain arithmetic mean would give a quarter of an hour the same weight as an hour.
The difference is measurable. For Romania, the changeover day — 1 October 2025, with 93 intervals and 1,440 minutes — gives 124.05 EUR/MWh weighted and 124.56 unweighted. The same rule applies to the median and the percentiles: the “median of the day” is the price below which half the time of the day was spent, not the 48th point out of 96.
Days of 23 and 25 hours
When the clocks change, a local day has 1,380 or 1,500 minutes. The summaries compute that from the calendar rather than assuming 1,440 — otherwise two days a year would be marked incomplete forever, and two others would look complete with an hour missing.
Negative prices
When wind and sun generate heavily while demand is low, the price falls below zero: consumers are paid to consume. It happens often — Germany saw quotes below −18 EUR/MWh in September 2026. We neither filter nor clip them to zero. Percentage changes are computed by dividing by the absolute value of the reference; without that, a move from −20 to −10 would appear as a fall, even though the price rose.
A country is not a price zone
Italy has seven bidding zones, Norway five, Sweden four, Denmark two. Their prices differ, sometimes widely. Where they differ, the site prints the range with both ends rather than their average: an average across zones describes no contract anyone could sign.
And the reverse: one zone can cover several countries. DE_LU belongs to Germany and Luxembourg; SEM, to Ireland and Northern Ireland. It is counted once.
The European average is arithmetic
The site's “European average” is the arithmetic mean of the zones with the day covered. It is not weighted by demand, because ENTSO-E does not publish traded volumes in the price document. The consequence: a small zone weighs exactly as much as Germany. The figure measures how widely prices are spread across Europe, not what European electricity costs.
Germany and Austria publish two series
For DE_LU and AT, ENTSO-E returns two price series with identical auction labels, distinguished only by a sequence number. The second carries quotes up to three days ahead — a horizon a spot auction cannot have, because the day after tomorrow's result does not exist yet. The document does not say what it is, and we do not assume. We show the first sequence, the only one whose horizon behaves like a day-ahead auction. The other's rows stay in the archive, unsummarised, until it is known what they are.
Imports and exports
Every country exchanges energy with its neighbours over interconnectors. We store each flow once per pair of countries, with a sign giving the direction. We do not sum “A to B” and “B to A” separately — that would be the same energy counted twice.
“Balance” means the net result. Positive, the country is importing; negative, exporting.
How we compute the renewable share
We divide the sum of renewable sources by total generation, using positive values only. Two decisions change the result, so we state them:
- Pumped-storage hydro does not count. It is storage, not generation — the energy was already counted once, when the water was pumped. Included, it would appear twice.
- Waste does not count. Incineration is partly fossil, and the biogenic fraction differs between countries and is not published separately. We cannot attribute it honestly.
The reason for “positive values only”: solar farms draw from the grid at night, for inverters and tracking motors, and the source reports that as negative generation. It is correct as a measurement, but a negative share would mean nothing in a composition chart.
Generation measured, estimated or forecast
- measured
- A value published by the operator. That includes zero, which is a real measurement — a stopped plant really does generate 0 MW.
- estimated
- Computed by us from published values. Always shown labelled.
- forecast
- Refers to the future. It is not a measurement and is never mixed with one.
- suspect
- Failed an automated consistency check. The data stays visible and flagged — we do not delete measurements because we dislike them.
Unattributed generation
Some sources publish a total generation larger than the sum of the categories they break out. The difference is real — usually battery storage — but has no category of its own in the feed. We show it as “other sources”, marked estimated, rather than hiding it (the mix would no longer add up to the total) or calling it an error (that would be a false alarm every minute).
Time zones
Internally we work exclusively in UTC. In the interface we convert to each country's zone. The two nights a year when the clocks change are handled explicitly: the hour that does not exist in spring, and the hour that happens twice in autumn.
Why our figures may differ from the operator's
The moment of reading differs. Operators republish and correct values. Some sources give instantaneous readings, others quarter-hourly averages. We always show the moment of the reading, so you can compare like with like.
What we do not do
We do not invent values for countries without data. We do not print zero in place of a missing measurement — a “—” means “we do not know”, and “0” means “we measured zero”. We do not infer congestion from price differences. When we have the measurement, we show the measurement.