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
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Fireside Chat
paigeccino
32
3k
Intergalactic Javascript Robots from Outer Space
tanoku
268
27k
We Have a Design System, Now What?
morganepeng
50
7.2k
Rails Girls Zürich Keynote
gr2m
93
13k
Designing the Hi-DPI Web
ddemaree
280
34k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Building Adaptive Systems
keathley
38
2.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
228
52k
Producing Creativity
orderedlist
PRO
341
39k
Thoughts on Productivity
jonyablonski
67
4.3k
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/