title: "Forecast-anomaly explainer for a national distribution group" dek: "A 2023 build that read 14 months of demand-forecast misses and surfaced 6 root causes the ops team hadn't named. Forecast accuracy gained 11 percentage points the following year." sector: "Industrial & Logistics" client: "National distribution group · A$340M revenue · 12 distribution centres" engagement: "Pilot" duration: "11 weeks" year: "2023" outcome: "Forecast accuracy: 67% → 78% MAPE · A$1.8M in avoided over-stocking annualised" solution: "Anomaly classifier over SAP demand-forecast records joined to external signals (weather, public holidays, competitor promotions, freight disruption), with weekly ops review." timeSaved: "~14 hours per week of analyst rework · A$0.22 per SKU-week analysed" visual: "none" cardFigure: "gauge" timeMetric: "11 hrs" timeMetricLabel: "saved / week" costMetric: "A$0.22" costMetricLabel: "cost per SKU-week" speedMetric: "4.7×" speedMetricLabel: "less analyst rework" publishedAt: "2023-12-04" keywords:
- supply chain AI Australia
- demand forecasting AI
- SAP analytics
- logistics machine learning
The problem
A national distribution group — A$340M revenue, twelve distribution centres, around 11,000 active SKUs — was missing demand forecasts by 33% on a rolling MAPE basis. The ops team knew the misses individually (rep observations, supplier complaints, end-of-month variance reviews), but couldn't explain the pattern of misses. Were they seasonal? Were they competitor-promotion driven? Were they freight-disruption echoes? The team's answer was: "all of those, sometimes, we think."
The COO didn't want a new forecasting model. The firm had two consultancies in over the previous five years, each of whom had pitched a new model. The forecasts hadn't improved.
What she wanted was explanation. She wanted to know, on every forecast miss above a threshold, what had probably caused it.
What we did
Two weeks of scoping (we sat in on three weekly ops reviews and read 14 months of variance-analysis notes), seven weeks of build, two weeks of pilot. The deployed system:
- Joined SAP demand-forecast records with the firm's actual sales records at SKU × DC × week granularity
- Pulled in external signals: BoM weather history, AU public-holiday calendar, three competitor promotional histories, freight-disruption reports
- Trained a classifier (not a forecaster) to identify the most likely driver class for each forecast miss
- Produced a weekly "anomaly explanation" report for the ops team — every miss above 15% MAPE, with a most-likely-driver narrative and the evidence behind it
- Logged the predicted driver vs. the eventual ops-team-confirmed driver — feeding back into model quality monitoring
The system didn't change any forecast. It explained the misses. The ops team kept the forecasting authority.
The outcome — over the following financial year
| Before (FY23) | After (FY24) | |
|---|---|---|
| Forecast accuracy (rolling MAPE) | 67% | 78% |
| Distinct miss-driver categories identified | n/a | 6 (3 were patterns the ops team hadn't named) |
| Over-stocking write-downs | A$2.4M | A$0.6M |
| Avoided over-stocking (annualised) | n/a | A$1.8M |
| Analyst hours per week on variance rework | ~14 | ~3 |
| Cost per SKU-week analysed (model + infra) | n/a | A$0.22 |
The six driver categories the system named are now the categories the ops team uses to structure their weekly variance review. Three of them — competitor-promotional shadow effect, delayed-freight echo at SKU level, end-of-month buyer-bulking behaviour — were not vocabulary the team had used previously.
Two consultancies before you tried to give us a better forecaster. You gave us a way to talk about why our existing one was wrong. That changed the conversation in the ops room.
— COO, national distribution group
What we'd do differently
Index the variance-analysis notes earlier. We did this in week three. The 14 months of written analyst notes were the highest-signal artefact in the engagement — they should have been the week-one input.
Engage the buyers, not just the ops team. Three of the named driver categories were patterns the buyers (not the ops team) understood. We retrofitted buyer interviews in month two. Should have been week one.
What we didn't do
We didn't change any forecast. We didn't replace SAP. We didn't deploy any autonomous decision-making — every forecast adjustment continued to be made by the ops team after reading the system's analysis.
This was 2023 work. The pattern — AI as the explanatory layer, not the prediction layer — turned out to be the higher-leverage place to deploy AI in supply chain work. We've used the same architecture in five logistics engagements since.
