【ウーバーイーツ】沖縄市エリアの「スリコ」を考える【沖縄市】

ウーバーイーツ×沖縄市

ウーバーイーツ沖縄市エリアの「スリコ」を考える【沖縄市】

スリコとは、配達1件でもらえる報酬の最安値(300円)のこと。

今回は、そのスリコについてを沖縄市エリア(沖縄市・うるま市一部)に絞って考える。

概要

沖縄のウーバーイーツ新料金体制後(5月10日スタート)のデータを用いて、「スリコ」を分析する。

これまでのスリコ件数を軸に時間帯・曜日・アカウント評価の3つの視点からデータを見る。

使用するデータ

使用するデータは、私の配達データ。

期間は、2021年5月10日~10月31日。

上記期間の総配達件数は、1528件。※1

主な配達時間帯は、11時30分~14時(昼ピーク)と17時30分~20時(夜ピーク)。

アカウント評価は1週間単位で表示されるデータを使用。

※1 ダブルピックも1件とカウント。ダブルピックの報酬400円をスリコとカウント。

新料金後のスリコ件数(過去と現在の比較)

2021年5月10日~10月31日までのスリコ件数は43件。

総配達件数は1528件のため、スリコ件数の割合は2.81%。

週単位でのスリコ件数の推移は、以下のグラフ。

※9月27日以降はスリコ件数「0」のため省略。

スリコ件数は新料金体制初期に偏っていることが分かる。

配達員
配達員

エリア全体の配達料金が徐々に調整されていったのかな。
配達員(自分)に紐づくデータ(アカウント評価や配達数など)の影響もありそう。

時間帯ごとのスリコ

時間帯ごとのスリコ件数とその割合を見てみる。

時間帯配達件数スリコ件数スリコ割合
9時台2114.76%
10時台30516.67%
11時台26183.07%
12時台284113.87%
13時台10232.94%
14時台2514.00%
15時台900.00%
16時台1715.88%
17時台20462.94%
18時台31341.28%
19時台21220.94%
20時台4412.27%
21時台400.00%
22時台200.00%
1528432.81%

※私の稼働時間帯が主に昼・夜ピーク時のため、その時間帯の配達件数が比較的多くなってしまう。

スリコ件数の多い時間帯と少ない時間帯があると分かる。この差が誤差によるものかどうかを調べてみる。

適合度検定を行う

書籍「Rで学ぶ確率統計学 多変量統計編」を参考に適合度検定を行う。

Rで学ぶ確率統計学 多変量統計編 | 神永正博, 木下勉 | 数学 | Kindleストア | Amazon
Amazonで神永正博, 木下勉のRで学ぶ確率統計学 多変量統計編。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
参考箇所は、1.2 適合度検定 ~ 1.4 カイ二乗統計量

 

まずは、各時間帯のスリコ件数を棒グラフにする。

> suriko_count <- scan("clipboard") #表の「スリコ件数」をコピー
> time_period <- 9:22
> barplot(suriko_count,names.arg = time_period, xlab = "time",ylab = "count")

件数のみで比較すると、時間帯によって差があると分かる。しかし、各時間帯の配達件数に違いがあるため、一概に差があるとは言いづらい。

 

次は、縦軸を「割合」にして、棒グラフを作成してみる。

> suriko_rate <- scan("clipboard") #表の「スリコ割合」を取り込む
> time_period <- 9:22
> barplot(suriko_rate,names.arg = time_period, xlab = "time",ylab = "rate")

10時台の割合が他と比較して突出した。

 

上記グラフが偶然によるものかどうかを適合度検定で調べてみる。

時間帯によって、「スリコの割合は変わらない」と仮定した場合、各時間帯の期待値は以下のようになる。

期待値 = 配達件数 × 全体のスリコ割合(0.02814136126)
時間帯9時10時11時12時
実測値15811
期待値0.59096858640.84424083777.3448952887.992146597

この期待値と実測値の差が大きければ大きいほど、時間帯によって「スリコの割合が変わる」と言える。

では、Rで適合度検定を有意水準5%で行ってみる。

> expected_value <- scan("clipboard") #表の「期待値」を取り込む
> chisq.test(suriko_count,p= expected_value/43) #「43」はスリコ件数の合計

Chi-squared test for given
probabilities

data: suriko_count
X-squared = 28.37, df = 13,
p-value = 0.008032

P値(p-value)は「0.008032」となり、有意水準5%で有意となった。

つまり、「時間帯によってスリコの割合が変わる」と言える。

※ちなみにスプレッドシートの関数CHITESTでも同じ値となった。

配達員
配達員

