Краткий обзор: Узнайте, как рассчитывать количество активных пользователей в день и в месяц, чтобы получить важные данные о ваших кампаниях
Обзор
Показатели «Активные пользователи в день» (DAU) и «Активные пользователи в месяц» (MAU) -- ключевые метрики для оценки вовлечённости в приложении и общего поведения пользователей. Они предоставляют ценные сведения о вашей активной базе пользователей, такие как коэффициент удержания пользователей, эффективность кампаний и динамика роста во времени.
Эта статья поясняет, как рассчитать DAU и MAU с помощью запросов к двум таблицам необработанных данных Premium Data Locker, которые отражают трафик привлечения пользователей и ретаргетинга: таблицы sessions и sessions_retargeting.
Примечание
Начиная с февраля 2025 года, в панели «Активность» в AppsFlyer по умолчанию отображаются объединенные данные (UA и ретаргетинг). Вы можете заметить небольшую разницу между сырыми показателями и данными панели из-за утвержденных алгоритмических корректировок.
Запрос активных уникальных пользователей
Чтобы рассчитать количество уникальных пользователей, используйте advertising_id в качестве основного идентификатора в вашем запросе. Если advertising_id недоступен, замените его на appsflyer_id. Этот метод применяется только к приложениям, настроенным в режиме первичной установки.
Для приложений, не использующих этот режим, мы рекомендуем использовать вместо этого count(distinct appsflyer_id).
Рассчет количества ежедневных активных пользователей (DAU)
Рассчитайте общее количество уникальных пользователей в день, используя приведенные ниже запросы.
Запрос для 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 и ретаргетинга за указанный день.
Чтобы получить полный охват активных пользователей, необходимо объединить
sessions и таблицы sessions_retargeting
. Убедитесь, что поля выровнены — обычно по
app_id, event_time,
advertising_id и appsflyer_id. При необходимости нормализуйте схему, чтобы в обеих таблицах были одинаковые названия столбцов.
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)
Панели управления AppsFlyer представляют MAU в двух форматах:
- Активные пользователи за последние 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 и ретаргетинга за указанный месяц.
Чтобы получить полный охват активных пользователей, необходимо объединить
sessions и таблицы sessions_retargeting
. Убедитесь, что поля выровнены — обычно по
app_id, event_time,
advertising_id и appsflyer_id. При необходимости нормализуйте схему, чтобы в обеих таблицах были одинаковые названия столбцов.
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;