はじめに
やってきました年末です。
個人的な恒例と化したQiitaランキング記事を今年も書いきます。
これまでのものはこちら。
- 2016: Qiitaレジェンド達の偉大さをシェル芸で眺めて2016年を振り返る
- 2017: Qiitaのあれこれをひたすら分析してランキング
- 2018: Qiitaのいろいろランキング2018
この記事を書くにあたり、いつものようにデータを集めていますが 2019年12月29日あたり のデータになっています。ご認識ください。
やること
基本的な枠組みは昨年までのものを流用します。
- ユーザ別Contributionランキング
- ユーザ別記事数ランキング
- ユーザ別フォロワーランキング
- 記事別いいねランキング
- Organizationsランキング
- その他分析いろいろ
今年新たな分析として、 ユーザ名分布 について少し調べてみました。詳細は後ほど。
前準備
いつものようにデータの前準備からはじめます。
今年度、Qiitaではロゴの変更をはじめとした見た目の変更をちょいちょいやられていたように思いましたが、データ収集自体は昨年と変わらない方法で行うことができました。
ちなみに昨年の集計時点(2018年12月22日)では 299396 ユーザが存在していましたが、今年は
$ wc -l qiita_user_data.csv
501945 qiita_user_data.csv
ということで、この1年で 約20万ユーザを伸ばした ようです。
年 | ユーザ数 | 対前年 |
---|---|---|
2017 | 200,902 | - |
2018 | 299,396 | +98,494 |
2019 | 501,945 | +202,549 |
ユーザ分析
ではまずはユーザ観点での分析から。
ユーザ名分析
50万ユーザを超えてきたので、ユーザ名の分布をちょっと調べてみました。
分布と言っても、ユーザ名の頭文字の分布です。
トップ5はこのようになりました。
順位 | 頭文字 | ユーザ数 | 比率 |
---|---|---|---|
1 | S | 51,326 | 10.23% |
2 | K | 44,653 | 8.90% |
3 | T | 43,523 | 8.67% |
4 | M | 33,699 | 6.71% |
5 | A | 30,547 | 6.09% |
S が最も多いようですね。唯一の10%超えです。
一方でワースト5はどうでしょうか。
順位 | 頭文字 | ユーザ数 | 比率 |
---|---|---|---|
37 | 6 | 332 | 0.07% |
36 | 9 | 429 | 0.09% |
35 | 8 | 480 | 0.10% |
34 | 5 | 498 | 0.10% |
33 | 7 | 548 | 0.11% |
という結果になりました。やはり数字で始まるユーザ名はレア(?)なんですね。
ちなみにアルファベットでの最下位は Q の 2,751(0.55%) でした。
せっかくなのでgnuplotで分布をグラフにすると...
のようになりました。
まぁ、アルファベットなので特に特徴はないですね。
ちなみに、どんなパターンの名前が多いのか、先頭6文字をまとめてカウントしてみたところ...
$ cat qiita_user_analysis.out | sort -k 2nr,2 | head -n 10 | cat -n
1 hanako 2506
2 Hanako 2506
3 HanakO 2506
4 yusuke 474
5 Yusuke 474
6 YUSUKE 474
7 takash 383
8 Takash 383
9 TakaSh 383
10 TAKASH 383
というようになりました。
トップにいるのが hanako
っぽい名前のもの、というか上位のものが基本そのタイプですが、いわゆる出会い系のスパムユーザでした。
このあたりはきちんとQiita運営が検知をし、資格停止を行っているようでしたので名前が取れない以外の悪影響はないようでした。
ユーザContributionランキング
ではここからいつものようにランキング本編に入っていきます。
まずはユーザごとのContributionランキングです。
ランク | 前年比 | ユーザ名 | 総Contribution | 前年比 | 記事数 | 平均いいね | Top数 | Top占有率 | Top記事 |
---|---|---|---|---|---|---|---|---|---|
1 | 0 | @jnchito | 53842 | +11840 | 251 | 214.51 | 3133 | 5.82% | モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう |
2 | 0 | @hirokidaichi | 49015 | +8276 | 43 | 1139.88 | 7233 | 14.76% | ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 |
3 | +4 | @rana_kualu | 39229 | +18844 | 370 | 106.024 | 2760 | 7.04% | 2017年のフロントエンドエンジニアならこの程度は知ってて当然だよな? |
4 | 0 | @suin | 39182 | +11183 | 1071 | 36.5845 | 5635 | 14.38% | 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 |
5 | -2 | @icoxfog417 | 36971 | +4238 | 154 | 240.071 | 3782 | 10.23% | Pythonを書き始める前に見るべきTips |
6 | +3 | @opengl-8080 | 24334 | +4445 | 275 | 88.4873 | 1263 | 5.19% | AngularJS使い方メモ |
7 | -1 | @mizchi | 23693 | +2381 | 263 | 90.0875 | 2509 | 10.59% | なぜ仮想DOMという概念が俺達の魂を震えさせるのか |
8 | +43 | @drken | 22345 | +13494 | 48 | 465.521 | 3462 | 15.49% | AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問精選 10 問 ~ |
9 | +1 | @KeithYokoma | 20694 | +1237 | 143 | 144.713 | 6050 | 29.24% | うまくメソッド名を付けるための参考情報 |
10 | +2 | @yuku_t | 19649 | +991 | 205 | 95.8488 | 1748 | 8.90% | 中規模Web開発のためのMVC分割とレイヤアーキテクチャ |
11 | +36 | @youwht | 18916 | +9682 | 37 | 511.243 | 1896 | 10.02% | 「赤の他人」の対義語は「白い恋人」 これを自動生成したい物語 |
12 | +1 | @awakia | 18268 | +1226 | 155 | 117.858 | 1710 | 9.36% | 開発フロー研修 @ Wantedly |
13 | 新 | @Yametaro | 16937 | 新 | 43 | 393.884 | 1761 | 10.40% | 4歳娘「パパ、セッションとCookieってなあに?」 |
14 | +1 | @b4b4r07 | 16448 | +1702 | 57 | 288.561 | 1860 | 11.31% | さいつよのターミナル環境を構築しよう |
15 | +11 | @shibukawa | 16289 | +4383 | 133 | 122.474 | 4830 | 29.65% | イマドキのJavaScriptの書き方2018 |
16 | +2 | @edo_m18 | 16020 | +1893 | 405 | 39.5556 | 1572 | 9.81% | WebのUIテスト自動化 - Seleniumを使ってみる |
17 | +2 | @koher | 15722 | +1647 | 71 | 221.437 | 1692 | 10.76% | null安全でない言語は、もはやレガシー言語だ |
18 | +3 | @zaru | 15718 | +1856 | 157 | 100.115 | 1705 | 10.85% | Webフロントエンド表示速度、最速化手法まとめ |
19 | +17 | @poly_soft | 15513 | +5137 | 44 | 352.568 | 3869 | 24.94% | 2018年の最先端バックエンドエンジニアに必要なスキルについて考えてみました。 |
20 | -4 | @cognitom | 15395 | +759 | 98 | 157.092 | 2220 | 14.42% | そろそろ真面目に、HTMLで帳票を描く話をしようか |
21 | +3 | @kenmatsu4 | 14749 | +2699 | 71 | 207.732 | 1768 | 11.99% | 【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。 |
22 | -2 | @haminiku | 14422 | +516 | 74 | 194.892 | 3170 | 21.98% | 2016年 独りで新規WEBサービスを開発・運用した際の知見 |
23 | 新 | @baby-degu | 14153 | 新 | 37 | 382.514 | 2876 | 20.32% | トップデベロッパーになるために作成したいアプリ8選 |
24 | 新 | @uhyo | 13881 | 新 | 49 | 283.286 | 1926 | 13.88% | TypeScriptの型入門 |
25 | +18 | @tag1216 | 13403 | +3697 | 122 | 109.861 | 3668 | 27.37% | インフラエンジニアじゃなくても押さえておきたいSSHの基礎知識 |
26 | +1 | @takeharu | 13353 | +1603 | 18 | 741.833 | 2035 | 15.24% | JavaScriptの「this」は「4種類」?? |
27 | +10 | @tonkotsuboy_com | 12866 | +2569 | 114 | 112.86 | 1106 | 8.60% | GitHubのmasterブランチをWebページとして公開する手順(GitHub Pages) |
28 | +32 | @TakahikoKawasaki | 12808 | +4896 | 37 | 346.162 | 4041 | 31.55% | 一番分かりやすい OAuth の説明 |
29 | -7 | @kazunori279 | 12478 | +281 | 43 | 290.186 | 1330 | 10.66% | Cloud Vision APIの凄さを伝えるべくRasPi botとビデオを作った話 |
30 | -7 | @susieyy | 12407 | +315 | 50 | 248.14 | 2102 | 16.94% | Swiftで作られたイケてるUIライブラリたち |
31 | +10 | @t_nakayama0714 | 12387 | +2643 | 40 | 309.675 | 3885 | 31.36% | エンジニアなら知っておきたい、絵で見てわかるセキュア通信の基本 |
32 | 0 | @tadsan | 12340 | +1541 | 197 | 62.6396 | 2013 | 16.31% | ライセンスの選択を恐れる必要はありません |
33 | -5 | @yimajo | 12251 | +521 | 169 | 72.4911 | 765 | 6.24% | iOS実機のSSL通信をプロキシによって傍受したり改ざんする方法 |
34 | -9 | @appwatcher | 12124 | +146 | 60 | 202.067 | 2209 | 18.22% | iOSでこんなアプリ,こんな機能を作りたかったらこれを見ろ!作りたいアプリに対応するクラス、フレームワーク、ライブラリのまとめ! |
35 | +4 | @Hironsan | 11879 | +1737 | 51 | 232.922 | 1423 | 11.98% | 自然言語処理における前処理の種類とその威力 |
36 | 新 | @teradonburi | 11868 | 新 | 120 | 98.9 | 1463 | 12.33% | 【保存版】Webフロントエンド基礎力(初心者向け) |
37 | -7 | @ynakayama | 11855 | +850 | 199 | 59.5729 | 884 | 7.46% | ウェブアプリケーションフレームワーク Flask を使ってみる |
38 | -9 | @hshimo | 11820 | +742 | 308 | 38.3766 | 2791 | 23.61% | プログラマが独立・起業する時によくするミスと対策 まとめ |
39 | -8 | @kawasima | 11719 | +726 | 83 | 141.193 | 1119 | 9.55% | GitHub English Challenge Cheat Sheet |
40 | -7 | @uasi | 11569 | +962 | 124 | 93.2984 | 2429 | 20.99% | 英語のコメントや issue で頻出する略語の意味 (FYI, AFAIK, ...) |
41 | +45 | @alt | 11164 | +5001 | 0 | 0 | - | - | - |
42 | -8 | @hkusu | 11134 | +708 | 224 | 49.7054 | 978 | 8.78% | [WEB開発] 私的な最近のおすすめサービス/ツール 14選 ~2014年版~ |
43 | +3 | @Qiita | 11133 | +1776 | 5 | 2226.6 | 8773 | 78.80% | Markdown記法 チートシート |
44 | -9 | @kidach1 | 11079 | +669 | 85 | 130.341 | 1448 | 13.07% | Ruby block/proc/lambdaの使いどころ |
45 | -5 | @tukiyo3 | 10790 | +693 | 1674 | 6.44564 | 558 | 5.17% | たくさんあるオープンソースライセンスのそれぞれの特徴のまとめ |
46 | -1 | @Quramy | 10722 | +1171 | 100 | 107.22 | 2451 | 22.86% | Electronでアプリケーションを作ってみよう |
47 | +2 | @zembutsu | 10677 | +1722 | 107 | 99.785 | 1332 | 12.48% | Docker 入門ハンズオン資料 |
48 | +2 | @howdy39 | 10641 | +1754 | 74 | 143.797 | 1360 | 12.78% | フロントエンドにテストを導入 |
49 | -11 | @joker1007 | 10615 | +456 | 105 | 101.095 | 1223 | 11.52% | てめえらのRailsはオブジェクト指向じゃねえ!まずはCallbackクラス、Validatorクラスを活用しろ! |
50 | -8 | @kazukichi | 10611 | +898 | 35 | 303.171 | 3682 | 34.70% | エンジニアで稼ぐために大切な20のコト |
51 | -7 | @usagimaru | 10486 | +836 | 179 | 58.581 | 1476 | 14.08% | iOS ヒューマンインターフェースの原則 |
52 | +6 | @jabba | 10372 | +1928 | 35 | 296.343 | 3864 | 37.25% | 開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を公開する |
53 | +43 | @soarflat | 10081 | +4337 | 29 | 347.621 | 1659 | 16.46% | webpack 4 入門 |
54 | +3 | @tbpgr | 9935 | +1458 | 752 | 13.2114 | 2353 | 23.68% | Markdown記法 サンプル集 |
55 | 0 | @amay077 | 9796 | +1196 | 310 | 31.6 | 683 | 6.97% | Xamarin(ザマリン) とはなんぞや |
56 | -2 | @y_hokkey | 9772 | +1145 | 69 | 141.623 | 1778 | 18.19% | Dockerで即実行できる、社内・自宅向けオープンソースWebアプリ |
57 | -9 | @kawaz | 9749 | +746 | 153 | 63.719 | 2064 | 21.17% | 最強のSSH踏み台設定 |
58 | +11 | @shizuma | 9680 | +2580 | 108 | 89.6296 | 1672 | 17.27% | GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~ |
59 | -6 | @vvakame | 9568 | +795 | 60 | 159.467 | 1724 | 18.02% | Gradle入門 |
60 | +6 | @tmknom | 9562 | +2061 | 12 | 796.833 | 3400 | 35.56% | AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ |
61 | -2 | @n0bisuke | 9457 | +1397 | 391 | 24.1867 | 749 | 7.92% | 3行のソースコードを入れるだけで機械学習できると噂のindicoをNode.jsで使って機械学習入門してみる |
62 | 新 | @gold-kou | 9425 | 新 | 47 | 200.532 | 2909 | 30.86% | いまさらだけどDockerに入門したので分かりやすくまとめてみた |
63 | +10 | @zaburo | 9373 | +2598 | 412 | 22.75 | 493 | 5.26% | gitでシンプルなデプロイ環境を作る |
64 | -12 | @sion_cojp | 9089 | +315 | 41 | 221.683 | 4362 | 47.99% | インフラエンジニアとしてよく使うコマンド集 |
65 | -9 | @okappy | 9006 | +529 | 29 | 310.552 | 6406 | 71.13% | 非デザイナーエンジニアが一人でWebサービスを作るときに便利なツール32選 |
66 | 新 | @kaityo256 | 9002 | 新 | 260 | 34.6231 | 1493 | 16.59% | 線形代数を学ぶ理由 |
67 | +20 | @Ted-HM | 8733 | +2609 | 16 | 545.812 | 6644 | 76.08% | プログラミングでよく使う英単語のまとめ【随時更新】 |
68 | -7 | @syui | 8513 | +613 | 260 | 32.7423 | 1390 | 16.33% | MacBookAirで使っている便利ツール |
69 | +14 | @takahirom | 8454 | +2132 | 118 | 71.6441 | 405 | 4.79% | AndroidStudioのPostfix Completionで爆速コーディング |
70 | 新 | @mima_ita | 8402 | 新 | 160 | 52.5125 | 705 | 8.39% | 自称IT企業があまりにITを使わずに嫌になって野に下った俺が紹介するWindows の自動化の方法 |
71 | +1 | @tenntenn | 8336 | +1504 | 80 | 104.2 | 3182 | 38.17% | Go言語の初心者が見ると幸せになれる場所 #golang |
72 | +5 | @pugiemonn | 8215 | +1548 | 284 | 28.9261 | 1446 | 17.60% | こんなHTMLとCSSのコーディング規約で書きたい |
73 | -9 | @jacksuzuki | 8204 | +663 | 8 | 1025.5 | 8176 | 99.66% | ロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】 |
74 | +10 | @shuntaro_tamura | 8154 | +1854 | 66 | 123.545 | 1181 | 14.48% | フロントエンド、サーバサイド、インフラの具体例 |
75 | -12 | @yuya_presto | 8028 | +472 | 40 | 200.7 | 854 | 10.64% | Gitコンフリクト解消ガイド(git mergetoolの使い方) |
76 | -11 | @tatesuke | 7954 | +413 | 40 | 198.85 | 2399 | 30.16% | You Don't Need jQuery |
77 | 新 | @KanNishida | 7943 | 新 | 78 | 101.833 | 632 | 7.96% | AI - その革命はまだ起きていない、そして起きそうもない |
78 | -11 | @Jxck_ | 7896 | +450 | 62 | 127.355 | 1447 | 18.33% | DELETE_FLAG を付ける前に確認したいこと。 |
79 | 0 | @nonbiri15 | 7895 | +1432 | 320 | 24.6719 | 1691 | 21.42% | 優秀な技術者を追い出してしまう方法 |
80 | -2 | @terrierscript | 7855 | +1221 | 139 | 56.5108 | 523 | 6.66% | axiosを乗りこなす機能についての知見集 |
81 | -19 | @kaiinui | 7854 | +214 | 47 | 167.106 | 2459 | 31.31% | 最近の行儀のよい JavaScript の書き方 |
82 | -11 | @mochizukikotaro | 7810 | +936 | 279 | 27.9928 | 1374 | 17.59% | 初心者がAWSでミスって不正利用されて$6,000請求、泣きそうになったお話。 |
83 | -7 | @disc99 | 7698 | +1014 | 29 | 265.448 | 2247 | 29.19% | Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ |
84 | +10 | @toshihirock | 7593 | +1673 | 250 | 30.372 | 983 | 12.95% | Linuxパフォーマンス調査などで使うコマンドメモ |
85 | 新 | @potato4d | 7501 | 新 | 57 | 131.596 | 1165 | 15.53% | 【v2対応】Nuxt.jsとFirebaseを組み合わせて爆速でWebアプリケーションを構築する |
86 | -11 | @ukiuni@github | 7391 | +687 | 83 | 89.0482 | 2972 | 40.21% | JavaScriptを読んでて「なにこれ!?」と思うけれど調べられない記法8選。 |
87 | -7 | @hik0107 | 7342 | +890 | 22 | 333.727 | 1075 | 14.64% | pythonで美しいグラフ描画 -seabornを使えばデータ分析と可視化が捗る その1 |
88 | -14 | @okunokentaro | 7312 | +562 | 115 | 63.5826 | 1352 | 18.49% | AngularJSモダンプラクティス |
89 | 新 | @koshian2 | 7290 | 新 | 118 | 61.7797 | 958 | 13.14% | 機械学習/ディープラーニング初心者が2018年にやったこと、読んだ論文 |
90 | -8 | @nekoneko-wanwan | 7289 | +965 | 57 | 127.877 | 1765 | 24.21% | はじめてajaxを使うときに知りたかったこと |
91 | -21 | @gogotanaka | 7228 | +200 | 57 | 126.807 | 3706 | 51.27% | ネイティブと働いて分かった英語コミットメッセージの頻出動詞10つ |
92 | 新 | @naoki_mochizuki | 7204 | 新 | 18 | 400.222 | 2415 | 33.52% | (下準備編)世界一丁寧なAWS解説。EC2を利用して、RailsアプリをAWSにあげるまで |
93 | -8 | @magicant | 6827 | +539 | 37 | 184.514 | 2490 | 36.47% | クラスの命名のアンチパターン |
94 | -6 | @hidekuro | 6780 | +677 | 83 | 81.6867 | 3076 | 45.37% | VagrantとDockerについて名前しか知らなかったので試した |
95 | 新 | @MahoTakara | 6769 | 新 | 271 | 24.9779 | 1987 | 29.35% | 今さら人に聞けない Kubernetes とは? |
96 | 新 | @toRisouP | 6739 | 新 | 89 | 75.7191 | 574 | 8.52% | RxのHotとColdについて |
97 | 新 | @kaizen_nagoya | 6698 | 新 | 2224 | 3.01169 | 1393 | 20.80% | プログラマが知っているとよい色使い(JIS安全色) |
98 | 新 | @ritukiii | 6645 | 新 | 117 | 56.7949 | 1303 | 19.61% | DI・DIコンテナ、ちゃんと理解出来てる・・? |
99 | -18 | @yaotti | 6627 | +243 | 151 | 43.8874 | 1318 | 19.89% | gitでありがちな問題の解決方法まとめ |
100 | -2 | @k0kubun | 6626 | +974 | 77 | 86.0519 | 1573 | 23.74% | ActiveRecordのjoinsとpreloadとincludesとeager_loadの違い |
1位は昨年と変わらず @jnchito さんでした。
上位の顔ぶれは安定...かと思いきや、 @rana_kualu さんが約18000いいねを伸ばして第3位になっています。これはすごいですね。
その他、今年新たにトップ100ランクインされた方が16名いらっしゃいました。
@Yametaro さんが初登場でいきなり13位につけています。どんな記事を書かれた方だろうと思ってみてみましたが、 3歳娘「パパ、関数をカリー化して?」 の方だったんですね。他にも、会話調で技術概念を解説するような記事を今年多く書かれており、僕自身も楽しませていただきました。
順位上昇に着目すると @soarflat さんが43位上げて96位から52位、同じく @drken さんが43位上げて51位から8位となっています。
いずれもすごい上昇ですが、51位から一気に一桁に乗せたのは昨年の @rana_kualu さん並みの上昇ですね。
記事を書かずにランクインしている @alt さんですが、今年も順調にいいねを伸ばしており、実は45位上げて上昇幅としてはトップになっています。すごい。
Contributionの分布
Contributionの分布もみてみましょう。
total | none | 0 | 1- | 10- | 100- | 1000- | 10000- | |
---|---|---|---|---|---|---|---|---|
2019 | 501945 | 95339 | 354610 | 21351 | 20161 | 8940 | 1492 | 52 |
2018 | 299396 | 11752 | 245485 | 16842 | 16730 | 7351 | 1196 | 40 |
2017 | 200902 | 2247 | 169576 | 10701 | 11985 | 5516 | 851 | 26 |
約20万ユーザが増えていますが、内訳として凍結ユーザと0ユーザで約19万、残り1万がアクティブユーザとなっているようです。
ユーザ獲得の難しさが感じられますね。
分布の比率でみるとこうなります。
total | none | 0 | 1- | 10- | 100- | 1000- | 10000- | |
---|---|---|---|---|---|---|---|---|
2019 | 100.00% | 18.99% | 70.65% | 4.25% | 4.02% | 1.78% | 0.30% | 0.01% |
2018 | 100.00% | 3.93% | 81.99% | 5.63% | 5.59% | 2.46% | 0.40% | 0.01% |
2017 | 100.00% | 1.12% | 84.41% | 5.33% | 5.97% | 2.75% | 0.42% | 0.01% |
昨年、2017→2018を指して「 凍結ユーザの比率が上がった 」と表現しましたが、今年はさらに上がっているようです。
ユーザ記事数ランキング
記事数ランキングも出しておきましょう。
こちらもトップが @7of9 さんであることに変わりはありませんが、2位 @kaizen_nagoya さん、3位 @YumaInaura さんがともに今年1000記事以上書かれているようです。もはや平均することに何の意味もないですが、平均して1日3記事以上書いている計算になります。
ぼくにはとてもできない。
ユーザフォロワー数ランキング
次はフォロワー数ランキング。
さてこちらは結構様変わりしています。
トップが @jnchito さんに変わっていることや、 @kaizen_nagoya さんが8位上げて2位につけています。
また、こちらにも @Yametaro さんが4位につけています。記事が面白い書き口なので追っかけたくなりますよね。
Qiita自体で50万アカウントある中で、トップでも4000フォロワー程度なのでまだまだ伸びる余地はありますが、自分に有益な記事を見つけ出す仕組みとしてはこれからどうなっていくんでしょう。
記事分析
総記事数
まずは総記事数をみてみます。昨年は36万強の記事がありましたが、今年はどうでしょう。
$ cat qiita_user_data.csv | awk -F"," 'BEGIN{SUM=0}{SUM+=$2}END{print SUM}'
447049
昨年はユーザあたり1.22だったところ、今年は 0.88 となりました。記事数がユーザ数を割り込んでしまいましたね。
とはいえ、スパムユーザが多数紛れているため、致し方ないところなのかもしれません。
none | 0 | 1- | 10- | 100- | 1000- | |
---|---|---|---|---|---|---|
2019 | 95339 | 353336 | 42057 | 10899 | 308 | 6 |
2018 | 11752 | 244514 | 33911 | 8966 | 250 | 3 |
2017 | 2247 | 168427 | 23553 | 6496 | 177 | 2 |
記事数1以上のアクティブユーザについて、平均記事数は昨年8.4536に対し、今年は 8.3921 となりました。
記事数が累積であることを考えると、記事をとりあえず1つ書いたはいいものの、そこからなかなか続かないタイプのユーザが多いのでしょうか。
記事いいねランキング
Qiita全体の記事についていいねでランキングをとってみます。
さて例によって欠陥データなので少し手で補います。
上記のうち、複数記事ランクインされているのが
ランクイン数 | ユーザ名 |
---|---|
5 | @jnchito |
5 | @hirokidaichi |
3 | @icoxfog417 |
2 | @rana_kualu |
2 | @suin |
2 | @gold-kou |
2 | @t_nakayama0714 |
ですが、集計上は各ユーザのトップ5しか使っていないので @jnchito さんと @hirokidaichi さんをフォローします。
@jnchito さんの第6位記事は 脱初心者を目指すVimmerにオススメしたいVimプラグインや.vimrcの設定 で1968いいねでしたので圏外です。
@hirokidaichi さんは以下の2記事が追加になります。
ランク | 前年比 | いいね数 | 前年比 | 記事 |
---|---|---|---|---|
55 | -2 | 2786 | +304 | 新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 |
63 | -12 | 2705 | +168 | 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 |
となりました。
これまで ロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】 が単一記事としては1位でしたが、ついに Markdown記法 チートシート に抜かれていますね。まぁ、便利記事ですし、Qiitaプラットフォームの成長に伴っていいね数が増えていくこと自体はさほど不思議なことではないのでそうなのかなという気がします。
昨年ランクインしていたもののうち、今年一番いいねを伸ばしたのは プログラミングでよく使う英単語のまとめ【随時更新】 で、およそ2000いいねを伸ばしました。
さて、今年新たにトップ100入りした記事を見てみましょう。26記事ありましたので、それだけ抜き出してみます。
新規記事として最もいいねを伸ばしたのは VSCodeのオススメ拡張機能 24 選 (とTipsをいくつか) でした。確かに思い返してみると、僕の周囲でもAtomあたりからVSCodeに乗り換えたとかいう人も一定数いたので、注目を集めていた実感があります。
このようにトップ100に入った新しい記事が26記事ですが、昨年が23記事でしたから、Qiita記事としての新陳代謝は同等程度に進んでいるように思います。
また、今年らしいと思ったのが 本番環境でやらかしちゃった人 Advent Calendar 2019 で12月に投稿されたばかりの さよなら本番サーバー が彗星のごとくランクインしたあたりでしょうか。僕もこのカレンダーにはずいぶん楽しませていただきました。
あと自分の記事で恐縮ですが 不思議の国のSE用語 がついにトップ100入りです。うれしい!
Organization分析
では最後にOrganization分析です。
全体
ユーザ分析では全体のユーザ数もみてましたので、こちらではOrganization数をみておきましょう。
$ wc -l qiita_organization_data.csv
958 qiita_organization_data.csv
昨年は648でしたので、この1年で310の組織が増えたようですね。およそ1.5倍。
Organization別いいねランキング
まずはOrganizationとしてのいいね数ランキングから。
ランク | Organization名 | 前年比 | 総いいね | 前年比 | 記事数 | 平均いいね | Top数 | Top占有率 | Top記事 |
---|---|---|---|---|---|---|---|---|---|
1 | @mercari | 0 | 110005 | +19189 | 1827 | 60.2107 | 6051 | 5.50% | うまくメソッド名を付けるための参考情報 |
2 | @tis | 0 | 69623 | +9782 | 1096 | 63.5246 | 3782 | 5.43% | Pythonを書き始める前に見るべきTips |
3 | @yumemi | +6 | 69358 | +36151 | 1938 | 35.7884 | 1829 | 2.64% | IT業界のルー大柴と渡り合うためのカタカナ用語一覧 |
4 | @yyphp | +4 | 63631 | +25896 | 2142 | 29.7063 | 5636 | 8.86% | 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100 超 |
5 | @sonicgarden | -1 | 62243 | +14101 | 568 | 109.583 | 3134 | 5.04% | モデルやメソッドに名前を付けるときは英語の品詞に気をつけよう |
6 | @admin-guild | 新 | 60013 | 新 | 1458 | 41.1612 | 3865 | 6.44% | 開設後3週間で収益10万円を得た個人開発サイトでやったことの全部を 公開する |
7 | @dena_coltd | +6 | 53010 | +28443 | 1436 | 36.915 | 3170 | 5.98% | 2016年 独りで新規WEBサービスを開発・運用した際の知見 |
8 | @rector | -1 | 49012 | +8279 | 43 | 1139.81 | 7233 | 14.76% | ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 |
9 | @cyberagent | -3 | 46890 | +5731 | 1000 | 46.89 | 2036 | 4.34% | JavaScriptの「this」は「4種類」?? |
10 | @shouldbee | +1 | 41498 | +11940 | 1289 | 32.1939 | 5636 | 13.58% | 【まとめ】これ知らないプログラマって損してんなって思う汎用的なツール 100超 |
11 | @wantedly | -6 | 35862 | -8576 | 481 | 74.5572 | 1710 | 4.77% | 開発フロー研修 @ Wantedly |
12 | @nri | +15 | 34555 | +18055 | 341 | 101.334 | 1896 | 5.49% | 「赤の他人」の対義語は「白い恋人」 これを自動生成したい物語 |
13 | @future | -3 | 34457 | +2771 | 823 | 41.8676 | 4831 | 14.02% | イマドキのJavaScriptの書き方2018 |
14 | @zozotech | 新 | 32610 | 新 | 1090 | 29.9174 | 2910 | 8.92% | いまさらだけどDockerに入門したので分かりやすくまとめてみた |
15 | @iotlt | +1 | 30995 | +10540 | 2161 | 14.3429 | 749 | 2.42% | 3行のソースコードを入れるだけで機械学習できると噂のindicoをNode.jsで使っ て機械学習入門してみる |
16 | @crowdworks | +9 | 30817 | +12976 | 534 | 57.7097 | 3402 | 11.04% | AWSアカウントを取得したら速攻でやっておくべき初期設定まとめ |
17 | @yahoo-japan-corp | 0 | 30369 | +10259 | 1014 | 29.9497 | 1723 | 5.67% | 技術的負債とどうやって戦うか |
18 | @plaid | 新 | 27574 | 新 | 487 | 56.6201 | 2510 | 9.10% | なぜ仮想DOMという概念が俺達の魂を震えさせるのか |
19 | @lifull | +3 | 26812 | +7622 | 973 | 27.556 | 3080 | 11.49% | すべての新米フロントエンドエンジニアに読んでほしい50の資料 |
20 | @dwango | -8 | 25962 | +902 | 706 | 36.7734 | 1801 | 6.94% | 新人プログラマをレビューで殺さない方法 |
21 | @globis | +9 | 25903 | +10655 | 623 | 41.5778 | 1939 | 7.49% | ここ数年前から2015/5までのモダンフロントエンドを総まとめしてみた |
22 | @unity-game-dev-guild | 新 | 25691 | 新 | 1078 | 23.8321 | 1572 | 6.12% | WebのUIテスト自動化 - Seleniumを使ってみる |
23 | @bell-face | 新 | 24969 | 新 | 334 | 74.7575 | 2760 | 11.05% | PHPでデータベースに接続するときのまとめ |
24 | @ntt-data-msi | 新 | 24720 | 新 | 96 | 257.5 | 3463 | 14.01% | AtCoder に登録したら次にやること ~ これだけ解けば十分闘える!過去問 精選 10 問 ~ |
25 | @synapse | -5 | 24317 | +4813 | 320 | 75.9906 | 2760 | 11.35% | PHPでデータベースに接続するときのまとめ |
26 | @basicinc | 新 | 23520 | 新 | 434 | 54.1935 | 1705 | 7.25% | Webフロントエンド表示速度、最速化手法まとめ |
27 | @qoncept | -8 | 22854 | +2981 | 163 | 140.209 | 2369 | 10.37% | Android開発を受注したからKotlinをガッツリ使ってみたら最高だった |
28 | @jrits | -4 | 22326 | +3858 | 1033 | 21.6128 | 1703 | 7.63% | 全国のSeleniumer必読 |
29 | @mixi | -1 | 22285 | +6252 | 726 | 30.6956 | 1753 | 7.87% | tigでgitをもっと便利に! addやcommitも |
30 | @increments | -27 | 21996 | -31911 | 247 | 89.0526 | 8778 | 39.91% | Markdown記法 チートシート |
1位2位は変わらず @mercari さん、 @tis さんでした。
盤石かと思われる一方で、3位から6位までが6万台でひしめきあっており、今日の断面だと2位の座は変わらずだったのかもしれませんが、どこかのタイミングでは逆転してたかもしれないですね。
見てびっくりしたのが昨年3位、今年30位の @increments さん、昨年5位、今年11位の @wantedly さんですね。
個人だといいねが大規模に減ることはそうそうありませんが、Organizationとしてはメンバの脱退は普通に起こり得る話なので、それが大きく影響したようです。
Organization記事数ランキング
続いて記事数。10位まで。
ランク | Organization名 | 記事数 | 総いいね | 平均記事いいね |
---|---|---|---|---|
1 | @iotlt | 2161 | 30995 | 14.3429 |
2 | @yyphp | 2142 | 63631 | 29.7063 |
3 | @yumemi | 1938 | 69358 | 35.7884 |
4 | @mercari | 1827 | 110005 | 60.2107 |
5 | @admin-guild | 1458 | 60013 | 41.1612 |
6 | @dena_coltd | 1436 | 53010 | 36.915 |
7 | @shouldbee | 1289 | 41498 | 32.1939 |
8 | @tis | 1096 | 69623 | 63.5246 |
9 | @zozotech | 1090 | 32610 | 29.9174 |
10 | @unity-game-dev-guild | 1078 | 25691 | 23.8321 |
昨年は @mercari さんがトップでしたが、今年は4位です。
どこも順調に記事を伸ばしていますが、 上位3社は600-800記事伸ばしてトップ3に食い込んでいますね。
Organizationメンバ数ランキング
続いて メンバの数 です。
ランク | Organization名 | メンバ数 | 総いいね | 1人あたりいいね |
---|---|---|---|---|
1 | @iotlt | 125 | 30995 | 247.96 |
2 | @yumemi | 121 | 69358 | 573.207 |
3 | @zozotech | 111 | 32610 | 293.784 |
4 | @dena_coltd | 99 | 53010 | 535.455 |
5 | @mercari | 98 | 110005 | 1122.5 |
6 | @lifull | 91 | 26812 | 294.637 |
7 | @admin-guild | 88 | 60013 | 681.966 |
8 | @future | 87 | 34457 | 396.057 |
9 | @tis | 81 | 69623 | 859.543 |
10 | @yahoo-japan-corp | 76 | 30369 | 399.592 |
@iotlt さんが1位なのは変わらずですね。
Organization1人あたりいいね数ランキング
最後に 1人あたりいいね のランキングです。
ランク | Organization名 | 1人あたりいいね | メンバ数 | 総いいね |
---|---|---|---|---|
1 | @rector | 16337.3 | 3 | 49012 |
2 | @shouldbee | 13832.7 | 3 | 41498 |
3 | @synapse | 8105.7 | 3 | 24317 |
4 | @bell-face | 6242.3 | 4 | 24969 |
5 | @consensus-base | 5909.0 | 2 | 11818 |
6 | @qoncept | 4570.8 | 5 | 22854 |
7 | @arow-oss | 4524.0 | 1 | 4524 |
8 | @fiveneeds | 4134.5 | 2 | 8269 |
9 | @ntt-data-msi | 4120.0 | 6 | 24720 |
10 | @sonicgarden | 3457.9 | 18 | 62243 |
例によって少人数組織の数字が大きく出てしまうので20人以上に絞ってみると...
ランク | Organization名 | 1人あたりいいね | メンバ数 | 総いいね |
---|---|---|---|---|
1 | @yyphp | 2651.3 | 24 | 63631 |
2 | @mercari | 1122.5 | 98 | 110005 |
3 | @wantedly | 1086.7 | 33 | 35862 |
4 | @nri | 1047.1 | 33 | 34555 |
5 | @sakura_internet | 1014.1 | 21 | 21297 |
6 | @tis | 859.5 | 81 | 69623 |
7 | @increments | 814.7 | 27 | 21996 |
8 | @folio-sec | 800.6 | 23 | 18414 |
9 | @plaid | 765.9 | 36 | 27574 |
10 | @storesjp | 765.4 | 20 | 15307 |
という感じになりました。いろいろなランキングで上位にくるあたり、 @yyphp さんの勢いを感じますね。
おわりに
今年もなんとか年内に間に合いました。
こうして見てみると、その年で話題になった記事はこの集計の中でもやはり目立って見えてくるということと、規模を拡大するうえで色々な難しさも感じているであろうQiita運営に頭が下がる思いがしました。
毎年こうして記事を書きながら1年の振り返りをすること自体は悪くない体験だし面白いのですが、これ以上規模が大きくなるとさすがにデータ収集から記事化まで大変さが目に余るということと、データ収集そのものでQiitaに迷惑をかけているような気がしてきたのでこのランキング自体は今年で終わりにしようかなと思いました。
とはいえ、こうした毎年の注目記事なんかはまとめて見てみたい気がするので 2019年「はてなブックマーク年間ランキング」トップ100 みたいに、Qiita Zineあたりで公式にやってくれたりしないかなーと期待します(チラ
[2022年1月23日追記]
こちらの投稿から約2年、なんとほんとに公式化しました。ありがたや~。