WCA DBの基礎集計に挑戦
こんにちは。大村です。
この記事は Speedcubing Advent Calender 16日目の投稿です。
昨日は 幸地さんの アラサー社会人から始めるスピードキューブ
明日は みーざさんの ルブ です。
仕事でデータ解析に取り組んでいることもあり、
Pythonの勉強がてらWCA DBをいじってみました。
記法についてはかなり未熟なところもあるでしょうが、見逃してください。
この記事執筆時の背景
2022年12月時点ではウィズコロナとして社会の出口が見えはじめ、中国以外の国ではWCA大会が復活しています。
さりとて、コロナ以前から引き続き悩みの種は大会の申し込み競争の過熱です。WCA大会の参加定員数に対して参加希望者数がとても多く、ものの数分で申し込みが終わってしまいます。
この問題は日本に限らず世界中で同様で、現在のルールではなかなかすぐには解決しない根が深い問題と考えられています。
どうにかしたいとは思っているのですが、具体的な対策につながるようなとっかかり、特に定量的な指標についてはこれまであまり議論できてなかったなーと思いまして、試しに集計してみました。
やりたいこと
これからのWCA大会運用の戦略を考えるにあたって、まずはここまでのWCA大会とはどんなものだったのか、データを集計することで客観的な事実を明らかにしましょう。
スピードキュービングに関わらず、なにかを日本と比較しようとするときの相手として「海外」という大雑把すぎる二元論で語られがちですが、当然海外といっても多様な文化背景があります。
今回は個々の国ごとの特徴の違いを見出していきましょう。
注意事項
以下の表の一部の並べ替え基準として「年平均の平均」を使っています。この値は「全期間の平均」とは一致しませんが、年ごとの値の推移を見るための参考値として見てください。
重要なのは、おおまかな傾向をつかむことです。
解析対象と環境
WCA データベース 11/20 断面。
日本では綾瀬 A/Bまでを含んでいます。
tsvファイルで落とし、Pythonで実装しました。
詳細は Jupyter Notebookを見てください。
コードが汚いのはご勘弁を…
WCA 全レコードの概観
WCA大会で公認された記録は、すべて Results テーブルに記録されています。
このテーブルでの1レコードは、
「ある大会の、ある種目の、あるラウンドで、誰が、どんなタイムを出したか」
となっています。
総レコード数は 3,113,045行で、
これまで世界中の大会で311万枚の記録用紙が書き込まれてきたということになります。
(※たとえば average of 5 形式のラウンドでは、5回の結果はすべて1カラムに書き込まれていて、5行に分かれているわけではないことに注意。)
人ごとの集計
記録更新チャンス数
漠然と311万行をながめても仕方がありません。
試しに人ごとにグループ化してみると、top 5は以下の通り。
一位のJan Bentlage さんはなんと4036回。
彼のWCAプロフィールを見ると、ソルブ数16779回となっています。
16779 / 4036 = 4.15
多くの結果が average of 5 、わずかに best of 2 の種目があることを考えると、平均がその間というのは納得の結果ですね。
2010BENT01 4,036回
2008AURO01 3,849回
2008BARA01 3,736回
2008COUR01 2,781回
2012HALE01 2,687回
計測回数では粒度が細かすぎる気もするので、もう少し大きく大会単位に切ってみましょう。
大会の参加数
こちらは集計するまでもなくWCA統計ページでも記載がありますが、せっかくなので自分でも集計してみました。
2009ZHEN11 257 回
2008AURO01 217 回
2010GRAC02 215 回
2010BENT01 205 回
2003BRUC01 199 回
個人ごとの集計も面白そうですが、これくらいにしておきます。
国ごとの集計
つづいて、国ごとに見ていきましょう。
とは言っても、いきなりすべての国について見るのは手間がかかるので、まずは日本を含む主要な国に絞ってみます。
試しに過去のWCA大会開催数を集計してみると、100回以上を数える国は21か国に限定されることがわかりました。
これら21か国の競技参加者を合計すると125,296人となり、すべての国の総計 174,603 人の 71%を占めます。
これはとっかかりとして妥当な線でしょう。
この21か国について、年ごとの大会開催数を可視化したのがこちら。
WCA大会の開催数
![](https://assets.st-note.com/img/1670767140430-Jd63Iz8zFA.png?width=1200)
2019年までは拡大傾向にあり、2020年以降はコロナで激減。2022年には徐々に戻っています。
参加者のべ数
つづいて、全311万レコードを国ごとに集計します。
つまり、国ごとの参加者のべ数。
記入された記録用紙の枚数、と言い換えるとイメージしやすいでしょうか。
ある国で年間に2回大会があり、
A大会では333に50人、444に20人。B大会では333のみ、30人が参加したとすれば、
年間参加者のべ数は100人です。
![](https://assets.st-note.com/img/1671110279710-JGz0fpu109.jpg?width=1200)
日本が最下位ですね。
とはいっても上位21カ国のうちなので、ぜんぜん少なくはないんですが。
参加者ユニーク数
常連さんの存在を考慮しましょう。
開催地に関わらず遠方からも参加するいつものメンバーの重複を除外して、ユニーク数を集計します。
ある国で年間に2回大会があり、
A大会で50人、B大会で30人が参加したとき、
このうち25人がAとBの両方に参加していると、
年間参加者ユニーク数は 50 + 30 - 25 = 55人です。
![](https://assets.st-note.com/img/1671109815112-6sWMbULFLK.jpg?width=1200)
先程は最下位でしたが、日本の位置がすこし上がりました。
代わりに、北欧の国が下にありますね。
初参加者数
これらのうち、初参加者に絞るとどうでしょう。
ある年のWCA ID新規登録者と言い換えても良いです。
![](https://assets.st-note.com/img/1671110371815-gQR7i9VF3M.jpg?width=1200)
初参加者なので、同時にユニーク数でもあります。
総計が全WCA ID保持者に一致します。
初参加者の割合
これらの表から、初参加者の割合を計算してみます。
表4 / 表3 と値をつかった、単純な割り算です。
※ "年平均"列は、あくまで参考程度に捉えてください。平均の平均なので数学的な意味は薄く、年ごとの傾向をざっくり捉えるためのものです
![](https://assets.st-note.com/img/1671110482016-6hOaIcojNR.jpg?width=1200)
一人あたりの記録更新チャンス数
表2. 年間参加者のべ数 / 表3. 年間参加者ユニーク数 の値です。
ややこしいですが、
年間を通して消費された記録用紙の枚数が、
何人のユニーク参加者によるものだったのかを示します。
言い方を変えると、
参加者ひとりが年間にチャレンジする記録更新のチャンス数と言えます。
![](https://assets.st-note.com/img/1671110599872-b13QYrs5KQ.jpg?width=1200)
ポーランドとデンマークがすごいですね。
対して、参加者数では上位にあった中国、ブラジル、インドが下位なのが印象的です。
大会あたりのユニーク参加者数
最後に、
表3. 参加者ユニーク数 / 表1. 大会開催数 の割り算です。
![](https://assets.st-note.com/img/1671110681650-6IMv3xQQgG.jpg?width=1200)
深く考えずに始めてみた集計ですが、
表7. では興味深い数字が出せた気がします。
これは、1大会あたりに何人のキューバーを受け入れられたか?を示し、
「大会運営のコスパ」の指標となりえます。
現在のWCA大会は年間参加数を制限していないので、ともすれば顔なじみの身内文化によりがち。
この数字が高い国では、うまく新規層を取り込めていると言えるのではないでしょうか。
とはいっても、一位の中国でも年平均は57.5。
日本と2倍程度の差しかありません。
単発の値を見ても100人 が限界のようです。 (2020, イギリス)
つまり、現行のWCA大会という枠組みは、
一回の大会あたりに満足させられる競技人口は高々100人、
普通は30-40人くらい
と考えられます。
ここで改めて表3. 参加者 ユニーク数を見てみると、
日本の最大値は2019年の 706名。この年の大会数は18で、一ヶ月に1.5回の開催でした。
これからさらなる普及を目指す中で、
まだ見ぬ年間ユニーク1,000人の大台に乗せてみたいですが、
単純計算で1000 [人] / 40 [人/回] = 25 [回]
これは、毎月2回の開催が必要ということになります。
現状のリソースを考えると、今すぐに達成できるとは到底思えず。
どうしたものかなぁ、と考えています。
いずれにせよ、
ある定量的な指標として可視化できたのは良かったです。
他にも集計してみたいパラメータあれば、ぜひ教えてください。
この記事が気に入ったらサポートをしてみませんか?