Electricity Price
Forecast

Country-tuned XGBoost models delivering 7-day electricity price forecasts twice daily for Spain, Portugal, France, and Germany. Day-ahead at 10:00 UTC, strategic D+2–D+7 at 15:00 UTC.

Market Price
Forecast
7-day preview
Now-150255075€/MWh
The Challenge

Electricity prices are unpredictable

Without accurate forecasts, you're exposed to extreme price swings and increasingly frequent negative prices.

Extreme Volatility

Prices swing from negative values to over 200 EUR/MWh in a single week. Planning without forecasts means trading blind.

Inaccurate bidding & imbalance penalties

Without forecasts, traders submit blind bids. When prices spike unexpectedly, the penalties for position imbalances can exceed the value of the trade itself.

How EPF solves this

7-day forecasts with spike detection let you anticipate volatility, size positions correctly, and avoid costly imbalance charges.

Negative Prices

With rising renewable penetration, negative prices are increasingly common. Generators who don't predict them lose money with every MWh produced.

Paying to produce energy

Generators who don't see negative prices coming continue producing at a loss. Every MWh generated during negative hours is money paid to the grid instead of earned.

How EPF solves this

Negative price detection flags risk windows days ahead, so you can curtail generation, schedule maintenance, or shift load to profitable hours.

How It Works

From raw data to actionable forecasts

01

Data Collection

16 electricity indicators, 5 weather stations, TTF gas & ETS carbon prices — refreshed daily.

02

Feature Engineering

50+ features: price lags, calendar effects, renewable mix, weather interactions, commodity dynamics.

03

Single-Model XGBoost

Per-country XGBoost with residual-from-weekly-baseline targets, price-weighted loss, and country-aware feature gating — trained and deployed on Cloud Run Jobs.

04

Your Forecast

Up to 168 hours of predictions per country (15-minute for ES, hourly for PT/FR/DE), delivered twice daily.

Two Forecast Products

Aligned with how the market works

Two forecasts timed to market publication schedules, each optimized for its decision window.

D+1
D+2 — D+7
D+1D+2D+3D+4D+5D+6D+7
DA

Day-Ahead (D+1)

Delivered ~10:00 UTC

96 quarter-hour prices for tomorrow, before gate closure. Optimize your bidding strategy with next-day visibility.

96 quarter-hours 15-min resolution
S

Strategic (D+2 to D+7)

Delivered ~15:00 UTC

6 days of forward-looking prices using published D+1 actuals as input. Plan maintenance, hedge positions, and schedule generation.

144 hours Uses D+1 actuals
Key Features

Built for the energy market

7-Day Horizon

Full week of forecasts from D+1 day-ahead to D+7 strategic outlook.

15-Minute Resolution

Native 15-minute resolution aligned with the EU-wide MTU15 transition. Quarter-hour granularity for precise intra-day decisions.

Single-Model XGBoost

Single XGBoost per country with residual-from-weekly-baseline target transform. Deeper trees, price-weighted loss, and 365-day sample decay — tuned for scarcity spikes and regime shifts.

Two-Product System

Day-ahead and strategic forecasts aligned to market publication schedules, each optimized for its decision window.

~90 Tabular Features

Price lags, calendar effects with country-aware holidays, renewable mix, generation-forecast targets, weather interactions, solar elevation, and commodity dynamics — per country.

Weather-Aware

5 weather stations feed temperature, wind, and solar irradiance data as predictive signals.

Commodity Signals

TTF natural gas and ETS carbon emission prices captured as real-time market drivers.

Negative Price Detection

Specialized handling of negative price events driven by renewable saturation and low-demand periods.

News & Sentiment

Continuous market news feed with automated VADER sentiment scoring and tag extraction. A contextual layer that explains why prices are moving — display-only at v1, model integration on the roadmap.

Real Performance

Verified backtest results

Real walk-forward backtest over 145 days (Nov 2025 — Mar 2026) per country. Single-XGBoost + residual_1w + price-weighted loss. Not cherry-picked examples.

Statistical Accuracy

D+1 Day-Ahead MAE

0

EUR/MWh

D+1 Day-Ahead MAE

Mean Absolute Error for next-day predictions (Spain). On average, our D+1 forecast is within €13.99 of the actual market price — across all 96 quarter-hours. Validated on a 145-day walk-forward backtest.

D+2-D+7 Strategic MAE

0

EUR/MWh

D+2-D+7 Strategic MAE

Mean Absolute Error for D+2 through D+7 forecasts (Spain). Naturally higher than D+1 due to increased uncertainty over longer horizons.

D+1 Bias

0

EUR/MWh

D+1 Bias

Average signed error. A negative bias means we tend to slightly underpredict prices. Closer to zero means more balanced predictions.

How close are our predictions? Lower is better.

Economic Quality

Shape Correlation

0

Corr-f (Deviation)

Shape Correlation

Measures how well our forecast captures the within-day price shape (peaks and valleys) after removing the daily mean. This is what matters most for battery storage arbitrage.

Direction Accuracy

0

correct price direction

Direction Accuracy

How often we correctly predict whether the price will go up or down compared to the previous period. Critical for trading timing decisions.

Spike Recall

0

of price peaks identified

Spike Recall

Percentage of actual price spikes (top 10% of prices) that our model successfully identified in advance. Helps traders prepare for high-price events.

Spread Capture

0

of optimal BESS arbitrage

Spread Capture

How much of the theoretical optimal daily price spread (max − min) our forecast captures. Measures the value for battery charge/discharge scheduling.

How useful for trading? These metrics measure real economic value for BESS and trading operations.

Benchmarked against persistence and weekly seasonal baselines.

See live metrics in the dashboard

MAE = Mean Absolute Error. Corr-f (Deviation) measures within-day price shape accuracy after removing daily mean — the metric that matters most for battery storage and trading decisions.

Who It's For

Built for energy market participants

Energy Traders

Optimize bidding strategies and position sizing around predicted price movements.

Energy Traders

Use 7-day ahead forecasts with confidence intervals to size positions and set limit orders. The 15-minute resolution captures intraday spreads that hourly models miss, giving you an edge in continuous and auction markets.

Renewable Producers

Forecast revenue, schedule maintenance in low-price periods, avoid selling into negative prices.

Renewable Producers

Plan maintenance windows during predicted low-price periods to minimize lost revenue. Our negative price alerts help you curtail output before it costs you money, while weekly forecasts support PPA valuation and hedging decisions.

Grid Operators

Trigger demand response ahead of price spikes, schedule generation, plan interconnection flows.

Grid Operators

Anticipate price spikes up to 7 days out to pre-position demand response and optimize cross-border flows. The spike recall metric (69%) means you catch most extreme events before they happen, reducing balancing costs.

Smart Consumers

Dynamic tariff users: charge EVs, run appliances, and heat water during the cheapest hours.

Smart Consumers

Schedule EV charging, heat pumps, and battery storage around the cheapest predicted hours. Our spread capture (90%) means you consistently exploit the daily price valley, reducing your electricity bill without changing your lifestyle.

Markets Supported

Live across four European electricity markets

Map of Europe with EPF supported markets highlighted Germany — Active Spain — Active France — Active Portugal — Active
Active

Spain

OMIE / MIBEL coverage with twice-daily forecasts at 15-minute resolution.

Active

Portugal

MIBEL Portuguese zone via ENTSO-E, hourly forecasts with per-country feature tuning.

Active

France & Germany

EPEX SPOT forecasts for France and Germany via ENTSO-E, hourly resolution.

Start forecasting today

Currently free during beta. Try the live dashboard or request API access.

Open Live Dashboard