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.6k
Featured
See All Featured
Bash Introduction
62gerente
608
210k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Imperfection Machines: The Place of Print at Facebook
scottboms
266
13k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
66k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Building Better People: How to give real-time feedback that sticks.
wjessup
365
19k
Music & Morning Musume
bryan
46
6.2k
Adopting Sorbet at Scale
ufuk
73
9.1k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Rails Girls Zürich Keynote
gr2m
94
13k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
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/