たぶん、合ってる。。

 

 

もう少し細かく分析してみる。

 

配達件数100件以上の時間帯に絞って、適合度検定を有意水準5%で行ってみる。

時間帯配達件数スリコ件数スリコ割合
11時台26183.07%
12時台284113.87%
13時台10232.94%
17時台20462.94%
18時台31341.28%
19時台21220.94%
1376342.47%
11時12時13時
実測値8113
期待値6.4491279077.017441862.520348837
> expected_value <- scan("clipboard") #上記表の「期待値」を取り込む
> peak_suriko_count <- scan("clipboard") #上記表の「スリコ件数」を取り込む
> chisq.test(peak_suriko_count,p= expected_value/34) #「34」はスリコ件数の合計

Chi-squared test for given
probabilities

data: peak_suriko_count
X-squared = 6.7118, df = 5,
p-value = 0.243

P値(p-value)は「0.243」となり、有意水準5%で有意とならなかった。

配達件数100件以上の時間帯、いわゆるピーク時のスリコの割合は時間帯によって変わると言えないことが分かった。

 

配達員
配達員

ピーク時と全体(ピーク時+ピーク時以外)で検定結果が変わった。ピーク時とピーク時以外で検定したらどうなるかな。

 

 

ピーク時とピーク時以外の時間帯で母比率の検定をやってみる。

Rで学ぶ確率統計学 多変量統計編 | 神永正博, 木下勉 | 数学 | Kindleストア | Amazon
Amazonで神永正博, 木下勉のRで学ぶ確率統計学 多変量統計編。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
参考箇所は、2.3 母比率の差の検定

 

使用するデータは、以下。

ピーク時ピーク時以外
スリコ件数367
配達件数144583
割合2.49%8.43%

ピーク時とピーク時以外の割合は、それぞれ2.49%、8.43%となった。この2つの割合の違いが偶然なのか、そうでないかを検定する。

> prop.test(c(36,7),c(1445,83))

2-sample test for equality
of proportions with
continuity correction

data: c(36, 7) out of c(1445, 83)
X-squared = 8.078, df = 1,
p-value = 0.00448
alternative hypothesis: two.sided
95 percent confidence interval:
-0.126115920 0.007268211
sample estimates:
prop 1 prop 2 
0.02491349 0.08433735

P値(p-value)は「0.00448」となり、有意水準5%で有意となった。

2つの差が認められたため、スリコの割合はピーク時以外の時間帯に大きくなると分かった。

 

まとめ

・ピーク時のスリコの割合に差があるとはいえない
・ピーク時以外の時間帯でスリコの割合は大きくなる

 

曜日ごとのスリコ

曜日ごとのスリコ件数と割合を見てみる。

曜日配達件数スリコ件数割合
26451.89%
20773.38%
20473.43%
1631811.04%
21162.84%
22000.00%
25900.00%
1528432.81%

休日にスリコがないため、平日のみのデータを扱う。

曜日配達件数スリコ件数割合
26451.89%
20773.38%
20473.43%
1631811.04%
21162.84%
1049434.10%

 

適合度検定を行う

書籍「Rで学ぶ確率統計学 多変量統計編」を参考に適合度検定を行う。

Rで学ぶ確率統計学 多変量統計編 | 神永正博, 木下勉 | 数学 | Kindleストア | Amazon
Amazonで神永正博, 木下勉のRで学ぶ確率統計学 多変量統計編。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
参考箇所は、1.2 適合度検定 ~ 1.4 カイ二乗統計量

 

前回と同様に件数と割合をグラフにしてみる。

件数と割合ともに木曜日の値が大きく、それ以外は同程度の値に収まっていると分かる。

 

適合度検定を行い、曜日によって差がないか調べてみる。

実測値577186
期待値10.821734998.4852240238.3622497626.6816015258.649189704
> chisq.test(suriko_count,p= expected_value/43)

Chi-squared test for given probabilities

data: suriko_count
X-squared = 23.598, df = 4, p-value = 9.614e-05

P値(p-value)は「9.614e-05」となり、有意水準5%で有意となった。

曜日によって差があると分かった。

 

配達員
配達員

全体を通して差があるかどうかは理解できたけど、個別で見るとどのような結果になるのだろう。

 

 

残差分析を行う

書籍「Rで学ぶ確率統計学 多変量統計編」を参考に残差分析を行う。

Rで学ぶ確率統計学 多変量統計編 | 神永正博, 木下勉 | 数学 | Kindleストア | Amazon
Amazonで神永正博, 木下勉のRで学ぶ確率統計学 多変量統計編。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。
参考箇所は、2.6 残差分析

