そんな今日この頃の技術ネタ

本家側に書くほどでもない小ネタ用

Re:dashのcohortを使う

ここんとこお馴染みのRe:dashネタ。

blue1st-tech.hateblo.jp

Re:dashには様々な表現方法が用意されていて、 その中には継続率なんかの示すのに便利なコホートもあるんだけど、 ググってもどういうクエリ投げれば良いのかという話が意外と引っかからないし、 デモページも色々いじられてしまったようでそれらしきものが見当たらない。

そんなわけで試行錯誤したりコード読んだりしてみてたんだけど、 結局は

  • 対象日を示すdate
  • 全体の数を示すtotal
  • 対象日からN日後を示すday_number
  • N日後の数を示すvalue

というカラムを設ければ良いようだ。

f:id:blue1st:20160907013805p:plain

f:id:blue1st:20160907013858p:plain


ありがちな新規ユーザの継続率みたいな事例に合わせて表現すると、

  • dateに登録日
  • totalに登録日の新規登録者数
  • day_numberに観測日-登録日の日数
  • valueに観測日に再訪した登録者数

をそれぞれ当てはめれば良い感じ。

うちの場合はRedisに日毎の新規登録とその日のアクセスのsetをそれぞれ保持していて、 毎日バッチでそれらを規定日数分ループで遡って算定した値をレコードとしてインサートしていって使おうかなという所存。