Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
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
How GitHub (no longer) Works
holman
311
140k
Practical Orchestrator
shlominoach
186
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
404
65k
A better future with KSS
kneath
238
17k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
Git: the NoSQL Database
bkeepers
PRO
425
64k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
Making Projects Easy
brettharned
115
5.9k
BBQ
matthewcrist
85
9.3k
RailsConf 2023
tenderlove
29
880
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/