FAQs

Frequently asked questions about the UK & Europe forecast methodology.


General Questions

What geographic regions does the model cover?

The model covers 15 different regions in Europe, including Great Britain, Germany, France, Spain, Portugal, Italy, Belgium, Netherlands, Austria, Switzerland, Poland, Norway, Sweden, Denmark, and Ireland. A region is defined as a country or a combination of countries that make a bidding zone (e.g., Germany and Luxembourg).

What time horizon does the forecast cover?

Our European power price forecast runs out to 2060, with 15-minute granularity for prices and dispatch outputs.

What temporal resolution is used in the model?

The model runs at 15-minute granularity to build a full time series of electricity and ancillary services prices. This aligns with European wholesale power markets, after the day-ahead market moved from hourly to 15-minute trading intervals on 30th September 2025.

Are the forecasts in real or nominal terms?

All forecast outputs are in real terms, expressed in a 2025 currency base. This applies to every output — charts on the platform, downloadable files, prices, and revenues. A price shown as EUR/MWh or GBP/MWh on any forecast chart is in 2025 money, not nominal money.

The currency base is also stated in the forecast revenues output file and is subject to updates. Converting to nominal terms requires applying separate inflation assumptions.

Which scenarios are available for each market?

Scenario availability varies by market and can change between releases. The scenario options shown when creating a forecast are the definitive list for that market in the current release. Where a scenario is not offered, it has not been produced for that market — for example, markets without a High scenario cover the range of outcomes through the Central and Low scenarios. See the Scenarios page for what differs between scenarios.


Power Prices

How are day-ahead prices determined?

Day-ahead prices are determined by building a supply stack that matches supply with demand in each 15-minute period. The model considers generator costs (fuel, carbon, start-up), availability, network constraints, and interconnector flows to determine the clearing price.

How do you model intraday prices?

Intraday prices are modelled by considering forecast errors between day-ahead and actual (outturn) values for demand, wind, and solar generation. We also account for human behaviours like herding that can amplify price movements.

What drives price volatility in the model?

Price volatility is driven by several factors: renewable intermittency, demand variability, plant outages, interconnector constraints, and storage operations. The model captures both short-term (within-day) and longer-term (seasonal) volatility patterns.


Battery Storage

What energy capacity value do you need?

AC useable energy capacity at point of connection (POC) — the energy the battery can actually export to the grid, measured at the meter.

This should include all losses between the cells and the grid connection:

  • Inverter / power conversion losses
  • Transformer losses
  • Balance of plant / site distribution losses
  • Auxiliary consumption

If your OEM provides a degradation table with multiple capacity columns (e.g. “DC Useable”, “AC Useable at PCS”, “AC Useable at 400kV”), use the column measured at the grid connection.

What RTE value do you need?

Round-trip efficiency measured at POC — consistent with how AC useable capacity is measured.

This should include all losses in the round-trip:

  • Cell losses
  • Inverter / power conversion losses
  • Transformer losses
  • Balance of plant / site distribution losses
  • Auxiliary consumption

Why do you apply RTE to charging, not split across charge and discharge?

Our model applies all efficiency losses during the charging phase. This is a simplification, but it gives the correct import and export volumes — and therefore correct revenue.

Why it works:

RTE is defined as:

\[\text{RTE} = \frac{\text{Metered Export}}{\text{Metered Import}}\]

Rearranging:

\[\text{Metered Import} = \frac{\text{Metered Export}}{\text{RTE}} = \frac{\text{AC useable capacity}}{\text{RTE}}\]

The AC useable capacity is the metered export. Dividing by RTE gives the correct metered import. Both volumes are correct, so revenue is correct.

Why it’s equivalent to splitting losses:

Applying RTE to AC useable capacity is mathematically identical to applying split efficiencies (charge and discharge) to nameplate capacity:

Where:

  • \(\text{Import}\) is the metered import (energy drawn from the grid to fully charge the battery)
  • \(\text{AC useable}\) is the AC useable energy capacity at POC (energy the battery can export to the grid)
  • \(\text{Nameplate}\) is the nameplate (DC) energy capacity
  • \(\eta_{\text{charge}}\) is the charging efficiency at POC
  • \(\eta_{\text{discharge}}\) is the discharging efficiency at POC

Nameplate method:

