如何计算 1 个月的用户留存率
How to calculate user retention for a period of 1 month
我目前有一个名为 user_tracker
的 table (MySQL),它存储:
- 用户 IP 地址:
IpAddress
- 每个人一个唯一的令牌(保存为 cookie):
CookieToken
- URL用户检查:
Page
- 用户查看该页面的日期:
CreatedOn
我们想要做的是,在 30 天的时间里,有多少人只访问该网站 1 次、2 次、3 次、... 30 次(意味着他们每天都访问该网站).
如果用户在 1 天内查看了 5 个页面并且再也没有回来,则该用户仍被视为“1 次”。
我怎样才能得到这样的东西?
如果有人知道在不使用 Tableau 或其他工具的情况下在 MySQL 上获取此数据的查询,我将不胜感激。
附件是使用 SAS VA 收集的上个月数据的屏幕截图。
假设您的 createdOn 是一个有效的日期列,您可以计算日期间隔中的行数
如果您需要用户访问网站的不同天数,请使用不同的 createdOn
select
IpAddress
, count(distinct createdOn)
from my_table
where CreatedOn between BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
group by IpAddress
如果您想知道用户访问站点的次数,请使用计数(*)
- 创建一个 LOD 计算字段,[每月活跃天数] 以显示每个人当月的唯一天数
{FIXED [CookieToken] : COUNTD(DAY([Created On])) }
- 将 [每月活跃天数] 放在行架上
- 将月份([创建于])放在颜色架上
- 将 COUNTD([CookieToken]) 放在列架子上
使用 COUNTD 很方便,但对于大型数据集来说成本很高。如果性能不够,那么您可能希望预处理数据以预先支付该费用。
上述步骤假定所有数据均来自一年。如果您的数据涵盖多年,您需要相应地修改步骤 1 and/or 3
我目前有一个名为 user_tracker
的 table (MySQL),它存储:
- 用户 IP 地址:
IpAddress
- 每个人一个唯一的令牌(保存为 cookie):
CookieToken
- URL用户检查:
Page
- 用户查看该页面的日期:
CreatedOn
我们想要做的是,在 30 天的时间里,有多少人只访问该网站 1 次、2 次、3 次、... 30 次(意味着他们每天都访问该网站).
如果用户在 1 天内查看了 5 个页面并且再也没有回来,则该用户仍被视为“1 次”。
我怎样才能得到这样的东西?
如果有人知道在不使用 Tableau 或其他工具的情况下在 MySQL 上获取此数据的查询,我将不胜感激。
附件是使用 SAS VA 收集的上个月数据的屏幕截图。
假设您的 createdOn 是一个有效的日期列,您可以计算日期间隔中的行数
如果您需要用户访问网站的不同天数,请使用不同的 createdOn
select
IpAddress
, count(distinct createdOn)
from my_table
where CreatedOn between BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
group by IpAddress
如果您想知道用户访问站点的次数,请使用计数(*)
- 创建一个 LOD 计算字段,[每月活跃天数] 以显示每个人当月的唯一天数
{FIXED [CookieToken] : COUNTD(DAY([Created On])) }
- 将 [每月活跃天数] 放在行架上
- 将月份([创建于])放在颜色架上
- 将 COUNTD([CookieToken]) 放在列架子上
使用 COUNTD 很方便,但对于大型数据集来说成本很高。如果性能不够,那么您可能希望预处理数据以预先支付该费用。
上述步骤假定所有数据均来自一年。如果您的数据涵盖多年,您需要相应地修改步骤 1 and/or 3