淘宝用户行为数据分析( python)(2014-11-18~2014-12-18数据)

数据来自于天池

淘宝用户行为数据
有兴趣的小伙伴可以去下载动手分析

一、项目背景

网购已经成为人们生活不可或缺的一部分,本项目分析淘宝APP的用户行为数据作为,从uv、pv指标、最终付费转化率、复购行为分析、漏斗流失分析进行统计分析,从而探索用户相关行为模式。因为数据进行脱敏处理,一些数据的价值不大了。

二、数据介绍

本数据集共有1225万条左右数据,数据为淘宝APP2014年11月18日至2014年12月18日的用户行为数据,共计6列字段,列字段分别是:
user_id:用户身份,脱敏
item_id:商品ID,脱敏
behavior_type:用户行为类型(包含点击、收藏、加购物车、支付四种行为,分别用数字1、2、3、4表示)
user_geohash:地理位置
item_category:品类ID(商品所属的品类)
time:用户行为发生的时间

三、数据读取与清洗

3.1读数据

import pandas as pd 
import numpy as py
import matplotlib.pyplot as plt
import seaborn as sns
import os
os.chdir('F:\ctrip')
data=pd.read_csv(r'tianchi_mobile_recommend_train_user.csv',encoding='gbk')

3.2查看数据情况

data.shape #查看数据的行数、列数

(12256906, 6)

data.info()  #查看数据的行数、列数、列的数据类型、文件大小

<class ‘pandas.core.frame.DataFrame’>
RangeIndex: 12256906 entries, 0 to 12256905
Data columns (total 6 columns):
user_id int64
item_id int64
behavior_type int64
user_geohash object
item_category int64
time object
dtypes: int64(4), object(2)
memory usage: 561.1+ MB

data.head(5)  #前5行数据
	user_id	    item_id	  behavior_type	user_geohash	item_category	time
0	98047837	232431562	1	         NaN		     4245		  2014-12-06 02
1	97726136	383583590	1		     NaN		     5894		  2014-12-09 20
2	98607707	64749712	1	     	 NaN		     2883		   2014-12-18 11
3	98662432	320593836	1		     96nn52n		 6562		   2014-12-06 10
4	98145908	290208520	1	     	 NaN		     13926		   2014-12-16 21

3.3数据清洗

a.统计缺失率

data.apply(lambda x: sum(x.isnull())/len(x))

user_geohash缺失率高达68%
user_geohash已经不具备分析意义

b.日期格式处理
time的格式需要处理成我们需要的格式

data['date']=data['time'].str[0:10]
data['hour']=data['time'].str[11:]
data['time']=pd.to_datetime(data['time'])
data['date']=pd.to_datetime(data['date'])
data['hour']=data['hour'].astype(int)
data

在这里插入图片描述
c.按日期排序

data.sort_values(by='time',ascending=True,inplace=True)
data.reset_index(drop=True,inplace=True)    #重置前面的序列号

四、数据分析

统计日pv、uv

pv=data.groupby('date').count()['user_id']
uv=data.groupby('date')['user_id'].apply(lambda x: x.drop_duplicates().count())
pv_uv=pd.concat([pv,uv],axis=1).rename(columns={0:'pv',"user_id":'uv'})  #将pv、uv整合到一起

在这里插入图片描述
日pv、uv可视化

sns.set(style='darkgrid',context='notebook',font_scale=1.2) 
plt.rcParams["font.sans-serif"]=["SimHei"]   #显示中文标签,防止出现中文不显示的情况
plt.rcParams['axes.unicode_minus']=False
plt.figure(figsize=(16,11)) #画布大小
plt.subplot(2,1,1) #布局2行1列 第一个
plt.plot(pv,color='blue')
plt.title('每日访问量')

plt.subplot(2,1,2) #布局2行1列 第二个
plt.plot(uv,color='red')
plt.title('每日用户访问量')
plt.suptitle('pv、uv变化',fontsize=23)
plt.show()

在这里插入图片描述
可以明显发现的是2014-12-12pv、uv达到了最高峰

统计每小时pv、uv

data.groupby('hour').count()['user_id'].rename(columns={'user_id':'pv_hour'})
uv_hour=data.groupby('hour')['user_id'].apply(lambda x: x.drop_duplicates().count())
pv_uv_hour=pd.concat([pv_hour,uv_hour],axis=1).rename(columns={0:'pv_hour','user_id':'uv_hour'})
  
plt.figure(figsize=(16,9))
pv_uv_hour['pv_hour'].plot(color='blue',label='每小时访问量')
plt.ylabel('每小时访问量')
plt.legend(loc='best')

pv_uv_hour['uv_hour'].plot(color='red',label='每小时独立用户访问量',secondary_y=True)
plt.ylabel('每小时独立用户访问量')
plt.xticks(range(0,24),pv_uv_hour.index)
plt.legend(loc='best')
plt.grid(True)
plt.show()

