< Back to Blog

Peak-A-Boo: Aquicore AI Makes Peak Demand Surprises Disappear

When it comes to cutting costs in building operations, peak demand is often one of the juiciest targets. It’s also an unforgiving challenge: mess up your demand once, and you’re stuck with that peak until the next utility cycle. Aquicore’s data scientists were tasked with streamlining the way we identify projects that lower peak demand inefficiencies for our customers. Here’s what we found.

Building load peak demand

First, let’s frame the problem. Peak demand is the most kiloWatts (kW) demanded by a building in a fifteen- or thirty-minute interval in a utility cycle. Demand charges can be brutal - up to $20/kW or more - making peak demand a prime target for cutting costs. 

Without proper monitoring, operational sequences can slowly drift and wreak havoc on a building’s load profile and associated demand charges. If an inefficiency is identified, though, it can often be straightforward to implement a change that dramatically reduces the peak.

The morning overshoot

We teamed up with our building systems engineers to identify common patterns associated with high peak demand charges. One especially characteristic pattern jumped out, one we dubbed the morning overshoot. 

Morning overshoots occur when a building has a spike in demand in the morning that is significantly higher than the demand the rest of the day (see figure below). The afternoon demand serves as a benchmark for what the typical demand should be for this building, highlighting the startup routine as an area to investigate for potential savings. 

Morning overshoots in an example office building during a week. Overshoots such as these indicate inefficiencies in the morning cooling or heating routine. Data displayed Wednesday to Tuesday.

Correcting these overshoots can yield sizable savings - for the office building above, fixing morning overshoots could reduce the peak demand by 100 kW, saving approximately $2000/month.

Random forest and the machine

Finding morning overshoots is a great problem for machine learning. Overshoots are easy for a human to identify because they’re so visually distinct; the real bottleneck is scrolling through the data for hundreds of buildings. If we can teach an algorithm to identify these patterns across the entire fleet of buildings Aquicore services, we can catch overshoots immediately and instead focus on fixing the underlying operational issues. 

To train our model, the data science team aggregated 76 examples of morning overshoots, as well as 170 days without overshoots. We verified the classifications with our building systems engineers, whose familiarity with the buildings helped resolve borderline cases. We also made sure to sample across geographic regions and climate zones. 

The next step was to find the specific features of the data that our model could use to distinguish overshoots from noise. The two most informative features were 1) the building’s peak kW before 11:00 AM, and 2) the building’s peak kW after 12:00 PM. The afternoon peak served as an estimate of what the building’s daily peak kW would be without the morning startup, helping put the morning peak in context. The hour gap, meanwhile, avoided issues where morning demand was falling right at the morning cutoff, which wouldn’t reflect the actual afternoon demand.

Avoiding Goldilocks

We first tried training a model solely on the ratio between these two peaks. The greater the ratio, the more likely the pattern is a morning overshoot, right? Well, not exactly. Our model was flagging overshoots left and right for buildings with small loads, and staying silent for buildings with large loads. It was like Goldilocks: the model only seemed to work for a small kW range.

The reason for this boils down to some simple math: the right morning-afternoon ratio changes depending on the kW. Let’s say your model learns that a morning peak of 600 kW and an afternoon peak of 400 kW means there’s an overshoot. Great - but how general is this 50% rule? It turns out that the right percentage really depends on the kW you’re talking about.

Detecting overshoots requires more than just the morning-afternoon ratio. Sample morning overshoots for buildings with relatively small (left) and high load (right). The data is scaled by the afternoon kW to highlight how large the morning peak is in terms of the morning-afternoon ratio. There is no single ratio that works well for a wide range of kW.

Above are two morning overshoots scaled by their afternoon peak kW. To catch both overshoots, we can’t use a single ratio like 50% - that would catch the overshoot for the building with low demand (left panel) but not the building with high demand (right panel). If we lower the ratio, we’ll start incorrectly flagging overshoots for buildings with low demand. If we raise the ratio, we’ll miss overshoots for low demand. We therefore need a dynamic ratio that changes depending on the kW.

Another way to see this is by looking at the training data. It’s hard to draw a straight line that perfectly separates the blue and yellow points below; the best separation is actually a curve that slowly bends down as you move to the right. For small kW, the model should learn to stay quiet unless the morning-afternoon ratio is high. For large kW, meanwhile, a smaller ratio can signify an overshoot.

Training data for the morning overshoot detector. As you move to the right, the morning peak kW increases; as you move up, the afternoon kW increases. Our algorithm finds the best way to separate the yellow points (overshoots) from blue points (not overshoots).

Our final model was able to achieve 94% accuracy at identifying morning overshoots. As some finishing touches, we added a few filters to only catch the highest-value overshoots, such as only highlighting morning overshoots occurring repeatedly, or only when contributing for peak demand.

A future-proof feature

Covid-19 hasn’t been kind to many machine learning models. When your model assumes historical patterns can be used to predict the future, the model’s predictions fall apart when the present looks nothing like the world a year ago. 

Our morning overshoot detector is able to avoid this problem entirely by not requiring weather normalization. In other words, we are able to reliably identify morning overshoots without needing to learn the relationship between building load and weather. This protects the accuracy of the algorithm from large-scale disruptions in building operations like Covid-19, where the load-weather relationship completely changed. An overshoot is an overshoot, no matter what the temperature is outside or how many people are in the building. 

The morning overshoot detector is now scanning data every day and enabling our building systems engineers to deploy their domain expertise more efficiently. By reducing the time needed to scan for peak demand anomalies, our engineers can focus on game plans specific to each building, for example looking into whether it’s possible to stage the chillers or stagger how the floors of the building are cooled. 

The partnership between data science and building systems engineering was successful because the teams worked closely together to ensure the relevant needs were being met. In the coming months, we’ll be continuing to scale our operations, enabling Aquicore to reach a wider market with the same high quality of offering.