You know which bins are slow. The scan timestamps tell you that much. What they cannot tell you is why, because nothing in your stack holds a model of the building the picker is walking through.
So the explanations stay anecdotal. The supervisor says aisle 4 backs up in the evening peak. Someone else says the chiller run adds a minute to every order that touches it. Both are probably true. Neither can be checked, priced or designed against, because the floor exists in the WMS as a table of bin codes and in everyone else's head as a memory of walking it.
That gap is what a digital twin closes. Not a visualisation of the facility. A model of it that the rest of your data can be run against.
Bin coordinates lie about distance
Every slotting decision made from a spreadsheet rests on a false assumption. Two bins near each other in the coordinate table are rarely identical in practice.
A pillar sits between them. The aisle was narrowed when the chiller went in, so the trolley cannot pass and the picker loops around. The bay is nominally pickable and functionally blocked by a pallet that has lived there for a year. Level 4 requires a step stool, which turns a three-second reach into twenty.
None of that is in the bin master. All of it is in the timestamps, as unexplained variance that gets averaged away.
A twin makes the difference legible: not the metres between two bins, but the seconds. Once the model holds real traversal cost, the same order history you already have starts answering questions it could never answer before.

The four things it has to hold
A usable facility twin integrates four distinct data layers. Most operations already collect three of them, leaving spatial traversal as the sole missing piece.
Space. The building as it actually stands, including everything the drawings never showed. The measure that matters is not visual accuracy but time between any two bin faces.
Slot. What sits in which bin, at what velocity, in what replenishment state. The layer that changes fastest and the one the model cannot infer for itself.
Pick. How work actually moves through the space. Who went where, in what sequence, carrying what.
Throughput. What changes when things move. Orders per hour, cost per pick, seconds per line.
Most facilities already generate three of these four and store them in systems that never speak to each other. The missing one is the building.
This is not a capital project
Industrial digital twins carry a reputation for crippling cost. That reputation exists because legacy systems were built as heavy engagements: scanning crews, point-cloud reconciliation, integrator time, and months of calendar. That model was designed for manufacturing plants, which get re-simulated once every few years.
A dark store cannot work that way. Layouts churn seasonally and sometimes weekly, catalogue turns over continuously, and the as-built drawing is a historical document within a quarter of opening. Any twin that takes months to rebuild will be describing a facility that no longer exists.
Which is why the useful measure is not accuracy but the cost of producing the next one. A model at 95% accuracy that a shift supervisor can refresh in twenty minutes beats a model at 99.9% that is six months old, on every decision either one is asked to support.
Dark stores make this achievable in a way factories do not. The geometry is regular: racks, aisles, bin faces, no bespoke machinery, no conveyors curving through three levels. It reconstructs reliably from a phone walk-through, or from drawings if you have them.
Drift you can put a number on
Spatial deviation from plan directly drains margin. A bin that has drifted from its assigned position costs seconds per pick, times picks per day, times pickers on shift.
That is a daily cost, computed from your own timestamps, in your own currency. The pallet parked in the cross-aisle has a number attached to it. So does the fast mover that migrated to level 4 during a busy week and stayed there.
This is usually the first output that pays for itself, and it arrives before any optimisation work begins.

What you would need to supply
Four channels. Three of them you already produce.
1. The building, once and then on change
Whatever exists. Any one of these is sufficient:
- CAD (DWG/DXF), if drawings exist and are roughly current
- PDF layouts, including floor plans, rack elevations and supplier drawings
- Walk-through video, shot on a phone to a supplied route: every aisle in both directions, ending at pack and dispatch. Ten to twenty minutes for a typical dark store, and the only route that needs nothing to pre-exist
Where drawings and video both exist, the drawings give structure and the video gives drift.
Two things are invisible in all three and need stating:
- Zone annotations: ambient, chilled, frozen, high-value cage, quarantine
- Rack elevation specs where drawings omit level heights
Recaptured when the layout changes, not on a calendar.
2. Slot state, nightly
The bin-to-SKU map, straight out of the WMS.
- Bin master: bin ID, aisle, bay, level, dimensions, capacity, temperature class
- Current bin-to-SKU assignment with facings and on-hand
- SKU master: dimensions, weight, case pack, handling flags for fragile, liquid, crush and restricted items
- Replenishment source and lead time per SKU
Nightly file drop or API. Format is adaptable. Cadence is not, because a recommendation computed against yesterday's bin map is worse than none.
3. Demand, nightly and with history
Order lines rather than order totals. What travels together in a basket is the signal.
- Order header and line-level detail for the trailing twelve months, then nightly
- Line-level timestamps: released, picked, packed, dispatched
- Substitution and short-pick events with reason codes
- Promotion calendar and planned range changes
Twelve months exposes seasonality. Six is workable. Below three, affinity is guesswork, and that is worth knowing at the start rather than discovering in a review.
4. Picker ID on every pick event
That is the entire fourth requirement.
With picker ID, bin location and timestamp, movement through the facility reconstructs without any new instrumentation. No scanners, no badges, no floor sensors.
Pick-path logs are not needed and not asked for, because almost no WMS emits them. Paths are estimated from scan sequence grouped by picker, which covers every shift rather than tracing a sampled few. For decisions about where stock should sit, complete coverage at lower precision is the better input.
A labour roster is not needed either. Shift boundaries, headcount and break patterns fall out of the picker IDs.
What comes back
- A current 3D model of the facility, walkable and annotated
- Bin-level recommendations, each carrying the velocity and affinity reasoning behind it
- A projected throughput delta, with assumptions stated separately from results
- A drift view: where the floor has departed from plan, and what that departure costs per day
Where it goes wrong
Two predictable failure modes undermine spatial modeling. Both are cheap to avoid and expensive to discover late.
The first is finding out in month two that pick events carry no picker ID, or that order history was archived at ninety days. Both are recoverable if raised on day one.
The second is skipping the baseline. Current-state throughput has to be measured on your own timestamps before anything moves. Without that, every improvement number that follows is a claim rather than a result, and the first person to ask how it was calculated will be right to discount it.
What it is not
A spatial twin complements rather than replaces the WMS. Deciding where stock should sit is not a new discipline either, with decades of operations research behind it and capable vendors selling it.
What has been missing underneath those tools is a model of the building cheap enough to stay current. An optimiser reading a table of bin coordinates cannot see that two bins are two metres apart on paper and thirty seconds apart in practice, because a pillar sits between them and the picker walks around it several hundred times a day.
The building is the substrate. Everything else sits on top of it.