すでに述べたように、独立性の検定技術はそのままでは役立つ場而が多いとは言えない。カイ ニ乗検定であれフィッシャーの正確検定であれ,分割表全体についての検定なので,仮に独立でないことがわかったとしても、どのセルに起因するのかわからないからである。この問題を解決する方法の1つが残差分析 (residual analysis)である。残差分析の基本原理は簡単で、分割表のセルごとに標準化残差を計算し、大標本と考えて正規近似したP値を計算するだけである。

Rで学ぶ確率統計学 多変量統計編

 

上記の解説文を読むと、”セルごとに標準化残差を計算し……P値を計算するだけである”と記載されている。ということは、木曜日のP値はかなり小さい値になると予想できる。

実際にやってみる。

> res <- chisq.test(suriko_count,p= expected_value/43)
> res$stdres #各曜日の標準化残差を計算
[1] -2.0457704 -0.5691045 -0.5248734 4.7644808 -1.0078388
> p.value.matrix <- pnorm(abs(res$stdres),lower.tail = FALSE)*2 #P値を算出
> p.value.matrix 
[1] 4.077896e-02 5.692852e-01 5.996712e-01 1.893406e-06 3.135318e-01
> round(p.value.matrix,4)*100 #百分率に変換
[1] 4.08 56.93 59.97 0.00 31.35

表にまとめる。

実測値577186
期待値10.821734998.4852240238.3622497626.6816015258.649189704
P値(%)4.0856.9359.970.0031.35

各曜日のP値を見ると、有意水準5%で有意となるのは、月曜日と木曜日という結果になった。

 

配達員
配達員

木曜日が有意なのは、予想できたけど、月曜日も有意なのは意外だった。

まとめ

・スリコの割合は曜日によって異なる
・木曜日は多く、月曜日は少ない

アカウント評価とスリコ

アカウント評価ごとのスリコ件数と割合を見てみる。きっかけは、受けキャンを数度行った翌日にスリコ発生のパターンがあったため。

期間通算評価応答率キャンセル率配達件数スリコ件数割合
05/10~581.11%16.88%6158.20%
05/17~591.67%4.55%5747.02%
05/24~595.45%4.55%2015.00%
5/31~584.42%0.00%64710.94%
6/7~590.14%4.62%6169.84%
6/14~589.66%10.71%6511.54%
6/21~590.59%5.13%6911.45%
6/28~577.53%1.37%6469.38%
7/5~587.34%2.70%6523.08%
7/12~592.11%1.28%6634.55%
7/19~596.15%6.90%2214.55%
7/26~595.40%0.00%8133.70%
8/2~593.42%2.53%6711.49%
8/9~593.55%0.00%8100.00%
8/16~593.83%2.44%7111.41%
8/23~597.14%1.39%6100.00%
8/30~591.95%2.38%7200.00%
9/6~596.67%0.00%5711.75%
9/13~597.01%1.52%5900.00%
9/20~595.00%0.00%7500.00%
9/27~597.01%0.00%6400.00%
10/4~5100.00%0.00%6700.00%
10/11~591.38%0.00%5200.00%
10/18~598.11%0.00%4700.00%
10/25~597.06%1.49%6000.00%
 152843

配達1件の報酬は前週のアカウント評価と関連があると仮定して分析してみる。

期間通算評価応答率キャンセル率配達件数スリコ件数割合(スリコ率)
05/10~581.11%16.88%6158.20%
05/17~591.67%4.55%5747.02%

つまり、上記表の色付けした部分に相関があるのではということ。

 

相関関係を調べる

書籍「Rで学ぶ確率統計学 一変量統計編」を参考に相関関係を調べる。

https://amzn.to/3xcpXlh
主な参考箇所は、第2~3章の多変量データの記述1、2

 

とりあえず、散布図を作成してみる。

大雑把に捉えると、応答率が下がればスリコの割合が大きくなり、キャンセル率が上がればスリコの割合が大きくなると言えそうだ。

 

相関係数を算出して、相関の度合いを見てみる。

> response_rate <- scan("clipboard")
> cancel_rate <- scan("clipboard")
> suriko_rate <- scan("clipboard")
> cor(response_rate,suriko_rate)
[1] -0.4665525
> cor(cancel_rate,suriko_rate)
[1] 0.3912822
相関係数応答率キャンセル率
スリコ割合-0.46655250.3912822

どちらも中程度の相関があるようだ。

 

配達員
配達員

散布図を見た感じ、相関があるとは言いづらそうだけど。。

 

cor.test関数を使って、より詳しく見てみる。

