如何使用Pandas在Python中实现次日及7日用户留存率的全量计算分析?

2026-05-08 05:406阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计921个文字,预计阅读时间需要4分钟。

如何使用Pandas在Python中实现次日及7日用户留存率的全量计算分析?

次日留存率并非某天登录的人里第二天还来的比例,而是某天首次登录的用户中,第二天再次活跃的比例。去除首次这个限定,结果会更为保守高估——老用户重复登录会混淆分子。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 先用 df.sort_values(['user_id', 'event_time']) 确保每个用户行为按时间排序
  • df.groupby('user_id')['event_time'].min() 提取每个用户的 first_login_date
  • first_login_date 合并回原表,作为后续分组依据
  • 别直接对原始登录日分组——那算的是“当日登录用户留存”,不是“新用户留存”

计算次日/7日是否活跃:用 pd.to_datetime 对齐日期再做差值比较

直接用字符串比日期、或没统一时区/格式就减时间戳,容易因精度丢失(比如 '2024-01-01 23:59:59''2024-01-02 00:00:01' 被判为跨2天)导致漏计。

阅读全文
标签:Python

本文共计921个文字,预计阅读时间需要4分钟。

如何使用Pandas在Python中实现次日及7日用户留存率的全量计算分析?

次日留存率并非某天登录的人里第二天还来的比例,而是某天首次登录的用户中,第二天再次活跃的比例。去除首次这个限定,结果会更为保守高估——老用户重复登录会混淆分子。

实操建议:

立即学习“Python免费学习笔记(深入)”;

  • 先用 df.sort_values(['user_id', 'event_time']) 确保每个用户行为按时间排序
  • df.groupby('user_id')['event_time'].min() 提取每个用户的 first_login_date
  • first_login_date 合并回原表,作为后续分组依据
  • 别直接对原始登录日分组——那算的是“当日登录用户留存”,不是“新用户留存”

计算次日/7日是否活跃:用 pd.to_datetime 对齐日期再做差值比较

直接用字符串比日期、或没统一时区/格式就减时间戳,容易因精度丢失(比如 '2024-01-01 23:59:59''2024-01-02 00:00:01' 被判为跨2天)导致漏计。

阅读全文
标签:Python