要約
・Nianticの公表したGBLのランク分布のデータは、恐らくイロレーティングだけで計算した結果からは乖離している。
・そもそもNianticの公表したデータにはデータを読み解くためのコンテキストがあまりにも欠落している。
・GBL参加者の正味の数と、その中で真面目にGBLに取り組んでいるプレイヤーの数はまったくの謎である。
発端
今年のGO Festの時期に、Nianticから興味深い(ように見える)データが提供された。GBLにおける各ランクの到達人数だ。
上記ツイートから始まるスレッドによれば、
・エース:381,000人以上
・ベテラン:78,000人以上
・エキスパート:32,000人程度
・レジェンド:15,000人程度
この程度の到達人数になるようだ。この数値自体にはあまり大きな意味がないというか、「各ランクの重複は含まれるのか?」「シーズン毎のユニーク到達人数の合計なのか?」といった数値の意味を理解するためのコンテキストが完璧に欠落している。そのため、色々と仮定を置いて解釈しなければならない。
ポケモンGOとGBLのユーザー数はどれほどか?
これについては、以下のGo Fest 2021のデータからある程度見積もることができる。
1人平均8km歩き、総歩行距離1億2500万kmなので、単純に割ればGo Festに参加する程度にアクティブなプレイヤーは1500万人以上はいる、という事になる。
そしてポケモン本家のレーティング戦の参加率が最新作の最盛期で5%ぐらいでそれよりは低めに見積もって4%弱とすると、GBLには大体50万人ぐらい参加していると仮定してみる。
そもそもGBLのレーティングシステムは何なのか?
一般的にレーティングシステムといえば、イロレーティングやグリコレーティングといったプレイヤー間の相対的な実力差を数値化したものになると思われる。
しかし、下記のインタビューを見る限りではそのように考えてよいかは甚だ疑問ではある。
ポケモンGOの対戦では、そのプレイヤーがどこのレートが適正かを元に勝敗時のレートが変化するようになっています。そのため、変更の内容は1回あたりのバトルの上げ幅の調整ではなく、そのトレーナーがどこのレートにいるべきかという幅を広くしたということになります。その幅を広げた結果、レートの上限が大きくなるという結果になりました。
はっきりと言わせてもらえば、意味不明である。脳みそにオガクズが詰まっていない限り、こんな舐めた回答で納得するホモサピエンスはこの世に皆無だろう。
・そもそも一体何を持って適正レートと判断するのか?
・そもそもレーティングというのはトップダウンに決まるものではなく、幾度もマッチを繰り返すことでボトムアップに収束していくものなのだが、その性質に合致しない可能性も示唆している。
・また通常のレーティングシステムでは、レーティングの総量は初期値✕プレイヤー数で決まる値であるが、上記の文章からはそれすらも確約されていない。
Nianticのいい加減さには事ある毎に呆れているが、とりあえず一旦はイロレーティングを採用してシミュレーションしてみる。
シミュレーションに使ったコード
下記よりダウンロード可能。勉強がてらJuliaで書いてみた。
シミュレーションの条件設定
条件は以下の通り。
・プレイヤー数:50万人
・開始時レーティング:一律2000
・レーティング期間:99日(バトルデイ考慮した実質期間)
・K値:28、ただしレーティングが上がる毎に少しずつ減衰
・マッチング方法:レーティング順に1000人区切りのランダムマッチ
・エース以上の判定:7日目以降に開始(概ね7〜8日目で初期レーティングが出る)
GBLの実態とは乖離があるだろう事は重々承知だが、初期レーティングの算出方法が完全にブラックボックスで推測のしようがないので、あくまでも近似値としてイロレーティングで全ゲームのレーティング計算を行うことにした。(※まあ普通は最初からレーティング計算するんだが、Nianticはご存知の通り悪い意味で普通ではないので。)
K値は普通は16とか32に設定するが、どうも28ぐらいの増減幅に感じる事が多いので、とりあえず28にして、レーティングが上がる毎に16を下限にして減衰させることにした。
シミュレーション結果
この結果、各ランクの重複なし到達人数は以下のような結果になった。
・エース:250,928人
・ベテラン:100,059人
・エキスパート:59,296人
・レジェンド:34,384人
プレイヤーの絶対数の問題を考えずとも、各ランクの人数比を見てみれば、明らかにNianticの公表している数値とは乖離している。念の為重複ありの数値(=レジェンド到達者はそれ以下のランクでもカウント)を掲載するが、これも結局は乖離が大きい。
・エース:445,667人
・ベテラン:194,739人
・エキスパート:93,680人
・レジェンド:34,384人
これをどう読み解くか?
考察
どのように解釈しても、Nianticの公表した値との乖離が大きい事には変わりがなく、明らかにエース到達者に対してそれ以上のランクが少なすぎる。このイロレーティングと仮定した場合との乖離が起こる事についての仮説としては、恐らくbotの存在が有力だろう。
・特に低ランク・低レーティングにおいてbotがGBLには存在する。botはGBLにおけるレーティング総量を引き上げる効果があり、botを除いたプレイヤーのレーティングの平均値を2000以上に押し上げる働きをしている。
・初期レーティングの算出までの非レーティング戦の期間、恐らくbotの恩恵で実力以上にレーティングにゲタを履かせられているプレイヤーが相当数存在する。
しかしbotの存在を仮定しても、エースに対してベテラン以上が少なすぎる気はする。もっとも上記のシミュレーションは全プレイヤーが1シーズンフル参加を仮定しているので、例えばエースまで行ったら最低限のシーズン終了時リワードがあるので辞める人もいるだろうし、案外GBLにある程度以上真面目に取り組んでいるプレイヤーは全GBLプレイヤーの半分にも満たないとかそういうオチなのかもしれないが。まあそこまで少ないという事は無いにしても、GBL人口のうち30万人ぐらいしか真面目に取り組んでいないと仮定するなら、案外妥当な数値ではあるように思えなくもない。
結論
・Nianticはもう少し考察の材料になる程度にまともなデータを出してくれ。
・GBLのレーティングが本当にレーティングと言えるものなのか疑わしいので、そこんところはっきりしてくれ。
オマケ:シーズン4までのランク10難度
シーズン4まででは大体今の半分ぐらいの期間で1シーズンが終わっていたが、その場合の計算結果がこれ。(ランク間の重複なし)
・エース:313,0918人
・ベテラン:79,472人
・エキスパート:24,262人
・レジェンド:4,377人
シーズン6以降であれば上位7%弱がレジェンドに到達できる計算であるが、過去のシーズンでは1%未満になってしまう。Niantic自身が最高ランクのハードルを上げすぎたと語っているが、そもそも過去のシーズンの無茶苦茶な初期レーティングの算出やシーズン3のレーティング増減幅の修正などを考えると、一体何を考えて行っていたのか理解ができない。イロレーティングに基づいたシミュレーションをすれば、期間と人数からレーティング3000が上位のどのあたりにいるかの概算は出せるはずなのだが。
※そもそもレーティング3000という閾値を設けること自体が色々とおかしいのだが、それは本題ではないので置いておく。
追記
上記の計算はちょっと条件が実際よりもシビアになっており、それらを補正すると大体GBLプレイヤーのうち10%ぐらいがレジェンドに到達可能という事になった。余計Nianticの公表しているデータと乖離する結果になったので、多分前提条件が間違っている。