[机器学习笔记] Python数据分析:用户消费行为(持续更新)

这篇博客详细记录了Python进行用户消费行为分析的过程,包括数据清洗、按月趋势分析、用户个体行为分析、消费行为分层和关键指标如复购率、回购率和留存率的探讨。通过对CDNow网站历史数据的分析,揭示了用户购买量、金额分布、消费周期和用户生命周期等关键洞察,指出大部分用户消费不高,存在极端值干扰,且用户留存和复购率有待提升。
摘要由CSDN通过智能技术生成

Python数据分析:用户消费行为(持续更新)

红酒品鉴和用户消费行为分析是我学习Python数据分析入门的两个案例,记录一下。

网络上关于这两个案例的介绍非常多,但是我在学习过程中,发现有很多文章的逻辑不是很清晰,代码也调试不同。

所以,还是想把自己的调试代码写出来。

参考博文:

http://www.360doc.com/content/17/0717/17/16619343_672115832.shtml

https://blog.csdn.net/weixin_44266342/article/details/94187331?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

https://blog.csdn.net/weixin_44875199/article/details/91452282?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 


准备

1. 数据分析的目标

2. 数据集

3. 在进行数据分析之前,进行数据清洗。即:处理缺失值,数据类型转化,按照需要将数据整理好。


开始

本数据集共有 6 万条左右数据,数据为 CDNow 网站 1997年1月至1998年6月的用户行为数据,共计 4 列字段,分别是:

  • user_id: 用户ID
  • order_dt: 购买日期
  • order_products: 购买产品数
  • order_amount: 购买金额
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
columns = ['user_id','order_dt','order_products','order_amount']
# 用户id 购买日期 购买产品数 购买金额
df=pd.read_csv('G:\\Data Scientist Learning\\CDNOW_master.txt',names=columns,sep='\s+') #载入数据
print(df.head())

 

接下来:

df.info() #检查数据是否存在空值

数据读出无误时要检查数据中是否存在空值,并检查数据的数据类型。发现数据中并不存在空值,很干净的数据。那接下来既然我们需要每月这个数据,就要给order_dt这一列的数据进行适当的转换一下,转化成通常的时间格式:Y(年)m(月)D(日)。

下面那句代码的意思是:在df里新增加一列列名是month,取出这一列的日期order_dt然后掉取这一列的值把值转换成以月为单位的,例如6月1号到30号统统属于6月。
 

 

 这时候可以对数据进行简单初步分析,用df.describe()。

对以上数据进行分析:

  • 均值:产品购买数量均值在2.4;
  • 中位数:中位数是2;
  • 四分位数:其3/4位数是3
  • 最小值和最大值分别为:1和3
  • 人均消费CD金额为:35.89元;中位数为:25.98元

说明:用户购买量大部分都不多,少部分购买量大的,最高购买量是99,其中存在一定的极致干扰。用户的订单金额比较稳定,人均购买CD金额在35,中位数在25元,存在极致干扰,很多销售行业都是类似这种分布,小额比较多,大额的较少,收入来源很大一部分是来自大额。也即是二八定律。


按月分析数据趋势 

在这里用到了一个groupby,一个在数据分析中非常好用的函数,这一节是要按月分析用户行为,用groupby对用户按照月分分组。

分组完成之后得到一个新的dataframe叫group_month,然后直接取出组里的order_amount并求和可得到每个月份的销售总额,并且画出折线图

 

 

 

 


从上面三个图可以看出数据没有什么问题,用户购买总额跟用户购买次数以及用户购买量走势是大致相同的,但是从四月份开始销量严重下滑,具体是原因是什么,我们可以再来看一下每个月的消费人数:

 

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


用户个体消费数据分析:

之前的都是看趋势,现在看个体的消费水平如何。主要分析的对象是:

  • 用户消
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值