LoginSignup
0
0

More than 1 year has passed since last update.

GA4のサンプルデータからエンゲージメント指標 アクティブ率を出してみる

Last updated at Posted at 2023-03-22

アクティブ率とは?

アクティブ率とは、その名の通り、ユーザーがどれだけアクティブにサービスを利用しているかを示す指標です。
今回は下記のような定義をし、指標を算出してみます。

  • 指標1: DAU / MAU
  • 指標2: DAU / WAU
  • 指標3: WAU / MAU

これは分母を基準として分子の数がどれだけ多いか比率を表す指標ですが、例えば指標1においては、MAUに対してDAUがどれ程の基準か、つまりユーザーの起動日数がどれだけ多いか=どれだけ使われているかを示すものになります。平均して20%ほどあると良いサービスと呼ばれるそうです。
ただし、サービスによっては週1回起動を目指したいアプリである等、それぞれの特性があることから、実態に即した調整をすることもありかと思います。
※参考になる記事:Facebookが使い出したことで有名になったエンゲージメントを測るKPI — DAU/MAU比率

また、DAU、WAU、MAUは下記のように定義しています。

指標名 定義
DAU 基準日に起動をしたユニークユーザー数
WAU 基準日を含めた過去7日間に起動したユニークユーザー数
MAU 基準日を含めた過去30日間に起動したユニークユーザー数

今回使用するデータ

BigQueryのサンプルデータにあるパズルゲーム「Flood-It!」のGA4アクセスログデータセットを用いて、フラグ別のMAUとその翌月継続率を算出し、フラグによって継続率に差があるかを見てみる。

※過去に同データセットを用いて書いた記事
GA4のサンプルデータから成長指数を算出してみる
GA4のサンプルデータからMAUに占めるユーザータイプ別に指標を作ってみる
GA4のサンプルデータからタイプ別&定着度合い別に継続率を出してみる

クエリ

サンプルデータの期間は2018/06/12 ~ 2018/10/03であり、継続ユーザーを出すには30日前までの起動歴が必要なため、切れ良く2018/07/01以降のデータを用いて、2018/08/01以降の期間を抽出する。

WITH tmp AS (
  SELECT DISTINCT
    PARSE_DATE('%Y%m%d', event_date) AS event_date
    , user_pseudo_id
  FROM `firebase-public-project.analytics_153293282.events_*`
  WHERE _TABLE_SUFFIX BETWEEN '20180701' AND '20180931'
  AND event_name IN ('session_start', 'first_open')
)
, mst_dau AS (
  SELECT
    event_date
    , COUNT(DISTINCT user_pseudo_id) AS dau
  FROM tmp
  GROUP BY 1
)
, mst_wau AS (
  SELECT
    A.event_date
    , COUNT(DISTINCT B.user_pseudo_id) AS wau
  FROM tmp AS A
  INNER JOIN tmp AS B
      ON DATE_DIFF(A.event_date, B.event_date, DAY) BETWEEN 0 AND 6 #当日を含めた過去7日間
  GROUP BY 1
)
, mst_mau AS (
  SELECT
    A.event_date
    , COUNT(DISTINCT B.user_pseudo_id) AS mau
  FROM tmp AS A
  INNER JOIN tmp AS B
      ON DATE_DIFF(A.event_date, B.event_date, DAY) BETWEEN 0 AND 29 #当日を含めた過去30日間
  GROUP BY 1
)
SELECT
  A.event_date
  , A.dau
  , B.wau
  , C.mau
  , A.dau / C.mau AS ar_dau_mau
  , A.dau / B.wau AS ar_dau_wau
  , B.wau / C.mau AS ar_wau_mau
FROM mst_dau AS A
LEFT JOIN mst_wau AS B
  USING(event_date)
LEFT JOIN mst_mau AS C
  USING(event_date)
WHERE A.event_date >= '2018-08-01'
ORDER BY 1

アウトプット

DAU、WAU、MAU.png
アクティブ率.png

ここから言えること

まずDAUはほぼ一定ですが、9月あたりからMAUの水準が上がり始めました。
それに合わせて、少しですが徐々にアクティブ率が下がり始めているのが分かります。

おそらくですが、継続が悪い新規ユーザーが増えたためMAUは上がりましたが、継続はしないためDAUはほぼ変わらなかったと考えられます。
仮定が正とすると、質の悪い獲得によってアクティブ率は低下するケースがあることを示しています。
また、DAU / WAUを見ても同様のことが言えるでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0