一、项目背景
中国电商行业经过初期的野蛮发展,从有货就能卖模式逐渐转变到及细化运营模式。通过对大量数据的深入分析,挖掘数据背后用户的需求及其规律。随着电商行业的发展趋于成熟,加上对数据的重视,数据基础平台以及数据库的完善,所搜集的数据更加完整,对数据分析提供了强有力的支持,同时通过数据分析为企业经营提供决策变得越来越重要,本文在这个背景下,基于淘宝用户行为开展分析。
二、数据
2.1 数据的来源
UserBehavior是一个淘宝用户行为数据集,用于隐式反馈推荐问题的研究。本数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。
完整的数据: 淘宝用户购物行为数据集_数据集-阿里云天池
由于完整数据的内容过大,有将近1亿数据(3.4G),本文从源数据中截取1256001条数据作为源数据,数据链接:https://pan.baidu.com/s/17nOHC_3V6zI9IkZGM6XxKQ
提取码:4567
2.2 数据集介绍
数据集的组织形式和MovieLens-20M类似,即数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:
列名称 | 说明 |
---|---|
用户ID | 整数类型,序列化后的用户ID |
商品ID | 整数类型,序列化后的商品ID |
商品类目ID | 整数类型,序列化后的商品所属类目ID |
行为类型 | 字符串,枚举类型,包括('pv', 'buy', 'cart', 'fav') |
时间戳 | 行为发生的时间戳 |
注意到,用户行为类型共有四种,它们分别是
行为类型 | 说明 |
---|---|
pv | 商品详情页pv,等价于点击 |
buy | 商品购买 |
cart | 将商品加入购物车 |
fav | 收藏商品 |
2.3分析的目的
通过对2017年11月25日——2017年12月3日之间的用户行为数据进行分析,为客户提供更加精准的隐式反馈推荐,提高用户忠诚度,提高商品的成交转化率。
2.4 分析思路:
本文的分析目的是从多维度对用户的角色和产品的角度进行分析,发现能够提高用户忠诚度和提高商品转化率的建议。
在分析的过程中采用了漏斗模型、对比分析法、RFM模型分析法、假设检验分析方法对流程级业务指标中的问题进行分析。
整体思路如图:
三、数据的清洗
3.1数据清洗分为一下几个步骤:
3.1.1选择子集:该数据集所有列都可以参与分析
3.1.2列名重命名:列名不需要重命名
3.1.3删除重复值:对用户ID,产品ID,时间戳三者都是一样的记录当作重复值,进行删除重复值的操作。
3.1.4缺失值处理:对缺失的数据进行填补或者删除
3.1.5一致化处理
1.新增字段ID作为主键 2.将时间戳转换成日期时间 新增字段long_date, date, time,hour用于存放时间 (1)新建空查询,空查询命名UnixtoDate
(2)右击UnixtoDate,点击高级编辑器----清空内容--粘贴以下代码---点击确定,可以看见查询的图表变成了F(x)
、
输入:
(时间戳) =>
let
longdate = (#datetime(1970,1,1,8,0,0) + #duration(0,0,0,时间戳))
in
longdate
(3)点击最上方一行的添加列----自定义列----输入自定义名称long_date
接着,在下面的方框里输入=UnixToDate()这时候选中右侧备选变量中的'时间戳'----点击插入-----确定,然后就能看见新建了一列,已经自动转换成日期格式,这时的格式类型还是文本格式,转化成日期/时间格式。
(4)拆分列,产生 date, time,hour列,另需更名(hour需要先复制一个time,再对time进行拆分列,删除多余拆分项)
结果:
关闭并应用
注释:第二种,时间戳转换,输入DAX表达式,即可。
3.1.6 异常值处理
本问使用数据是2017年11月25日——2017年12月3日之间的,但是数据中存在2018年8月数据(异常数据),筛选出来,将2017年11月24日的数据前方方框不选。
数据情况
用户ID 的计数 | 商品ID 的计数 | 商品类目ID 的计数 |
12111 | 462641 | 6036 |
行为类型 | 用户ID 的计数 |