专栏名称: 零一
零一自己的公微号,不是机器人哦,是真人哦!O(∩_∩)O~
目录
相关文章推荐
无线徐州  ·  台湾&徐州家庭,共赴一场汉服文化之约! ·  昨天  
无线徐州  ·  台湾&徐州家庭,共赴一场汉服文化之约! ·  昨天  
古典文献学微刊  ·  集刊 | ... ·  4 天前  
古典文献学微刊  ·  集刊 | 《文津学志》第二十二辑目录 ·  4 天前  
洪观新闻  ·  28岁樊振东,传来喜讯 ·  2 天前  
洪观新闻  ·  28岁樊振东,传来喜讯 ·  2 天前  
51好读  ›  专栏  ›  零一

如何计算客户生命周期?

零一  · 公众号  ·  · 2018-08-22 16:58

正文

本文是我的新书《Power BI电商数据分析实战》中第五章客户分析中的5.5小节,由于案例有连续性,因此本文对上下文进行了修改。新书将在下周(8月30号)跟大家见面,全网可预订。


5.5 客户生命周期

通过研究客户生命周期制定客户回访方案,本例使用 Power Query 结合 DAX 实现,计算每个客户最近一次消费的时间间隔,根据客户最近一次消费的时间间隔的比例,确定客户生命周期。

5.5.1  提取客户最近消费间隔

如图5-27到5-30所示,将订单报表导入到Power BI中


5-27


由于订单报表是CSV格式,因此选择对应的文件格式进行导入。

5-28


选择文件


5-29


编辑导入的数据


5-30


只保留 [ 买家会员名 ] [ 订单付款时间 ]2 列,删除其他列,如图 5-31 所示。

5-31


将数据按照 [ 买家会员名 ] 进行分组汇总,在【开始】选项卡点击【分组依据】,如图 5-32 所示。


5-32


分组依据设置为 [ 买家会员名 ] ,其他参数可以默认不改,点击右下角的【确定】按钮,如图 5-33 所示。

5-33


分组汇总后的结果如图 5-34 所示,不过目的是要计算时间间隔,需要修改公式。

5-34


在【开始】选项卡点击【高级编辑器】,如图 5-35 所示。


5-35


找到“分组的行”这一行公式,如图 5-36 所示。

5-36


将“ Table.RowCount(_)” 修改成“ [#” 订单付款时间 ”] ”,“ number ”修改成“ list ”,如图 5-37 所示。

5-37


修改后,每个会员在店铺消费的时间都会在列表( List )中,如图 5-38 所示。

5-38


由于订单数据本身是按时间最近排序,最近的订单排在表格的前面,因此在聚合成 List 后也会按时间最近排序,只要取出 List 中的前两个日期即可,在【添加列】选项卡点击【自定义列】,如图 5-39 所示。


5-39


列名设置为 [ 最近两次交易的时间 ] ,键入公式 =List.FirstN([ 计数 ],2) ,如图 5-40 所示。

5-40

函数说明

List.FirstN

函数功能:取出列表中的前 N 行,返回一个新列表

函数语法: List.FirstN( 列表格式的列名,行的数量 )

再添加新列,如图 5-41 所示,计算出列表中日期的条数。

5-41

函数说明

List.Count

函数功能:计算列表中的元素个数

函数语法: List.Count( 列表格式的列名 )

将“ 1 ”过滤掉,只有一次成交的客户进行过滤,如图 5-42 所示。

5-42


添加新列,如图 5-43 所示,计算出两次交易的天数间隔,由于按天数限于图书的展示篇幅,本文将天数转变成月份,将天数除以 30 采取四舍五入的方式计算月份间隔。

5-43


函数说明

List.Max

函数功能:计算列表中最大的指

函数语法: List.Max( 列表格式的列名 )


List.Min

函数功能:计算列表中最小的指

函数语法: List.Min( 列表格式的列名 )

Duration.Days

函数功能:返回日期天数

函数语法: Duration.Days( 日期 )


Number.Round

函数功能:四舍五入

函数语法: Number.Round( 数值 )


计算出 [ 最近消费时间间隔 ] 后,再进行分组汇总,在【开始】选项卡点击【分组依据】,如图 5-44 所示。


5-44


最终得到的表格如图 5-45 所示。

5-45


[ 最近消费时间间隔 ] 设置为升序,并将数据格式修改成整数,如图 5-46 所示。

5-46


设置完毕后,在【开始】选项卡点击【关闭并应用】,如图 5-47 所示。

5-47

5.5.2  计算消费间隔的累计占比

回到报表视图,选中上文设置好的表,在【建模】选项卡点击【新建列】,如图 5-48 所示。

5-48


键入以下表达式

累积占比 =SUMX(FILTER(' 生命周期 ',EARLIER(' 生命周期 '[ 最近消费时间间隔 ])>=' 生命周期 '[ 最近消费时间间隔 ]),' 生命周期 '[ 计数 ])/SUM(' 生命周期 '[ 计数 ])


备注:生命周期是表的名称,我把订单报表命名为生命周期


[ 最近消费时间间隔 ] [ 计数 ] [ 累积占比 ] 设置为【表格】对象,如图 5-49 所示。

5-49


切换到数据视图将 [ 累积占比 ] 设置为百分比格式,如图 5-50 所示。

5-50


回到报表视图 , 观察结果,时间间隔为 7 个月时,累积占比超过 80% ,说明在这个数据集中客户的生命周期为 7 个月。经营者应该在 7 个月之前,对客户进行激活的营销动作,如图 5-51 所示。

5-51


将【表格】对象设置成【折线和簇状柱形图】对象,如图 5-52 所示

5-52


【折线和簇状柱形图】对象的共享轴设置为 [ 最近消费时间间隔 ] ,列值设置为 [ 计数 ] ,行值设置为 [ 累积占比 ] ,如图 5-53 所示。

5-53


设置好的【折线和簇状柱形图】对象,如图 5-54 所示。

5-54



好东西请分享给更多有需要的朋友!





版权说明:零一公众号内容均为原创,如需转载请联系。


连载拓展阅读( 点击即可浏览

从0开始教你做数据分析-01

从0开始教你做数据分析-02

从0开始教你做数据分析-03

从0开始教你做数据分析-04

从0开始教你做数据分析-05

从0开始教你做数据分析-06

从0开始教你做数据分析-07







请到「今天看啥」查看全文