使用Tableau计算新增、活跃留存

在日常工作中,经常需要计算用户的留存情况,在销售数据和登录数据里用的比较多。在参考【举个栗子】这位大神的文章后,总结了以下3种表,解决所有问题。

1、计算总体留存,即截至某个月所有客户在第一次购买后几个月的留存情况。

第一次购买时间={ FIXED[客户名称]:MIN ([订单日期])}

日期与第一次间隔=DATEDIFF('month',[第一次购买时间],[订单日期])

时间和间隔可以根据实际需要改年月日

统计累计客户数,标签:客户名称-计数(不同),计算依据:表(向下);编辑表计算:计算类型:汇总-总和,计算依据:表(向下)

间隔为0指的是当月的数据,可以隐藏

将标签拖到颜色,选择方块,数大的颜色就会深点

可以按行合计,显示的是截至某月累计的总客户数

显示留存率,拖动客户名称到标签,选择计数(不同),计算依据:表(横穿),快速表计算:合计百分比


2、计算新增用户留存

第一次购买时间=  { FIXED[客户名称]:MIN ([订单日期])}

再次购买时间=  IF [订单日期] > [第一次购买时间] THEN [订单日期]  END

再次购买与第一次间隔 = DATEDIFF('month',[第一次购买时间],[再次购买时间])

新增客户数:将客户名称拖到标签,选择计数(不同)

可以增加行合计,NULL和0列可以隐藏

显示留存率:客户名称拖到标签,选择计数(不同),计算依据:表(横穿),快速表计算:合计百分比


3、计算活跃用户留存,即当月产生订单的客户在其他几个月的情况,参考的商品关联表的计算模式

首先将订单日期转化成文本形式的月份:

订单日期月 = STR(YEAR([订单日期]))+"年"+STR(MONTH([订单日期]))+"月"

复制订单日期月这个字段,分别拖到行和列,意思为:2015年1月的客户同时出现其他几个月的次数,按照商品方式理解,就是购买了2015年1月的客户同时购买了其他月的数量

统计每个区里的行数:SIZE  =   SIZE()

统计每个分区的客户数: total客户数 = TOTAL(COUNTD([客户名称])) 

月份留存率 = [SIZE]/[total客户数]

将客户名称、SIZE、total客户数、月份留存率拖入标签后,发现每个单元格里数据重复了多次

筛选第一行数字:筛选器 = FIRST()=0,计算依据:客户名称,编辑筛选器:真

在计算活跃留存的时候,一直没有找到像其他两种的计算方式,如果你有更好的想法,欢迎留言和补充。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容