By Editorial — IT Researches
We have been building demand and sales forecasting systems since 2011, and bias is the failure mode we see most often. Variance — random forecast error — is what teams measure; bias — the persistent direction of that error — is what costs money. A forecast that is, on average, six per cent too low keeps stock-outs in the system long after the team has stopped looking for them.
Bias usually has one of four sources, and naming the source is half the work. The first is data: a calendar of promotions that was reconstructed from memory rather than from the source system, a returns stream that is netted out of demand inconsistently across SKUs, an inventory event that masquerades as a demand spike. The second is model: a regularised model that has learned to under-predict the long tail because the loss function rewards it for doing so, a tree-based model whose splits are rarely close to the upper end of the distribution, an autoregressive model whose mean reversion drags every forecast back to the historical centre of mass. The third is process: a planner who manually adjusts every forecast downward because the last quarter's stock-outs are still on their mind, a target-setting cycle that rewards conservative numbers, a hand-off between forecasting and planning systems that drops the prediction interval and keeps only the point estimate. The fourth is incentive: someone in the chain is being measured on a metric that the bias quietly improves.
The mechanical part of fixing bias is straightforward. Decompose forecast error by horizon, by segment, by promotion regime and by season; calculate signed error, not just absolute; track it weekly; treat any persistent signed error above a couple of per cent as an actionable defect. The cultural part is harder. Bias usually serves someone, and that someone has to be present in the room when the system is changed.
Two specific patterns are worth highlighting because we see them so often. The first is the pull-forward problem in promotional categories: a model that has learned the average uplift from a promotion will systematically over-predict the post-promotion week, because it does not know that customers stockpiled. The fix is to model the pull-forward explicitly, with an offset that is calibrated against the categories where you have clean data and applied — with appropriate humility — to the ones where you do not.
The second is the recovery problem after stock-outs. A naive model trained on shipment data will treat the zero-shipment week as a zero-demand week and will permanently under-predict the SKU until enough new history accumulates to wash that signal out. The fix is to censor stock-out weeks at the data layer, replace them with an imputed estimate (we typically use a Bayesian approach with a sensible prior), and flag any SKU whose history contains more than a small amount of imputed demand for separate review.
The temptation, in the face of all this, is to reach for a more capable model. Resist it. We have rescued more bias problems by fixing the data and the process than by changing the model, and the systems that come out the other side are easier for the planning team to live with. The model is the cheapest part of the stack to swap out; the discipline around it is what keeps the forecast honest.

