AtCoderで上位何パーセントかわかる早見グラフを作ってみた

この記事は2023年11月30日に更新いたしました。

初めまして、ごごちと申します。

今回は競技プログラミング最大手のAtCoderにて、
Ratingが上位何パーセントにあたるか一目でわかるグラフを作成しました!
自分が参加者のなかでどれくらいの順位なのか、参考にしていただけると幸いです!

(2022/8/31追記)

より正確かつ効率的に早見グラフを作れる様にしました!コメントくださった方、ありがとうございます!

AtCoderの順位ヒストグラムのソースから上位何パーセントかわかる早見グラフをPythonで作ってみた

上記コードを使ってランキングページのHTMLからグラフを作れるようになったので、定期的に更新しようと思います!

(2023/6/1追記)

スクレイピングプログラムを作成し、
定期実行によってログ取得できるようにしました。
順位ヒストグラムの定期スクレイピングによるログ作成!【AtCoder】【レーティング分布】
今後はログ取得して分布の推移を見てみたいと思います!

(2023/7/31追記)

レーティング分布のログから、
分布の時系列変化を可視化しました。
AtCoderのレーティング分布の時系列変化をグラフにしました(随時更新予定)

目次

2024/3/31 更新

全参加者

上位パーセント(全レーティング対応)

上位パーセント(レーティング1200未満対応)

上位パーセント(レーティング1200以上対応)

2023/11/27 更新

全参加者

上位パーセント(全レーティング対応)

上位パーセント(レーティング1200未満対応)

上位パーセント(レーティング1200以上対応)

2023/9/19 更新

全参加者

上位パーセント(全レーティング対応)

上位パーセント(レーティング1200未満対応)

上位パーセント(レーティング1200以上対応)

2023/6/1 更新

全参加者

上位パーセント(全レーティング対応)

上位パーセント(レーティング1200未満対応)

上位パーセント(レーティング1200以上対応)

2023/3/13 更新

全参加者

上位パーセント(全レーティング対応)

上位パーセント(レーティング1200未満対応)

上位パーセント(レーティング1200以上対応)

2022/12/3 更新

上位パーセントの割合は、6月時点からあまり変わっていないようです。
参加者数も増えているようなので、分布が平衡状態になっていると考えられます。

全参加者

上位パーセント(全レーティング対応)

上位パーセント(レーティング1200未満対応)

上位パーセント(レーティング1200以上対応)

2022/6/19 時点

Ratingごと上位%早見グラフ

全レート対応

こちらがAtCoderのヒストグラムを目視トレースし手作業で作った

レートごとのユーザ数ヒストグラムと上位%の折れ線グラフです

このグラフで、各レートと上位%がわかります!

上位50%以上(Rating 72以下)

こちらはRating 72以下、上位50%以上のグラフです。

このグラフからわかることは

  • Rating4以下に1割のユーザがいる
  • Rating72まででおよそ5割のユーザ数をカバーしている

Rating4以下のユーザは

参加回数1回かつ、submitもしていない

のような感じだと思います。

なので、複数回参加してsubmitするだけでも上位90%にはなれそうです。

上位50%以下(Rating 89以上)

こちらはRating 89以上、上位50%以下のグラフです。

このグラフからわかることは

  • Rating147が最頻値で上位40%
  • 茶色(Rating400)でも上位26%

最頻値であるRating147が達成できそうなシチュエーションは

コンテストに3-4回参加し、B問題まで半分位の割合で解く

のようなことが考えられそうですね。

AtCoderも全ての人が複数回続けられる訳ではないので、

初めはうまく出来なくても、複数回参加するモチベーションが重要ですね。

作った経緯や筆者の順位、つくって気づいたことなど

作った経緯 : 自分の順位と上位パーセンテージをわかるようにしたかった

こちらはAtCoderのプロフィールから見られるヒストグラムです

こちらのヒストグラムでは、自分の順位しかわからず、

上位何パーセントかがよくわかりませんでした。

なので、ヒストグラムを目視でトレースして

上位パーセントを数値化してみました。

より正確かつ手軽にわかる方法がございましたら、

是非コメントで教えてくださいm(_ _)m

筆者の成績と順位について

筆者はレーティング536で順位は23882です。

全ユーザ数98270と見積もったため、

23882/98270 = 0.24

上位24%である事がわかります。

棒グラフの数値と大体合っていますね。

作ってみてわかったこと

複数回参加してsubmitすれば上位90%以上になれる

Rating4以下に1割のユーザーがいるようで、

こういったユーザは

1回だけ参加してsubmitもしなかった

事が考えられます。

まずは複数回参加してsubmitするだけでも上位90%になれそうですね

灰色でもRating 100あれば上位50%

灰色でもRating89の時点で上位48%なので、

Rating100を超えるだけでも上位50%になれます。

これはコンテストに毎週参加してA問題を解き続けるだけで達成できそうです

茶色(Rating 400)になった時点で上位26%

茶色レートである400担った時点で、上位26%になれる様です。

作ってみるまでは筆者は、「茶色レートで上位50%」

と思っていたので、茶色になるだけでも上位4分の1になれる様です

もっと簡単に見られる方法をご存じでしたらご教示ください

今回はAtCoderのレーティングと上位パーセント早見グラフを作成しました。

皆様の参考になれば幸いです

今回はHistgramを目視とレースして手作業でグラフを作ったので、2時間くらいかかりました。

もっと簡単に見られる方法をご存じの方がいらっしゃったら

ぜひコメントなどでご教示くださいm(_ _)m

また、筆者は資格試験の勉強記事も書いております。

令和4年度春期試験の応用情報技術者試験の自己採点結果を(いまさら)公表します

よかったら見ていってください♪

3 COMMENTS

mt

ヒストグラムの数値はHTMLソースを見ると配列で書かれているので(var xaxis= …)それを使えば手間が減るかと思います

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA