
Case study
Cut stockouts by 41% and dead stock by 28% with a per-SKU demand model.
Excelso has roasted in Tauranga since 1994, supplying its own espresso bar alongside a growing wholesale book of Bay of Plenty cafes, but the green-bean and roasted-line ordering that underpinned the whole operation still ran on spreadsheets and the head roaster's instinct. Green coffee is bought months ahead and shipped across the world, so a single buying decision could lock up cash for a quarter; meanwhile the roastery had no reliable way to translate next month's wholesale demand into this week's roast schedule. The result was a familiar squeeze: the fast-moving house blends that cafes reorder week after week would run short just as a busy weekend hit, while slower single origins sat in the warehouse drifting past their peak freshness and quietly turning into dead stock.
The swings were sharpest exactly where the margins were thinnest. Seasonal patterns, new cafe accounts coming on, one-off events and the steady drift of consumer taste all pulled demand around in ways a static reorder point could never capture, and every wrong guess showed up either as an apology to a wholesale customer or as beans written off. The team wanted to keep roasting to order and protect freshness, but they needed buying and roasting decisions grounded in what each individual line was actually doing rather than a blended average that hid the detail that mattered. Any solution had to respect the roastery's existing rhythm and stay legible to the people on the floor, not bury their judgement under an opaque algorithm.
"For years we were either short on the blends everyone wants or sitting on lovely origins quietly going past their best, and the buying call came down to whoever had the best gut feel that week. Having a forecast for every single line changed how we roast and how we buy; we plan the week off one view we actually trust, the cafes get full orders, and we're not pouring cash into beans we'll only end up writing off. It's taken the guesswork out of the part of the business that used to keep me up at night."
Want something like this for your team?
Let's talk