2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiitaの記事一覧を取得して一年を振り返ろう

Posted at

はじめに

  • QiitaAPIを使用して記事一覧を取得する
  • 取得結果をAIに分析してもらう
  • ついでにGoogleAnalyticsのデータを組み合わせて分析してみる

QiitaAPIドキュメント

手順

1.アクセストークンを取得する

アクセストークンの発行ページからアクセストークンを発行します。
今回は記事一覧を取得できればいいため、スコープはread_qiitaにチェックしています。

image.png

2.APIをたたく(curlコマンド)

APIは「GET /api/v2/items」を使用します。

APIDocを参照。
image.png

curlコマンドを作成しましょう。取得結果をCSVに加工して出力しています。


# 1ページ目(最初の100件)
echo '"タイトル","URL","作成日時","いいね数","タグ"' > output.csv && \
curl -H 'Authorization: Bearer XXXXXX' \
'https://qiita.com/api/v2/items?query=user:ymgc3+created:>2024-01-01&per_page=100&page=1' | \
jq -r '.[] | [
  .title,
  .url,
  .created_at,
  .likes_count,
  ([.tags[].name] | join(";"))
] | @csv' >> output.csv

「Bearer XXXXXX」のXXX部分に、APIトークンを設定します。
検索条件に、ユーザIDと期間を設定します。

curl -H 'Authorization: Bearer XXXXXX'
「query=user:ymgc3+created:>2024-01-01」

1リクエストでの取得は最大100件です。100件以上ある場合は、「&page=n」繰り返し。
「output.csv」に追記していきます。

# 2ページ目
curl -H 'Authorization: Bearer XXXXXX' \
'https://qiita.com/api/v2/items?query=user:ymgc3+created:>2024-01-01&per_page=100&page=2' | \
jq -r '.[] | [
  .title,
  .url,
  .created_at,
  .likes_count,
  ([.tags[].name] | join(";"))
] | @csv' >> output.csv

3. 取得結果を確認

output.csvの中身を確認しましょう。

image.png

取得できていそうです!

4. 取得結果を分析する

AIに分析を依頼してみましょう。

image.png

雑な依頼からも、以下を出力してくれました。

image.png


データの分析結果から以下のような興味深い洞察が得られました:

1. 投稿数と頻度
- 総記事数: 137記事
- 最も投稿が多かった月は2024年4月(35記事)
- 月平均約11.4記事のペースで投稿

2. いいね数の分析
- 総いいね数: 250
- 平均いいね数: 1.82
- 中央値: 0
- 最大いいね数: 24
これは投稿の反響にかなりばらつきがあることを示しています。

3. タグの傾向
トップ5タグ:
- LLM (47回)
- Python (32回)
- langchain (11回)
- AI (10回)
- GPT-4 (9回)
LLMとAI関連の記事が非常に多いことがわかります。

4. 記事の公開状態
- 公開記事: 64.2%
- プライベート記事: 35.8%
約3分の1の記事がプライベート設定になっています。

5. 月別の投稿傾向
- 4月が突出して多い(35記事)
- 6月も比較的多い(20記事)
- 11月、12月は少なめ(各4記事)

これらのデータは、主にAIとプログラミング(特にLLMとPython)に焦点を当てた技術ブログとしての特徴を示しています。

5. GAデータの取得

Google アナリティクスのデータも分析したいです。

レポートのスナップショットを1年分取得します。

image.png

6. GAデータの分析

同じく、AIに分析を依頼してみましょう。

image.png


はい、GAデータを分析していきましょう。主要なメトリクスについて解析と可視化を行います。

データを視覚化するためのダッシュボードを作成します:

分析結果から以下の主要な洞察が得られました:

1. トラフィックと成長
- 週間アクティブユーザー(WAU)は74人から最大2,270人まで成長
- 平均WAUは約1,398人
- 成長曲線は段階的な上昇を示し、特に25-26週目あたりでピークを記録

2. コンテンツパフォーマンス
トップ5の人気記事:
1. チャンキング戦略 (5,219ビュー)
2. LLMのパラメータ数解説 (4,658ビュー)
3. ガウス混合モデル解説 (4,612ビュー)
4. GNN入門 (4,030ビュー)
5. UMAPによる次元削減 (3,477ビュー)

3. ユーザー行動
総イベント数の分布:
- Show: 51.94%
- セッション開始: 13.88%
- ページビュー: 13.42%
- 初回訪問: 10.72%
- ユーザーエンゲージメント: 8.23%

4. 地理的分布
- 日本: 67,280ユーザー (98.9%)
- 米国: 456ユーザー
- 中国: 93ユーザー
- 台湾: 63ユーザー
- イギリス: 62ユーザー

5. エンゲージメント指標
- 総セッション数: 97,687
- 総ページビュー: 94,443
- 新規ユーザー: 75,429
- いいね数: 298
- 記事ストック数: 211

特筆すべき点:
- LLMとPython関連の記事が特に人気
- ユーザーベースは主に日本国内
- エンゲージメント率(いいね、ストック)は比較的低い
- 記事の技術的な深さと実践的な内容が評価されている

これらの指標に基づくと、サイトは技術系コンテンツに特化し、着実な成長を遂げていることがわかります。

7. 2つのデータを組み合わせた分析

image.png


Qiitaの記事データとGAデータを組み合わせた分析から、以下の主要な洞察が得られました:

1. コンテンツ効果性
- 最も効果的なタグ(ビュー数/記事):
  1. LLM (2,341 views/記事)
  2. Python (1,872 views/記事)
  3. グラフ理論 (1,654 views/記事)
  4. ChatGPT (1,432 views/記事)
  5. langchain (1,298 views/記事)

2. 時期別パフォーマンス
- 最も生産性が高かった月:2024年4月(35記事)
- 最もビュー数が多かった月:2024年4月(21,450ビュー)
- 記事数とビュー数には正の相関がある

3. コンテンツタイプ別の効果
- 技術解説記事が最も高いエンゲージメント(平均2,800ビュー)
- チュートリアル形式が2番目に効果的(平均2,100ビュー)
- 論文解説は中程度の効果(平均1,900ビュー)

4. エンゲージメントパターン
- 長期的に人気な記事:
  - チャンキング戦略(5,219ビュー)
  - LLMのパラメータ数解説(4,658ビュー)
  - 技術解説系の記事が安定した閲覧数を獲得

5. 改善の機会
- いいね数とビュー数の比率が低い(約0.3%)
- コメント数が非常に少ない(2件)
- SNSシェア数も限定的(35件)

推奨アクション:
1. LLMとPython関連のコンテンツに注力
2. 技術解説形式のコンテンツを増やす
3. 読者エンゲージメントを促す仕組みの検討
4. チュートリアル形式のコンテンツを強化
5. 人気記事のフォローアップ記事の作成

これらの分析結果は、今後のコンテンツ戦略立案に活用できます。
特に、技術解説とチュートリアルに重点を置きながら、LLMやPythonなどの人気トピックをカバーすることで、より効果的なコンテンツ作成が期待できます。

image.png

おまけ

ワードクラウド

image.png

単語ペア - ネットワーク

image.png

2
1
0

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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?