Data Science team

Power Load Forecasting

We built predictive models for residential and industrial hourly power demand.
Our models decreased by 25% the relative error of the legacy system, resulting in significant financial savings.

 

Collaboration
10 months
Technologies
R, Python, scikit-learn, pyTorch
Industry
Energy & Utility
Project detail description background

One goal, many challenges

Storage of electrical energy is still complex and expensive. Therefore, a complicated market was established to keep the power network balanced: production must match consumption.
An extensive academic literature exists about power load forecasting. Still, this is no academic project, and no simplification is admitted.
The system must run every day with the available data, accounting for any data quality issue. And models must fit the peculiarities of Italian power consumers.
Power charts
Power lines
Project context background

01. Context

Known problems... with a twist

A leading Italian utility wanted to improve its power load forecasting models, just one year old. For utilities, load forecasting is key for market trading and portfolio management.
The problem statement was quite standard: given 3 years of historical data and 2 years of weather forecasts, provide 1 to 4 day-ahead predictions of hourly power load.
Still, there were two main challenges. First, residential and industrial customers in each market region had to be considered separately. Second, data got available with a 2-month delay. Therefore, standard short-term forecasting techniques were not applicable.

02. Solution

ML and expert knowledge

We started by performing an in-depth analysis of the business problem, in order to assess constraints and establish evaluation metrics. Then, we extracted data-driven insights with a thorough explorative analysis.
In building the models, we tried and compared different approaches from statistical learning and deep learning. We mutated some ideas from the academic literature, yet we had to come up with original solutions to account for the delays in data availability.
Attention was devoted to feature engineering, in particular in modelling the relationship between power load and temperature. The final solution was implemented with a Python Luigi pipeline and deployed on-premises.

03. Achievements

Improving what matters

Our models resulted in a decrease of the relative error - a proxy for the financial losses due to inaccurate predictions - by 24% for residential customers and 26% for industrial ones.
Early prototypes of the models were adopted before the final production deployment due to their superiority with respect to the legacy system.
The final Luigi pipeline was integrated into the IT platform of the utility and became the official load forecasting tool.
Like what you see?
If you need something like this, just drop us and message and we will come back to you within two working days.