先日開催されたフェスについて、Splatoon公式から次のような発表がありました。
[おしらせ]
サーバー設定の変更の誤りにより、5月19日~5月20日に開催されたフェスで、両方の陣営で、本来よりもフェスパワーの差が大きい相手と対戦することがありました。
この問題は、次回のフェスでは修正されます。
ご迷惑をおかけし、申し訳ございませんでした。— Splatoon(スプラトゥーン) (@SplatoonJP) 2018年5月21日
ということで、手元に 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
やはりばらつきがだいぶ大きいですね。
おまけ:フェスパワーの差と勝率
フェスパワーの差と(強い方が勝つ)勝率の表。150差あたりからは見てもあんまり意味ないです。 pic.twitter.com/McNBecnfDD
— 相沢陽菜 (@fetus_hina) 2018年5月21日
参考:実行した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")