UK day-ahead electricity price prediction using weather-driven renewables forecasting + ML (XGBoost/SVR), including spike detection + battery arbitrage evaluation.
This repository contains the final runnable pipeline (Sections 4–6) of our group project on forecasting UK day-ahead electricity prices using machine learning, benchmarking against time-series baselines, and assessing decision value via a battery arbitrage simulation.
Note: The full Stage 1 renewable generation modelling (weather → wind/PV training) is not included in this public repo.
This repo includes the processed datasets + predicted wind/PV inputs required to run the price modelling end-to-end from Section 4 onward.
- Price forecasting (XGBoost + SVR): R² ≈ 0.88, RMSE ≈ 12.49 EUR/MWh, MAE ≈ 8.73 EUR/MWh
- Extreme price spike detection (95th percentile): F1 ≈ 0.59
- Battery arbitrage backtest (100 MW / 200 MWh): ~€4.016M, capturing ~90.7% of perfect-foresight upper bound
| Model Performance | Forecast & Backtest |
|---|---|
|
|
UK_Electricity_Price_Prediction_Complete.ipynb
✅ Runnable from: SECTION 4: ELECTRICITY PRICE PREDICTION onward.
Located in: data/step2_prices/
UK_WholesalePrices_Hourly.csvdemanddata_2021-2025.csvSAP.xlsx(gas prices)Carbon Emissions Futures Historical Data UK.csvFinal_Price_Predictions_Ensemble.csvwind_100Locs_XGBoost_WalkForward_Clean_PREDICTED-weather-data.csv(predicted wind input)xgboost_cv_predictions.csv(predicted solar/PV input)
- Builds a supervised learning dataset combining demand + fuel/carbon drivers + predicted renewables (wind/PV)
- Trains and evaluates XGBoost and SVR models for day-ahead price prediction
- Benchmarks performance against an ARIMA baseline model
- Simulates battery arbitrage decisions using predicted prices to quantify decision value


