项目实战:用户消费行为分析

共 3246字,需浏览 7分钟

 ·

2023-10-16 02:26


《分析步骤》



第一部分:数据类型的处理—字段的清洗
缺失值的处理、数据类型的转化



第二部分:按月数据分析
每月的消费总金额、每月的消费次数、每月的产品购买量、每月的消费人数



第三部分:用户个体消费数据分析
用户消费金额和消费次数的描述统计、用户消费金额和消费次数的散点图、用户消费金额的分布图(二八法则)、用户消费次数的分布图
、用户累计消费金额的占比



第四部分:用户消费行为分析
用户第一次消费时间、用户最后一次消费时间、新老客消费比、用户分层、用户购买周期、用户生命周期。



第一部分:数据类型的处理—字段的清洗



导入常用的库




76fd60bc6edf86df69717a4c2b11ca57.webp


加载包和数据,文件是txt,用read_table方法打开,因为原始数据不包含表头,所以需要赋予。字符串是空格分割,用\s+表示匹配任意空白符。


4bc838f7d2cd9cb85e80bad1cd124fe8.webp


列字段的含义:


user_id:用户ID


order_dt:购买日期


order_products:购买产品数


order_amount:购买金额




消费行业或者是电商行业一般是通过订单数,订单额,购买日期,用户ID这四个字段来分析的。基本上这四个字段就可以进行很丰富的分析。




观察数据,判断数据是否正常识别。值得注意的是一个用户可能在一天内购买多次,用户ID为2的用户在1月12日买了两次,这个细节不要遗漏。




0ee6810fecc6f85185317992fe2b3160.webp


查看数据类型、数据是否存在空值;原数据没有空值,很干净的数据。接下来我们要将时间的数据类型转化。


8d05329383e662ca1da3e5313d9b4819.webp


用户平均每笔订单购买2.4个商品,标准差在2.3,稍稍具有波动性。中位数在2个商品,75分位数在3个商品,说明绝大部分订单的购买量都不多。最大值在99个,数字比较高。购买金额的情况差不多,大部分订单都集中在小额。




一般而言,消费类的数据分布,都是长尾形态。大部分用户都是小额,然而小部分用户贡献了收入的大头,俗称二八。



数据类型的转化


6895303e10cfd8fd4a66b21a35c48e77.webp


到目前为止,我们已经把数据类型处理成我们想要的类型了。我们通过四个字段及衍生字段就可以进行后续的分析了。




第二部分:按月数据分析




接下来我们用之前清洗好的字段进行数据分析。从用户方向、订单方向、消费趋势等进行分析。
1、消费趋势的分析



  • 每月的消费总金额


  • 每月的消费次数


  • 每月的产品购买量


  • 每月的消费人数
    目的:了解这批数据的波动形式。




用groupby创建一个新的对象。这里要观察消费总金额,需要将order_amount求和


360c80a539d6f8d204766f47b418b475.webp


按月统计每个月的CD消费总金额


beff5b7e56b9c0edae6fda5b397bbe3e.webp


从图中可以看到,前几个月的销量非常高涨。数据比较异常。而后期的销量则很平稳。




每月的消费次数(订单数)


e7109a72e6e7dffbc39c3c1a97db94fc.webp


前三个月的消费订单数在10000笔左右,后续月份的消费人数则在2500人左右。





每月的产品购买量


13862b707f6469b2b26125d1dcbb1fd6.webp


每月的产品购买量一样呈现早期购买量多,后期平稳下降的趋势。




为什么会呈现这个原因呢?


我们假设是用户身上出了问题,早期时间段的用户中有异常值,第二假设是各类促销营销,但这里只有消费数据,所以无法判断。




每月的消费人数(去重)


2e4e4ac052aefde29fd63810e402e680.webp




每月的消费人数小于每月的消费次数,但是区别不大。前三个月每月的消费人数在8000—10000之间,后续月份,平均消费人数在2000不到。一样是前期消费人数多,后期平稳下降的趋势。




第三部分:用户个体消费数据分析


之前我们维度都是月,来看的是趋势。有时候我们也需要看个体来看这个人的消费能力如何,这里划分了五个方向如下:



  • 用户消费金额和消费次数的描述统计


  • 用户消费金额和消费次数的散点图


  • 用户消费金额的分布图(二八法则)




