LoginSignup
51
23

More than 5 years have passed since last update.

あなたのQiita力はどれくらい?データで見るContribute数の統計

Posted at

概要

  • Qiitaの統計データを解析してみた
  • Qiita力が分かるように早見表を作った
  • Contribute数,20未満の人々は記事を書いているユーザーの約48%
  • 自分のQiita力は上位17%くらいだった

前書き

最近,家でプログラムを打つことも少なくなり,自分の技術力ってどれくらいなのか?と思い始めた.そこで,自分の技術力向上もかねて,「今年中にQiitaでContributeが1000になるまで頑張ろう」と思いはじめました.しかし,今,自分のContribute数が157くらい.というところを考えると,どれくらい難しいのか?現実的なのか?実現可能性について考えました.そこで,QiitaのContribute数の統計データを集め,どれくらい難しいのかを調べてみました.

手法

ひとつひとつクローリングしてもいいのですが,QiitaUserRankingというサイトで,欲しいデータが集まっていたので,そこから抽出しました.

Contribute数と,その人数のデータがまとめられていました.
まず初めに簡単にスクレイピングします.

wget -O - https://qiita-user-ranking.herokuapp.com/chart | grep Bar | grep -o "\[.*\]" | sed "s/\],\[/\n/g" | grep -o "[0-9][0-9]*,[0-9][0-9]*" > data.csv

data.csvのフォーマットとして,

Contribute数,そのContribute数のユーザーの人数

となっています.このデータを変換して,Contribute数に合わせ,パーセンタイルに変換します.そして,Qiitaの表記に合わせて出力するPythonスクリプトを書きます.

qiita_stats.py
if __name__=="__main__":
    data = [
        tuple(map(int,l.split(",")))
        for l
        in open("data.csv")
    ]

    all_num = sum(l[1] for l in data)

    for num in [10,20,30,40,50,60,70,80,90,100,200,300,400,500,600,700,800,900,1000,2000,3000,4000,5000]:
        under = sum(l[1] for l in data if l[0] < num)
        print "| %5d | %5d | %5.2f |" % (num,under,(1-float(under)/all_num)*100)

    #自分の順位を出す用
    num = 159
    under = sum(l[1] for l in data if l[0] < num)

    print "num %5d : %5d / %5d : %5.2f%%"  % (num,under,all_num,(1-float(under)/all_num)*100)

出力された表がこちらです.

Contribute数 人数 パーセンタイル
10 7767 67.19
20 11156 52.88
30 13046 44.89
40 14307 39.57
50 15275 35.48
60 16083 32.06
70 16735 29.31
80 17231 27.22
90 17686 25.29
100 18065 23.69
200 20174 14.78
300 21092 10.91
400 21684 8.41
500 22063 6.80
600 22347 5.61
700 22556 4.72
800 22718 4.04
900 22840 3.52
1000 22943 3.09
2000 23367 1.30
3000 23515 0.67
4000 23573 0.43
5000 23606 0.29

Contribute数10未満のユーザーは7767人います.そのため,Contribute数10のユーザーは,Qiitaのユーザーの中で,上位67.19%の位置にいます.という見方をします.他の例ですと,Contributeの数が500未満のユーザーが22063人います.そのため,Contributeの数が500のユーザーは上位6.80%の位置にいます.

考察

QiitaUserRankingによるとContributeが1以上の人は,23674人いるようです.上の表を見て分かる通り,Contribute数が20のユーザーは上位52.88%にいるようです.そのため,Contributeの数が20程度を境に上位と下位が分かれることが分かります.今,現状の私のContribute数は159.スクリプトで計算してみた結果,

num   159 : 19496 / 23674 : 17.65%

というデータが出てきました.したがって,Contribute数159未満のユーザーが19,496人います.そして,私の順位は上位17.65%に当たるようです.

感想

私が目指していた

Contribute数1000のユーザーはQiitaの上位約3%に当たります.

なかなか厳しいなーと思いました.
個人的な話になってしまうのですが,私の記事は1記事当り,平均Contributeが14程度あります.そのため,Contributeを1000にするには,72記事必要な計算になります.2017年はあと7カ月の計算なので,月産10~11記事.週3ぐらいのペースで記事を書けば間に合います.いやーこれは辛い.
どちらかというともう少しクオリティの高い記事,もしくは引きの強い記事を書いて,1記事当りのContribute数を上げたいなーと思いました.

51
23
2

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
51
23