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