能否通过AWS QuickSight创建客户返回率同期群报告?
AWS QuickSight 实现客户复购同期群(Cohort)报告方案
可以通过AWS QuickSight实现该客户复购同期群报告需求,具体实现思路如下:
1. 生成客户首次购买月份(同期群分组依据)
首先需要为每个客户标记其首次购买的月份,作为同期群的分组维度。通过QuickSight的计算字段实现:
first_order_month = truncDate('MM', minOver(orderDate, [customer], PRE_AGG))
该公式会提取每个客户的最早订单日期并截断到月份级别,得到客户所属的同期群月份。
2. 计算订单与首次购买的月份间隔
为每个订单计算其与客户首次购买月份的间隔月数,对应报告中的month 0(首次当月)、month 1(次月)等列。新增计算字段:
cohort_month_diff = dateDiff(first_order_month, orderDate, 'MM')
cohort_month_diff = 0:首次购买当月的订单cohort_month_diff = 1:首次购买后第1个月的订单,以此类推
3. 构建同期群聚合逻辑
通过聚合计算得到每个同期群在不同月份的客户数量:
- month 0(新增客户数):按
first_order_month分组,统计该组内的唯一客户数,筛选条件为cohort_month_diff = 0,使用函数countDistinct(customer)。 - month 1及以后(复购客户数):按
first_order_month和cohort_month_diff分组,统计对应间隔月内有订单的唯一客户数,同样使用countDistinct(customer),分别筛选cohort_month_diff = 1、cohort_month_diff = 2等。
4. 可视化配置成目标报告样式
使用QuickSight的透视表或矩阵可视化组件:
- 行设置:选择
first_order_month,将日期格式调整为Jul, 2022的样式 - 列设置:选择
cohort_month_diff,将字段重命名为month 0、month 1、month 2等匹配目标格式 - 值设置:放入上述聚合后的唯一客户数字段,配置空值显示为空白,与示例报告一致
5. 可选:添加复购率计算
如果需要展示复购率(而非绝对客户数),可新增计算字段,用后续月份的复购客户数除以同期群的初始客户数:
repeat_rate = ifelse(cohort_month_diff > 0, countDistinct(customer) / maxOver(countDistinct(customer), [first_order_month], PRE_AGG), null)
内容的提问来源于stack exchange,提问作者qusai safa
相关产品推荐
相关产品推荐

