天池-淘宝用户行为数据分析(python+Tableau)
一、背景
用户行为分析可以让产品更加详细、清楚地了解用户的行为习惯,从而找出网站、app、推广渠道等产品存在的问题,有助于产品发掘高转化率页面,让产品的营销更加精准、有效,提高业务转化率。本文选取阿里天池项目中的淘宝App用户行为数据利用Python进行数据分析。
常用用户分析模型:
常用用户行为分析方法:
本次分析的用户行为数据来自于阿里巴巴天池平台:
[User Behavior Data on Taobao App]: https://tianchi.aliyun.com/dataset/dataDetail?dataId=46
用户行为数据基本情况:
- 该数据集总共有:12256906条
- user_id:用户ID,共有10000位用户。
- item_id:商品ID,共有2876947件商品。
- behvior_type:用户行为,有点击、加购物车、收藏、购买四种。
- user_geohash:地理位置,经过脱敏处理。
- item_category:商品类目,共有8916种
- time:时间,2014年11月18日至2014年12月18日。
二、分析目的和思路
1、目的
对淘宝的用户行为数据做探索性分析,找出问题然后做具体分析。
2、思路
三、数据处理
#导入数据
import pandas as pd
data = pd.read_csv('data/tianchi_mobile_recommend_train_user.csv')
#查看数据字段类型
data.info()
"""
user_id int64
item_id int64
behavior_type int64
user_geohash object
item_category int64
time object
"""
user_geohash地理位置字段,由于做了加密处理且大多数为空无法利用分析,所以剔除。
#删除地理位置字段
data=data.drop('user_geohash',axis=1)
查看是否存在缺失值:没有缺失值
#查看是否存在缺失值
data.count()
"""
user_id 12256906
item_id 12256906
behavior_type 12256906
item_category 12256906
time 12256906
dtype: int64
"""
将behavior_type字段的1,2,3,4类型分别改为pv,collect,cart,buy。
# 将behavior_type字段的1,2,3,4类型分别改为,pv,collect,cart,buy
data.ix[data['behavior_type']==1,'behavior_type']='pv'
data.ix[data['behavior_type']==2,'behavior_type']='collect'
data.ix[data['behavior_type']==3,'behavior_type']='cart'
data.ix[data['behavior_type']==4,'behavior_type']='buy'
为了便于时间维度的分析,将time时间字段中的内容分成 time(时间)、date(日期)、week(星期)三个字段。
#将time时间字段中的内容分成 time(时间)、date(日期)、week(星期)三个字段
data['date'] = data.time.apply(lambda x:([i for i in x.split()][0]))
data['time'] = data.time.apply(lambda x:([i for i in x.split()][1]))
#转换时间格式
data['date']=pd.to_datetime(data['date'])
data['time']=data['time'].astype(int)
data['week'] = [i.weekday() for i in data['date']]
四、数据分析与展示
1、淘宝用户流量分析
(1)用户一个月的pv和uv
#一个月的用户pv和uv
data.groupby(['behavior_type'])['user_id'].count()
"""
behavior_type
buy 120205
cart 343564
collect 242556
pv 11550581
Name: user_id, dtype: int64
"""
data.groupby(['user_id']).count().shape
#(10000, 6)
总pv:11550581;uv:10000。
(2)一个月内,每天的pv、uv
#每日的访问量和uv
data.groupby(['date']).count()
data.groupby('date')['user_id'].nunique()
由图可知,在12月12日(“双十二”)当天,pv和uv数激增,然后又恢复正常状态。说明活动取得了很好的吸引流量的效果。
2、用户消费行为分析
(1)时间维度分析用户消费行为习惯
#用户四种行为各自的记录
pv_data=data[data['behavior_type']=='pv']
cart_data=data[data['behavior_type']=='cart']
collect_data=data[data['behavior_type']=='collect']
buy_data=data[data['behavior_type']=='buy']
#每个时刻四种行为各自的uv
pv_data.groupby(['time'])['user_id'].nunique()
cart_data.groupby(['time'])['user_id'].nunique()
collect_data.groupby(['time'])['user_id'].nunique()
buy_data.groupby(['time'])[