どのようにお手伝いできますか?

日次アクティブユーザー数(DAU)と月次アクティブユーザー数(MAU)の計算方法

  • 更新

概要:キャンペーンに関する貴重な洞察を得るために、日次アクティブユーザー数と月次アクティブユーザー数の計算方法を学びましょう

概要

日次アクティブユーザー数(DAU)と月次アクティブユーザー数(MAU)は、アプリのエンゲージメントと全体的なユーザー行動を理解するための重要な指標です。これらは、ユーザーの定着率、キャンペーンのパフォーマンス、時間の経過に伴う成長傾向など、アクティブユーザーベースに関する貴重な洞察を提供します。

この記事では、ユーザー獲得とリターゲティングトラフィックを表す2つのData Locker生データテーブル( sessions および sessions_retargeting テーブル)のクエリを使用して、DAUとMAUを計算する方法について説明します。

注

2025年2月から、AppsFlyerのアクティビティダッシュボードには、デフォルトで統合(UAおよびリターゲティング)データが表示されます。生データとダッシュボードの数値の間にわずかな差があることがありますが、これは 承認されたアルゴリズムの調整.

アクティブなユニークユーザーのクエリ

ユニークユーザー数を計算するには、以下の方法を使用します。 advertising_id クエリ内の主要な識別子として。もし advertising_id 利用できない場合は、に置き換えてください。 appsflyer_id.この方法は、以下の設定のアプリにのみ適用されます。 初回インストールモード.

このモードを使用しないアプリには、適用をお勧めします。 count(distinct appsflyer_id) その代わりに。

日次アクティブユーザー数(DAU)の計算

以下のクエリを使用して、1日あたりの一意のユーザー数を計算します。

DAU用クエリ - ユーザー獲得(UA)

指定された日のアクティブなUAユーザーを選択します。

WITH sessions_cleaned AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions
    WHERE app_id = 'your.app.id.here'                      -- Replace with your app ID
		    AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD'       -- Target date                 
)

SELECT COUNT(DISTINCT user_id) AS dau_ua
FROM sessions_cleaned;

DAU用クエリ - リターゲティング

指定された日のアクティブなリターゲティングユーザーを選択します。

WITH sessions_retargeting_cleaned AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions_retargeting
    WHERE app_id = 'your.app.id.here'                      -- Replace with your app ID
		    AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD'   -- Target date                 
)
SELECT COUNT(DISTINCT user_id) AS dau_retargeting
FROM sessions_retargeting_cleaned;

DAU用クエリ - ユニファイド(UA & リターゲティング)

指定された日数のアクティブUAとリターゲティングユーザーを選択してください。

完全なアクティブユーザーカバレッジを得るには、 union the sessions and sessions_retargeting テーブルフィールドが揃っていることを確認してください。通常は 、IF 必要に応じて、両方のテーブルが一貫したスキーマを持つようにスキーマを正規化してください。 カラム名 

WITH ua_sessions AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions
    WHERE app_id = 'your.app.id.here'                 -- Replace with your app ID
      AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD'    -- Target date           
      AND is_primary_attribution = TRUE
),

retargeting_sessions AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions_retargeting
    WHERE app_id = 'your.app.id.here'                  -- Same app
      AND SUBSTR(event_time, 1, 10) = 'YYYY-MM-DD'     -- Same date
),

all_sessions AS (
    SELECT * FROM ua_sessions
    UNION ALL
    SELECT * FROM retargeting_sessions
)

SELECT COUNT(DISTINCT user_id) AS dau_unified
FROM all_sessions;

MAU(1か月あたりのアクティブユーザー数)の算出方法

AppsFlyerダッシュボードでは、MAUを2つの方法で表示します。

  1. 過去31日間のアクティブユーザー数 - 過去31日間のユニークアクティブユーザー数。
  2. カレンダー月間MAU – 特定の暦月内のユニークなアクティブユーザー数。

以下のクエリは、MAUの最初のタイプを計算する方法を示しています。代わりに暦月MAUを計算するには、希望の月と一致するよう日付範囲を調整するだけです。

MAUに関するクエリ - ユーザー獲得(UA)

指定された月のアクティブなUAユーザーを選択します。

WITH sessions_cleaned AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions
    WHERE app_id = 'your.app.id.here'  -- Replace with your app ID
			AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31  -- Replace with target end date 
)
SELECT COUNT(DISTINCT user_id) AS mau_ua
FROM sessions_cleaned;

MAUに関するクエリ - リターゲティング

指定された月のアクティブなリターゲティングユーザーを選択します。

WITH sessions_cleaned AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions_retargeting
    WHERE app_id = 'your.app.id.here'  -- Replace with your app ID
			AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31  -- Replace with target end date 
)

SELECT COUNT(DISTINCT user_id) AS mau_retargeting
FROM sessions_cleaned;

MAUに関するクエリ - 統合(UA & リターゲティング)

指定された月のアクティブなUAユーザーとリターゲティングユーザーを選択します。

完全なアクティブユーザーカバレッジを得るには、 union the sessions and sessions_retargeting テーブルフィールドが揃っていることを確認してください。通常は 、IF 必要に応じて、両方のテーブルが一貫したスキーマを持つようにスキーマを正規化してください。 カラム名 

WITH ua_sessions AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions
    WHERE app_id = 'your.app.id.here'                        -- Replace with your app ID
      AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31  -- Replace with target end date        
      AND is_primary_attribution = TRUE
),

retargeting_sessions AS (
    SELECT DISTINCT
        app_id,
        COALESCE(advertising_id, appsflyer_id) AS user_id
    FROM sessions_retargeting
    WHERE app_id = 'your.app.id.here'                        -- Same app 
      AND DATE_DIFF('day', TRY_CAST(SUBSTR(event_time, 1, 10) AS DATE), DATE('YYYY-MM-DD')) <= 31  -- Replace with target end date
),

all_sessions AS (
    SELECT * FROM ua_sessions
    UNION ALL
    SELECT * FROM retargeting_sessions
)

SELECT COUNT(DISTINCT user_id) AS mau_unified
FROM all_sessions;