6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

AtCoderで年齢(誕生年)とレーティングや得点の相関について調べてみた

Posted at

SupershipでVPoEをしている名畑です。ただただツイステッドワンダーランド7章「深淵の支配者」の続きが早く見たいです。

はじめに

私自身40代で過去の記事でも書きましたようにAtCoderではかなりマイノリティーな世代になります。

正直、AtCoderは頭の回転勝負なところがあるので若い方が有利だよねと内心思ってきました。

ただ、それって本当なんだろうかというのが気になったので調べてみたというのが今回の記事です。

ちなみに先に結論を言うと年齢とレイティング/スコアの相関は現時点では見出せていません

母集団

  • データの取得はAtCoderのランキングアクティブユーザのみ(2023年2月8日6時付)から行いました。そのため、本記事の次項以降でユーザという単語が用いられた場合はアクティブユーザを示すとお考えください。
  • アクティブユーザは過去2年以内にRatedコンテストに一度でも参加したユーザと定義されています。
  • Ratedコンテストとはレート付与の対象となるコンテストです。AtCoderはコンテストに参加せずとも楽しむ方法がいくらでもありますが、コンテストに参加することでレートが付与され、その結果に応じて色が決まります(赤>橙>黄>青>水>緑>茶>灰)。

対象ユーザ

  • 100,218人のユーザがいました。
  • このうち誕生年を登録しているユーザは78,643人でした。
  • つまり全体の 約78.5% が登録していることになります。
  • ただし自己申告によるもののため、この誕生年が正しい保証はありません。
  • ルール上ではAtCoder社が特別に認めたケースを除くと複数アカウントの保持が認められていませんため、それぞれ個別のユーザという扱いで考えます。
  • また、今回は誕生年別のレーティングを求めるのですが、母数が少なすぎると比較がしづらいため1980年〜2012年を対象とします。100名以上が登録されている連続区間です。1979年は90名、2013年は60名となります。

グラフ(箱ひげ図)

graph_all.png

分布傾向が見たいので箱ひげ図にしてみたのですが、年齢(誕生年)との相関をなんとも言えずです。

中央値、平均値、最大値で表にしてみました。

誕生年 人数 中央値 平均値 最大値
1980 141 131 384.18 1855
1981 126 122.5 358.22 1838
1982 162 181 448.77 2461
1983 180 123.5 389.41 2719
1984 208 228 434.16 3144
1985 220 207.5 435.75 3494
1986 279 169 434.27 2935
1987 326 170.5 403.56 2463
1988 353 188 423.01 3092
1989 474 176 413.44 3211
1990 572 155 393.06 2887
1991 654 183 428.12 3519
1992 838 162.5 403.65 2862
1993 1080 179.5 420.82 3203
1994 1335 181 437.27 3944
1995 1759 151 397.85 3223
1996 2096 165 419.68 3735
1997 2879 144 376.39 3698
1998 4416 141 371.88 3721
1999 6497 114 341.33 3273
2000 9855 87 318.92 3108
2001 11338 65 274.95 3658
2002 10665 45 235.80 3564
2003 6469 39 234.66 3362
2004 3346 63 372.23 3328
2005 2245 154 517.45 3271
2006 2128 150 510.13 2808
2007 1661 127 467.05 3172
2008 1390 83 334.05 2371
2009 1095 69 297.21 2727
2010 724 56 216.71 2829
2011 386 34 155.31 1477
2012 212 26.5 147.51 2123

これもはやはり、なんとも言いづらい結果となりました。

中央値が2002年と2003年で凹んでいるのはなぜでしょう。逆に言えば、2005年〜2008年あたりが前後の年代と比べて高い方が着目するべきなのか。

AtCoder Beginner Contest 288での結果

AtCoderというサービスはすでに10年以上続いています(素晴らしい!)。
たとえば誕生年が1980年(今年43歳)だとしても、AtCoderに没頭していたのは33歳の頃かもしれません。
つまり、誕生年とレーティングを比較しても、年齢とスキルの相関を見るには不充分とも考えられます。
精度を上げるためにも今回アクティブユーザ(2年以内にレーティング対象のコンテストに出た人)限定にはしていますが、レーティングはそこまで急激に下がらないので、これだけではやはり不充分にも思えます。

そんなことを悩んだので、最近のコンテストであるAtCoder Beginner Contest 288(ABC 288)のランキングの結果をアクティブユーザ一覧と結びつけて誕生年毎の中央値、平均値、最大値を出してみました。1980年から2012年に限定していることも同様です。

グラフ(箱ひげ図)

graph_abc288.png

表(中央値、平均値、最大値)

誕生年 人数 中央値 平均値 最大値
1980 23 600 500.00 1000
1981 13 300 300.00 600
1982 23 600 578.26 2000
1983 20 600 660.00 2000
1984 28 600 589.29 1100
1985 35 600 488.57 1100
1986 37 600 519.44 3200
1987 45 600 537.78 1100
1988 50 600 538.00 2000
1989 47 600 508.51 2600
1990 52 600 580.77 1700
1991 60 450 540.00 2600
1992 70 600 582.86 2600
1993 117 600 580.17 2600
1994 116 600 581.90 2600
1995 144 600 573.94 3200
1996 165 600 547.56 2600
1997 186 600 511.35 3200
1998 276 400 488.00 2600
1999 395 600 531.39 2600
2000 549 600 504.75 2600
2001 710 500 447.95 3200
2002 843 600 454.10 2600
2003 636 300 426.50 3200
2004 308 300 450.98 3200
2005 167 300 555.42 2600
2006 197 600 581.54 2600
2007 222 600 562.16 2600
2008 197 600 506.09 2600
2009 196 300 455.61 2200
2010 117 300 400.85 2000
2011 66 300 321.21 1000
2012 48 300 268.75 1500

やはりなんとも言いづらい結果となりました。

最後に

今回の結論だけだと年齢を言い訳にする根拠は見つからずなんですが、正直、世代毎の母数も大きく異なるのでデータとしては悩ましいです。
また今後相関を導く良い方法が思いついたらやるかもしれません。

宣伝

SupershipのQiita Organizationを合わせてご覧いただけますと嬉しいです。他のメンバーの記事も多数あります。

Supershipではプロダクト開発やサービス開発に関わる方を絶賛募集しております。
興味がある方はSupership株式会社 採用サイトよりご確認ください。

6
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?