用户消费金额和消费次数的描述统计


0fefd7835097a582bf96370e82d6b15a.webp


从用户角度看,每位用户平均购买7张CD,最多的用户购买了1033张。用户的平均消费金额(客单价)100元,标准差是240,结合分位数和最大值看,平均值才和75分位接近,肯定存在小部分的高额消费用户。



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


6bc298b0f862f0545096e969fd0de715.webp


绘制用户的散点图,用户比较健康而且规律性很强。因为这是CD网站的销售数据,商品比较单一,金额和商品量的关系也因此呈线性,没几个离群点。




用户消费金额的分布图(二八法则)


f4461a1cd2c9b35a83d9d056ac6885a4.webp


从上图直方图可知,大部分用户的消费能力确实不高,绝大部分呈现集中在很低的消费档次。高消费用户在图上几乎看不到,这也确实符合消费行为的行业规律。




到目前为止关于用户的消费行为有一个大概的了解




第四部分:用户消费行为分析




- 用户第一次消费(首购)。


- 用户最后一次消费


- 新老客消费比


    - 多少用户仅消费了一次


    - 每月新客占比


- 用户分层


    - RFM


    - 新、老、活跃、流失


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


    - 用户消费周期描述


    - 用户消费周期分布








用户第一次消费(首购)


b0b9f909adcf559a7e972afd4080346a.webp


求月份的最小值,即用户消费行为中的第一次消费时间。所有用户的第一次消费都集中在前三个月.




用户最后一次消费


18b331152dcca6aa5e8f0ea34d5732e8.webp


da87b67babcd952141423c0e25c7a3e5.webp




观察用户的最后一次消费时间。用户最后一次消费比第一次消费分布广,大部分最后一次消费集中在前三个月,说明很多客户购买一次就不再进行购买。随着时间的增长,最后一次购买数也在递增,消费呈现流失上升的情况,用户忠诚度在慢慢下降。



新老客的消费比


d88af7440fdfdc6f66d3098ed9485091.webp


user_id为1的用户第一次消费时间和最后一次消费时间为19970101,说明他只消费了一次




用户购买周期


6c7ade33bfefc0b588c58a235172cd4d.webp


有一半的用户只消费了一次




用户分层


56dcb1b4e1818deb5ece68334257e062.webp


order_products求的是消费产品数,把它替换成消费次数也是可以,但是因为我们这里消费次数是比较固定的,所以使用消费产品数的维度。




RFM距今天数


76b3d3229a3b113dd2d83841495894a2.webp


R表示客户最近一次交易时间的间隔,客户在最近一段时间内交易的金额。F表示客户在最近一段时间内交易的次数,F值越大,表示客户交易越频繁,反之则表示客户交易不够活跃。M表示客户在最近一段时间内交易的金额。M值越大,表示客户价值越高,反之则表示客户价值越低。



用户分层:RFM


e2335f333e18c0340f87825eaf1dd4b2.webp


用户分层,这里使用平均数


d6bd83ba6f26a6e86d141bbd777e6ae1.webp


M不同层次客户的消费累计金额,重要保持客户的累计消费金额最高




用户分层:计数


6a71af7757912034254809e203136e06.webp


不同层次用户的消费人数,之前重要保持客户的累计消费金额最高,这里重要保持客户的消费人数排名第二,但离一般挽留用户差距比较大,一般挽留用户有14074人,重要保持客户4554人




RFM用户分层


97d6c87cf1604994264f74f194591509.webp


从RFM分层可知,大部分用户为重要保持客户,但是这是由于极致的影响,所以RFM的划分应该尽量以业务为准。尽量用小部分的用户覆盖大部分的额度,不要为了数据好看划分等级。


RFM是人工使用象限法把数据划分为几个立方体,立方体对应相应的标签,我们可以把标签运用到业务层面上。比如重要保持客户贡献金额最多159203.62,我们如何与业务方配合把数据提高或者维护;而重要发展客户和重要挽留客户他们有一段时间没有消费了,我们如何把他们拉回来.




浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报