【ウーバーイーツ】沖縄市エリアの「スリコ」を考える【沖縄市】
スリコとは、配達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時台 | 21 | 1 | 4.76% |
10時台 | 30 | 5 | 16.67% |
11時台 | 261 | 8 | 3.07% |
12時台 | 284 | 11 | 3.87% |
13時台 | 102 | 3 | 2.94% |
14時台 | 25 | 1 | 4.00% |
15時台 | 9 | 0 | 0.00% |
16時台 | 17 | 1 | 5.88% |
17時台 | 204 | 6 | 2.94% |
18時台 | 313 | 4 | 1.28% |
19時台 | 212 | 2 | 0.94% |
20時台 | 44 | 1 | 2.27% |
21時台 | 4 | 0 | 0.00% |
22時台 | 2 | 0 | 0.00% |
1528 | 43 | 2.81% |
※私の稼働時間帯が主に昼・夜ピーク時のため、その時間帯の配達件数が比較的多くなってしまう。
スリコ件数の多い時間帯と少ない時間帯があると分かる。この差が誤差によるものかどうかを調べてみる。
適合度検定を行う
書籍「Rで学ぶ確率統計学 多変量統計編」を参考に適合度検定を行う。
まずは、各時間帯のスリコ件数を棒グラフにする。
> 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時台の割合が他と比較して突出した。
上記グラフが偶然によるものかどうかを適合度検定で調べてみる。
時間帯によって、「スリコの割合は変わらない」と仮定した場合、各時間帯の期待値は以下のようになる。
時間帯 | 9時 | 10時 | 11時 | 12時 | … |
実測値 | 1 | 5 | 8 | 11 | … |
期待値 | 0.5909685864 | 0.8442408377 | 7.344895288 | 7.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時台 | 261 | 8 | 3.07% |
12時台 | 284 | 11 | 3.87% |
13時台 | 102 | 3 | 2.94% |
17時台 | 204 | 6 | 2.94% |
18時台 | 313 | 4 | 1.28% |
19時台 | 212 | 2 | 0.94% |
1376 | 34 | 2.47% |
11時 | 12時 | 13時 | … | |
実測値 | 8 | 11 | 3 | … |
期待値 | 6.449127907 | 7.01744186 | 2.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件以上の時間帯、いわゆるピーク時のスリコの割合は時間帯によって変わると言えないことが分かった。

ピーク時と全体(ピーク時+ピーク時以外)で検定結果が変わった。ピーク時とピーク時以外で検定したらどうなるかな。
ピーク時とピーク時以外の時間帯で母比率の検定をやってみる。
使用するデータは、以下。
ピーク時 | ピーク時以外 | |
スリコ件数 | 36 | 7 |
配達件数 | 1445 | 83 |
割合 | 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つの差が認められたため、スリコの割合はピーク時以外の時間帯に大きくなると分かった。
まとめ
・ピーク時以外の時間帯でスリコの割合は大きくなる
曜日ごとのスリコ
曜日ごとのスリコ件数と割合を見てみる。
曜日 | 配達件数 | スリコ件数 | 割合 |
月 | 264 | 5 | 1.89% |
火 | 207 | 7 | 3.38% |
水 | 204 | 7 | 3.43% |
木 | 163 | 18 | 11.04% |
金 | 211 | 6 | 2.84% |
土 | 220 | 0 | 0.00% |
日 | 259 | 0 | 0.00% |
1528 | 43 | 2.81% |
休日にスリコがないため、平日のみのデータを扱う。
曜日 | 配達件数 | スリコ件数 | 割合 |
月 | 264 | 5 | 1.89% |
火 | 207 | 7 | 3.38% |
水 | 204 | 7 | 3.43% |
木 | 163 | 18 | 11.04% |
金 | 211 | 6 | 2.84% |
1049 | 43 | 4.10% |
適合度検定を行う
書籍「Rで学ぶ確率統計学 多変量統計編」を参考に適合度検定を行う。
前回と同様に件数と割合をグラフにしてみる。
件数と割合ともに木曜日の値が大きく、それ以外は同程度の値に収まっていると分かる。
適合度検定を行い、曜日によって差がないか調べてみる。
月 | 火 | 水 | 木 | 金 | |
実測値 | 5 | 7 | 7 | 18 | 6 |
期待値 | 10.82173499 | 8.485224023 | 8.362249762 | 6.681601525 | 8.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で学ぶ確率統計学 多変量統計編」を参考に残差分析を行う。
すでに述べたように、独立性の検定技術はそのままでは役立つ場而が多いとは言えない。カイ ニ乗検定であれフィッシャーの正確検定であれ,分割表全体についての検定なので,仮に独立でないことがわかったとしても、どのセルに起因するのかわからないからである。この問題を解決する方法の1つが残差分析 (residual analysis)である。残差分析の基本原理は簡単で、分割表のセルごとに標準化残差を計算し、大標本と考えて正規近似したP値を計算するだけである。
上記の解説文を読むと、”セルごとに標準化残差を計算し……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
表にまとめる。
月 | 火 | 水 | 木 | 金 | |
実測値 | 5 | 7 | 7 | 18 | 6 |
期待値 | 10.82173499 | 8.485224023 | 8.362249762 | 6.681601525 | 8.649189704 |
P値(%) | 4.08 | 56.93 | 59.97 | 0.00 | 31.35 |
各曜日のP値を見ると、有意水準5%で有意となるのは、月曜日と木曜日という結果になった。

