用Python分析用户消费行为
这是一份用户在一家CD网站上的消费记录
1、导入数据
![](https://img.haomeiwen.com/i20191713/6d6c0eb8541b5779.png)
-- 对数据进行描述性统计
![](https://img.haomeiwen.com/i20191713/5844b94f224af1e3.png)
可知用户平均每笔订单购买2.4个商品,中位数为2,75分位数为3,说明绝大部分订单的购买量都不多。
但是最大值为99个,数字偏高。
一般来说,根据二八法则,20%的用户贡献的收入会占总收入的80%。
-- 将order_dt改为可计算的时间字符类型并将消费频次按月计算
![](https://img.haomeiwen.com/i20191713/c48bb47234666a44.png)
查看更改以后的数据
![](https://img.haomeiwen.com/i20191713/bfcbc72b17655d48.png)
2、进行用户消费趋势的分析(按月)
(1)每月的消费总金额
(2)每月的用户消费次数
(3)每月的产品购买量
(4)每月的消费人数
(1)对每月的消费总金额绘制折线图分析
![](https://img.haomeiwen.com/i20191713/93983919ba300dff.png)
![](https://img.haomeiwen.com/i20191713/264565babc453a13.png)
由图可知,用户发生购买行为多在1-3月,从四月份以后,消费较为稳定呈轻微下降趋势
(2)对每月消费人数绘制折线图分析
![](https://img.haomeiwen.com/i20191713/96625b54834c1dde.png)
![](https://img.haomeiwen.com/i20191713/06a5b0e24941da49.png)
前三个月消费订单次数在10000次接近12000次,后续每月消费次数则在2500次
(3)对每月产品购买量绘制折线图分析
![](https://img.haomeiwen.com/i20191713/25559a473320c9e3.png)
![](https://img.haomeiwen.com/i20191713/1017721bb588aa72.png)
前三个月物品购买量约为25000元,后续月份则保持在7000元左右
(4)对每月的消费人数绘制折线图分析
![](https://img.haomeiwen.com/i20191713/9369f5a12a475495.png)
前三个月每月的消费人数在8000-10000之间,后续月份,平均消费人数在2000不到
3、用户个体消费分析
(1)用户消费金额,消费次数的秒速统计
(2)用户消费金额和消费次数的散点图
(3)用户消费金额的分布图
(4)用户累计消费金额占比(百分之多少的用户占了百分之多少的消费额)
(1)对用户金额及消费次数绘制散点图分析
![](https://img.haomeiwen.com/i20191713/bef0f75ca7aa470b.png)
过滤掉极值
![](https://img.haomeiwen.com/i20191713/a8ea94c1db26bc8d.png)
(3)对用户消费金额作直方图分析
![](https://img.haomeiwen.com/i20191713/6f0ed13d9655890b.png)
由图可知用户消费金额,绝大部分呈现集中趋势,小部分异常值干扰了判断,可以使用过滤操作排除异常值
![](https://img.haomeiwen.com/i20191713/9f5d3881b5b7f840.png)
(4)对用户累计消费金额占比作折线图分析
![](https://img.haomeiwen.com/i20191713/a49fa98f39d07428.png)
由图可知50%的用户仅贡献了15%的消费额度,而排名前5000的用户就贡献了40%的消费额度
3、用户消费行为
(1)用户第一次消费(首购)
(2)用户最后一次消费
(3)新老客户消费比
①多少用户仅消费一次
②每月新客占比
(4)用户分层
① RFM模型
②新、老、活跃、回流、流失
(5)用户购买周期(按订单)
①用户消费周期描述
②用户消费周期分布
(6)用户生命周期(按第一次和最后一次消费) -用户生命周期描述
①用户生命周期分布
(7)复购率和回购率分析
(1)(2)对用户第一次及最后一次消费进行分析
![](https://img.haomeiwen.com/i20191713/0b43aea22100268f.png)
![](https://img.haomeiwen.com/i20191713/beee67fe6f37bed9.png)
大多数人最后一次购买时间都在1-3月份,说明他们购买了一次就不再进行购买,随着时间的递增,最后一次购买数量也在递增,消费呈现流失上升的状况。用户流失比例基本一致,一开始用户迅猛增长数量比较多流失的也比较多。
(3)对新老客消费比进行分析
取每个用户首次和最后一次购买时间
![](https://img.haomeiwen.com/i20191713/9b6b6ef874c1a9ac.png)
查询只进行过一次购买的用户人数
![](https://img.haomeiwen.com/i20191713/906c861a13f3f611.png)
由图可知,将近一半的用户仅仅消费了一次,新老客户占比接近1:1
(4)RFM模型
RFM模型的三个指标为最近一次消费时间、消费频率 、消费金额
绘制透视图表进行分析
![](https://img.haomeiwen.com/i20191713/90a10f7fd301f86f.png)
要将order_dt里面具体的日期变成R中的天数
![](https://img.haomeiwen.com/i20191713/026e253495e81014.png)
再将order_amount和order_products重命名为F、M
![](https://img.haomeiwen.com/i20191713/5655249a29369491.png)
对用户进行分群(8个)
![](https://img.haomeiwen.com/i20191713/9c8d9d9f1b018c5b.png)
将RFM中的数值换为容易理解的文字
![](https://img.haomeiwen.com/i20191713/88cebe46a5f844b0.png)
![](https://img.haomeiwen.com/i20191713/9ade6e07bd23c4d4.png)
对重要价值客户及非重要价值客户的消费时间、消费频率绘制散点图
![](https://img.haomeiwen.com/i20191713/e7fbae592a2eb2b7.png)
![](https://img.haomeiwen.com/i20191713/9216b53f17e4dcd1.png)
(4)对用户生命周期 新客,活跃,回流,流失进行分析
![](https://img.haomeiwen.com/i20191713/b2e547b6c4d2ec45.png)
从上图中可以看到,表中数据有0,1,2···,要将有消费的变为1,没有消费变为0
![](https://img.haomeiwen.com/i20191713/3b208c40d28633f3.png)
这里由于进行数据透视,填充了一些 null 值为0,而实际可能用户在当月根本就没有注册,这样会误导第一次消费数据的统计。
![](https://img.haomeiwen.com/i20191713/1d9204fe926ec3b0.png)
将自定义函数运用到数据中
![](https://img.haomeiwen.com/i20191713/fc03734d134bb280.png)
将未注册的替换为空值,这样 count 计算时不会计算到,从而得到每个月的用户分布
![](https://img.haomeiwen.com/i20191713/e9d4c27259189aaa.png)
![](https://img.haomeiwen.com/i20191713/1cb6d8f2db7a4552.png)
对这些用户做面积图分析
![](https://img.haomeiwen.com/i20191713/a39224940cab7b55.png)
(5)用户购买周期 对用户消费周期进行分析
计算相邻两个订单的时间间隔,用shift 函数,shift函数是对数据进行错位,所有数据会往下平移一下,可以计算
以用户分组,对两个订单的间隔进行计算
![](https://img.haomeiwen.com/i20191713/5888584b4439d4ff.png)
NaT表示只有一次购买
对时间间隔进行描述性统计分析
![](https://img.haomeiwen.com/i20191713/0100283f9530b976.png)
去除days并绘制直方图
![](https://img.haomeiwen.com/i20191713/0600ed393b0af299.png)
用户的平均购买周期是68天,绝大部分用户的购买周期都低于100天
(6)对用户生命周期(按第一次和最后一次消费)
描述性分析
![](https://img.haomeiwen.com/i20191713/8c05f44f37a462da.png)
去除days并绘制直方图
![](https://img.haomeiwen.com/i20191713/f606f2913a8977df.png)
用户的生命周期受只购买一次的用户影响比较厉害,所以要对用户进行筛选
![](https://img.haomeiwen.com/i20191713/75d2dbf5aebe0465.png)
(7)复购率和回购率分析
复购率:自然月内,购买多次的用户占比(即,购买了两次以上)
回购率:曾经购买过的用户在某一时期的再次购买的占比(可能是在三个月内)
![](https://img.haomeiwen.com/i20191713/f70641a98d75a86f.png)
![](https://img.haomeiwen.com/i20191713/7d0887a92b5d833e.png)
复购率稳定在20%所有,前一个月因为有大量新用户涌入,而这批用户只购买了一次,所以导致复购率降低