用Python分析用户消费行为

这是一份用户在一家CD网站上的消费记录

1、导入数据

用Python分析用户消费行为_第1张图片

-- 对数据进行描述性统计

用Python分析用户消费行为_第2张图片

可知用户平均每笔订单购买2.4个商品,中位数为2,75分位数为3,说明绝大部分订单的购买量都不多。

但是最大值为99个,数字偏高。

一般来说,根据二八法则,20%的用户贡献的收入会占总收入的80%。


-- 将order_dt改为可计算的时间字符类型并将消费频次按月计算

查看更改以后的数据

用Python分析用户消费行为_第3张图片

2、进行用户消费趋势的分析(按月)

(1)每月的消费总金额

(2)每月的用户消费次数

(3)每月的产品购买量

(4)每月的消费人数

(1)对每月的消费总金额绘制折线图分析

用Python分析用户消费行为_第4张图片
每月的消费总金额
用Python分析用户消费行为_第5张图片
每月的消费总金额(折线图)

由图可知,用户发生购买行为多在1-3月,从四月份以后,消费较为稳定呈轻微下降趋势

(2)对每月消费人数绘制折线图分析

用Python分析用户消费行为_第6张图片
每月的用户消费次数
用Python分析用户消费行为_第7张图片
每月的用户消费次数 (折线图)

前三个月消费订单次数在10000次接近12000次,后续每月消费次数则在2500次

(3)对每月产品购买量绘制折线图分析

用Python分析用户消费行为_第8张图片
每月产品购买量
用Python分析用户消费行为_第9张图片
每月产品购买量(折线图)

前三个月物品购买量约为25000元,后续月份则保持在7000元左右

(4)对每月的消费人数绘制折线图分析

用Python分析用户消费行为_第10张图片
每月消费人数(折线图)

前三个月每月的消费人数在8000-10000之间,后续月份,平均消费人数在2000不到

3、用户个体消费分析

(1)用户消费金额,消费次数的秒速统计

(2)用户消费金额和消费次数的散点图

(3)用户消费金额的分布图

(4)用户累计消费金额占比(百分之多少的用户占了百分之多少的消费额)

(1)对用户金额及消费次数绘制散点图分析

用Python分析用户消费行为_第11张图片
用户金额及消费次数(散点图)

过滤掉极值

用Python分析用户消费行为_第12张图片
用户金额及消费次数(散点图)

(3)对用户消费金额作直方图分析

用Python分析用户消费行为_第13张图片
用户消费金额(直方图)

由图可知用户消费金额,绝大部分呈现集中趋势,小部分异常值干扰了判断,可以使用过滤操作排除异常值

用Python分析用户消费行为_第14张图片
过滤后的用户消费金额( 直方图 )

(4)对用户累计消费金额占比作折线图分析

用Python分析用户消费行为_第15张图片
用户累计消费金额占比(折线图)

由图可知50%的用户仅贡献了15%的消费额度,而排名前5000的用户就贡献了40%的消费额度


3、用户消费行为

(1)用户第一次消费(首购)

(2)用户最后一次消费

(3)新老客户消费比

        ①多少用户仅消费一次

        ②每月新客占比

(4)用户分层

        ① RFM模型

        ②新、老、活跃、回流、流失

(5)用户购买周期(按订单)

        ①用户消费周期描述

        ②用户消费周期分布

(6)用户生命周期(按第一次和最后一次消费) -用户生命周期描述

        ①用户生命周期分布

(7)复购率和回购率分析

(1)(2)对用户第一次及最后一次消费进行分析

用Python分析用户消费行为_第16张图片
用户第一次消费
用Python分析用户消费行为_第17张图片
用户最后一次消费

大多数人最后一次购买时间都在1-3月份,说明他们购买了一次就不再进行购买,随着时间的递增,最后一次购买数量也在递增,消费呈现流失上升的状况。用户流失比例基本一致,一开始用户迅猛增长数量比较多流失的也比较多。

(3)对新老客消费比进行分析

取每个用户首次和最后一次购买时间

用Python分析用户消费行为_第18张图片
用户首次和最后一次购买时间

查询只进行过一次购买的用户人数

用Python分析用户消费行为_第19张图片
一次购买的用户人数

由图可知,将近一半的用户仅仅消费了一次,新老客户占比接近1:1

(4)RFM模型

RFM模型的三个指标为最近一次消费时间、消费频率 、消费金额 

绘制透视图表进行分析

用Python分析用户消费行为_第20张图片
RFM模型

要将order_dt里面具体的日期变成R中的天数

用Python分析用户消费行为_第21张图片

再将order_amount和order_products重命名为F、M

用Python分析用户消费行为_第22张图片
RFM模型

对用户进行分群(8个)

用Python分析用户消费行为_第23张图片

将RFM中的数值换为容易理解的文字

用Python分析用户消费行为_第24张图片
用Python分析用户消费行为_第25张图片

对重要价值客户及非重要价值客户的消费时间、消费频率绘制散点图

用Python分析用户消费行为_第26张图片
用Python分析用户消费行为_第27张图片

(4)对用户生命周期 新客,活跃,回流,流失进行分析

用Python分析用户消费行为_第28张图片

从上图中可以看到,表中数据有0,1,2···,要将有消费的变为1,没有消费变为0

用Python分析用户消费行为_第29张图片

这里由于进行数据透视,填充了一些 null 值为0,而实际可能用户在当月根本就没有注册,这样会误导第一次消费数据的统计。

用Python分析用户消费行为_第30张图片
自定义函数

将自定义函数运用到数据中

用Python分析用户消费行为_第31张图片

将未注册的替换为空值,这样 count 计算时不会计算到,从而得到每个月的用户分布

用Python分析用户消费行为_第32张图片
用Python分析用户消费行为_第33张图片

对这些用户做面积图分析

用Python分析用户消费行为_第34张图片

(5)用户购买周期 对用户消费周期进行分析

计算相邻两个订单的时间间隔,用shift 函数,shift函数是对数据进行错位,所有数据会往下平移一下,可以计算

以用户分组,对两个订单的间隔进行计算

用Python分析用户消费行为_第35张图片

NaT表示只有一次购买

对时间间隔进行描述性统计分析

用Python分析用户消费行为_第36张图片

去除days并绘制直方图

用Python分析用户消费行为_第37张图片
时间间隔(直方图)

用户的平均购买周期是68天,绝大部分用户的购买周期都低于100天

(6)对用户生命周期(按第一次和最后一次消费)

描述性分析

用Python分析用户消费行为_第38张图片

去除days并绘制直方图

用Python分析用户消费行为_第39张图片
用户生命周期(直方图)

用户的生命周期受只购买一次的用户影响比较厉害,所以要对用户进行筛选

用Python分析用户消费行为_第40张图片

(7)复购率和回购率分析

复购率:自然月内,购买多次的用户占比(即,购买了两次以上)

回购率:曾经购买过的用户在某一时期的再次购买的占比(可能是在三个月内)

用Python分析用户消费行为_第41张图片
用Python分析用户消费行为_第42张图片
复购率折线图

复购率稳定在20%所有,前一个月因为有大量新用户涌入,而这批用户只购买了一次,所以导致复购率降低

你可能感兴趣的:(用Python分析用户消费行为)