> For the complete documentation index, see [llms.txt](https://learn.moselle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.moselle.io/faq/forecasting/how-accurate-is-ai-demand-forecasting.md).

# How Accurate is AI Demand Forecasting?

{% hint style="info" %}
**Quick Answer:** AI demand forecasting typically achieves 70–90% accuracy (10–30% MAPE) for established SKUs with consistent sales history. Accuracy varies significantly by product type, data quality, and planning horizon — newer products or highly seasonal items tend to have higher error rates.
{% endhint %}

**Demand forecast accuracy** measures how close predicted demand is to actual demand over a given time period. It is most commonly measured using MAPE (Mean Absolute Percentage Error), where lower numbers indicate better accuracy. A MAPE of 20% means the forecast was off by an average of 20% from actual sales.

There is no universal "good" accuracy number. A 25% MAPE for a highly seasonal fashion SKU might be excellent, while a 25% MAPE for a fast-moving consumer staple would be considered poor.

## What Determines Forecast Accuracy?

### Factors That Improve Accuracy

* **Longer sales history** — More data lets models detect stable seasonal patterns
* **Consistent demand** — SKUs with low variability are easier to forecast
* **Clean data** — Removing outliers, stockout periods, and promotional spikes improves baseline accuracy
* **Shorter time horizons** — Forecasting 4 weeks out is more accurate than forecasting 26 weeks out
* **More signals** — Marketing calendars, channel data, and external inputs add predictive power

### Factors That Reduce Accuracy

* **High SKU proliferation** — Hundreds of variants with sparse history per SKU
* **New product introductions** — No historical baseline to model from
* **Irregular demand** — Lumpy, intermittent, or event-driven sales patterns
* **Long planning horizons** — Uncertainty compounds over time
* **Data gaps** — Missing periods due to stockouts or system issues

## Accuracy Benchmarks by Product Type

| Product Type                 | Typical MAPE Range | Notes                                      |
| ---------------------------- | ------------------ | ------------------------------------------ |
| Fast-moving staples          | 5–15%              | High volume, consistent demand             |
| Seasonal products            | 20–40%             | Accuracy improves with 2+ years of history |
| Fashion / trend-driven       | 30–50%             | Short lifecycles, high volatility          |
| New product introductions    | 40–70%             | No history; uses comparable SKU data       |
| Slow-moving / long-tail SKUs | 30–60%             | Sparse demand is inherently harder         |

{% hint style="warning" %}
Accuracy should always be measured at the planning horizon that actually drives decisions. A 12-month aggregate forecast may look accurate even when the weekly SKU-level forecast — which drives purchase orders — is highly inaccurate.
{% endhint %}

## How to Measure Your Forecast Accuracy

The most common metric is **MAPE (Mean Absolute Percentage Error)**:

**MAPE = Average of |Actual − Forecast| / Actual × 100**

For a fuller picture, also look at:

* **Bias** — Is the forecast consistently over or under-predicting?
* **Weighted MAPE** — Weights error by revenue or volume to reflect business impact
* **SKU-level distribution** — Average MAPE can mask poor accuracy on your most important items

## How Moselle Helps You Improve Accuracy Over Time

Moselle tracks forecast vs. actual performance at the SKU level and surfaces the results in the Forecast Performance Report. This lets teams:

* Identify which SKUs have the highest forecast error
* Understand whether errors are systematic (bias) or random (noise)
* Refine forecasts for high-value items before purchase orders are placed
* Improve model inputs by correcting data quality issues

{% content-ref url="<https://github.com/Moselle-io/moselle-docs/blob/master/faq/analytics/reporting/moselle-reports/performance-reports/demand-forecast-performance.md>" %}
<https://github.com/Moselle-io/moselle-docs/blob/master/faq/analytics/reporting/moselle-reports/performance-reports/demand-forecast-performance.md>
{% endcontent-ref %}

{% content-ref url="/pages/2dRfbf3lBX4Whpngm8DW" %}
[What is MAPE and What's a Good MAPE Score?](/faq/forecasting/what-is-mape-and-good-mape-score.md)
{% endcontent-ref %}

## Frequently Asked Questions

### Is AI forecasting always more accurate than manual forecasting?

**Answer:** For SKUs with sufficient history and consistent demand, yes — AI models outperform manual averages because they detect patterns humans miss. For new products or highly irregular items, the advantage narrows and human judgment remains important.

### How do promotions affect forecast accuracy?

**Answer:** Promotional spikes that aren't flagged as outliers inflate baseline demand estimates and reduce accuracy. Moselle lets you upload a marketing calendar to separate promotional demand from your baseline.


---

# 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://learn.moselle.io/faq/forecasting/how-accurate-is-ai-demand-forecasting.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.
