假设我们要计算2019年每个月的滚动用户数,即截止到当前月为止,该月登录过应用的用户总数。
我们可以通过下面的SQL语句来实现:
SELECT
DATE_TRUNC('month', login_time) AS month,
COUNT(DISTINCT user_id) AS monthly_rolling_users
FROM
app_logs
WHERE
login_time >= '2019-01-01'
GROUP BY
1
ORDER BY
1;
其中,app_logs是我们存储应用程序日志的表。对于每个月,我们使用DATE_TRUNC函数将login_time字段截取到月份级别,并计算该月出现过的唯一用户数。
我们还可以使用Python来计算月度滚动用户数,示例代码如下:
import pandas as pd
app_logs = pd.read_csv('app_logs.csv')
将login_time转换为日期格式
app_logs['login_time'] = pd.to_datetime(app_logs['login_time'])
筛选出2019年之后的数据
app_logs = app_logs[app_logs['login_time'] >= '2019-01-01']
计算月份和用户数
monthly_rolling_users = app_logs.groupby(pd.Grouper(key='login_time', freq='M')).nunique()['user_id']
print(monthly_rolling_users)