Supporting materials
Methodology
Generation, imports and demand
Annual data from 1990 to 2024 is gross generation, published primarily by Eurostat with wind generation data from IRENA. 2025 data is an estimate of gross generation, based on net generation gathered from monthly data. This estimate is calculated by applying absolute changes in net generation to the most recent gross baseline. Net imports from 1990 to 2024 are also published by Eurostat, with recent data estimated in the same manner as generation. Demand is calculated as the sum of generation and net imports, and validated against direct demand figures published by ENTSO-E.
Monthly data is gathered from a number of sources, including both centrally reported ENTSO-E, Eurostat and directly reported national transmission system operators. In some cases data is published on a monthly lag; here we have estimated recent months based on relative changes in previous years. These cases are flagged in the dataset. Monthly published data is often reported provisionally, and is far from perfect. Every effort has been made to ensure accuracy, and where possible we compare multiple sources to confirm their agreement.
Hourly data has in most cases been sourced from ENTSO-E. Alternative sources have been used where ENTSO-E has been observed to supply incomplete data, such as missing generation from distributed solar or industrial thermal generation. These can be found in the per-country source list below.
A more detailed description can be found in our methodology.
Below is a list of countries included, and sources for monthly data:
- Austria: ENTSO-E, Eurostat, solar from E-Control GmbH
- Belgium: ENTSO-E
- Bulgaria: ENTSO-E
- Croatia: ENTSO-E with solar adjusted using a bespoke methodology to account for missing behind-the-meter
- Cyprus: Eurostat; hourly data used in analysis from Cyprus Transmission System Operator
- Czechia: ENTSO-E
- Denmark: ENTSO-E
- Estonia: ENTSO-E
- Finland: Biomass, gas, hydro, solar and wind from Eurostat; other fuels from ENTSO-E
- France: ENTSO-E
- Germany: Gas and solar from Energy-Charts; all other fuels from Agora Energiewende; flow data from ENTSO-E; yearly gas generation data from the Energy Institute
- Greece: ENTSO-E
- Hungary: Solar data before 2020 from Eurostat; solar data since 2025 from Mavir; other fuels from ENTSO-E
- Ireland: Generation and flow data from Sustainable Energy Authority of Ireland; no hourly data used in analysis
- Italy: Bioenergy, wind and solar from Terna, hydro is also taken from Terna and scaled using Eurostat to account for pumped hydro; other fuels from ENTSO-E; flow data from Terna
- Latvia: solar from AST; other fuels from ENTSO-E
- Lithuania: ENTSO-E
- Luxembourg: ENTSO-E
- Malta: Eurostat; no hourly data available for use in analysis
- Netherlands: Monthly data pre-2021 from Statistics Netherlands (CBS), post-2021 from the nationaal energie dashboard; hourly data pre-2021 data is based on ENTSO-E and CBS, post-2021 from the nationaal energie dashboard
- Poland: Solar data from ARE via Instrat pre-2021; other fuels from ENTSO-E; pre-2021 hourly solar data used in analysis modelled based on capacity from Instrat and insolation data from Open-Meteo
- Portugal: ENTSO-E, solar is adjusted using Eurostat
- Romania: ENTSO-E with solar adjusted using a bespoke methodology to account for missing behind-the-meter
- Slovakia: ENTSO-E
- Slovenia: ENTSO-E, solar is adjusted using Eurostat
- Spain: ENTSO-E with solar adjusted using a bespoke methodology to account for missing behind-the-meter; flow data from Red Eléctrica
- Sweden: ENTSO-E; hourly solar data used in analysis from Elstatistik
The annual increase in solar generation in 2025 is compared to the equivalent annual electricity production from France’s nuclear plants, assuming a 68% capacity factor and an average plant capacity of 3.3 GW.
Power price data
Wholesale electricity prices are average day-ahead spot prices per MWh sold per hour, cleaned and sourced from ENTSO-E and semopx. Load-weighting is applied to compute average power prices for countries with multiple price zones: Italy, Sweden, Denmark. These are the prices paid to electricity generators, and are not the same as retail electricity prices or total costs to end users. No price analysis for Cyprus and Malta due to lack of reliable price data.
Average power price in peak gas hours for Germany is the simple average of hourly prices during hours when gas share of hourly generation is larger than 20% in 2025. Average power price in hours with plentiful solar generation for Germany is the simple average of hourly prices during hours when solar share of hourly generation is larger than 20% in 2025.
For the EU, the average power price in hours with plentiful solar generation is the simple average of hourly prices during between 7 am and 4 pm, while the average power price in peak gas use hours is the simple average of hourly prices during between 0-6 am and 5-11 pm.
Gas import bill for the EU power sector
It assumes plant efficiencies of 50% (Higher Heating Value) for gas, this value then multiplied by fuel costs. These are taken from day-ahead TTF prices for gas, unless specific country market data is available, see Methodology for details.
Import dependencies are derived from Eurostat data. Values are carried over from 2023, which represents a conservative approach as indigenous production is generally in decline across the EU.
Weather data
For irradiation: population weighted average of Germany, Netherlands, Belgium, France, Denmark, Ireland and Sweden.
Wind speed: population weighted average of Germany, Netherlands, Belgium, France, Denmark, Ireland and Sweden.
Battery storage data
The source for battery capacity is the Real-time Energy Storage Dashboard available on European Energy Storage Inventory, retrieved on 16th December 2025, filtering for “electrochemical storage” in the technology category. As a time step is not available, it is assumed that the retrieved data points reflect the deployment and project pipeline as of mid-December 2025. As the EU battery market has been experiencing fast growth, deployment data are likely to be a conservative estimate. The dataset reports total storage power installed capacity (measured in GW) by country, representing maximum power that can be discharged by all the country’s batteries at a given time, starting from a fully charged state. It is assumed that the European Energy Storage Inventory includes only front-the-meter, grid-scale battery capacity, while it excludes behind-the-meter battery capacity (e.g. home battery). Project pipeline is computed as the sum of the following categories: in-construction, permitted, announced.
The battery capacity as a percentage of total installed solar and wind capacity is computed as follows:
- Battery capacity in GW, refers to operational grid-scale installations only. Behind the meter batteries (such as home batteries) are excluded
- Solar capacity in GWdc and wind capacity are both taken from Ember’s monthly wind and solar capacity dataset. For reference we used either the date corresponding to the snapshot of the JRC database or the latest available date. For countries where monthly data was not available an average growth factor based on the subset of available data from European countries was computed and applied to the latest yearly installation numbers. Utility-scale solar capacity is estimated from total installed solar capacity according to Ember research on market segmentation.
Battery economics
Ember analysis suggests that shifting electricity in time with a battery costs $55/MWh (€49/MWh) in Italy, based on the following assumptions:
- Utilization 90%
- 120$/kWh capex (based Italy’s MACSE storage tender in October 2025)
As the cost of charging electricity during hours of peak clean power production in Italy could be as low as €14/MWh (Italy power prices averaged €14/MWh between 11am and 14pm in September 2025), time-shifted solar or wind could cost around €64/MWh. This is lower than the cost of producing electricity with a typical gas power plant which averaged €111/MWh in Italy in 2025. Gas is typically the most expensive source of electricity, and currently sets the price in EU power markets.
The annual investment in battery capacity to deliver Germany‘s current battery pipeline is computed based on the following assumptions:
- 10.5 GW battery pipeline based on European Energy Storage Inventory (retrieved on 16 December 2025), converted in GWh assuming a 2.5-hour duration
- €111/kWh all-in capex for utility-scale battery storage outside China and the US, based on Ember’s insight, converted into EUR.
- A 20-year lifetime, which is now the standard design life of the battery, as LFP technology has enabled higher cycle life.
Curtailment data
For Germany curtailment data the baseline used is the monthly for downward redispatch volumes from the Bundesnetzagentur (BNetzA). To derive an hourly profile for offshore, we used redispatch volumes from the four German TSOs and applied the shape of their hourly redispatch to reach the total monthly values. For onshore and solar we filtered redispatch volumes from Avacon, Bayernwerk, e.dis and SH Netz for curtailed onshore and solar generation and fitted the shape to the BNetzA’s monthly total values. For both time series, we included a weighting towards hours with high wind or solar generation, based on the assumption that curtailments increase with the amount of wind generation. Costs per hour of renewable redispatch were taken from the BNetzA as well. Costs for the import of gas use the same values as Ember’s European electricity prices and costs data tool. Since the time series for total redispatch volumes and cost of renewable curtailments end in September 2025 the missing months were projected using historical ratios of curtailments to total generation and the partial curtailment volumes mentioned above. For the costs an average of the most recent years was used.
For curtailments as a share of generation the sum of curtailments of solar and wind was divided by the sum of solar and wind generation plus the sum of curtailments for each month. The share of combined curtailments of combined generation was split along the ratio of wind and solar curtailment per month.
Avoided redispatch costs and gas purchase costs thanks to additional battery storage
For the gas displacement in Germany, we assumed the following: A battery stock of 26.3 GWh, based on the latest capacity pipeline from the European Energy Storage Inventory, with a round-trip efficiency of 90%. If a curtailment occurs in any hour, the battery is charged by that amount instead of up to its maximum storage capacity. It then discharges as soon as the curtailment ends and displaces generation from gas in a 1-to-1 ratio. The displaced gas-fired generation is then multiplied by the day-ahead gas prices to calculate the amount in EUR. The costs of avoided curtailments are calculated from the sum of curtailments stored in batteries times the cost of redispatch per MWh for renewable energies.
The battery strategy is left intentionally simple and is not optimised with real-time price information and revenue streams from other services (frequency response and other ancillary services to the grid). It also does not force the battery stock to conform to the observed from mature battery markets, such as California, of charging during midday and discharging in the evening, but rather prioritises a reduction in curtailment volumes.
Acknowledgements
Contributors
Ember: Alison Candlin, Paweł Czyżak, Nicolas Fulghum, Hannah Granados Smith, Leo Heberer, Claire Kaelin, Raul Miranda, Lauren Orso, Beatrice Petrovich, Chris Rosslowe
We thank our external reviewers: Bram Claeys (Regulatory Assistance Project), Joanna Flisowska (European Climate Foundation), Ben McWilliams (Bruegel).
Cover image
monkeybusinessimages, iStock / Getty Images Plus