MAU(月別のUU) と DAU(日別のUU) を集計する

データエンジニアをしていると突発的にMAUやDAUを集計する業務が発生します。
今回はその時に使う作業メモです。

MAU

SELECT
  FORMAT_DATE('%Y-%m', created_at) AS month,
  COUNT(DISTINCT(user_id)) AS uu
FROM
  dataset.table
WHERE
  created_at >= DATETIME('2022-01-01') AND created_at < DATETIME_ADD('2022-01-01', INTERVEL 3 MONTH)
GROUP BY
  month
ORDER BY
  month

クエリ結果

month uu
2022-01 33
2022-02 44
2022-03 55


DAU

SELECT
  DATE(created_at) AS date,
  COUNT(DISTINCT(user_id)) AS uu
FROM
  dataset.table
WHERE
  created_at >= DATETIME('2022-01-01') AND created_at < DATETIME_ADD('2022-01-01', INTERVEL 3 DAY)
GROUP BY
  date
ORDER BY
  date

クエリ結果

date uu
2022-01-01 3
2022-01-02 4
2022-01-03 5

コメント

このブログの人気の投稿

BigQuery テーブルの有効期限を設定する

Cloud Schedulerは必ず実行されるわけではない

ChromebookでAndroidアプリをインストールする方法