# Start Forecast & Training

### Forecast Details

<div data-full-width="true"><figure><img src="https://3489494878-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F9GvUpaatBiReR43XFSMg%2Fuploads%2FopVlFkG2B7R1EnZPLAwY%2Fforecast%20app%20(4).png?alt=media&#x26;token=7e229d3e-d4a6-460d-bd7a-a557da7f373c" alt=""><figcaption></figcaption></figure></div>

<table><thead><tr><th width="105.79998779296875"></th><th width="220.00003051757812"></th><th></th></tr></thead><tbody><tr><td><strong>Element</strong></td><td><strong>Title</strong></td><td><strong>Details</strong></td></tr><tr><td>[A]</td><td><strong>General Configuration</strong></td><td>Parent block with all settings for the forecast model.</td></tr><tr><td>[A1]</td><td>Asset</td><td>The selected asset whose data is used for the forecast.</td></tr><tr><td>[A2]</td><td>Target Attribute</td><td>Attribute for which the forecast is calculated.</td></tr><tr><td>[A3]</td><td>Feature Attributes</td><td>List of additional attributes (minute, hour, weekday...); they serve as input features for the model.</td></tr><tr><td>[A4]</td><td>Forecast length</td><td>Number of time steps to be predicted into the future.</td></tr><tr><td>[A5]</td><td>Context length</td><td>Length of the historical context window that the model considers for each prediction.</td></tr><tr><td>[A6]</td><td>start/stop training</td><td>Switch to start/stop the training run.</td></tr><tr><td>[A7]</td><td>start/stop forecasting</td><td>Switch to activate/deactivate the ongoing forecast.</td></tr><tr><td>[B]</td><td><strong>Info</strong></td><td>Status panel with runtime information.</td></tr><tr><td>[B1]</td><td>Forecast Status</td><td>Shows whether the forecast is active/inactive and, if active, in what state the forecast is.</td></tr><tr><td>[B2]</td><td>Training Status</td><td>Shows the status of the training active/inactive and in what state the training is.</td></tr><tr><td>[B3]</td><td>DOC</td><td>Link to the online documentation of the <em>Forecast</em> app.</td></tr><tr><td>[C]</td><td><strong>Forecast Chart</strong></td><td>Chart with actual and forecast values.</td></tr><tr><td>[C1]</td><td>Legend – Actual value</td><td>Identifies the measured sensor data (<em>Actual humidity</em>).</td></tr><tr><td>[C2]</td><td>Legend – Forecast</td><td>Identifies the calculated predictions (<em>Forecast humidity</em>).</td></tr><tr><td>[C3]</td><td>Forecast Line</td><td>Shows the prediction as a line in the chart.</td></tr></tbody></table>

### Start Forecast & Training

The *Forecast App* allows you to activate model training and the ongoing forecast independently of each other. Both processes run in parallel in the background but follow different tasks and procedures. The following sections explain the functionality, dependencies, and recommended procedure.

#### Start Training

**Goal:** Trains a new LSTM model based on the currently available historical data.

**Procedure:**

* The training process is started via the **Train \[A6]** switch.
* The model is trained with the current settings for `forecast_length`, `context_length`, and `feature_attributes`.
* During training, the best model at any given time (measured by the *Validation Loss*) is automatically cached.

**Important:**

* The training status is displayed in the **Info panel**.
* After successful completion, the message appears: → *Training completed successfully. Waiting for enough data to retrain.*

**Automatic Retrain:** After the initial training, the model is automatically retrained as soon as at least **10% more data points** are available than in the last run. → Example: If a model was trained on 10 months of data, the next training starts as soon as another month of data has been added.

***

#### Start Forecast

**Goal:** Creates ongoing forecasts for new, incoming data points based on the most recently trained model.

**Procedure:**

* The forecast is activated via the **Forecast \[A7]** switch.
* The app checks whether a trained model is available. Only then can the forecast begin.
* New forecast values are automatically generated and saved as an attribute in the asset (see [→ *Output Attribute of the Forecast*](#output-attribute-of-the-forecast)).

**Note:** If **no model** is available yet (e.g., after the initial creation), **no forecast** can be made. In this case, the status will show: → *Waiting for model to be trained.*

***

#### Recommendation for the Order

To achieve reliable results, it is recommended to:

1. First **start the training**
2. Then **activate the forecast** after successful completion

This way you avoid the first predictions being based on an untrained or poorly converged model.

***

### Technical Terms in the Status Area

| Term                            | Meaning                                                                                           |
| ------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Epochs**                      | The number of complete training runs over the entire dataset.                                     |
| **Validation Loss (val\_loss)** | Error metric on the validation data. Shows how well the model generalizes. The lower, the better. |

These values help to assess the quality of the training process.

***

### Output Attribute of the Forecast

When starting the forecast or the training process, the *Forecast App* automatically creates a new attribute in the selected asset. This attribute contains the calculated forecast values and is available system-wide.

**Naming scheme:** `[target_attribute]_forecast_[forecast_length]`

**Example:** If the `temperature` attribute is predicted with a `forecast_length` of `12`, the name of the automatically generated output attribute is: → `temperature_forecast_12`

**Note:** This attribute can be used anywhere in BuildingPro Suites—e.g., in dashboards, rules, visualizations, or the *Calculator*. It behaves like a regular asset attribute and is automatically updated with the latest forecast values.
