Skip to content

How forecasting works

This page explains how to read the forecast. For thresholds, formulas and a worked example see Methods and accuracy.

Every product-warehouse series is first classified by its pattern:

Pattern Meaning
Smooth Sells in almost every period, with little variation in quantity
Erratic Sells in almost every period, with large variation in quantity
Intermittent Sells occasionally, in similar quantities when it does
Lumpy Sells occasionally and in very different quantities

Methods suited to the pattern are back-tested on past data: the latest periods are held back, the method forecasts them from what came before, and the result is compared with what actually happened. The method with the lowest error is kept.

  • For smooth and erratic demand, averages, exponential smoothing, trend and seasonal methods are tested.
  • For intermittent demand, only methods designed for that pattern (Croston and its variants) are used.
  • For products with very short history, a simple average is used.

The method comparison table on the product detail page shows every method tested and its error.

The average percentage by which the forecast missed the actual value in the back-test; lower is better. Bias shows the direction of the error: is the forecast consistently high or consistently low?

Products whose error is above the threshold in Settings get a “low accuracy” alert.

A forecast is not a single number. The shaded band on the chart is the range demand is expected to fall in with 80% probability. The forecast table also gives the 95% interval. The interval widens with the horizon: backtest errors are smaller for the near term and larger further out.

With more than one warehouse, each product is forecast both per warehouse and company-wide (total sales of all warehouses) as separate series, with the method chosen for each series. The company-wide forecast may therefore differ from the sum of the warehouse forecasts; the product screen shows both side by side. Order and transfer suggestions come from the warehouse forecasts, the ABC/XYZ class (by default) from the company-wide forecast.

In periods with sales flagged as campaign sales, the forecast is made from baseline demand with the campaign effect removed: campaign sales are taken out and campaign days are filled from the same period’s non-campaign days. Company-wide, this filling is done per warehouse and then summed. The extra demand of future campaigns is added to the forecast separately, so the campaign effect is not counted twice.

  • Load at least two years of sales history; seasonality cannot be captured otherwise.
  • Give returns separately from sales (returnQty).
  • Sales look low in periods when you were out of stock, and those periods pull the forecast down. The application does not correct for lost sales.