在这里插入图片描述
可以发现0到4点,pv、uv下降显著,在10点左右达到高峰;uv在10点以后趋于平稳,pv在18点后迅速上涨,幅度达1倍。由此说明用户活跃的时间是在18-22点之间。

用户行为分析

pt=pd.pivot_table(columns='behavior_type',index='hour',data=data,values='user_id',aggfunc=np.size)
pt.rename(columns={'1':'点击','2':'收藏','3':'加购物车','4':'支付'},inplace=True)
pt

#绘图
plt.figure(figsize=(12,10))
sns.lineplot(data=pt.iloc[:,1:])
plt.show()
#绘图
plt.figure(figsize=(12,10))
sns.lineplot(data=pt.iloc[:,:])
plt.show()

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
会发现点击这一行为的用户相比较于其他三类用户行为,pv访问量较高,去除点击这行为后可以看出加入购物车的pv高于收藏pv,后续的漏斗分析需要注意

漏斗流失率分析

data_userbehavior_count=data.groupby('behavior_type').size()
pv_all=data['user_id'].count()
(pv_all-data_userbehavior_count[0])/pv_all#浏览到点击的流失率
(data_userbehavior_count[0]-data_userbehavior_count[2])/data_userbehavior_count[0]#点击到添加购物车的流失率
(data_userbehavior_count[2]-data_userbehavior_count[1])/data_userbehavior_count[2]#添加购物车到收藏的流失率
(data_userbehavior_count[1]-data_userbehavior_count[3])/data_userbehavior_count[1]#收藏到购买的流失率

在这里插入图片描述

复购率

#复购率=复购行为用户/付费总人数
data_again_buy=data[data.behavior_type=='4'].groupby('user_id')['date'].apply(lambda x:len(x.unique()))
data_again_buy[data_again_buy>=2].count()/data_again_buy.count()

可得复购率为87.17%

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你好,我是C知道,很高兴为你提供帮助。关于Python淘宝用户行为数据分析项目查找,我可以告诉你,在GitHub上可以找到一些开源的淘宝用户行为数据分析项目,你可以在这些项目中查找到相关的代码和实现方式。此外,你也可以通过搜索引擎,查找相关的教程和文章,来了解更多关于淘宝用户行为数据分析的知识。希望我的回答对你有所帮助。 ### 回答2: Python淘宝用户行为数据分析项目是指通过使用Python编程语言,对淘宝平台上的用户行为数据进行分析和挖掘的项目。 该项目的目的是为了深入理解淘宝用户行为模式和购物习惯,进而为商家提供相关的营销策略和用户推荐方案。 在这个项目中,我们首先需要收集淘宝平台上的用户行为数据,包括用户的浏览记录、购买记录、收藏记录、评价记录等。同时,还可以考虑使用淘宝提供的API获取更详细的用户信息。 接下来,我们需要对这些数据进行清洗和预处理,去除重复、缺失或者异常的数据,为后续的分析工作做好准备。 然后,我们可以利用Python中的数据分析工具和算法来对用户行为数据进行分析和挖掘。例如,可以使用统计分析来研究用户的购买习惯和行为模式,使用关联规则挖掘算法来发现用户之间的行为关联,或者使用聚类算法将用户划分为不同的群组。 最后,我们可以根据分析结果给出相应的推荐策略和营销方案,比如向用户推荐可能感兴趣的商品、优化促销活动的时间和方式,或者提供个性化的推荐服务。 总之,Python淘宝用户行为数据分析项目通过使用Python编程语言和相关的数据分析工具,帮助商家深入了解和挖掘用户行为数据,从而提升营销效果和用户满意度。 ### 回答3: Python淘宝用户行为数据分析项目是通过使用Python编程语言来对淘宝平台上的用户行为数据进行分析和研究。该项目的主要目标是通过分析用户行为数据来了解用户购物偏好、购物习惯以及用户行为特征,为淘宝平台的运营和商家提供决策支持和业务优化的参考。 在这个项目中,我们可以利用Python数据分析库和机器学习库来对淘宝平台的用户行为数据进行清洗、预处理和分析。首先,我们可以利用Pythonpandas库对用户行为数据进行清洗和预处理,包括去除重复数据、处理缺失值、转换数据类型等。然后,我们可以利用Python的matplotlib和seaborn库对数据进行可视化分析,例如绘制用户购买次数、购买金额的分布图,分析用户购物习惯和偏好。此外,我们还可以利用Python的scikit-learn库进行用户行为特征提取和机器学习建模,例如利用用户的购物行为数据进行用户聚类分析,挖掘不同类型用户的特征和购物模式。 通过这个项目,我们可以帮助淘宝平台和商家更好地理解用户行为,从而改进商品推荐、个性化营销等策略,提升用户体验和平台的销售效率。同时,这个项目也可以为数据分析师和研究人员提供一个实践机会,学习和应用Python数据分析和机器学习的方法,提升数据分析和研究能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值