「アクティブユーザー」などの定義が人によって違うと議論が噛み合わない。定義を文章と SQL で残す。
「アクティブユーザー」「継続率」などの指標は、人によって定義が違いがちです。定義がずれたままだと、同じ会議で違う数字を見て議論することになります。指標は文章と SQL の両方で定義を残し、誰が見ても同じ数字になるようにします。
定義の書き方(項目の例):
- 名前と目的:何を判断するための数字か
- 定義の文章:「その日に記事を1本以上開いたユーザーの数」
- 含めないもの:社内アカウント・テスト・ボット・退会者
- 期間と時刻:日の区切りは日本時間か UTC か、週は月曜始まりか
- 数え方:人数(重複を除く)か回数か
- データの出どころと SQL、責任者、変更した日と理由
-- DAU:その日(日本時間)に記事を1本以上開いたユーザー数。社内アカウントは除く
SELECT event_date_jst, COUNT(DISTINCT user_id) AS dau
FROM events
WHERE event_name = 'article_view'
AND is_internal = FALSE
GROUP BY event_date_jst;| よくある定義のずれ | 例 |
|---|---|
| 「アクティブ」の意味 | ログインしただけか、何か操作したか |
| 日付の境界 | UTC で集計していて、日本の朝9時で日付が変わっている |
| 分母の違い | CVR の分母が「訪問数」か「ユーザー数」か |
| 重複 | スマホと PC で同じ人が2人に数えられる |
| 遅れて届くデータ | アプリのログが翌日に届き、昨日の数字が後から増える |
| 途中での定義変更 | ある日から数字が跳ねたが、実は集計方法が変わっていた |
面接ではこう答える
「アクティブユーザー」のような指標は、ログインだけで数えるか、何か操作したかで数えるか、社内のアカウントを除くか、日付の区切りを日本時間にするかで、同じ日でも数字が大きく変わります。定義がずれたままだと、会議で違う数字を見て議論することになります。私は指標の定義を、目的・含めないもの・期間・数え方を書いた文章と、実際の SQL の両方で残し、変えたときは日付と理由も記録するようにしています。
PdMとの関わりダッシュボードの数字を信じてよいかの判断と、チームで同じ数字を見て議論するための土台です。