> cor.test(response_rate,suriko_rate)

Pearson's product-moment correlation

data: response_rate and suriko_rate
t = -2.4741, df = 22, p-value = 0.02155
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.73215368 -0.07779777
sample estimates:
cor 
-0.4665525

> cor.test(cancel_rate,suriko_rate)

Pearson's product-moment correlation

data: cancel_rate and suriko_rate
t = 1.9943, df = 22, p-value = 0.05866
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.01438511 0.68634488
sample estimates:
cor 
0.3912822

いろいろな情報が書かれているが、さしあたり見てほしいのは、95%信頼区間 (95 percent confidence interval)というところである。その下に2つの数字が書かれている。これは、区間

(0.5077840, 0.7101767)

を意味する。つまり、相関係数がこの範囲にあるといえば 95%の確率で正しい。95%信頼区間は0を含まない。これは相関係数が正であることを支持している。その上に書かれているp-value < 2.2e-16 は相関係数が0であると仮定したとき、このようなrの値が得られる確率(P値 = p-value)が 2.2 × 10-16よりも小さいことを表している。つまり、相関係数が0である可能性は無視できるほど小さい*4。この区間は、2つの変量(ここでは、math、phys)が二次元正規分布していることを仮定して計算されている(詳細は省略する)。

Rで学ぶ確率統計学 一変量統計編

95%信頼区間とP値を見てみる。

応答率×スリコ割合キャンセル率×スリコ割合
95%信頼区間[-0.73215368 -0.07779777][-0.01438511 0.68634488]
P値0.021550.05866

両方とも95%の確率で正しいといえる範囲が広すぎる結果となった。応答率×スリコ割合に関しては、負の相関はあるが、その程度は分からないといったところだろう。キャンセル率×スリコ割合に関しては、P値が有意水準5%で有意ではないため、相関係数が0である可能性を無視できない結果となった。

 

もう少し細かく分析してみる。

 

外れ値の影響を考えてみる。

3.3 外れ値の影響
相関係数は、極端に外れたデータ=外れ値の影響を受ける。特にサンプルサイズが小さいとき、その影響が大きい。

Rで学ぶ確率統計学 一変量統計編

箱ひげ図を作成し、外れ値の有無を調べてみる。

外れ値のデータを取り除いて、再度、相関係数を算出してみる。

取り除くデータは以下の表の色付き箇所。

期間通算評価応答率キャンセル率配達件数スリコ件数割合
05/10~581.11%16.88%6158.20%
05/17~591.67%4.55%5747.02%
05/24~595.45%4.55%2015.00%
5/31~584.42%0.00%64710.94%
6/7~590.14%4.62%6169.84%
6/14~589.66%10.71%6511.54%
6/21~590.59%5.13%6911.45%
6/28~577.53%1.37%6469.38%
7/5~587.34%2.70%6523.08%
7/12~592.11%1.28%6634.55%

 

> cor.test(response_rate,suriko_rate)

Pearson's product-moment correlation

data: response_rate and suriko_rate
t = -2.7, df = 20, p-value = 0.01378
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.7705456 -0.1217688
sample estimates:
cor 
-0.5168432

> cor.test(cancel_rate,suriko_rate)

Pearson's product-moment correlation

data: cancel_rate and suriko_rate
t = 1.4369, df = 20, p-value = 0.1662
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
-0.1328506 0.6443944
sample estimates:
cor 
0.3058911

表にまとめると、

応答率×スリコ割合キャンセル率×スリコ割合
95%信頼区間[-0.7705456 -0.1217688][-0.1328506 0.6443944]
P値0.013780.1662

外れ値の影響を取り除いた上で、再度、相関係数を算出した結果、取り除く前の結果をより強調することとなった。

まとめ

・応答率とスリコの割合は負の相関がある
・キャンセル率とスリコの割合に相関があるといえない

感想と今後

今回は「スリコ」に焦点を当てて分析を行ってみた。経験的に理解していた結果と近い内容だったため、特に目新しさはなく、再確認できたという印象だ。次回は、「スリコ」を「低報酬」に変えた場合に同じような結果になるか確認してみる。

記事後半で相関係数を軸に分析を行ってみた。有意となった相関係数があったが、疑似相関の可能性を無視できない。次回は、「期間」の影響を除いた相関係数(偏相関係数)を求めてみる。

今回の分析結果は、今後の行動を変えるきっかけにはならず、「へぇ~、そうなんだ~」の域を越えれなかった。具体的な行動につなげるところまで意識して分析してみよう。

 

コメント

タイトルとURLをコピーしました