\[\text{Import} = \frac{\text{Nameplate}}{\eta_{\text{charge}}} = \frac{\text{AC useable} \;/\; \eta_{\text{discharge}}}{\eta_{\text{charge}}} = \frac{\text{AC useable}}{\eta_{\text{charge}} \times \eta_{\text{discharge}}}\]

AC useable method:

\[\text{Import} = \frac{\text{AC useable}}{\text{RTE}} = \frac{\text{AC useable}}{\eta_{\text{charge}} \times \eta_{\text{discharge}}}\]

The discharge efficiency embedded in the AC useable capacity cancels with the discharge efficiency embedded in the RTE.

How is battery degradation modelled?

Battery degradation is modelled as a function of total cycles. We assume that usable capacity decreases over time based on cycling patterns. Users can toggle degradation on/off and specify repowering schedules in custom runs.

What battery durations are included?

The model includes batteries of various durations: 1h, 2h, 4h, 6h, and 8h. Each duration has different characteristics in terms of market participation and revenue potential.

How are frequency response revenues calculated?

Frequency response revenues are calculated using a dispatch model that co-optimises battery operation across Dynamic Containment, Dynamic Moderation, and Dynamic Regulation markets. Market saturation effects are included as battery capacity grows.

Can green co-located BESS be modelled (i.e. a battery that cannot charge from the grid)?

Yes. In the Grid connection tab, set the import limit to zero. The battery is then restricted to charging only from the co-located renewable asset, with no grid charging.

Does the “Maximum ancillary services capacity” limit apply to each product or to all ancillary services combined?

It applies to all ancillary services combined, not to each product separately. Available for Germany forecasts on the Grid connection tab, the field caps the total capacity the battery can commit across FCR, aFRR, and any other ancillary product. It is not a separate ceiling for each one.

The cap is applied to each direction independently. For example, at 75% on a 100 MW battery: the combined upward (discharge) ancillary capacity cannot exceed 75 MW, and the combined downward (charge) ancillary capacity cannot exceed 75 MW. Holding 50 MW of aFRR up leaves at most 25 MW for FCR and any other upward product in that direction — the products share the single limit rather than each getting their own.

The percentage is the maximum share available for ancillary services, not the share removed. Setting 75% allows up to 75% of rated power for ancillary services combined; it does not restrict participation to 25%. Leaving the field blank applies no restriction (100%).

This is separate from the FCR-specific rule, where maximum FCR capacity is always capped at 80% of rated power with symmetric provision required. See the German Dispatch Model page for full detail.


Model Inputs & Assumptions

Where do capacity forecasts come from?

Generation capacity forecasts are based on current installed capacities (from ENTSO-E and national data), combined with our in-house capacity expansion model that makes investment decisions based on economics and reliability requirements.

What commodity price sources are used?

Commodity prices are sourced from: forward curves from futures contracts, long-term forecasts from NESO, Deloitte, and Oxford Economics, and our internal Modo Energy hydrogen model.

How are renewable load factors determined?

Renewable load factors are derived from historical weather data using Renewables Ninja, based on a reference weather year (typically 2018). These profiles capture the resource-specific variability for wind and solar generation.


Calibration & Validation

How is the model validated?

The model is validated through extensive backtesting against historical data. We compare modelled prices with actual prices across multiple metrics: mean price levels, price distributions, intraday shapes (duck curves), and top-bottom spreads.

How are battery revenues calibrated?

Battery revenues are calibrated using the Modo Energy ME BESS Index, which tracks real-world revenues for battery assets in Great Britain. We compare modelled revenues with the 75th percentile of actual fleet performance to derive calibration factors:

  • 80% — Central scenario
  • 75% — Low scenario
  • 85% — High scenario

For details on what else differs between scenarios (gas prices, buildout, BM competition), see the Scenarios page.


Technical Details

What optimisation approach is used?

The model uses mixed-integer linear programming (MILP) for dispatch optimisation and linear programming (LP) for the capacity expansion model. Storage operations are co-optimised with generation dispatch to minimise total system cost.

How are network constraints handled?

Network constraints are modelled using a net transfer capacity (NTC) approach for interconnectors and boundary flow limits for internal constraints. The model captures asymmetric capacity limits based on direction of power flow.

What is the model’s computational approach?

The capacity expansion model uses 100 representative days per year (50 two-day chunks) with hourly dispatch, rolling forward year-by-year. The fundamentals model runs at 15-minute granularity for the full forecast horizon.