Weather inputs
Our short-term forecasts for wind, solar, demand, and prices rely on two external weather data providers:
ECMWF (a.k.a. EC) – European Centre for Medium-Range Weather Forecasts
GFS – Global Forecast System from the U.S. National Oceanic and Atmospheric Administration (NOAA)
Both providers run four forecasts per day — 00, 06, 12, and 18 — across two model types :
OP (Operational): A single deterministic scenario (AIFS is too)
ENS (Ensemble): Multiple scenarios (50 for EC ENS, 100 for EC 46, 30 for GFS ENS)
For more details on our raw weather data coverage, see here
Forecast methodology
Our price forecasting combines machine learning and time series analysis, with a strong foundation in fundamental market drivers such as production, consumption, fuel prices, and interconnector capacity.
To ensure transparency and avoid the “black box effect”, our models operate in two sequential steps:
Step 1 – Fundamental Forecasts
We first convert raw weather data (temperature, wind speed, solar radiation, cloud cover, etc.) into forecasts of demand, wind production, solar production
This stage captures the physical supply-demand fundamentals that will later influence price formation.
Step 2 – Price Forecasts
The outputs in MW from the fundamental models are then fed into our machine learning-based price models to forecast 15-minute day-ahead electricity prices (€/MWh, £/MWh for GB). This approach combines fundamental analysis with historical market behavior, effectively capturing the complex interplay of physical system dynamics and structural price signals by combining several key parameters, such as:
Annual shape and level of demand
Installed renewable capacity
Fossil and nuclear power plant availabilities
Fuel prices (gas, coal, carbon)
Interconnector constraints
From the changes of these different variables, our model is able to predict for each of the future quarter hours a balance between supply and demand on the merit order for the wholesale market.
We use a single coupled machine learning model that predicts all 40+ interconnected bidding-zone prices simultaneously - this structure helps ensure greater coherence across the European day-ahead market. Our model is retrained daily, using an expanding historical window from 2015 to the most recent actuals.
Once finalized, forecast files are not modified further and are made available via FTP and API access.
15-minute price corrector
On top of the day-ahead forecasts, we apply a “sawtooth correction” that refines the 15-minute dynamics without impacting the hourly performance of the model.
This additional layer learns recurring patterns and adjusts the baseline forecast accordingly, leading to more accurate 15-minute predictions.
The corrector retrains on short rolling windows so it adapts quickly as market behavior changes. When sawtooth effects fade, it naturally winds down to avoid over-adjustment.
This enhancement improves 15-minute forecast accuracy - reducing mean absolute error, preserving hourly averages, and avoiding bias or overshooting.
Please note that all short-term forecasts are generated at 15-minute granularity. Hourly values are derived as the average of the four corresponding quarter-hour intervals.
Delivery timings
We ingests weather runs from ECMWF and NOAA as soon as files are released.
Delivery times vary by model and run. The times below represent the median, 90th percentile (p90), and 95th percentile (p95) of the availability of the full forecast (i.e. when the last forecasted hour becomes available).
Model | Runs (UTC) | Forecast horizon | Delivery times (UTC run : median / p90 / p95) |
EC OP | 00z, 06z, 12z, 18z | 14 days (00z/12z), 3 days (06z/18z) | 00z: 06:02 / 06:12 / 06:42 06z: 11:30 / 11:37 / 11:45 12z: 18:00 / 18:09 / 18:52 18z: 23:31 / 23:38 / 23:40 |
EC ENS | 00z, 06z, 12z, 18z | 14 days (00z/12z), 3 days (06z/18z) | 00z: 06:56 / 07:30 / 08:46 06z: 12:22 / 12:25 / 12:26 12z: 18:52 / 19:12 / 19:43 18z: 00:26 (D+1) / 00:34 (D+1) / 00:35 (D+1) |
EC ENS EXTENDED (46) | 00z | 46 days | 00z: 04:15 (D+1) / 08:03 (D+1) / 09:39 (D+1) |
EC AIFS | 00z, 06z, 12z, 18z | 15 days | 00z: 05:38 / 05:59 / 06:10 06z: 11:31 / 11:50 / 11:58 12z: 17:36 / 17:50 / 17:56 18z: 23:39 / 23:49 / 23:54 |
GFS OP | 00z, 06z, 12z, 18z | 16 days | 00z: 05:23 / 05:27 / 05:31 06z: 11:18 / 11:23 / 11:29 12z: 17:20 / 17:24 / 17:26 18z: 23:24 / 23:30 / 23:33 |
GFS ENS | 00z, 06z, 12z, 18z | 16 days | 00z: 06:47 / 06:53 / 07:01 06z: 12:45 / 12:50 / 12:52 12z: 18:47 / 18:52 / 18:57 18z: 00:50 (D+1) / 00:58 (D+1) / 01:05 (D+1) |
Notes:
All timings are given in UTC.
We update our forecasts as soon as a new weather file is available. Forecasts are delivered continuously: D+1 arrives first, followed by D+2, and so on until the full horizon is covered.
The times listed refer to when the last forecasted hour becomes available. Delivery times are indicative and may vary if weather centres or we experience delays.
Most of the delay from run start (e.g. 00z) to full delivery comes from the weather provider. Once we receive the data, forecasts are typically published in under one hour.
EC 46 production begins at 20:00 UTC and completes overnight, so our forecast is usually published around 04:00 UTC D+1. Thus, on day D, the latest available EC 46 run is D–1 00z.
Coverage
Zone | Live since | Wind | Solar | Load | Price DA |
Austria | 2019 | ✅ | ✅ | ✅ | ✅ |
Belgium | 2019 | ✅ | ✅ | ✅ | ✅ |
Bosnia and Herzegovina | 2025 | ✅ | ✅ | ✅ |
|
Bulgaria | 2025 | ✅ | ✅ | ✅ | ✅ |
Croatia | 2024 | ✅ | ✅ | ✅ | ✅ |
Czech Republic | 2023 | ✅ | ✅ | ✅ | ✅ |
DK1 | 2025 | ✅ | ✅ | ✅ | ✅ |
DK2 | 2025 | ✅ | ✅ | ✅ | ✅ |
Estonia | 2025 | ✅ | ✅ | ✅ | ✅ |
Finland | 2025 | ✅ | ✅ | ✅ | ✅ |
France | 2019 | ✅ | ✅ | ✅ | ✅ |
Georgia | 2025 | ✅ |
| ✅ |
|
Germany | 2019 | ✅ | ✅ | ✅ | ✅ |
Greece | 2025 | ✅ | ✅ | ✅ | ✅ |
Hungary | 2024 | ✅ | ✅ | ✅ | ✅ |
Ireland | 2025 | ✅ |
| ✅ |
|
Italy | 2021 | ✅ | ✅ | ✅ | ✅ |
IT-Calabria | 2025 | ✅ | ✅ | ✅ | ✅ |
IT-Centre-Nort | 2025 | ✅ | ✅ | ✅ | ✅ |
IT-Centre-South | 2025 | ✅ | ✅ | ✅ | ✅ |
IT-North | 2025 | ✅ | ✅ | ✅ | ✅ |
IT-Sardinia | 2025 | ✅ | ✅ | ✅ | ✅ |
IT-Sicily | 2025 | ✅ | ✅ | ✅ | ✅ |
IT-South | 2025 | ✅ | ✅ | ✅ | ✅ |
Latvia | 2025 | ✅ | ✅ | ✅ | ✅ |
Lithuania | 2025 | ✅ | ✅ | ✅ | ✅ |
Moldova | 2025 |
|
| ✅ |
|
Montenegro | 2025 | ✅ |
| ✅ |
|
Netherlands | 2019 | ✅ | ✅ | ✅ | ✅ |
NO1 | 2025 | ✅ |
| ✅ | ✅ |
NO2 | 2025 | ✅ |
| ✅ | ✅ |
NO3 | 2025 | ✅ |
| ✅ | ✅ |
NO4 | 2025 | ✅ |
| ✅ | ✅ |
NO5 | 2025 |
|
| ✅ | ✅ |
Poland | 2023 | ✅ | ✅ | ✅ | ✅ |
Portugal | 2025 | ✅ | ✅ | ✅ | ✅ |
Romania | 2024 | ✅ | ✅ | ✅ | ✅ |
SE1 | 2025 | ✅ | ✅ | ✅ | ✅ |
SE2 | 2025 | ✅ | ✅ | ✅ | ✅ |
SE3 | 2025 | ✅ | ✅ | ✅ | ✅ |
SE4 | 2025 | ✅ | ✅ | ✅ | ✅ |
Serbia | 2025 | ✅ |
| ✅ | ✅ |
Slovakia | 2024 |
| ✅ | ✅ | ✅ |
Slovenia | 2024 |
| ✅ | ✅ | ✅ |
Spain | 2021 | ✅ | ✅ | ✅ | ✅ |
Switzerland | 2021 | ✅ | ✅ | ✅ | ✅ |
United Kingdom | 2020 | ✅ | ✅ | ✅ | ✅ |
XK | 2025 |
|
| ✅ |
|
Access
API
Forecasts by run date
Returns all four daily forecast runs (00, 06, 12, 18) for a given date.
Horizon forecasts
Provides views of forecasts as they appeared from earlier run dates (e.g., D–1, D–2), useful for revision tracking and performance analysis.Ensemble statistics by run date
For a given run date, provides statistical summaries (min, q25, median, mean, q75, max) calculated across ensemble members from EC ENS and GFS ENS
FTP
For FTP access, connect to:
Host: calc1.cor-e.fr
Port (FTP): 21
Port (SFTP): 2222
Directory paths :
Generation:
4_Supply/Forecast/Generation/COR_E/{Country}/yyyy/mmDemand:
3_Demand/Forecast/Load/COR_E/{Country}/yyyy/mmSpot price:
2_Price/Forecast/Day_Ahead/COR_E/{Country}/yyyy/mm
File naming conventions :
wind & solar generation:
CORE_SUPPLY_FORECAST_Generation_CORE_{Country}_{Wind|Solar}_{15min|Hourly}_{EC|GFS}_{OP|ENS|ENS_EXTENDED|ENS_SCENARIOS|ENS_EXTENDED_SCENARIOS|AIFS}_yyyymmdd{00|06|12|18}.csvdemand:
CORE_DEMAND_FORECAST_Load_CORE_{Country}_{15min|Hourly}_{EC|GFS}_{OP|ENS|ENS_EXTENDED|ENS_SCENARIOS|ENS_EXTENDED_SCENARIOS|AIFS}_yyyymmdd{00|06|12|18}.csvSpot price:
CORE_PRICE_FORECAST_DayAhead_CORE_{Country}_{15min|Hourly}_{EC|GFS}_{OP|ENS|ENS_EXTENDED|ENS_SCENARIOS|ENS_EXTENDED_SCENARIOS|AIFS}_yyyymmdd{00|06|12|18}.csv
Note :
For EC 46 (a.k.a EC ENS EXTENDED) and GFS ENS forecasts, two files are published for each run:
one
{ENS}containing the control scenario "0"one
{ENS_SCENARIOS} containing the all scenarios (30 for GFS, and 100 for EC ENS EXTENDED)
For EC ENS, ECMWF reassigned the EC ENS control scenario to EC OP. Therefore, we only publish the
{ENS_SCENARIOS} file.
