Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Chompyの配車ロジックの変遷
Search
yagitatsu
April 22, 2022
0
390
Chompyの配車ロジックの変遷
数理最適化: Optimization Night #6 のLT。
yagitatsu
April 22, 2022
Tweet
Share
More Decks by yagitatsu
See All by yagitatsu
ChompyでFlutter採用した_振り返り
yagitatsu
4
8.6k
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
Gamification - CAS2011
davidbonilla
80
5k
A better future with KSS
kneath
238
17k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Code Review Best Practice
trishagee
64
17k
Visualization
eitanlees
145
15k
Scaling GitHub
holman
458
140k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Transcript
数理最適化: Optimization Night #6 2022/04/22 Chompyの配車ロジックの 変遷を語ってみる
• yagitatsu • Chompy, Inc. CTO, Co-Founder • Backendながめ。なんでもやる 系。数理最適化は詳しくない。
• Twitter: @yagitatsu3 • GitHub: @yagitatsu 自己紹介
• UberEatsみたいなフードデリバリーアプリです (左図) • 今はピボットして、飲食店向けのアプリもたくさんつくってます (右図) Chompyってなに?
フードデリバリーの注文の流れ 飲食店パートナー クルー(配達員) お客さま 1. アプリで料理を注文 店舗一覧や検索機能から 気になるお店を選んで注文 2. タブレットで注文受付
注文が入ったら調理開始 調理完了ボタンを押し クルーの到着を待ちます 3. 配達 配達員パートナーが オンデマンドにお届け
• やりたいこと ◦ ピークとオフピークで需要に大きな差があるので、供給側で柔軟に対応できるようにしたい ◦ ピークにたくさんの注文が集中するので、できるだけ「効率よく」配達したい ▪ 「効率よく」とは、「安さ」「早さ」「稼ぎやすい」の3つの観点がある Chompyの配車ロジックに関する課題
• やりたいことを実現するために決めたこと ◦ クルーの契約形態と報酬設計 ▪ 契約形態 • 他社と同様に業務委託で、1件単位でオファーを出し、承諾して完遂した場合のみ 報酬付与、とする (=ギグワークと言われている)
◦ フードデリバリーは、ピークとオフピークで需要の差が激しいため、バイト を雇っても時給で安定的に報酬を出すことが難しいため ▪ 報酬設計 • 「安さ」≒「早さ」≒「稼ぎやすい」になるようにする ◦ 距離が短いものほど安く、長いものほど高くする => 距離料金の導入 ◦ 距離が短いものほど時給が高く、クルーにとっても得するようにする => 固 定料金の導入 Chompyの配車ロジックに関する課題
• 注文ごとにワーカーが動き、注文店舗から一番近いクルーを探してオファー するようになっていた (早い ≒ 安い ≒ 稼ぎやすい ≒ 効率が良い)
• このときの課題 ◦ クルーの安定確保: クルーが特定の時間に、必要な人数分集まってくれるか全く読めない • Next ◦ アルバイトと同様に、時間あたりで最低報酬を出す機能(チャレンジという名称)を導入 Chompyリリース初期の配車ロジック
• 時間あたりで最低報酬の出るクルーが新たに出現したことで、「安さ」≠ 「早さ」≠「稼ぎやすい」となり、「効率の良い状態」を定義することが難 しくなった ◦ 最低報酬の出るクルーへのオファーを優先すると、部分的な「安さ」は改善するように見え るが、「早さ」が達成できなくなり、結果的に効率が悪くなってしまう ◦ 副作用として、最低報酬の出るクルーとでないクルーで、待遇の差を感じたクルーがデモチ ベーションして、結果的にピークにクルー不足で逼迫してしまう問題も発生した
◦ 1年弱いろんな調整をした結果、最終的に、配車の優先度は2種類のクルーで区別しないよう にした チャレンジ導入後の配車ロジックの課題 ❓ ❓ ✨ ✨ ✨
• 先に来た注文から順に近いクルーを探していくと、より長い時間軸でみると 最適ではないケースがあることに気づき、大きなシステムアップデートを実 施した その後、Batch Matchingへ進化 引用元: https://www.uber.com/us/en/marketplace/matching/