How we model generation capacities and output in Europe
Generation output is based on load factors and short-run marginal costs (SRMCs) for each technology type. The following sections dive deeper into how each technology type has its load factors and costs modelled into the supply stack.
We also share our base commodity price assumptions, which feed into the running costs of different technology types.
Forecast generation capacities
We forecast generation capacities based on current capacities (from ENTSO-E and individual countriesâ national numbers), and our in-house capacity expansion modelling. In short, the capacity expansion model adopts a centralised approach to buildout aimed at minimising system costs while maintaining grid reliability.
Thermal generation
How we model the varied bidding behaviour of thermal generation
Thermal generation types
Thermal generation technologies are the largest category of price-sensitive generation on todays grid. Unlike renewable technologies like solar and wind which have very little marginal cost to run once they are built, thermal generators must compensate for fuel, start-up and carbon costs when they run. Our model has five main categories of thermal generators:
- Biomass
- Coal
- Gas
- CCS (biomass and gas)
- H2 peakers
Short-run marginal costs
The bidding behaviour of thermal generation is complex and has a big impact on price shape and volatility. We model thermal generation by first calculating their short-run marginal cost (SRMC)âi.e. what it costs each unit to generate.
Generators that require fuel (gas, coal, biomass, hydrogen) get a fuel SRMC, which takes into account each plantâs efficiency. So, lower-efficiency gas CCGTs have a higher fuel SRMC than high-efficiency ones (because they use more fuel). Gas and hydrogen prices vary monthly, and biomass and coal vary annually.
Carbon costs are also accounted for, using the projection of carbon price from the FES and plant efficiency.
Start costs
The model calculates start-up costs for thermal power plants to reflect the real costs of bringing a plant online from an offline state. These costs are important for unit commitment decisions, as they influence whether itâs economical to start a plant for short periods of operation.
Start-up costs have three main components:
- Fuel consumption: Uses baseline data for cold starts from each plant type, then applies technology-specific factors depending on the thermal state of the plant
- Start type: Hot, warm, or coldâwe assume all techs do warm starts in our model
- Carbon emissions: Calculates COâ costs based on the plantâs carbon intensity and the prevailing carbon price
The final start-up cost combines the fuel cost with the carbon cost:
Outages
The model calculates thermal load factors to reflect the proportion of a thermal unitâs nameplate capacity expected to be available for dispatch at each interval.
For new thermal units with no operating history, the model simulates outages by extending historical averages for the specific technology type and the country where the unit is commissioned.
Load factors are then applied to each unitâs nameplate capacity in the thermal supply stack to get the unitâs dispatchable capacity.
This approach ensures the dispatch simulation reflects the limited and variable availability of thermal units. Renewable generation, by contrast, is modelled separately using weather-driven profiles that capture resource specific variability. See the renewable generation section below for more information.
Combined heat and power plants
Combined heat and power plants (CHPs) are responsible for a large share of Germanyâs total installed capacity. These type of plants are used to supply both heat and electricity demands. As such, they donât only follow power market signals, but also the need for thermal power to heat homes.
To account for this behaviour, we model CHPs as must-run units and they will generate even during low power price periods. In our model this is achieved through their bids being at our market floor price.
CHPsâ load factors are modelled in a similar fashion to renewable generators. We use weather-driven profiles 2023-2024 and project these forward in the forecast.
Renewable generation
What do we do to forecast actual renewable generation?
Intermittent renewable generation is modelled using historical wind and solar load factors from Renewables Ninja to project forward wind and solar generation.
Run-of-river hydro and biomass generation are modelled using load factors derived from historical availability data provided by ENTSO-E.
Note: A load factor is defined as the ratio of actual energy generated to the total available (installed) capacity of a generator over a given period.
For this model, we use 15-minute interval availability data from the year 2018 to construct representative load factor profiles for each renewable technology type. These load factors are then applied to the projected installed capacity for each 15-minute interval across the forecast horizon.
A substitution load factor is used for technology/country pairs where historical data is unavailable or for future new entrant technologies. This substitution is done based on recognisable similar weather patterns between countries:
- Netherlands and Belgium
- Ireland and Great Britain
Short-run marginal costs
Renewable generators short-run-marginal costs (SRMCs) are adjusted to reflect operational subsidies and renewable certificates (REGOs / GOOs), which can result in negative marginal costs.
For example, subsidised generators may get paid for each MWh of energy they produce via a Renewable Obligation Certificate (ROC), a Contract for Difference (CfD) scheme, a Feed-in Tariff (FiT) scheme, etc.
Hydro power
How we model the generation of power from water flow
Types of hydro power
Hydro power generation comes in three main variants:
- Pumped storage hydro
- A flexible asset which can capture hydro energy as a normal hydro plant would, and also use energy to refill its reservoir
- Run-of-river
- Captures the flow of water down a river without the presence of a dam to allow the water to be stored
- Reservoir hydro
- More flexible than run-of-river hydro, with the reservoir allowing operators to hold back generation for times when it is most lucrative to produce
Pumped storage hydro
Pumped hydro is a technology grids have traditionally used to provide flexibility in the day-ahead and intraday markets. In our fundamentals model pumped hydro utilizes much of the same coding logic as we use for BESS assets. There are some differences, however, such as a lower round-trip efficiency and longer duration as compared to a typical BESS asset.
Run-of-river
Run-of-river plants cannot, in general, be curtailed. They must therefore always bid into the market, and so we take their bids to be at the market floor in our generation stack.
Reservoir hydro
Because reservoir hydro is a highly flexible generation type, it is a highly relevant technology in setting the market price. For the Iberian market this type of generation is a significant fraction of the overall generation mix and key in building the price shape. For Germany, even though reservoir hydro power isnât a large proportion of the generation stack directly, it often indirectly sets the price via interconnector imports from hydro-abundant Scandinavian and Alpine regions.
Seasonality
Hydro power is a highly seasonal generation type due to the relative amounts of rainfall and meltwater during different parts of the year. For the hydro operators this means seasonal variation in terms of how much flow they must maintain/hold back to keep dam levels within reasonable limits. One method we have used to capture this effect is using past data to extract the seasonal fraction of the hydro reservoir flow that is baselineâin that it is observed to run constantly regardless of electricity price.
S-curves
For Spain and Portugal in particular we have access to market bid data from the TSO to build our hydro S-curves, while in other countries (which donât have transparent operator bid data) we need to calibrate the SRMCs using historical prices and load factors. We can evaluate the success of our curve tuning by looking at price shapes in countries with relatively large hydro capacities.
In Europe there are four countries for which hydro power represents a larger than 10% share of installed generation capacity: Sweden, Norway, Switzerland, and Spain. Here we see a good match to historical price shapes.
Nuclear
How we model nuclear generation dispatch and availability patterns
Nuclear power is modelled as a baseload, seasonally-adjusted generation source with availability patterns that reflect real-world operational constraints, maintenance schedules, and market dynamics. France is treated as a special case: part of its nuclear fleet is modelled as price-responsive dispatch. Nuclear availability is modelled using historical outage patterns derived from actual generation and capacity data.
Load factors
The model uses historical data in the period Sept 2023âSept 2024 to establish baseline availability patterns. Historical nuclear generation is combined with available capacity data to calculate load factors that reflect both planned and unplanned outages. These patterns are decomposed into three seasonal components:
- Hour-of-day effects: Capturing any intraday load-following behaviour
- Day-of-week patterns: Reflecting weekly operational cycles
- Rolling seasonal patterns: Using a 28-day rolling window to capture longer-term maintenance cycles and seasonal variations
French nuclear flexibility
The French nuclear fleet has a unique operational flexibility. Unlike other countries where nuclear runs as pure baseload, French nuclear demonstrates price-responsive behaviour. We model this by:
- Calculating the total proportion of capacity that shows price-responsive behaviour
- Reducing baseline French nuclear capacity by this proportion
- Creating new dispatchable nuclear units with supply curves based on the price regression
Integration with capacity planning
Nuclear capacity follows country-specific retirement and policy schedules:
- Germany: Zero capacity from April 2023 onwards following the nuclear phase-out
- Spain: Based on the â7o. Plan General de Residuos Radioactivosâ (PGRR, 2023) nuclear phase-out plan
- France: Capacity evolution based on RTEâs âFuturs ĂnergĂ©tiques 2050â NO3 scenario
- Other countries: Capacity evolution based on announced plant closures and life extensions
Commodity prices
Our commodity prices come from reputable third-party sources
Commodity prices are an essential input to determine start costs and short-run marginal costs for thermal generators. As well as fuel prices (gas, coal, biomass) we also model other financial commodities such as carbon credits as well as subsidy scheme values. In the backtest we can use daily historical prices to model commodities, while in the forecast we use a blend of the following:
- Forward curves from futures contracts
- Long-term forecasts from reputable external sources: for example NESO, Deloitte, and Oxford Economics
- For gas price data we additionally enrich our annual forecast numbers from curve providers with seasonality patterns derived from futures contract prices
Hydrogen costs
Hydrogen costs are projected using a combination of sourcesâthe Modo Energy hydrogen model, which blends short-term prices from the European Hydrogen Observatory and ICCT with our own longer-term view.
Carbon costs
Our model includes a cost of carbon at the rate set by the EU Emission Trading System. In the backtest we use the daily historical carbon price, while in the forecast we use projections based on the Announced Pledges Scenario published by IEA.
Gas prices
We predict gas prices with a blend built on the shorter end from CME futures, and on the longer end using curves from Oxford Economics and Deloitte. The seasonality of our curve is built from the seasonality of the futures contracts.
Coal and biomass
In addition to the above commodities, which are the main drivers of firm power SRMCs in the long run, we also use fuel cost projections for coal and biomass. For coal we use projections in the FES 2025 report for the Coal (API2) CIF ARA benchmark.