ダッシュボードレポート - 日次エンゲージメントユーザー

これは、毎日のエンゲージメントユーザーに関するダッシュボードレポートのSQLバージョンです。

SQLレポートは、サイトで毎日「いいね!」または投稿を行ったユニークユーザーの数をカウントします。

--[params]
-- date :start_date
-- date :end_date

SELECT
  ua.created_at::date AS day,
  COUNT(DISTINCT ua.user_id) AS engaged_users
FROM user_actions ua
INNER JOIN topics t on t.id = ua.target_topic_id
WHERE ua.created_at::date BETWEEN :start_date AND :end_date
    AND ua.action_type IN (1, 4, 5, 12)
GROUP BY ua.created_at::date
ORDER BY ua.created_at::date ASC

クエリの内訳:

  • 日付パラメータ: クエリは2つの日付パラメータ(:start_date:end_date)を受け入れ、レポートの範囲を指定できます。
  • 選択: アクションの日付(ua.created_at::date)を選択し、アクションを実行したユニークユーザーIDの数(COUNT(DISTINCT ua.user_id))をカウントし、このカウントをengaged_usersというエイリアスで表示します。
  • データソース: クエリはuser_actionsテーブル(ua)からデータを取得し、topicsテーブル(t)と結合して、トピックに関連するアクションに焦点を当てます。
  • アクションタイプ: アクションタイプが1、4、5、12のアクションのみを含めるようにフィルタリングします。これらのアクションタイプは、次の特定のアクティビティに対応します。
    • 1: いいね!
    • 4: 新規トピック
    • 15: 返信
    • 12: 新規プライベートメッセージ
  • グループ化と並べ替え: 結果はアクションの日付でグループ化され、昇順で並べ替えられ、アクティビティの時系列ビューが表示されます。

結果例

day engaged_users
2023-01-01 136
2023-01-02 124
2023-01-03 187
2023-01-04 287
2023-01-05 110
2023-01-06 95
2023-01-07 73
「いいね!」 5

これは、提示されると非常に興味深いものです。おそらく、リアクションと投票(投票、トピック投票、投稿投票 - 投稿投票コメントさえも)を含むバージョンがあると良いでしょう。:thinking:

「いいね!」 2