Forecasting demand where it's decided: SKU-level ML for consumer planning
From spreadsheet consensus to a governed ML forecast that planners can interrogate — fewer stockouts, less dead inventory, and a planning meeting about exceptions instead of averages.
The problem
A consumer brand planned demand the way most do: last year's actuals, a growth assumption, and a monthly meeting where sales, marketing, and supply chain negotiated a number nobody quite believed. The cost showed up on both tails — stockouts on the SKUs that mattered and pallets of the ones that didn't.
The hypothesis
Demand signal exists below the level the spreadsheet could see: SKU × channel × week, shaped by seasonality, promotions, price moves, and distribution changes. Our hypothesis: ML forecasts at that grain, with drivers exposed so planners can interrogate them, would beat consensus — and the planning meeting could shift from setting numbers to managing exceptions.
The build
- Demand data foundation — sales, promo calendars, pricing, and distribution unified into a clean weekly SKU-level history; the unglamorous half of every forecasting project.
- Forecast models with driver attribution — per-SKU models with the forecast decomposed into base, seasonality, promo lift, and trend, so a planner can see why the number is the number.
- Exception workflow — forecasts flow into planning with confidence bands; planners review only flagged deviations, and every human override is logged and scored against actuals.
Design choice that mattered: scoring overrides wasn't about policing planners — it surfaced where human context genuinely beats the model (new distribution, unmodeled events), and that's exactly where we routed attention.
Rollout
Backtest first — the model versus two years of consensus history, judged on the same accuracy metric. Then side-by-side for one quarter, model and consensus both recorded, before the model became the default and consensus became the exception process.
Results
Forecast accuracy improved where it pays: the high-velocity SKUs that drive both revenue and stockout pain. Excess cover shrank on the long tail, and the monthly meeting got shorter and sharper — arguing about twelve exceptions instead of twelve hundred rows.
What we'd tell you
- Backtests end debates that opinions can't. Run the model against history before asking anyone to trust it.
- Attribution drives adoption — planners trust a number they can decompose.
- Keep the override door open, and score it. That's how the model and the planners get smarter together.
More from the field.
Consumer lending, decided in hours
Early-warning credit risk
The 6 a.m. advisor brief
Bring us a hypothesis. Leave with a system.
Tell us what's eating your team's time. We'll give you an honest read on whether AI is the right tool — and if it is, a scoped v1 with a timeline and cost.