Posted at

Qiitaイイネやフォロワーを社内メンバーでウォッチして盛り上がる

More than 1 year has passed since last update.


背景


  • 社内エンジニアメンバーで積極的にQiita記事を投稿していこうという取組を始めた。(品質向上&教育&認知拡大の狙い)

  • 書くだけでなく、より多くの人に良い影響を与えられるかを狙いたいため、(もちろんそれ自体が目的ではないにせよ)イイネ数やフォロワー数をKPIとしてウォッチしたい。

  • どうせなら楽しくやって盛り上がりたい。


アウトプット

Clipboard02.png


出している指標

共通ルールとして、チームメンバー間のフォロワーやイイネはカウントしない。

イイネをもらった日時期間を絞ることができる。


フォロワー数

チーム全体で何人のフォロワーが居るか。


イイネユーザ数

チーム全体で指定期間に何人からイイネをもらったか。


イイネ総数

チーム全体で指定期間に何回イイネをもらったか。


メンバー別イイネ数ランキング

チームメンバごとに指定期間に何人からイイネをもらったか。


メンバー別フォロワー数ランキング

チームメンバごとに何人のフォロワーがいるか。


記事別ランキング

記事ごとに指定期間に何人からイイネをもらったか。


累積イイネ数

指定期間にもらったイイネ数の積み上げ範囲グラフ。メンバーで色分け。


累積記事数

投稿した記事数の積み上げ範囲グラフ。メンバーで色分け。


作り方


  1. APIを用いてイイネ情報取得


    1. チームメンバーユーザID毎に、API:itemsで記事一覧を収集

    2. その記事ごとにAPI:likesでイイネしてくれたユーザ情報を収集

    3. 「メンバーuserid / 記事ID / 記事作成日時 / 記事タイトル / 記事URL / イイネuserid / イイネ日時」 のファイルを作成



  2. APIを用いてフォロワー情報取得


    1. チームメンバーユーザID毎に、API:followersでフォロワー一覧を収集

    2. 「メンバーuserid / フォロワーuserid」 のファイルを作成



  3. 2つのファイルを用いてTableauで可視化

※イイネ情報はAPIで累積データ自体が取得できるが、フォロワー情報は断面情報になるので扱いが異なる。

※現状週1回API取得して作成。


諸注意等


  • API発行時にヘッダにトークンを入れれば、API発行上限はユーザ毎に1000回/hとなる。記事ごとに発行が必要なのでこれは必須。(でないと、IP毎に60回/hとなり不足)

  • そのうえで、急激に投げすぎないよう、1分間あたりの発行数を16回までに制御して取得。

  • チームメンバーからのイイネを除外するために、likes_countは使わず、イイネユーザ一覧を取得してユーザ精査する。


今後改善するとしたら


  • 記事一覧取得(API:items)は一度に100記事までなので、101記事以上投稿したメンバーが出てきたら要考慮。(その日が来ることを祈る)

  • もっと記事数増えてきたら平均値や中央値を出しても。

  • ファイルベースでTableauDesktopに渡すのではなく、DBを介してTableauServerに渡せば完全自動化が可能。

  • 自動化すればフォロワー数などの断面情報も自前で蓄積することで時系列変化を追える。

  • 記事のPV数は他ユーザのものは取得できないようなので、アクセスはGAで見ている。PV見れるようになったら統一したい。

  • (Tableau見た目素敵化)


所感


  • こんなことでもやってみるとけっこう盛り上がる。エンジニアという種族はゲーム感覚が好きなのだろう。

  • イイネ自体が目的ではないものの、より「良い思ってもらえる記事を書こう」という意識醸成につながる。