DRIVER REASSIGNMENT, SMART SUGGEST AND
NAVIGATION FOR LAST-MILE SHIPPING EFFICIENCY
Systematic analysis of order demands
and driver efficiency analysis
Final Presentation – Sricharan Chiruvolu – BL.EN.U4CSE12505
• About Runnr.
• Reassignments of orders.
• Smart Suggestions to drivers and operations.
• Driver Navigation.
• In this presentation,
• Demand prediction and driver efficiency analysis.
– Mathematical models used.
– Analytics and machine learning.
DEMAND AND SUPPLY PREDICTION
• What is machine learning?
• Supervised Learning.
• Un-supervised Learning.
• Reinforcement Learning.
• Prediction of demand and supply.
• Calculation of demand and creating mappings.
• Generating of a mathematical model.
• Time-series model with trend detection.
• Other approaches,
– Blending: Use the prediction/actual demand gap
for the previous hour to correct the prediction for
– Predict demand for smaller time
intervals/areas(cluster rather than localities)
• Weekend/holiday demand is much higher than
• Demand profile(demand in a time interval as a
fraction of daily demand) is roughly same even if
orders/day can fluctuate.
• Demand in a locality is independent of demand in
other localities. In essence we need a `different
model' for each locality.
• Depending on the maturity of a locality it can have
a trend (mostly upwards since we are growing!)
Generating the demand model
• Standard Time-series with trend detection.
• Arima seasonal model with 7 day series.
Demand model anomalies
• Arima models need a lot of data to fit and with the
hyper growth of roadrunnr, using data that is older
than 30 days old is not advisable.
• Demand is also affected by supply shocks such as
driver incentive changes and hence going too far back
in time leads to too much variation in data that cannot
be explained by standard arima.
• Holidays are entirely non seasonal demand bursts
which also complicates model building and hence we
defer building that model and instead build a simpler
model that is entirely different for weekends/holidays
Model generation on weekdays
• For each locality
– Pull 30 day historical orders
– Filter weekend/holiday data
– For each day calculate demand profile(order
count in an hour/total orders in a day).
– Calculate avg demand profile for the locality
– Calculate total orders for each day
– Detect a trend in orders/day time series using
regression data at 70% confidence.
Model prediction on weekdays
• Use the regression data per locality to predict
• Use the average demand profile and the
orders/day prediction to get interval demand.
DRIVER EFFICIENCY ANALYSIS
• Touchpoints per busy hour (TPBH): TP/ time
spent on those touchpoints.
• Touchpoints per available hour (TPAH): TP/
hours logged in.
• Trip Time: Pickup Time + Wait Time + Drop
• Ideal Pickup Time: 10 mins.
• Ideal Wait Time: 1 mins.
• Ideal Trip Time: Ideal PickupTime + Ideal
WaitTime + Ideal Drop Off Time
• Ideal Drop off time: Ideal Travel Time +
– Ideal Travel Time = (Gmaps Distance)/(12Km/hr)
– Handshake Time = 5 min.
Metric Value % Improvement over
Current TPBH 2.94 0
With Ideal pickup time 2.97 1%
With Ideal wait time 3.32 13%
With Ideal drop off time 3.82 30%
With Ideal trip time 5.16 75%
Pickup leg analytics
• Pickup leg is defined as the time from which the
driver receives the order to the time he/she
reaches the shop.
• In 67% of trips, drivers click the reached shop
button in their app before reaching the
merchant’s location. This way, we grossly
underestimate the number of pickup breaches in
the system and wrongly calculate the wait time
for merchants. Drivers need to be trained to
properly use the system.
Factors Contribution to pickup bleaches
On road distance 60%
Hour of day 20%
Driver relevance 11%
Cross locality pickup 9%
• Driver Relevance is the number of times the driver has been to the merchant
before this trip.
Driver relevance with pickup bleaches
Pickup leg recommendations
• Multiple Locality Assignment of Drivers: The
current assignment logic gives preference to
locality over distance when comparing with a
cross locality driver.
• This increases the overall distance and as a
result pickup breaches. If we take three top
localities of the driver then effective distance
(based on current assignment logic) will
Pickup leg recommendations
• Reducing Assignment Distance: Reducing
assignment distance from 2.5 Kms should
decrease pickup breaches. However, this need
to evaluated carefully with stockout events at
Wait leg analysis
• Wait Time leg is defined as the time from
when the driver has reached the shop to
• One analysis featured around charging for
wait times to merchants: Let’s say we charge
1 Re/min for any minute above a certain
threshold. Here is the breakdown of
approximate amount of revenue we will earn
in a day per city:
Wait time threshold
Wait Time Threshold Approximate Total Revenue (in Rs.)
5 min 8- 10 Lac
10 mins 3 – 4 Lac
15 mins 1 – 2 Lac
Wait time recommendations
• Merchant Charged, Driver Gains: We charge for wait
time and trickle that revenue to drivers as incentive.
The merchant will ensure that reached shop button is
clicked only in front of him (because of charge) and
drivers will have incentive to keep waiting.
• Delayed Dispatch: We implement a prediction
algorithm to predict the food preparation time and
display the expected preparation time to merchant
while placing the order. Merchant can override that
time. According to the time, we incorporate delayed
dispatch in the system to minimize wait times.
Drop leg analysis
• Drop time is the time that the driver took to
drop the shipment to the customer. It
approximately contributes to 66% of total trip
time on an average.
• Travel Distance and traffic is a major factor
which contributes to the drop off times. Driver
Relevance and other things are not so much
Drop leg recommendations
• The Merchant books the order and the delivery driver picks
the shipment. A notification is sent to the customer to track
• Once the customer clicks on the tracking URL, the
customer’s current location is found and sent to the server.
The Customer-to-location relation is established.
• Meanwhile, the delivery driver is moving towards the
customer sub-locality specified by the merchant.
• Once the customer location is found, it is sent to delivery
driver in the next ping request. A GCM or an MQTT message
would reach the driver and the trip is updated with the
• The driver is navigated to the customers location.
Name C. SRICHARAN