Skip to content
Case study

Forecasting demand for 2,400 SKUs

Planners worked from last year plus intuition. We built a forecasting service per SKU and region, retrained weekly, with a manual override planners actually use.

Forecast error
-19%
Working capital freed
$2.1M
SKUs covered
2,400
Retraining cadence
Weekly

The situation

Carter Foods runs three plants and ships 2,400 active SKUs. Planning worked from last year’s volumes plus the planner’s judgement, in a spreadsheet rebuilt each Monday.

It was not a bad process. It was an undocumented one that depended on two people, and it could not react to a promotion the commercial team had agreed on Friday.

Constraints

Planners had to stay in control. An earlier attempt at automated replenishment had been abandoned because overriding it was slower than ignoring it, so the override path mattered more than the model.

What we did

We built one demand history across retail, foodservice and wholesale, with returns and promotional lift handled consistently for the first time. Forecasting runs per SKU and region and retrains weekly.

The override sits in the planning screen the team already used. A planner changes a number, the reason is recorded, and that reason feeds the next evaluation round.

What surprised everyone

The largest single gain came from fixing how promotions were recorded, not from the model. Three months of history had been attributing lift to the wrong week.

Results

MeasureBeforeAfter
Mean absolute percentage error31%12%
Stockouts per quarter18496
Planning hours per week6022
Models in production03
Everything is in our repository, commented, with tests. Two of my analysts now ship changes that used to need a consultant.
Marcus ElderMarcus ElderHead of Data, Carter Foods

What we left behind

  • A project in the client's own repository, with tests and CI
  • Documented definitions with named owners
  • Runbooks for every scheduled job, written for a non-engineer
  • Two weeks of training for the team taking it over

Tell us which number you cannot trust

Send one paragraph about the report that always starts an argument. A data lead, not a salesperson, replies within one business day.