Full Case Record · Multi-site retail · Northern Europe

From detection to execution, and to cash

An in-aisle robot already detected the problems on the shop floor every night. Nobody was resolving them: the alerts arrived without order, without an owner and without a value attached. The work here was the layer that closes that circuit — every alert becomes a task with a price, a rank and a named owner, and a record of what was actually done.

Client identity and robotics vendor withheld. Method, figure set, assumptions and open gaps published in full; no figure is rounded.

317 of 318
assigned tasks resolved
3.1x
value of a selected task vs. a random alert
9.4%
of exposed value captured from 3% of alerts
Empty supermarket aisle at night under fluorescent lighting, product labels unreadable

The situation

Detection was not the problem. An in-aisle robot already walked the floor every night and identified two things reliably: product missing from the shelf, and price wrongly labelled. What arrived the next morning was an undifferentiated list. 100% of alerts repeated every night for as long as the underlying problem stayed there, so the list never shortened and reading it stopped being worth anyone's time. None of them carried the impact in money, so a missing high-margin line and a mislabelled slow mover weighed exactly the same. And 0% of the actions taken against them was recorded, so nobody could measure what had been done, defend a decision, or show a result to a manager or an auditor. The chain was paying for detection it had already installed and capturing almost none of the margin that detection exposed. Detection remains the robotics vendor's; what was built here is everything that happens after the alert.

What we deployed

  • Every alert converted into a task carrying an owner, a rank and a value in dollars — which is what stops it being an infinite list and starts it being work.
  • A value in dollars attached to each alert from the store's own prices and margins, which is what makes ranking possible at all — and what is absent in the stores where those files have never been loaded.
  • A replenisher queue on tablet, ordered from the task that recovers most margin downwards, closed in a single tap.
  • A record of who acted, when, and what was done — the artefact that can be shown to a manager, a client or an auditor, which did not exist before.
  • Twelve rounds of improvement run with real users, with the unfavourable numbers kept in rather than filtered out.

What it produced

317 of 318
assigned tasks resolved
3.1x
value of a selected task vs. a random alert
9.4%
of exposed value captured from 3% of alerts
  • 3% of alerts captured 9.4% of the value: the average executed task was 3.1x more valuable than a random alert. Measured on one store over 18 days of operation.
  • 99.7% execution — 317 of 318 assigned tasks resolved.
  • 37% utilisation: 10 of 27 available days worked. The ceiling in the pilot was set by the routine, not by the product.
  • Per-store monthly ladder: US$ 1,967 today (10 of 27 days) → US$ 8,976 with the same team every day (+294%) → US$ 12,987 with one more person on half shift (+560%) → US$ 21,566 with a dedicated shift (+996%). Each rung is an operating decision, not a development.
  • First-year cash of US$ 86,872 per store, accumulated as a ramp and not as a flat run rate: US$ 3,662/month at ≈M2, US$ 6,074/month at ≈M6, US$ 11,379/month at ≈M11–M12 — a run rate of US$ 136,548/year/store by month 12.
  • US$ 995,940/year/store of exposed margin sitting in alerts nobody was prioritising, of which 2.4% was being captured.
  • Across the 42-store chain: US$ 41.8M/year of exposed margin — the ceiling, not the promise — US$ 3.6M of year-one cash and a US$ 5.7M year-two run rate. Published as a range of US$ 2.6M to US$ 3.6M, because the pilot's second store showed 56% less exposed margin than the first.
Each rung is an operating decision, not a developmentUS$ per store per month, by operating scenario.
Each rung is an operating decision, not a developmentColumn chart over four ordered scenarios. Values in US$ / store / month. From Today at 1,967 to Dedicated shift at 21,566. The same figures are listed in the table below.

US$ / store / month

Show the figures as a table — Each rung is an operating decision, not a development
Monthly value per store under each of the four operating scenarios, in US$.
ScenarioValue (US$ / store / month)Note
Today1,96710 of 27 days
Same team, every day8,976—
One more person, half shift12,987—
Dedicated shift21,566—
Execution was not the constraintEach meter is a ratio against its own limit.
Execution was not the constraintMeters, each filled against its own limit. Values in %. Available days worked: 10 of 27 available days. The same figures are listed in the table below.
Show the figures as a table — Execution was not the constraint
Task resolution and day utilisation, each shown as a count against its own limit.
RowValue (%)Note
Assigned tasks resolved99.7%317 of 318
Available days worked37.0%10 of 27 available days

What we assumed

  • 50% of recovered margin converts into real sale. At 25% the case still stands, which is why the assumption is stated rather than buried.
  • 5 minutes of search avoided per task. That is the whole basis of the released-hours component.
  • 27 scan days per month, and a chain-average store that resembles the pilot's. The second store already tells us the second half of that assumption is the weak one.

What we did not measure

  • The action is not yet confirmed at task close. Until it is, the impact is a well-founded calculation and not hard data — and that is the single change that would convert it.
  • 75,504 alerts a month cannot be prioritised at all in the stores that have no prices and margins loaded. Without that file there is no value to rank by, so those stores fall back to the undifferentiated list the system was built to replace. It is a file to load, not a project to build.
  • The daily routine is still not closed. It is worth +294% and requires no development, which makes it the largest unbooked figure in the case.

What this means on an EPC program

The engine that ranks nightly shop-floor alerts by the money each one recovers is the engine that ranks an open RFI backlog by the money each item exposes on an EPC program.

All case studies →