Zoom out and your demand forecast looks healthy. Total units roughly match. Zoom in to the SKU and store level, where the actual decisions get made, and it is a different story. Promotions, local weather, a nearby competitor, a trend you did not see coming, each pulls individual lines in its own direction, and the granular forecast is the one that is usually wrong.
Granularity is where drift hides
Aggregates are forgiving, because errors cancel out. The SKU and location level has nowhere to hide. A model fit a month ago may still be fine on average while being meaningfully off for the specific items and stores you are actually ordering for. And those are the forecasts that turn into stockouts and markdowns.
The usual tools smooth over it
Many planning systems lean on broad methods that work at the aggregate and paper over the granular drift. You end up trusting a number that is right in total and wrong where it counts. More manual overrides help a little and scale terribly.
Correct each line, continuously
A layer on top of your demand model does what no planner can do by hand across thousands of lines: it watches every forecast against actual sales, finds where each one is now biased, and corrects it continuously. Your planning system stays in place and your data stays private. The forecast gets sharper exactly where it was weakest, at the SKU and store.
A forecast that is right in total and wrong per SKU still causes stockouts. The granular level is where the money is, and where the drift lives.
Demand is a time series that keeps moving, and the trick is measuring drift and correcting for it faster than the pattern changes. We proved that discipline in weather, where every forecast is checked against reality daily, and the same method keeps granular demand honest.
Want sharper demand forecasts?
Talk to us