> For the complete documentation index, see [llms.txt](https://docs.buildings.ability.abb/collection/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.buildings.ability.abb/collection/suites/energy-and-sustainability-intelligence/forecast-engine.md).

# Forecast Engine

The *Forecast Engine* creates configurable, continuously updated forecasts for asset attributes. It is part of the *Energy & Sustainability Intelligence* Suite.

Use the module to define:

* the source attribute and its aggregation
* the forecast horizon
* the percentile to calculate
* optional feature attributes that provide additional context

Each configured forecast creates an attribute on the selected asset. The name of the forecast is also used as the displayed attribute name. On every forecast iteration, the module recalculates the future trend and writes the value at the end of the configured horizon to this attribute. For example, with a horizon of one day, the attribute receives the predicted value for one day ahead. As new source data arrives, the forecast and the value written to the attribute are updated.

## What You Can Do with Forecast Attributes

Because the result is available as an attribute, it can be used throughout BuildingPro Suites like any other attribute. You can:

* display it in [*Insight Analytics*](/collection/platform/insight-analytics.md) and compare it with measured values or other forecast percentiles
* use it in dashboards, widgets, reports, rules, and rule chains
* trigger alarms, notifications, tickets, or scripts before a predicted event occurs
* combine it with current measurements, limits, schedules, tariffs, or control states

## Concrete Smart-Building Use Cases

### Prevent an Energy-Demand Peak

Configure a 95th-percentile forecast for the building's 15-minute electricity demand with a horizon long enough to react. A [rule chain](/collection/platform/alarms-rules-and-escalations/rule-chains.md) can:

1. read the forecast attribute with [*Get Data*](/collection/platform/alarms-rules-and-escalations/rule-chains/nodes/get-data.md)
2. compare it with the contracted demand limit
3. start an energy-saving script if the forecast exceeds the limit
4. notify the facility team or create an alarm
5. restore normal operation after the risk has passed

Possible actions include delaying electric-vehicle charging, reducing noncritical ventilation, changing a battery schedule, or shifting a flexible process. A 95th-percentile forecast is useful here because approximately 5% of modeled outcomes are expected above that value. The operator can therefore choose to act on a relatively unlikely but expensive peak.

### Precondition a Building Without Sacrificing Comfort

Forecast room temperature or cooling demand using outside temperature, people count, and HVAC operating state as features. If the upper temperature forecast is likely to exceed the comfort limit before peak occupancy, a rule chain can pre-cool the space while energy is cheaper or while sufficient plant capacity is available.

The same approach can reduce unnecessary preconditioning: if occupancy and temperature forecasts remain low, the rule chain can delay startup instead of following a fixed conservative schedule.

### Shift Consumption to Low-Cost or Low-Carbon Periods

Forecast electrical or thermal demand and combine the result with tariff, grid-carbon-intensity, or on-site photovoltaic data. A rule chain can schedule flexible loads for a favorable period while preserving operational constraints. Examples include charging batteries or vehicles, producing domestic hot water, or preheating thermal storage before a high-price period.

### Operate Heating and Cooling Plants Proactively

Forecast the next-hour cooling or heating load using weather, occupancy, and setpoints as features. The forecast can support earlier staging of chillers, boilers, heat pumps, or thermal storage. This can reduce short cycling and avoid starting excessive capacity based only on a temporary measurement spike.

### Prepare for Occupancy

Forecast people count for a building, floor, or zone. The result can be used to prepare ventilation, cleaning, catering, security, or room availability. For example, a rule chain can increase ventilation before an expected occupancy rise and return to a lower setting when the forecast falls below a defined threshold.

### Detect Developing Operational Problems

Forecast a condition-related value such as return temperature, differential pressure, equipment load, or energy consumption. A rule chain can compare the forecast with an operational limit and create a ticket before the value is expected to become critical. This complements anomaly detection: anomaly detection asks whether current behavior is unusual, while forecasting asks whether the future value is likely to cross a limit.

### Manage Water, Gas, or Thermal-Energy Supply

Forecast consumption to plan storage levels, procurement, or available capacity. Examples include predicting domestic-water demand, gas demand during cold periods, district-heating load, or the depletion of a thermal store. Rules can notify operators when the forecast indicates that available supply or capacity may be insufficient.

## A Reusable Rule-Chain Pattern

Most forecast-driven automations follow the same structure:

1. Create the required forecast attributes, often with several percentiles.
2. In a [rule chain](/collection/platform/alarms-rules-and-escalations/rule-chains.md), use [*Get Data*](/collection/platform/alarms-rules-and-escalations/rule-chains/nodes/get-data.md) to read the forecast attribute and any current limit or operating state.
3. Evaluate whether the forecast crosses the limit and whether other conditions permit an action.
4. Execute an action, such as a [script](/collection/platform/alarms-rules-and-escalations/rule-chains/nodes/script.md), alarm, notification, or ticket.
5. Add a reset condition, delay, or hysteresis so that small forecast changes do not repeatedly switch equipment.
6. Monitor the measured outcome and adjust the threshold, percentile, and horizon when necessary.

{% hint style="info" %}
Choose the percentile according to the consequence of being wrong. A median forecast can support routine planning. A higher percentile can support conservative protection against an upper-limit violation. For a lower-limit risk, such as a room becoming too cold, a lower percentile may be more appropriate.
{% endhint %}

## Using Control Values as Features

A control state, such as a temperature setpoint or equipment operating mode, can be included as a feature attribute. After the control changes, the updated feature value is considered in subsequent forecast iterations. This makes it possible to observe how an action is associated with a changed expected outcome.

For example, an operator can include the cooling setpoint as a feature in an energy forecast. After changing the setpoint, subsequent forecasts can indicate whether expected energy demand has changed. This supports operational assessment, but it is not a controlled simulation and does not prove that the control change caused the forecast difference. Safety limits and equipment constraints must remain in the control logic.

## Configured Forecasts and *Single forecast*

The *Forecast Engine* and the *Single forecast* analytic type serve different purposes.

<table><thead><tr><th width="109.27996826171875">Capability</th><th>Forecast Engine</th><th>Single forecast in Insight Analytics</th></tr></thead><tbody><tr><td>Primary purpose</td><td>Create an operational forecast attribute</td><td>Quickly visualize a forecast in a chart</td></tr><tr><td>Configuration</td><td>Aggregation, interval, horizon, percentile, and optional feature attributes</td><td>One selected time series and the current chart range</td></tr><tr><td>Output</td><td>A continually updated attribute that can be used by other platform functions</td><td>A visualization that can be saved as an analytic and used in widgets</td></tr><tr><td>Uncertainty</td><td>A selected percentile per configured forecast</td><td>One-sigma and two-sigma confidence bounds</td></tr></tbody></table>

The *Single forecast* analytic type uses the selected time series and the data visible in the chart, and may include additional preceding data. It extends the series into the empty part of the chart. It does not create or continually update a forecast attribute.

## Module Guides

* [Open the Forecast Engine](/collection/suites/energy-and-sustainability-intelligence/forecast-engine/open-the-forecast-engine.md)
* [Create a New Forecast](/collection/suites/energy-and-sustainability-intelligence/forecast-engine/create-a-new-forecast.md)
* [Manage Forecasts](/collection/suites/energy-and-sustainability-intelligence/forecast-engine/manage-forecasts.md)
* [*Single forecast* Analytic Type](/collection/suites/energy-and-sustainability-intelligence/forecast-engine/single-forecast-analytic-type.md)

For the underlying concepts and smart-building applications, see [Forecasting](/collection/academy/building-intelligence-ai-and-machine-learning-in-buildingpro-suites/machine-learning/forecasting.md) in the Academy.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.buildings.ability.abb/collection/suites/energy-and-sustainability-intelligence/forecast-engine.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
