The Problem
A 24-store South African lifestyle retail chain was running replenishment the way most mid-sized retailers do. store managers placed weekly orders based on instinct, the central buying team consolidated, and the warehouse fulfilled. Stockouts on best-sellers were averaging 14% of SKU-store-days. At the same time, dead stock (slow movers stuck in stores 90+ days) was tying up roughly R12M in working capital across the network.
The COO's brief: smarter replenishment that cut both stockouts and holding cost simultaneously.
What I Built
1. Per-store, per-SKU demand forecast. A Prophet-based time-series model trained on each store + SKU combination (2 years of history) produces a 6-week rolling demand forecast. Adjusted for seasonality, local events, and the recent trajectory of similar SKUs.
2. Automated replenishment proposals. Every Monday, the system generates a proposed order per store: SKUs forecasted to stockout in the coming week, target service levels per category, supplier minimum-order constraints. Store managers review and confirm or adjust (managers retain final call. the system advises, never overrides).
3. Cross-store rebalancing. The system identifies cases where Store A has excess of an SKU that Store B is about to stock out on. Proposes inter-store transfers that beat ordering from supplier on lead time and cost.
4. AI-generated insights for category buyers. Weekly report by Claude flagging: SKUs trending unexpectedly up/down, regional patterns, suggested markdown timing for slow movers, new-launch performance vs forecast.
- 01TriggerPer-store, per-SKU forecast
Prophet model trained on 2 years of history produces a 6-week rolling demand forecast adjusted for seasonality and local events.
- 02StepReplenishment proposal generated
Every Monday: SKUs at stockout risk, target service levels, supplier minimum-order constraints. turned into a draft order per store.
- 03DecisionCross-store rebalancing checked
Excess at Store A vs imminent stockout at Store B → inter-store transfer proposed when faster and cheaper than supplier.
- 04DecisionStore manager approves or adjusts
Manager keeps final call. System advises, never overrides. Adjustments flow back as training signal.
3h → 30m / week - 05OutputOrder placed + buyer insights
Final order goes to warehouse. Weekly Claude report flags trending SKUs, markdown timing, and launch performance for category buyers.
Outcome
Same-store sales growth jumped 9 points YoY, primarily from being in stock when customers wanted to buy. Working capital tied up in dead stock dropped R2.2M. Store managers. initially sceptical of an algorithmic ordering system. became advocates after seeing it stocked their best-sellers more reliably than they had been managing manually. Two managers asked if the system could be extended to suggest visual merchandising priorities (it now does).