Time for delivery executive to arrive at restaurant
Prep Time
Food Preparation Time (By Restaurant)
Last Mile
Time for delivery executive to reach customer location
Risk
Time to fetch serviceable restaurants must be <= 0.5 second
Too low serviceable restaurants displayed
Too high delivery time
Too low delivery time
Breaking promised time - Bad Customer Experience
Delivery Agent rejects order
Historical data only gives average values for making decision
Customer might leave the app
Assignment Algorithm
Computing available delivery executives
Track all delivery executives
Read their status
If Status <> Available
Calculate time pending to be available
Strategies
Just In Time Assignment (JIT)
Delivery executive is idle right now
Restaurant starts preparing
Delivery Executive search begins
Risk
Delivery Executive might end up waiting if food preparation takes long
Delay = Estimated Prep Time - Avg. First Mile
In Parallel
Next Order Assignment (NOA)
Delivery executive is working on order 'n' already
Next assignment is given based on the completion of the first order and nearby order that they can pick.
Increases the pool of eligible executives.
Batching
Clubbing two orders at the same time from two customers located nearby.
Enables more deliveries with limited set of executives.
Complexity: NP-Hard
For two (or more) orders to be batchable, we need to calculate the new Delivery times of all the orders in the Batch and make sure they still adhere to the promise made to the customer.