Splatoonstat.ink

フェスパワー差の集計

先日開催されたフェスについて、Splatoon公式から次のような発表がありました。

ということで、手元に stat.ink のデータベースがあるので、それを使って調べてみました。

次の表がフェスパワーの差とその割合を調べたものです。
stat.ink は投稿者に偏りがあるので必ずしも全体を反映したものではありませんが、ミスがなければ、「今回のフェス」と「今までのフェス」には大きな違いは見られないはずです。

以前のフェス キティ・シナモンフェス
フェスパワーの差 バトル数 割合 フェスパワーの差 バトル数 割合
合計 11901 合計 2490
0 1422 11.949% 0 119 4.779%
10 2398 20.150% 10 253 10.161%
20 1851 15.553% 20 219 8.795%
30 1351 11.352% 30 212 8.514%
40 932 7.831% 40 174 6.988%
50 646 5.428% 50 181 7.269%
60 501 4.210% 60 147 5.904%
70 444 3.731% 70 144 5.783%
80 362 3.042% 80 122 4.900%
90 313 2.630% 90 131 5.261%
100 257 2.159% 100 104 4.177%
110 232 1.949% 110 100 4.016%
120 175 1.470% 120 73 2.932%
130 150 1.260% 130 63 2.530%
140 94 0.790% 140 60 2.410%
150 102 0.857% 150 50 2.008%
160 58 0.487% 160 22 0.884%
170 75 0.630% 170 37 1.486%
180 70 0.588% 180 33 1.325%
190 45 0.378% 190 28 1.124%
200 39 0.328% 200 17 0.683%
210 46 0.387% 210 11 0.442%
220 45 0.378% 220 12 0.482%
230 31 0.260% 230 16 0.643%
240 33 0.277% 240 16 0.643%
250 25 0.210% 250 10 0.402%
260 30 0.252% 260 6 0.241%
270 26 0.218% 270 13 0.522%
280 8 0.067% 280 5 0.201%
290 14 0.118% 290 6 0.241%
300 22 0.185% 300 5 0.201%
310 12 0.101% 310 7 0.281%
320 15 0.126% 320 12 0.482%
330 15 0.126% 330 6 0.241%
340 12 0.101% 340 2 0.080%
350 6 0.050% 350 5 0.201%
360 4 0.034% 360 4 0.161%
370 8 0.067% 370 3 0.120%
380 3 0.025% 380 6 0.241%
390 4 0.034% 390 9 0.361%
400 7 0.059% 400 5 0.201%
410 4 0.034% 410 3 0.120%
420 2 0.017% 420 3 0.120%
430 1 0.008% 430 1 0.040%
440 2 0.017% 440 1 0.040%
450 1 0.008% 450 5 0.201%
460 2 0.017% 460 2 0.080%
470 2 0.017% 470 2 0.080%
480 2 0.017% 480 1 0.040%
490 1 0.008% 490 3 0.120%
500 0 0.000% 500 3 0.120%
510 0 0.000% 510 4 0.161%
520 0 0.000% 520 1 0.040%
530 0 0.000% 530 3 0.120%
540 0 0.000% 540 0 0.000%
550 0 0.000% 550 1 0.040%
560 0 0.000% 560 1 0.040%
570 0 0.000% 570 1 0.040%
580 0 0.000% 580 2 0.080%
590 0 0.000% 590 0 0.000%
600 0 0.000% 600 2 0.080%
610 0 0.000% 610 1 0.040%
620 1 0.008% 620 0 0.000%
630 0 0.000% 630 0 0.000%
640 0 0.000% 640 1 0.040%
650 0 0.000% 650 0 0.000%
660 0 0.000% 660 0 0.000%
670 0 0.000% 670 0 0.000%
680 0 0.000% 680 1 0.040%

ぱっと見で、「本来調整したいであろう両陣営の差ほぼ 0」から離れてしまっているように見えます。
(私だけかもしれないですが)数字で比較してもよくわからないので、グラフにしてみます。

上側がそれぞれの割合をプロットしたもの、下側はそれまでの累計をプロットしたものです。
両グラフともに、青が以前のもの、赤が今回のものです。

赤、つまり今回のほうが広い範囲に分散している(差が大きいバトルが大きく組まれた)ことがわかります。ちょっと誤差とかいうレベルではないですね。

数学的にどのくらい違うかというと、(明らかに正規分布していないものに適用するのが妥当かどうかという話はありますが)平均と標準偏差(標本標準偏差)は次の通りです。

以前: 平均=47.6296, 標準偏差=59.2656
今回: 平均=86.3173, 標準偏差=91.5514

やはりばらつきがだいぶ大きいですね。

おまけ:フェスパワーの差と勝率

参考:実行したSQL(今回)

SELECT
ABS("battle2"."my_team_estimate_fest_power" - "battle2"."his_team_estimate_fest_power") AS "diff",  -- フェスパワーの差の絶対値
COUNT(*) -- 当該フェスパワー差のバトル数
FROM "battle2"
INNER JOIN "lobby2" ON "battle2"."lobby_id" = "lobby2"."id"
INNER JOIN "mode2" ON "battle2"."mode_id" = "mode2"."id"
INNER JOIN "rule2" ON "battle2"."rule_id" = "rule2"."id"
WHERE "mode2"."key" = 'fest'
AND "rule2"."key" = 'nawabari'
AND "battle2"."is_automated" = TRUE
AND "battle2"."my_team_estimate_fest_power" IS NOT NULL
AND "battle2"."his_team_estimate_fest_power" IS NOT NULL
AND "battle2"."end_at" BETWEEN '2018-05-19T00:00:00+09:00' AND '2018-05-21T00:00:00+09:00' -- この期間内に終わったバトル(広めに)
AND "battle2"."created_at" < '2018-05-21T19:00:00+09:00' -- この日時までに投稿されたバトル
GROUP BY ABS("battle2"."my_team_estimate_fest_power" - "battle2"."his_team_estimate_fest_power")

実行したSQL(以前)

SELECT
ABS("battle2"."my_team_estimate_fest_power" - "battle2"."his_team_estimate_fest_power"),
COUNT(*)
FROM "battle2"
INNER JOIN "lobby2" ON "battle2"."lobby_id" = "lobby2"."id"
INNER JOIN "mode2" ON "battle2"."mode_id" = "mode2"."id"
INNER JOIN "rule2" ON "battle2"."rule_id" = "rule2"."id"
WHERE "mode2"."key" = 'fest'
AND "rule2"."key" = 'nawabari'
AND "battle2"."is_automated" = TRUE
AND "battle2"."my_team_estimate_fest_power" IS NOT NULL
AND "battle2"."his_team_estimate_fest_power" IS NOT NULL
AND "battle2"."end_at" < '2018-05-19T00:00:00+09:00'
AND "battle2"."created_at" < '2018-05-21T19:00:00+09:00'
GROUP BY ABS("battle2"."my_team_estimate_fest_power" - "battle2"."his_team_estimate_fest_power")