Case study · Last-mile delivery

Delivery windows: 5h → 2h. In production since 2016.

Shufersal's home-delivery routing runs on Mycelium across every branch. Multi-class vehicles, per-customer windows, per-branch rule bundles travel with each API request. Thousands of requests per hour, response in seconds.

18M+
delivery routes since 2016
230M+
orders since 2016
2016
in production since
Shufersal · per-branch configuration

Each branch sends its own rule bundle per API request. The ops team changes routing policy without a release cycle.

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.

Send a week of orders + your routing rules. We'll model the routing surface.

A real week of branch orders beats any demo. Thirty-minute call, honest deltas.