:::: MENU ::::

Monthly Energy Consumption Forecast: A Deep Learning Approach

Posted in July 14, 2017

In the beginning of this year, we had a paper accepted at IJCNN 2017 for oral presentation. In this project, I had the opportunity to work in collaboration with another lab (NINFA) in a real-world problem from the largest power company of our state. We had access to an amazing database of almost 1,000,000 people, and our goal was to improve the accuracy in the forecast of monthly energy consumption. More details about our deep learning approach can be found in the paper.


Every year, energy consumption grows world widely. Therefore, power companies need to investigate models to better forecast and plan the energy use. One approach to address this problem is the estimation of energy consumption in the customer level. Energy consumption forecasting problem is a time series regression task. It consists of predicting the energy consumption for the next month given a finite history of a customer. Machine learning techniques have shown promising results in a variety of problems including time series and regression problems. Part of these promising results are attributed to deep neural networks. Although investigated in other domains, deep architectures have not been used to address the energy consumption prediction problem. In this work, we propose a system to predict monthly energy consumption using deep learning techniques. Three deep learning models were studied: Deep Fully Connected, Convolutional and Long Short-Term Memory Neural Networks. Due to the sensitivity of these models to the input range, normalization techniques were also investigated. The proposed system was validated with real data of almost a million customers (resulting in over 9 million samples). Results showed that our system can predict monthly energy consumption with an absolute error of 31.83 kWh and a relative error of 17.29%.

Short Description

Deep Learning System Architecture

Figure 1. System architecture. The inputs are the past 12 months, the month that is being predicted (M), the number of phases of the customer (P) and the class of the customer (C). The average of the customer consumption (A) is derived from the original input. The proposed system can be used with or without metadata (M, P and C), represented by the decision (D).

The system works on a temporal sequence of energy consumption, and other attributes of the customer. For each sequence, it outputs the prediction for the consumption of the next month. The general architecture of the proposed system is described in the Figure 1. We assume that, provided enough data, the consumption of one customer can be modeled by the consumption of another in the group considering 12 months as input. Therefore, the input of the system comprises the past 12 months of energy consumption of a customer, and three other attributes (referred here as input’s metadata): which month is to be predicted, the number of phases of the electric power, and the class of the customer. All the non-categorical inputs are normalized. Given the normalization applied on the input data, the proposed network model outputs a normalized value. Therefore, it is required to reverse the normalization step in order to retrieve the prediction in the original data space. Finally, the prediction can be used in order to help deciding whether the value read on the electrical meter by the reader should be accepted or revised.


In this paper, we presented a deep-learning based model for the problem of monthly energy consumption forecast, a time series regression task. Moreover, we have provided an analysis of these models in a large dataset with almost 10 million samples from almost one million customers. Results showed the proposed system outperforms the baseline method that is currently used by some power companies. Additionally, three architectures were evaluated: fully connected (FC), Convolutional Neural Networks (CNN) and Long Short-Term Memory (LSTM) Networks. Results showed the LSTM-based model is the best for the proposed problem in terms of absolute and relative errors. The proposed system can process at least 6,000 samples per second. Ultimately, it confirms that LSTMs are more suitable for temporal task analysis such as the one hereby tackled.


This work was partially supported by EDP Escelsa and EDP Bandeirante. We also would like to thank UFES for the support and CAPES for the scholarships. We gratefully acknowledge the support of NVIDIA Corporation with the donation of the Tesla K40 GPU used for this research


The slides of the presentation are available below. If you have any question, feel free to ask. Unfortunately, we are not allowed to share the database (even anonymized).

Download “PresentationIJCNN2017” PresentationIJCNN2017.pdf – 697 KB


author    = {Rodrigo Ferreira Berriel and André T. Lopes and Alexandre Rodrigues and Flávio M. Varejão and Thiago Oliveira-Santos},
booktitle = {2017 International Joint Conference on Neural Networks (IJCNN)},
title     = {{Monthly Energy Consumption Forecast: A Deep Learning Approach}},
year      = {2017},
month     = {May},
pages     = {4283-4290},
doi       = {10.1109/IJCNN.2017.7966398},