Client: Global Provider for Hardware and Software Solutions

Industry: Energy & Environment

Goal: Develop an HVAC (Heating, Ventilation, Air-Conditioning, Cooling) usage management and control optimization system.

Tech: Python, Spark (Scala), Docker, Kafka​


getDeveloperSpeak to us about your software development requirements:



Approximately 15% of VPS measurement points are related to HVAC circuits with a remote on/off control system. These circuits represent a major part of total energy consumption, creating an opportunity to use data mining and advance control techniques to reduce waste without compromising comfort, thus realizing direct savings. Additionally, the volume of electrical power under management offers load balancing opportunities in the VPP context.


Develop a model using available historical consumption data and other attributes to identify and predict consumption patterns with the following objectives:

• HVAC consumption forecasts.

• Detecting anomalies in consumption.

• Manage load shedding events.


We used the dataset from a VPS data provider as well as historical and predicted weather forecast data from an API. Ingestion component is robust to missing data and deployed and run in a scalable manner. Parsed data is passed to Apache Kafka for downstream consumer – processing components. Load prediction and anomaly detection are implemented in a distributed manner by Apache Spark, while optimization is implemented as a dedicated Python component.

The system solves all three problem areas specified by the data provider:

• Infers base load profiles and does load prediction.

• Detects multiple types of anomalies.

• Manages optimal control, ie. prepares policies for savings through load shedding.


We successfully developed a solution for an HVAC usage management and optimal control system, using the dataset from a VPS data provider as well as additional open data sources and state-of-the-art reinforcement machine learning approaches. The system makes reliable pedicitions, is adaptive to changes in user behaviour or change of season, is robust and scalable, and saves money and energy.

getDeveloperSpeak to us about your software development requirements: