数据来源:https://tianchi.aliyun.com/dataset/dataDetail?dataId=46&userId=1
文章目录
项目背景
2014年是阿里巴巴集团移动商务业务快速发展的一年。例如,在2014年11月11日的大促销中,移动终端上的商品交易总额(GMV)占总GMV的42.6%。与PC时代相比,移动终端可以随时随地接入网络。此外,他们还拥有更丰富的背景数据,如用户的位置信息,用户访问时间的规律性等。本次竞赛基于阿里巴巴移动商务平台的真实用户-商品行为数据。同时提供移动时代的典型位置信息。参与者需要构建面向移动商务的商品推荐模型。他们也希望深入数据背后的深层含义,在正确的时间和地点为移动用户推荐合适的商品。
通过写sql的数据处理,对一份淘宝数据进行用户分析。
一 明确分析目的
- 整体用户的购物情况
- 用户转化漏斗
- 购买率高和购买率低的用户人群有什么特征?
- 基于时间维度了解用户的行为习惯
- 基于RFM模型的用户分析
二 数据采集
数据来源:
https://tianchi.aliyun.com/dataset/dataDetail?dataId=46&userId=1
数据量
从数据集中选取1000名用户,2014年11月18日~2014年12月18日之间,8164040条数据,数据集每一条表示一个用户行为,共6列。
数据描述
user_id :用户身份(随机抽样,脱敏)
item_id :商品id。(脱敏)
behavior_type :用户行为类型(包括点击、收藏、加购物车、购买四种行为:分别用数字1,2,3,4表示)
user_geohash :用户地理位置(有空值)
item_category :品类ID(脱敏)
time:用户行为发生时间
三 数据处理
数据导入
分别使用Navicat/kettle 将数据导入数据库;使用kettle 可以提高导入效率,便于实现报表自动化
数据去重
-
共导入数据:12256906。根据业务常识存在异常
-
查询存在重复行
-
去重
缺失值处理
user_geohash :用户地理位置存在大量空值,超过了50%。并且信息经过加密处理能研究,决定不再对此列进行分析。
![image-20210216205806831](https://tva1.sinaimg.cn/large/008eGmZEly1gns3jcqe6qj30y00nowle.jpg)
数据一致化处理
-
time字段包含(年、月、日)和小时,将该字段分成两个字段,一个日期列(data_1)和一个小时列(time)。
-
behavior_type 1,2,3,4 分别代表点击、收藏,加购,购买四种行为,便于查看依次替换为 pv,fav,cart,buy
-
修改数据类型和约束,便于统计和排序
data_1 改为 DATE 数据类型
time 改为bigint 类型
# 一致化处理 # time 列 # 在time列前插入一列 date_1 ALTER TABLE new_taobao_user ADD data_1 VARCHAR(20) NOT NULL AFTER item_category; # 复制 data列 到 time UPDATE new_taobao_user SET data_1= time; # 截取日期 UPDATE new_taobao_user SET data_1= REPLACE(data_1,data_1,SUB