eupowerprices.com

How the Forecast Works

The forecasts on this site are generated using machine learning models trained on historical electricity market and weather data.

The forecasting process consists of two stages. First, separate models are used to forecast key market fundamentals such as renewable generation, and electricity demand. These forecasts, along with other market features, are then used as inputs to a downstream price model that estimates hourly day-ahead electricity prices for each bidding zone.

The price model is based on gradient-boosted decision trees and evaluates each forecast hour independently, allowing it to adapt to changing market conditions across the forecast horizon.

Historical training data currently extends back to 2023. Weather inputs are based on ECMWF forecasts and historical weather observations, combined with market data from ENTSO-E and other publicly available sources.

Key Inputs

The price model uses a combination of forecast fundamentals, market data, and calendar information, including:

  • Forecast electricity demand
  • Forecast wind and solar generation
  • Regional renewable generation conditions in neighboring countries
  • Available nuclear capacity where applicable
  • Hydrology indicators for Finland, Norway, and Sweden
  • Recent hydro generation for Finland, Norway, and Sweden, carried forward
  • Forecast cross-zonal net transfer capacity
  • Calendar effects such as season, weekday, hour, and public holidays
  • Recent market conditions, including historical price patterns

What the Model Learns

The model identifies patterns that have historically influenced electricity prices.

For example, strong wind generation, high solar output, or mild temperatures are often associated with lower prices. Conversely, colder weather, lower renewable generation, tighter hydro conditions, and stronger electricity demand have historically tended to increase prices.

Rather than attempting to explicitly simulate the physical operation of the power system, the model learns these relationships directly from historical data.

Geographic Coverage

Forecasts are currently available for:

  • Austria (AT)
  • Belgium (BE)
  • Czechia (CZ)
  • Denmark (DK1, DK2)
  • Estonia (EE)
  • Finland (FI)
  • France (FR)
  • Germany (DE)
  • Latvia (LV)
  • Lithuania (LT)
  • Netherlands (NL)
  • Norway (NO1-NO5)
  • Poland (PL)
  • Portugal (PT)
  • Slovakia (SK)
  • Spain (ES)
  • Sweden (SE1-SE4)

Limitations

Like any forecasting approach, the model has limitations.

The forecasts are generated using machine learning models trained on historical market, weather, hydrological, and power system data. Unlike detailed market simulation or optimization models, the approach does not explicitly model generation dispatch, transmission constraints, bidding behavior, reservoir scheduling, or other physical and economic mechanisms that determine market outcomes. Instead, it learns statistical relationships from historical observations.

The models rely on publicly available data sources. As a result, they do not explicitly incorporate every factor that can influence electricity prices. Examples include fuel market developments, emissions prices, market participant behavior, bilateral trading, and outages at non-nuclear power plants.

Cross-zonal transmission is represented through ENTSO-E forecast transfer capacities (NTC) on each border, which can reflect planned changes such as line maintenance. However, the model does not represent the flow-based market coupling process that actually clears much of the Nordic and European power market, nor does it use realized physical flows. Congestion effects between bidding zones are therefore only approximated.

Hydro generation for Finland, Norway, and Sweden is not predicted. The most recent observed daily generation level is carried forward unchanged and used as an input to the electricity price model. Hydrological conditions themselves — reservoir fill levels in Norway, modeled river flow in Sweden, snow and precipitation in Finland — remain separate inputs to the price model.

An earlier statistical hydro forecast was replaced by this simpler approach. Measured on the same set of days, carrying the last observed level forward was as accurate as or more accurate than the model in most zones, so the more transparent option was adopted as the baseline. Any future hydro model has to beat it before it would be used.

Hydro generation behavior differs significantly by plant type. Reservoir hydro is largely price-driven, as operators can store water when prices are low and generate when prices are high, reflecting the economic value of stored water. Run-of-river hydro, by contrast, is largely constrained by river flow and is therefore much less responsive to market prices. Neither the earlier model nor the current carry-forward represents these operational decisions, which is the main reason day-to-day hydro output is difficult to anticipate.

Only a daily average generation level is used, rather than the hour-by-hour dispatch profile, and no reservoir optimization, bid curves, or price-driven peak generation behavior are simulated. Because the level is held constant going forward, it cannot anticipate a genuine change in hydrological conditions or in how plants are being run, and its accuracy degrades the further ahead it is applied.

Extreme price spikes, negative-price events, and other unusual market situations can be difficult to predict reliably, particularly when similar events are rare in the historical record. As with most machine learning approaches, forecast uncertainty generally increases when the market experiences conditions outside the range of past observations.