Food delivery service, launched in October, 2000. - Now with (as of August 2021) • merchants: 84 thousand • active users : 7.3 million • yearly GMV : 163 billion JPY
order driver order user merchant deliver Demaecan - Develop 5 machine learning components. - We will give their overview in the next section. - Delve into some of them in subsequent sections.
arrival time, preparation time) + travel time from shop to destination - Machine learning task : to predict (1) shop arrival time and (2) preparation time order arrive at shop delivery complete food ready preparation time travel time from shop to destination time delivery time shop arrival time
situation, e.g. how busy the shop is, the number of active drivers, etc. ⇒ Use online (real time) feature to make the model aware of current situation. - No ground truth data available(preparation time) ⇒ subsequent section challenge and approach
user merchant deliver Demaecan - Want to wait orders at places with high demand for drivers - Task : to predict the number of orders for different areas and times order
- Preparation time at shop matters Challenge %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A Order B Order C order challenge and approach
- Preparation time at shop matters Challenge %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A Order B Order C order challenge and approach driver assignment %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A and B are assigned. Order C is assigned.
- Preparation time at shop matters - Near real time Challenge %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A Order B Order C order challenge and approach driver assignment %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A and B are assigned. Order C is assigned.
- Preparation time at shop matters - Near real time Challenge %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A Order B Order C order challenge and approach driver assignment %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A and B are assigned. Order C is assigned. Approach - Simulator with actual store, user, order, driver information
- Preparation time at shop matters - Near real time Challenge - Simulator with actual store, user, order, driver information - Utilization of reinforcement learning Approach %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A Order B Order C order driver assignment %SJWFS 4IPQ " 6TFS " 6TFS # 4IPQ # 4IPQ $ %SJWFS 6TFS $ Order A and B are assigned. Order C is assigned. challenge and approach
overlap with ranking - Genre individual diversity • Show shops of diverse genre within a recommendation list • Prevent users from being bored. The difficulties of user recommendation in food delivery service - NOTE : trade-off between accuracy and diversity
for evaluation • Sampling weight : inversely proportional to popularity • Reduces the popularity bias in evaluation - Positive/Negative sampling in the training phase • Tune trade-off between accuracy and diversity • Do hyper-parameter search with optuna (https://optuna.org) c.f. masala in LINE Developer Day 2020 ( https://linedevday.linecorp.com/2020/en/sessions/9641 )
accurate, but low genre diversity (e.g.) GNN - Co-occurrence recommendation model : high genre diversity, but less accurate (e.g.) PMI model Apply Two-stage model 1st stage : PMI model 2nd stage : GNN
the indicator of genre individual diversity Model nDCG@20 Entropy@20 Intra List Similarity@20 GNN 0.017 14.92 15.58 PMI 0.015 14.16 14.16 Two-stage (PMI and GNN) 0.019 16.15 14.17
preparation time travel time from shop to destination time delivery time - Task : Predict how long it will take from order to finish preparing the food - preparation time includes time it takes for the shop to confirm the order, cook the food, pack the food, etc. Task definition shop arrival time
time when the preparation was completed. - There is data sparsity depending on the shop, area - The time is unstable due to the (offline) crowding level of the shop, the proficiency of the shop staff, etc…
time when the preparation was completed. - There is data sparsity depending on the shop, area - The time is unstable due to the (offline) crowding level of the shop, the proficiency of the shop staff, etc…
order No precise ground truth problem Problem description - No data on when the preparation is finished - Available timestamps: - order_tm : when the order is placed - pickup_tm : when the driver received the items at the merchant - preparation time ≒ pickup_tm - order_tm
ground truth problem Data cleansing - Sometimes drivers do not tap buttons at proper time. → model learns wrong targets - Filter those orders based on the driver’s GPS and shop location
pickup tm Unreliable Driver did not wait at shop → preparation may be done earlier No precise ground truth problem Distinguishing pickup time logs arrive at shop and pick up food ready time
time when the preparation was completed. - There is data sparsity depending on the shop, area - The time is unstable due to the (offline) crowding level of the shop, the proficiency of the shop staff, etc…
they are in the features light-weight What’s LightGBM? An implementation of gradient boosting decision tree compared with deep learning model works well on relatively small data Data sparsity Using LightGBM
time when the preparation was completed. - There is data sparsity depending on the shop, area - The time is unstable due to the (offline) crowding level of the shop, the proficiency of the shop staff, etc…
- target encoding for orders that was received in the last n minutes - aggregate for 3 categories: global, shop, area - driver to order ratio - ratio of (number of drivers) / (number of orders) in last n minutes To indirectly obtain real-time information, following two real-time features were created
preparation was finished ⇒ cleansing using GPS data, custom loss function - Data sparsity depending on the shop, area ⇒ boosting model, smoothed target encoding, image embedding feature - Preparation time strongly depends on real-time situations ⇒ real-time feature order food ready time
challenges with various techniques, including meticulous feature engineering, online processing … etc. - Future work : improving accuracy, performance monitoring, developing other ML components ... etc - Demaecan is now undergoing a major system update. We are trying to utilize machine learning to improve the user experience for everyone who uses the service.