Requirements
What it is
Clarify:
- goal: estimates customers can trust: fewer late deliveries against the promise, without padding so much that orders are lost;
- where shown: the home screen (rough), checkout (the promise), and live tracking after the order;
- scale: about 10 million estimates a day, about 350 a second at peak (module 4);
- latency: 50 ms at p99, since checkout waits for it;
- freshness: must reflect the store's current queue and rider availability within a minute.
Why it matters
The estimate is a promise, so being late is worse than being early.
- Customers who receive an order later than promised complain and order less; a few minutes early costs little.
- That asymmetry shapes the target, the loss and the metrics.
In the real world: Delivery apps typically measure 'on-time against promise' as a headline metric beside average error.
Optimising average error. A model that is right on average is late on nearly half of all orders.