概要
以前検討したQiitaのリアクション数の取得コードや分析のための指標をまとめました。
自分の投稿記事のリアクション数とQiita全体の比較を簡単にできるようにしました。
以前の記事
コード
以下で公開しています。
https://github.com/jiroshimaya/qiitareactioncounter
使い方
リポジトリにも記載していますが、uvがインストール済みであれば
- リポジトリのクローンして移動
- QIITA_TOKENを環境変数に登録
- uv run src/qiitareactioncounter/run_analysis.py
でリアクション数を取得し、分析結果を出力します。
オプション引数により、分析対象の記事の投稿期間やuseridを指定できます。
指定しない場合は、useridはトークンの認証ユーザ、期間はuseridの記事の最も古い投稿日から現在までとなります。
なお、リアクション数の取得と分析はそれぞれ別のコードになっており、個別に実行することも可能です。
コマンドはhelpを参照ください。
- uv run src/qiitareactioncounter/count_reactions.py -h
- uv run src/qiitareactioncounter/analyze_reactions.py -h
事例
試しに筆者(shimajiroxyz)の記事のリアクション数を分析してみます。
% uv run src/qiitareactioncounter/r
un_analysis.py
認証ユーザーのIDを取得しました: shimajiroxyz
開始日をユーザーの最も古い投稿の日付に設定しました: 2020-02-23
全ユーザーのリアクション数を集計します...
Query: created:>=2020-02-23 created:<=2025-03-26
ランダムに選んだページ番号: [59, 89, 2, 35, 24, 94, 47, 69, 10, 7, 72]
ページ 59 から 100 件取得
ページ 89 から 100 件取得
ページ 2 から 100 件取得
ページ 35 から 100 件取得
ページ 24 から 100 件取得
ページ 94 から 100 件取得
ページ 47 から 100 件取得
ページ 69 から 100 件取得
ページ 10 から 100 件取得
ページ 7 から 100 件取得
results/all_users_reactions.csv を保存しました。
全ユーザーの集計結果を保存しました: results/all_users_reactions.csv
全ユーザーの集計結果を分析します...
=== results/all_users_reactions.csvの統計 ===
全記事数: 1000
中央値: 0.00
平均値: 5.61
上位10%の閾値: 4.00
上位10%の平均: 41.99
上位10%の中央値: 6.00
上位10%の記事数: 123
1以上リアクションがついた記事の割合: 42.20%
2以上リアクションがついた記事の割合: 23.10%
3以上リアクションがついた記事の割合: 15.70%
shimajiroxyzのリアクション数を集計します...
Query: created:>=2020-02-23 created:<=2025-03-26 user:shimajiroxyz
ランダムに選んだページ番号: [1, 2, 3]
ページ 1 から 100 件取得
ページ 2 から 100 件取得
ページ 3 から 8 件取得
results/shimajiroxyz_reactions.csv を保存しました。
shimajiroxyzの集計結果を保存しました: results/shimajiroxyz_reactions.csv
shimajiroxyzの集計結果を分析します...
=== results/shimajiroxyz_reactions.csvの統計 ===
全記事数: 208
中央値: 2.00
平均値: 6.28
上位10%の閾値: 15.00
上位10%の平均: 37.45
上位10%の中央値: 24.50
上位10%の記事数: 22
1以上リアクションがついた記事の割合: 66.35%
2以上リアクションがついた記事の割合: 50.96%
3以上リアクションがついた記事の割合: 40.87%
Qiita全体と指定したユーザーの記事についての指標がそれぞれ出力されます。
指標はどういったものが適切かはケースバイケースなのでとりあえず思いつくものを色々出力しています。
どの指標も基本的には多いほど優れていると考えてよいです。
例えば、中央値は全体が0、ユーザが2、平均値は全体が5.61、ユーザが6.28です。
1以上のリアクションがついた記事の割合だと全体が42%、ユーザが66%です。
その他どの指標でもユーザが大きいため、リアクション数という観点では、ユーザの記事はQiita全体よりも高品質だったことが示唆されます。
ちなみに前回の検討では直近半年に限定すると、筆者よりQiita全体のほうが高パフォーマンスでした。
リアクション数の指標はバズった記事があると伸びやすいです。
バズが起きるためにはある程度の試行回数が必要なため、ユーザを限定し期間も短いと、条件的に不利になってしまうのかもしれません。
おわりに
QiitaのAPIを用いて、自分の投稿に対するリアクション数をQiita全体と簡単に比較できるCLIプログラムを作ってみました。
なにかの参考になれば幸いです。