Line chart comparing a biased demand forecast against an unbiased moving average, illustrating demand forecast bias in an S&OP process

The Hidden Bias That’s Sabotaging Your Demand Forecasts

Lately LinkedIn is buzzing with ML experts making outsized promises that automated algorithms crush human forecasts, and planners shouldn’t touch a model ever again.

The favorite talking point? ๐Ÿ‘‡

ย ๐—” ๐˜€๐—ถ๐—บ๐—ฝ๐—น๐—ฒ ๐—บ๐—ผ๐˜ƒ๐—ถ๐—ป๐—ด ๐—ฎ๐˜ƒ๐—ฒ๐—ฟ๐—ฎ๐—ด๐—ฒ ๐—ฏ๐—ฒ๐—ฎ๐˜๐˜€ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ต๐˜‚๐—บ๐—ฎ๐—ป ๐—ณ๐—ผ๐—ฟ๐—ฒ๐—ฐ๐—ฎ๐˜€๐˜.

Sounds alarming. Look closer, and it falls apart. It’s not the inability of the planner, it’s the bias in the planning process that just lifted the forecast up.

S&OP/IBP, what have you โ€” the powers that be said the forecast needs to come up 25% across the board.

A clean, highly seasonal pattern just lifted up magically across the entire horizon – right seasonality, right peaks and troughs.

But accuracy comes back at zero. ๐Ÿ“Š

๐—ง๐—ต๐—ฎ๐˜ ๐—ฏ๐—ถ๐—ฎ๐˜€ ๐—ฑ๐—ถ๐—ฑ๐—ป’๐˜ ๐—ฐ๐—ผ๐—บ๐—ฒ ๐—ณ๐—ฟ๐—ผ๐—บ ๐˜๐—ต๐—ฒ ๐—บ๐—ฎ๐˜๐—ต ๐—ผ๐—ฟ ๐˜๐—ต๐—ฒ ๐—บ๐—ผ๐—ฑ๐—ฒ๐—น – it was crafted intelligently by the demand planner.

Now the 6-month moving average proposed by a simple ML algorithm beats this forecast, a genuinely dumb forecast, but unbiased.

It cuts right through the middle of the data, ๐˜€๐—ผ ๐—ถ๐˜ ๐˜€๐—ฐ๐—ผ๐—ฟ๐—ฒ๐˜€ ๐—ฝ๐—ผ๐˜€๐—ถ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—ฎ๐—ฐ๐—ฐ๐˜‚๐—ฟ๐—ฎ๐—ฐ๐˜† ๐—ฎ๐—ป๐—ฑ ๐˜๐—ต๐—ฒ ๐˜€๐—บ๐—ฎ๐—ฟ๐˜ ๐—ณ๐—ผ๐—ฟ๐—ฒ๐—ฐ๐—ฎ๐˜€๐˜ ๐—ฝ๐—ผ๐˜€๐˜๐˜€ ๐—ป๐—ฒ๐—ด๐—ฎ๐˜๐—ถ๐˜ƒ๐—ฒ ๐—™๐—ฉ๐—”. ๐ŸŽฏ

Fix the bias, and a plain Holt-Winters model hits ~99% accuracy on that same pattern.

The moving average? A consolation prize at best. โœ…

The first thing to diagnose when you assess an IBP process is whether a process bias is polluting the demand forecast.

๐Ÿ’ฌ “๐—ช๐—ต๐—ฒ๐—ฟ๐—ฒ ๐—ฑ๐—ผ๐—ฒ๐˜€ ๐—ฏ๐—ถ๐—ฎ๐˜€ ๐—ฐ๐—ฟ๐—ฒ๐—ฒ๐—ฝ ๐—ถ๐—ป๐˜๐—ผ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ณ๐—ผ๐—ฟ๐—ฒ๐—ฐ๐—ฎ๐˜€๐˜ ๐—ฝ๐—ฟ๐—ผ๐—ฐ๐—ฒ๐˜€๐˜€ – ๐˜๐—ต๐—ฒ ๐—บ๐—ผ๐—ฑ๐—ฒ๐—น, ๐—ผ๐—ฟ ๐˜๐—ต๐—ฒ ๐—ฐ๐—ผ๐—ป๐˜€๐—ฒ๐—ป๐˜€๐˜‚๐˜€ ๐—บ๐—ฒ๐—ฒ๐˜๐—ถ๐—ป๐—ด?”

Read our related posts: