淘宝用户行为分析(python+mysql+tableau)

通过对淘宝2017年11月25日至12月3日的用户行为数据进行清洗和分析,发现用户活跃高峰在19点至22点,日PV和UV在12月2日激增,购买率为67.95%,复购率为65.77%,留存率稳定。商品浏览量与销量转化率低,主要销售为长尾商品。RFM模型显示,挽留用户占比最多,价值用户占比少。建议通过优化推荐系统、增加用户互动、推出VIP服务提高用户留存和转化率。
摘要由CSDN通过智能技术生成

淘宝用户行为分析

一、项目背景及目的

​ 项目数据有阿里天池提供,通过python、mysql 和 tableau进行数据分析,根据淘宝用户的行为,挖掘出行为背后的意义,最后提出针对性业务见解。

1、数据来源

https://tianchi.aliyun.com/dataset/dataDetail?dataId=649

2、数据介绍

​ 本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

列名称 说明
用户ID 整数类型,序列化后的用户ID
商品ID 整数类型,序列化后的商品ID
商品类目ID 整数类型,序列化后的商品所属类目ID
行为类型 字符串,枚举类型,包括(‘pv’, ‘buy’, ‘cart’, ‘fav’)
时间戳 行为发生的时间戳

注意到,用户行为类型共有四种,它们分别是

行为类型 说明
pv 商品详情页pv,等价于点击
buy 商品购买
cart 将商品加入购物车
fav 收藏商品
3、分析目的

根据淘宝用户行为数据,首先从数据的整体情况进行分析,其中包括流量指标和转化情况;其次,从时间维度对用户的行为进行分析;再者,从商品维度来统计商品的浏览量、加购量、收藏量和销售量排行榜;最后,从用户维度构建AARRR模型和RFM模型进行分析。

在这里插入图片描述

二、数据清洗

1、选取子集

数据集超过一亿数据,电脑读取超过一千万行数据时出现内存泄漏,因此截取500万数据进行分析

#读取数据
reader=pd.read_csv('UserBehavior.csv',iterator = True,header=None,
                   names=['UserID','ItemID','CategoryID','Behaviortype','Timestamp'])
try:
    tb=reader.get_chunk(5000000)
except StopIteration:
    print("Iteration is stopped.")
#查看数据信息
tb.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 4999995 entries, 0 to 4999999
Data columns (total 7 columns):
UserID          int64
ItemID          int64
CategoryID      int64
Behaviortype    object
Timestamp       int64
date            object
time            object
dtypes: int64(4), object(3)
memory usage: 305.2+ MB
tb.describe()
 			UserID 			ItemID 		CategoryID 		Timestamp
count 	5.000000e+06 	5.000000e+06 	5.000000e+06 	5.000000e+06
mean 	2.446809e+05 	2.579267e+06 	2.710101e+06 	1.511963e+09
std 	2.265588e+05 	1.488103e+06 	1.464218e+06 	8.400232e+05
min 	1.000000e+00 	3.000000e+00 	2.171000e+03 	4.401600e+04
25% 	1.388410e+05 	1.294875e+06 	1.349561e+06 	1.511763e+09
50% 	2.010450e+05 	2.578621e+06 	2.710853e+06 	1.511966e+09
75% 	2.637270e+05 	3.862411e+06 	4.145813e+06 	1.512181e+09
max 	1.018011e+06 	5.163067e+06 	5.161669e+06 	2.122867e+09

查看数据可知,数据集没有缺失值。

2、重复值处理

#查看有多少个重复值
tb.duplicated().sum()
#删除重复值
tb.drop_duplicates(inplace=True)

3、一致化处理

#数据类型转换
tb["date"] = tb["Timestamp"].apply(lambda x: datetime.datetime.fromtimestamp(x).date())
tb[
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值