You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在cohort同期群分析中自定义计算周期长度?

同期群分析自定义周期实现方案

你原有代码计算的是订单月份与同期群月份的自然月间隔,要实现每X个月为一个计算周期,对间隔月数做整除处理即可,具体代码调整如下:

  • 首先定义自定义周期长度,以你需要的12个月为一个周期为例:
# 可按需修改为任意周期月份数
cycle_months = 12
  • 调整周期编号计算逻辑:
from operator import attrgetter

# 原有分组聚合逻辑不变
df_cohort = df.groupby(['cohort', 'order_month']) \
              .agg(n_customers=('CustomerID', 'nunique')) \
              .reset_index(drop=False)

# 先计算间隔自然月数,再按自定义周期长度整除得到周期编号
df_cohort['month_gap'] = (df_cohort.order_month - df_cohort.cohort).apply(attrgetter('n'))
df_cohort['period_number'] = df_cohort['month_gap'] // cycle_months

注:以上逻辑会将入群后0-11个月的交易归入第0个周期、12-23个月的交易归入第1个周期,以此类推。

留存判定适配

按照你提出的「用户在所属同期群的12个月内有过1次交易即判定为留存」的规则,直接筛选period_number == 0的用户即为满足留存条件的用户,后续可基于该字段直接聚合统计各同期群的留存率。

内容的提问来源于stack exchange,提问作者joethemow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:24:03