> For the complete documentation index, see [llms.txt](https://docs.flowlity.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flowlity.com/demand-management/demand/diagnose-forecast-errors.md).

# Diagnose forecast errors

Recognize the common root causes of a bad forecast and apply the right fix.

When a product shows a large forecast error, the first question is not "what should the number be?" but "why is the forecast wrong?". Most errors come from a handful of causes, and many of them trace back to the data the model learns from rather than to the model itself. This page helps you name the cause and pick the fix.

### The three most common causes

#### 1. A demand drop the model has not absorbed yet

**What you see:** demand has stayed lower for several months, but the forecast still follows the previous level.

**Why it happens:** Flowlity adapts quickly to a lasting change, except where seasonality is strong. The model also learns from the same period in previous years, so a drop in a month that was high last year takes longer to absorb.

**How to check:** in the product detail of [Demand](/demand-management/demand.md), turn on **Raw past demand (N-1)** and **Raw past demand (N-2)** from the chart legend. If the same months were high in previous years, seasonality is holding the forecast up.

<figure><img src="https://1706504082-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqoq879Ev7JtRbqynigdG%2Fuploads%2Fgit-blob-ecdbdaa6462e479d6b2ea5632e5dba86734f03a7%2Fchangelog-2026-06-12-demand-history-overlays.png?alt=media" alt="Demand chart comparing the forecast with raw past demand of the two previous years"><figcaption></figcaption></figure>

**What to do:**

* Check the cause with the commercial team. Is it structural (lost customer, delisted range, discontinued product) or temporary?
* If it is structural and linked to a discontinued product, see *End of life and product replacements* below.
* If it is structural and the product goes on selling at the new level, apply an expert model that follows recent demand, such as the **Average of recent periods model** or the **Average + Trend model**, in **Product strategy** > **Forecast** > **Forecasting models**. Click **Compute forecast** to see the result before the next weekly run.
* If it is temporary, let the model continue, and watch the following reviews to see how fast it adapts.

#### 2. A launch with little or no history

**What you see:** a new product with a few weeks or months of history and Low or No [Demand predictability](/concepts/concepts/metrics-glossary.md). Often a new version or color replacing an older product.

**What to do:**

* For a brand-new product, apply the **Launch model** expert model: it learns the launch pattern of similar products, picked by Flowlity or by you.
* For a product that replaces an older one, link the older product as a similar product so the model can borrow its history. See [Product similarities](/concepts/concepts/product-similarities.md).

#### 3. Abnormal history

**What you see:** weeks that do not reflect normal demand, such as a drop caused by a stock-out, a one-off spike or dip, or a past promotion.

**What to do:** check the corrections the Demand anomaly agent made for shortages, outliers and past promotions: keep them, change their value or delete them, and add your own with **Add past demand adjustment**. See [Investigate and fix demand anomalies](/demand-management/demand/investigate-demand-anomalies.md). Confirm the cause before cleaning: a real one-time order is genuine demand, not noise.

### Other patterns worth recognizing

#### End of life and product replacements

**What you see:** an important product whose demand falls to almost zero after a long stable period, while only one or two products remain in its family.

**Why it happens:** the product was discontinued or replaced, but the change did not reach Flowlity. The old product keeps a forecast, and the new one starts without history.

**What to do:**

* Set the **End of life** date of the old product in **Product strategy** > **Forecast**, so it stops driving the plan. For many products, select them and use **⋮** > **Edit product strategy** > **Edit lifecycle**. An [automation](/ai-and-automations/automations.md) can also adjust the lifecycle on a schedule.
* Link the replacement to its predecessor as a similar product, or ask your Flowlity contact to transfer the history.
* Check the predecessor's remaining stock when validating orders for the replacement: in Planning, the **Similar products stock** series shows it.
* If replacements are frequent, agree a regular process with your Flowlity contact (for example, a more frequent history reload) rather than fixing products one by one.

<figure><img src="https://1706504082-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqoq879Ev7JtRbqynigdG%2Fuploads%2Fgit-blob-fd01953b80a3e44552bb0c982cfa2332776d45a0%2Fchangelog-2026-06-29-similar-product-stock.png?alt=media" alt="Planning chart with the Similar products stock series next to the product&#x27;s own stock"><figcaption></figcaption></figure>

#### Cannibalization by a new variant

**What you see:** a new edition or variant grows while an existing one falls. Each SKU shows a large error, but the family total is close to the forecast.

**What to do:** judge accuracy at family or model level for these products: in the Demand list, click **Group** > **Add group** and group by the family tag category to read the family subtotal. Link the new variant to the existing one. If new editions are a normal part of your commercial model, keep this grouping in your review view.

<figure><img src="https://1706504082-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fqoq879Ev7JtRbqynigdG%2Fuploads%2Fgit-blob-f4b147dd52870ce368355c1709692f84699ec18b%2Fchangelog-2026-09-25-demand-planning-grouping.png?alt=media" alt="Product list grouped by family, with subtotals and a grand total"><figcaption></figcaption></figure>

#### A category-wide drop

**What you see:** demand falls across a whole category at the same time, without stock-outs.

**What to do:** check with the commercial team whether the cause is external (economic situation, a major event, a market change) and whether it is one-off or lasting. If a similar disruption is expected again in a known period, create a forecast event for that period. See [Create and apply forecast events](/revenue-optimization/promotions/create-forecast-events.md).

#### An unexplained drop

**What you see:** a sharp drop on one product without a stock-out, while similar products in the same family forecast well.

**What to do:** log it and ask the commercial or sales control team whether there is a reason, such as a commercial action, a customer change or a pricing decision. If there is a systematic cause, the planning team needs to know about it for the next forecast. If it is truly random, it cannot be forecast and should not drive changes to your process.

### Quick reference

| What you see                                 | Likely cause               | Check                                | Fix                                       |
| -------------------------------------------- | -------------------------- | ------------------------------------ | ----------------------------------------- |
| Demand lower for months, forecast still high | Drop not yet absorbed      | Commercial team, N-1 / N-2 overlays  | Wait and monitor, or treat as end of life |
| Demand lower for months, no seasonality      | Lasting change             | N-1 / N-2 overlays                   | Expert model on recent demand             |
| Little history, low predictability           | Launch or replacement      | Launch model or similar product set? | Launch model, or link the predecessor     |
| Zero or low weeks, then recovery             | Stock-out                  | Shortage correction                  | Keep or change the correction             |
| Single spike or dip                          | Outlier or one-off order   | Outlier correction, commercial team  | Keep, change or delete the correction     |
| Demand near zero after a stable period       | End of life or replacement | Product strategy, product family     | Set End of life, link successor           |
| One variant up, another down                 | Cannibalization            | Family-level total                   | Review at family level                    |
| Whole category down                          | External event             | Commercial team                      | Forecast event if it recurs               |
| Sharp drop, no stock-out, siblings fine      | Unknown                    | Commercial or sales control          | Log and escalate                          |

{% hint style="info" %}
Before questioning the model, check the data. In practice many large errors come from master data: discontinued products still active, replacements without history, or missing hierarchy tags.
{% endhint %}

### Related pages

* [Run a forecast accuracy review](/demand-management/demand/run-forecast-review.md): where diagnosis fits in the review routine.
* [Investigate and fix demand anomalies](/demand-management/demand/investigate-demand-anomalies.md): shortages, outliers and past promotions.
* [Product similarities](/concepts/concepts/product-similarities.md): borrow history for replacements.
* [Demand](/demand-management/demand.md): expert models, Product strategy and Compute forecast.
* [Forecast events and demand adjustments](/concepts/concepts/forecast-events.md): how events and corrections change the forecast.
* [Demand forecasting explained](/concepts/concepts/demand-forecasting.md): how the model learns from history.
