通过 Firebase 分析获取不活跃用户的百分比
Getting percentage of Inactive users via Firebase analytics
我正在为我的应用程序进行 Firebase 分析,因此以下问题在同一上下文中 - firebase 是否有 "retained user, who did not open the app but had app on device" 的概念?如果是,它会出现在 Firebase 仪表板上吗?
还有我如何计算每天新安装的用户(新用户)。
感谢所有帮助。
不,无法在 Firebase Analytics 上进行跟踪。当您的用户使用您的应用程序时,Firebase SDK 会向 FA 发送事件,然后他们汇总这些数据以生成报告。
通过这种方式他们可以提取活跃用户,但无法确定安装了该应用但未使用该应用的用户。
您可以根据"first_open"事件确定新用户。此事件显示有多少用户首次打开该应用
将 Firebase 与 BQ 链接后,可以在 BigQuery 中计算 N 天不活跃用户 (Source):
-- N-Day Inactive Users = users in the last M days who have not logged a user_engagement event in the last N days where M > N.
SELECT
COUNT(DISTINCT M_days.user_id)
FROM (
SELECT
user_id
FROM
/* PLEASE REPLACE WITH YOUR TABLE NAME */
`YOUR_TABLE.events_*`
WHERE
event_name = 'user_engagement'
/* Has engaged in last M = 7 days */
AND event_timestamp > UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY))
/* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131') AS M_days
/* EXCEPT ALL is not yet implemented in BigQuery. Use LEFT JOIN in the interim.*/
LEFT JOIN (
SELECT
user_id
FROM
/* PLEASE REPLACE WITH YOUR TABLE NAME */
`YOUR_TABLE.events_*`
WHERE
event_name = 'user_engagement'
/* Has engaged in last N = 2 days */
AND event_timestamp > UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 2 DAY))
/* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131') AS N_days
ON
M_days.user_id = N_days.user_id
WHERE
N_days.user_id IS NULL
我正在为我的应用程序进行 Firebase 分析,因此以下问题在同一上下文中 - firebase 是否有 "retained user, who did not open the app but had app on device" 的概念?如果是,它会出现在 Firebase 仪表板上吗?
还有我如何计算每天新安装的用户(新用户)。
感谢所有帮助。
不,无法在 Firebase Analytics 上进行跟踪。当您的用户使用您的应用程序时,Firebase SDK 会向 FA 发送事件,然后他们汇总这些数据以生成报告。
通过这种方式他们可以提取活跃用户,但无法确定安装了该应用但未使用该应用的用户。
您可以根据"first_open"事件确定新用户。此事件显示有多少用户首次打开该应用
将 Firebase 与 BQ 链接后,可以在 BigQuery 中计算 N 天不活跃用户 (Source):
-- N-Day Inactive Users = users in the last M days who have not logged a user_engagement event in the last N days where M > N.
SELECT
COUNT(DISTINCT M_days.user_id)
FROM (
SELECT
user_id
FROM
/* PLEASE REPLACE WITH YOUR TABLE NAME */
`YOUR_TABLE.events_*`
WHERE
event_name = 'user_engagement'
/* Has engaged in last M = 7 days */
AND event_timestamp > UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 7 DAY))
/* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131') AS M_days
/* EXCEPT ALL is not yet implemented in BigQuery. Use LEFT JOIN in the interim.*/
LEFT JOIN (
SELECT
user_id
FROM
/* PLEASE REPLACE WITH YOUR TABLE NAME */
`YOUR_TABLE.events_*`
WHERE
event_name = 'user_engagement'
/* Has engaged in last N = 2 days */
AND event_timestamp > UNIX_MICROS(TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 2 DAY))
/* PLEASE REPLACE WITH YOUR DESIRED DATE RANGE */
AND _TABLE_SUFFIX BETWEEN '20180521' AND '20240131') AS N_days
ON
M_days.user_id = N_days.user_id
WHERE
N_days.user_id IS NULL