< Back to Blog

Creating an Algorithm for Every Building

No two buildings are the same. From their equipment to their occupants, buildings have all sorts of factors that dictate operational performance and it's up to building engineers to know every intricacy, to uncover issues, and most importantly -- fix them. Once upon a time, this meant spending hours mining and analyzing building data from energy management systems to uncover issues and attempt to pinpoint the root cause.

We decided it was time to change that. By crowdsourcing knowledge from building engineers, and mapping it to our sensor data, we came up with the same building optimizations that normally take a building staff years to figure out. Aquicore’s new Automatic Diagnostics tool learns from each individual building and provides insights based on everyday performance. 

Let’s talk about how we built it.

Building a Knowledge Base from the Experts

We started by creating a knowledge base from the Note tool in the Aquicore platform. Note allows users to document observations on their day-to-day building operations, logging where a building optimization is needed or being performed. Everything from equipment malfunctions to tenant requests is recorded and associated with the building energy curve. Using machine learning techniques to cluster notes with common syntax and phrasing together, we analyzed thousands of notes housed in the platform to help us identify anomalies and key optimization areas that building engineers care about the most. 

Identifying Baselines and Anomalies

Every building has its own pattern of normal behavior. It’s critical to understand these unique patterns, and not simply rely on industry assumptions of how a building should be performing. To do this, our algorithm combines historical energy and weather data with operational data such as lease schedules, equipment run-times, and property conditions to calculate an expected baseline of ‘normal behavior’ for each building. 

Then, to detect anomalies in energy consumption, our algorithm compares real-time sensor data (utility metering, equipment submetering, environment monitoring, etc.) with the building’s baseline for historical normal behavior. 

Predicting Potential Causes

Here’s where we put all those notes we analyzed to work. Anomalies are categorized by the same high-level topics identified in our knowledge base. Machine learning uses this model to auto-identify the reason for building anomalies and how to optimize against them. Essentially, our algorithm is drawing on years of engineering expertise to tell you that something unusual is happening your building and why.  

But that’s not all. We want to do more than flag issues for you; we want to translate this information into something truly concrete: dollars and cents. Using our database of tariff schedules, we also calculate the cost associated with an event, helping engineering teams demonstrate the savings associated with taking appropriate action.

Continuously Learning

Once an issue is detected, Aquicore alerts the property team. Users are able to examine the issue, add notes or resolve it, and most importantly, approve or modify the cause of the detected issue.

User feedback is critical to helping our algorithm get to know your building better. Was that late shutdown actually freeze protection? Was the reason for that unscheduled run equipment maintenance? Every time you tell us whether we got it right, almost right, or not at all, you help train the algorithm to make better predictions and new recommendations. We only modify predictions after a reasonable number of new data points.


Today, when everyone is expected to do more with less, property teams don’t have time for massive data analysis and even the most experienced building engineers can miss issues. That’s why we decided to use machine learning to synthesize years of engineering expertise and apply it to real-time sensor data, creating a model that predicts and suggest optimal ways for users to operate their facilities. If no two buildings are the same, then algorithms should not be one size fits all.