概要:キャンペーンに関する貴重な洞察を得るために、日次アクティブユーザー数と月次アクティブユーザー数の計算方法を学びましょう
概要
日次アクティブユーザー数(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つの方法で表示します。
- 過去31日間のアクティブユーザー数 - 過去31日間のユニークアクティブユーザー数。
- カレンダー月間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;