木曜日が有意なのは、予想できたけど、月曜日も有意なのは意外だった。
まとめ
・木曜日は多く、月曜日は少ない
アカウント評価とスリコ
アカウント評価ごとのスリコ件数と割合を見てみる。きっかけは、受けキャンを数度行った翌日にスリコ発生のパターンがあったため。
期間 | 通算評価 | 応答率 | キャンセル率 | 配達件数 | スリコ件数 | 割合 |
05/10~ | 5 | 81.11% | 16.88% | 61 | 5 | 8.20% |
05/17~ | 5 | 91.67% | 4.55% | 57 | 4 | 7.02% |
05/24~ | 5 | 95.45% | 4.55% | 20 | 1 | 5.00% |
5/31~ | 5 | 84.42% | 0.00% | 64 | 7 | 10.94% |
6/7~ | 5 | 90.14% | 4.62% | 61 | 6 | 9.84% |
6/14~ | 5 | 89.66% | 10.71% | 65 | 1 | 1.54% |
6/21~ | 5 | 90.59% | 5.13% | 69 | 1 | 1.45% |
6/28~ | 5 | 77.53% | 1.37% | 64 | 6 | 9.38% |
7/5~ | 5 | 87.34% | 2.70% | 65 | 2 | 3.08% |
7/12~ | 5 | 92.11% | 1.28% | 66 | 3 | 4.55% |
7/19~ | 5 | 96.15% | 6.90% | 22 | 1 | 4.55% |
7/26~ | 5 | 95.40% | 0.00% | 81 | 3 | 3.70% |
8/2~ | 5 | 93.42% | 2.53% | 67 | 1 | 1.49% |
8/9~ | 5 | 93.55% | 0.00% | 81 | 0 | 0.00% |
8/16~ | 5 | 93.83% | 2.44% | 71 | 1 | 1.41% |
8/23~ | 5 | 97.14% | 1.39% | 61 | 0 | 0.00% |
8/30~ | 5 | 91.95% | 2.38% | 72 | 0 | 0.00% |
9/6~ | 5 | 96.67% | 0.00% | 57 | 1 | 1.75% |
9/13~ | 5 | 97.01% | 1.52% | 59 | 0 | 0.00% |
9/20~ | 5 | 95.00% | 0.00% | 75 | 0 | 0.00% |
9/27~ | 5 | 97.01% | 0.00% | 64 | 0 | 0.00% |
10/4~ | 5 | 100.00% | 0.00% | 67 | 0 | 0.00% |
10/11~ | 5 | 91.38% | 0.00% | 52 | 0 | 0.00% |
10/18~ | 5 | 98.11% | 0.00% | 47 | 0 | 0.00% |
10/25~ | 5 | 97.06% | 1.49% | 60 | 0 | 0.00% |
1528 | 43 |
配達1件の報酬は前週のアカウント評価と関連があると仮定して分析してみる。
期間 | 通算評価 | 応答率 | キャンセル率 | 配達件数 | スリコ件数 | 割合(スリコ率) |
05/10~ | 5 | 81.11% | 16.88% | 61 | 5 | 8.20% |
05/17~ | 5 | 91.67% | 4.55% | 57 | 4 | 7.02% |
つまり、上記表の色付けした部分に相関があるのではということ。
相関関係を調べる
書籍「Rで学ぶ確率統計学 一変量統計編」を参考に相関関係を調べる。
とりあえず、散布図を作成してみる。
大雑把に捉えると、応答率が下がればスリコの割合が大きくなり、キャンセル率が上がればスリコの割合が大きくなると言えそうだ。
相関係数を算出して、相関の度合いを見てみる。
> 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.4665525 | 0.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)が二次元正規分布していることを仮定して計算されている(詳細は省略する)。
95%信頼区間とP値を見てみる。
応答率×スリコ割合 | キャンセル率×スリコ割合 | |
95%信頼区間 | [-0.73215368 -0.07779777] | [-0.01438511 0.68634488] |
P値 | 0.02155 | 0.05866 |
両方とも95%の確率で正しいといえる範囲が広すぎる結果となった。応答率×スリコ割合に関しては、負の相関はあるが、その程度は分からないといったところだろう。キャンセル率×スリコ割合に関しては、P値が有意水準5%で有意ではないため、相関係数が0である可能性を無視できない結果となった。
もう少し細かく分析してみる。
外れ値の影響を考えてみる。
3.3 外れ値の影響
相関係数は、極端に外れたデータ=外れ値の影響を受ける。特にサンプルサイズが小さいとき、その影響が大きい。
箱ひげ図を作成し、外れ値の有無を調べてみる。
外れ値のデータを取り除いて、再度、相関係数を算出してみる。
取り除くデータは以下の表の色付き箇所。
期間 | 通算評価 | 応答率 | キャンセル率 | 配達件数 | スリコ件数 | 割合 |
05/10~ | 5 | 81.11% | 16.88% | 61 | 5 | 8.20% |
05/17~ | 5 | 91.67% | 4.55% | 57 | 4 | 7.02% |
05/24~ | 5 | 95.45% | 4.55% | 20 | 1 | 5.00% |
5/31~ | 5 | 84.42% | 0.00% | 64 | 7 | 10.94% |
6/7~ | 5 | 90.14% | 4.62% | 61 | 6 | 9.84% |
6/14~ | 5 | 89.66% | 10.71% | 65 | 1 | 1.54% |
6/21~ | 5 | 90.59% | 5.13% | 69 | 1 | 1.45% |
6/28~ | 5 | 77.53% | 1.37% | 64 | 6 | 9.38% |
7/5~ | 5 | 87.34% | 2.70% | 65 | 2 | 3.08% |
7/12~ | 5 | 92.11% | 1.28% | 66 | 3 | 4.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.01378 | 0.1662 |
外れ値の影響を取り除いた上で、再度、相関係数を算出した結果、取り除く前の結果をより強調することとなった。
まとめ
・キャンセル率とスリコの割合に相関があるといえない
感想と今後
今回は「スリコ」に焦点を当てて分析を行ってみた。経験的に理解していた結果と近い内容だったため、特に目新しさはなく、再確認できたという印象だ。次回は、「スリコ」を「低報酬」に変えた場合に同じような結果になるか確認してみる。
記事後半で相関係数を軸に分析を行ってみた。有意となった相関係数があったが、疑似相関の可能性を無視できない。次回は、「期間」の影響を除いた相関係数(偏相関係数)を求めてみる。
今回の分析結果は、今後の行動を変えるきっかけにはならず、「へぇ~、そうなんだ~」の域を越えれなかった。具体的な行動につなげるところまで意識して分析してみよう。
コメント