Slide 1

Slide 1 text

数理最適化: Optimization Night #6 2022/04/22 Chompyの配車ロジックの 変遷を語ってみる

Slide 2

Slide 2 text

● yagitatsu ● Chompy, Inc. CTO, Co-Founder ● Backendながめ。なんでもやる 系。数理最適化は詳しくない。 ● Twitter: @yagitatsu3 ● GitHub: @yagitatsu 自己紹介

Slide 3

Slide 3 text

● UberEatsみたいなフードデリバリーアプリです (左図) ● 今はピボットして、飲食店向けのアプリもたくさんつくってます (右図) Chompyってなに?

Slide 4

Slide 4 text

フードデリバリーの注文の流れ 飲食店パートナー クルー(配達員) お客さま 1. アプリで料理を注文 店舗一覧や検索機能から 気になるお店を選んで注文 2. タブレットで注文受付 注文が入ったら調理開始 調理完了ボタンを押し クルーの到着を待ちます 3. 配達 配達員パートナーが オンデマンドにお届け

Slide 5

Slide 5 text

● やりたいこと ○ ピークとオフピークで需要に大きな差があるので、供給側で柔軟に対応できるようにしたい ○ ピークにたくさんの注文が集中するので、できるだけ「効率よく」配達したい ■ 「効率よく」とは、「安さ」「早さ」「稼ぎやすい」の3つの観点がある Chompyの配車ロジックに関する課題

Slide 6

Slide 6 text

● やりたいことを実現するために決めたこと ○ クルーの契約形態と報酬設計 ■ 契約形態 ● 他社と同様に業務委託で、1件単位でオファーを出し、承諾して完遂した場合のみ 報酬付与、とする (=ギグワークと言われている) ○ フードデリバリーは、ピークとオフピークで需要の差が激しいため、バイト を雇っても時給で安定的に報酬を出すことが難しいため ■ 報酬設計 ● 「安さ」≒「早さ」≒「稼ぎやすい」になるようにする ○ 距離が短いものほど安く、長いものほど高くする => 距離料金の導入 ○ 距離が短いものほど時給が高く、クルーにとっても得するようにする => 固 定料金の導入 Chompyの配車ロジックに関する課題

Slide 7

Slide 7 text

● 注文ごとにワーカーが動き、注文店舗から一番近いクルーを探してオファー するようになっていた (早い ≒ 安い ≒ 稼ぎやすい ≒ 効率が良い) ● このときの課題 ○ クルーの安定確保: クルーが特定の時間に、必要な人数分集まってくれるか全く読めない ● Next ○ アルバイトと同様に、時間あたりで最低報酬を出す機能(チャレンジという名称)を導入 Chompyリリース初期の配車ロジック

Slide 8

Slide 8 text

● 時間あたりで最低報酬の出るクルーが新たに出現したことで、「安さ」≠ 「早さ」≠「稼ぎやすい」となり、「効率の良い状態」を定義することが難 しくなった ○ 最低報酬の出るクルーへのオファーを優先すると、部分的な「安さ」は改善するように見え るが、「早さ」が達成できなくなり、結果的に効率が悪くなってしまう ○ 副作用として、最低報酬の出るクルーとでないクルーで、待遇の差を感じたクルーがデモチ ベーションして、結果的にピークにクルー不足で逼迫してしまう問題も発生した ○ 1年弱いろんな調整をした結果、最終的に、配車の優先度は2種類のクルーで区別しないよう にした チャレンジ導入後の配車ロジックの課題 ❓ ❓ ✨ ✨ ✨

Slide 9

Slide 9 text

● 先に来た注文から順に近いクルーを探していくと、より長い時間軸でみると 最適ではないケースがあることに気づき、大きなシステムアップデートを実 施した その後、Batch Matchingへ進化 引用元: https://www.uber.com/us/en/marketplace/matching/