LASTKILOMETRE

One dark store, Faridabad
Simulated, not scraped
17:00 to 22:00
~250 orders
No machine learning.
A clock and a queue.
Scroll to open
This evening, as configured
01 · What I found

Ten minutes is not a staffing target. It is a distance limit, and it is already set before a single rider is assigned.

Packing takes about 100 seconds. Standing at the gate waiting for a lift or a phone call takes another 75. Whatever is left is riding time, and in traffic that reaches about 1.5 km. Anyone further out is late before anything has gone wrong. You cannot hire your way out of that, and hiring is what everyone tries first.

01
How far ten minutes reaches

02 · See it run

One store,
five hours

Each dot is an order at the address it was sent to. Riders leave the store, deliver, and come back. Orders turn teal when they arrive in time and rust when they do not. Move a slider and the evening re-runs instantly. Five simulated hours cost about eleven milliseconds.

17:00
0%
Controls

03 · Finding the cause

Why was this order late?

A late delivery does not come with an explanation. Ops says hire riders, finance says the batching is loose, the store manager says the packing counter was swamped. The evening only happened once, so nobody can settle it. Here the same evening is replayed with one thing changed. If the order arrives on time in that version, that thing is what caused it.

Skip to the money
Run the explanation to deal the late orders.
Drag a card aside, or use ← →
04 · The obvious fix

One big store,
or two small ones?

Same customers, same area covered, same number of riders. The only change is whether they are served from one 2 km store or two 1.4 km ones. Two stores means paying for two packing counters, and that is included below. On service the split wins easily. It is still the wrong answer, and the reason is one section further down.

loading…
05 · What it costs

The best service is
the worst business

Everything above measures service and cost per order. On its own that is misleading, because cost per order is lowest when you serve nobody. Once you add what each option gives up (a smaller area means fewer customers, late orders make people leave, a second store costs ₹18 lakh to open), the ranking turns over completely.

loading…
Adding riders

More riders
stops helping

On-time delivery against how many riders are on shift, averaged over 40 evenings a point. The line flattens, and after that every extra rider is money spent for nothing. What holds you back is no longer the queue at the store. It is the map.

When demand spikes

Rain, a cricket final,
a festival

Dispatch rules that look identical on a normal Tuesday come apart under load. Service always gets worse when orders pile up. What matters is whether it slides or falls off a cliff.

06 · The cheapest lever

Change the number,
not the store

Every option so far costs money. This one does not. Same store, same riders, same catchment, same delivery times. The only thing that changes is the number printed in the app. Nobody proposes it in an ops meeting, because it is not an ops lever.