The Setup
Shufersal operates supermarkets, discount stores, neighborhood grocery, and a national online delivery channel that grew from a side bet into a primary distribution channel. Home delivery spans the full grocery SKU range, from 100-gram items to 50-kilogram items, across every branch nationally.
What Mycelium Replaced
Home delivery was mostly manual. A small fraction of today’s order volume, concentrated in a few main branches. The prior routing supplier wasn’t equipped to model Shufersal’s optimization requirements at scale. That’s what blocked the channel from growing.
What Was Deployed
- Per-branch rule bundles, multi-class vehicles for cold-chain, per-customer 2-3 hour delivery windows. Every constraint travels with each API request.
- Optimization API at thousands of requests per hour, second-scale response.
Results
- 5h → 2h delivery windows compressed to the consumer
- 18M+ delivery routes since 2016
- 230M+ individual orders since 2016
- Thousands of API requests per hour at second-scale response
- In production since 2016, still running daily
Why this kept running
Per-branch rule bundles accumulated branch by branch since 2016. Multi-class vehicles, per-customer windows, branch-specific carrier mixes. Modeled once, traveling with each API request.
The accumulated rule set is the operational truth of the home-delivery channel. It does not transfer to another vendor as configuration. Multi-class vehicles, every carrier mix, every consumer window, encoded once and kept in production.
Why This Pattern Repeats
Per-branch configuration is the same capability that lets a multi-tenant business park allocate costs per tenant and a healthcare payer run different payer-rule pipelines per client. The rules are different; the mechanism is the same.