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
400
Chompyの配車ロジックの変遷
数理最適化: Optimization Night #6 のLT。
yagitatsu
April 22, 2022
Tweet
Share
More Decks by yagitatsu
See All by yagitatsu
ChompyでFlutter採用した_振り返り
yagitatsu
4
8.7k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
7
570
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.2k
4 Signs Your Business is Dying
shpigford
182
22k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Fireside Chat
paigeccino
34
3.1k
Visualization
eitanlees
146
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Optimizing for Happiness
mojombo
376
70k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
3
180
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/