Bias is a gift, not a failure
Random error is hard to reduce. Bias - consistently forecasting above or below actual - is a fault with a cause, and causes can be found and removed. A biased forecast is a better starting position than an unbiased but noisy one.
The first step is simply to measure it, which many businesses never do. Plot signed error over time by product group, branch and planner. Patterns tend to jump out.
The usual causes, in order of how often we find them
- Definition mismatch. The forecast counts orders, actuals count despatches, and the difference is a lag plus cancellations. This produces a clean, constant gap.
- A missing driver. Promotions, price changes, a new channel or a lost customer that the model has never been told about.
- Human adjustment. Planners routinely nudge numbers up or down for reasons that made sense once. These adjustments are rarely reviewed as a set.
- A stale training window. A model trained on a period that included a structural change will keep expecting the old level.
- Asymmetric incentives. If being short is punished more than being long, forecasts drift upward and nobody is doing anything wrong individually.
Separating model bias from human bias
Where planners adjust a system forecast, record both the original and the final number. It costs nothing and answers a question that is otherwise unanswerable: are the adjustments improving accuracy or degrading it?
Both outcomes are common, and both are useful to know. Where adjustments consistently help, the information behind them should be fed into the model as a feature. Where they consistently hurt, that is a conversation worth having with evidence rather than impressions.
The tempting fix that usually fails
The obvious remedy for a 7% under-forecast is to add 7%. This works until the underlying cause changes, then produces a 7% over-forecast that takes months to notice.
A correction factor is acceptable as a short-term measure while you find the cause, provided it is visible, owned and reviewed. It is not acceptable as the permanent answer, because it hides the fault rather than fixing it.
A correction factor is a note saying 'we know something is wrong here' - it is not a fix.
Monitoring so it does not come back
Bias returns quietly whenever the business changes. Adding signed error to the regular forecast report - not just absolute error - turns a slow drift into something visible within a cycle or two.
A simple control rule works well: if bias exceeds a set threshold for three consecutive periods, it triggers a review rather than an automatic adjustment. That separates genuine drift from a run of bad luck. Our piece on monitoring models in production covers the wider setup.