#概要
- 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スクリプトを書きます.
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数を上げたいなーと思いました.