
利用MySQL对淘宝用户行为数据进行分析。分析步骤如下:
1 提出问题
2 理解数据
3 数据清洗
4 构建模型
5 结论
6 建议
淘宝是目前国内最大的电商平台,人们网购的主要渠道之一。买家通过搜索、浏览来选择购买所需物品,其中也有部分买家是无目的闲逛,购买感兴趣的商品。通过分析此种行为,我们可以深度挖掘买家的购物习惯和特点,以此优化商品营销策略。
1 提出问题
本次分析想通过对淘宝用户行为数据分析,解决以下业务问题。
1)整体的用户购物情况,总访问量(PV)、访客数(UV)、平均访问量(PV/UV)、有购买行为的用户数量
2)用户从浏览到最终购买整个过程的流失情况
3)了解用户的行为时间模式,找出在研究的时间段里用户最活跃的日期以及每天活跃时间段,
4)找出最受欢迎的产品,优化产品销售
5)找出核心用户群,哪些用户购买次数最多,并且统计出这些用户购买的产品以及类目,针对这些用户的购买偏好推送个性化的产品销售方案
结合电商行业数据分析指标及AARRR漏斗模型,适用以下业务指标:

2 理解数据
2.1 数据来源
阿里巴巴天池
User Behavior Data from Taobao for Recommendation-数据集-阿里云天池tianchi.aliyun.com
本数据集(userbehavior.csv)包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。
数据集大小情况为:用户数量约100万(987,994),商品数量约410万(4,162,024),商品类目数量9,439以及总的淘宝用户行为记录数量为1亿条(100,150,807)。
2.2 本次分析选取的数据样本
原数据集一共有1亿条数据记录,数据量庞大,本次分析选取了大约10万条记录进行分析,数据整体情况参考下面表格。
2.3 字段含义

3 数据清洗
3.1 选择子集
数据集的每一个字段都有效,此处全部选择。
3.2 列名重命名
原数据集没有表头,建立新列名对应字段含义表中的6个字段,把淘宝用户行为数据导入Mysql数据库。
3.3 删除重复值
6个字段中,主键定义为:userid,itemid,timestamps,数据导入时保证没有重复数据。
3.4 缺失值处理
在创建表格的时候,6个字段均定义为NOT NULL,数据导入保证没有缺失值。
3.5 一致化处理
原数据时间戳用epoch & unix timestamp格式表达,需要转换为可读的日期时间形式。

在原数据表增加3个新字段datentime,dates,hours,把转换好的日期时间放进去,MySQL语句执行结果如下:

3.6 数据异常值处理
检查日期是否在规定范围内:2017年11月25日至2017年12月3日。

将不符合规定的数据删除

一共删除了44行数据,再次验证日期时间的准确性,下面结果满足要求。

4 构建模型
4.1 整体购物情况
利用MySQL语句获取总访问量(PV)、访客数(UV)、平均访问量(PV/UV)、有购买行为的用户数、跳失率,


结果显示总访问量(PV)为89664次、访客数(UV)为983人、平均访问量(PV/UV)91次、有购买行为的用户数为671人,只有点击行为没有收藏、加购物车以及购买行为的总用户数是69,除以访客数(UV)即跳失率为7.02%。说明当能吸引大量用户点击访问时,确实一定程度上可以留住用户,进行下一步点击操作。但同时平均访问量较高,也说明用户会多次访问最后确定购买意向。
4.2用户从浏览到最终购买整个过程的流失情况
统计所有用户点击、加购、收藏、购买的行为数,

所有用户点击、加购、收藏、购买占总行为数(10万)的百分比,分别为89.67%、5.45%、2.72%、2.10%,如下图所示:

用户的访问率与加购率、收藏率、购买率的巨大差异,说明用户花了大量时间寻找需要的产品。针对这个现象,可以优化电商平台的筛选功能和同类比较功能,让用户可以更容易找到合适产品。
对独立访客的行为进行分析,统计各行为用户数,最终购买用户数占访问用户数的68.47%,说明用户有比较明确的购买目标。

4.3用户的行为时间模式
4.3.1研究时间段内用户最活跃的日期
利用MySQL语句获取每日访问总量,


在2017年11月25日至2017年12月3日期间,12月2日与12月3日点击量陡增,可能是因为这两天是周六日并且平台有促销活动。
4.3.2研究时间段内用户每天活跃时间段
利用MySQL语句获取研究的9天里同一时段的总访问量,

上述结果除以9天可得每日每时段平均点击量,制成折线图如下:

在数据集观察的9天里,从19点开始点击量稳步上升,到21点到达顶峰,22点稍有回落,到23点明显下降,大部分用户会在晚上时段购物,这与日常作息相符。
4.4最受欢迎的产品
利用MySQL语句统计每种商品被购买的次数,

发现只被购买一次的产品有1881种,被购买两次的产品有93种,被购买3次和4次的产品只有6种和4种,由此可见产品的销售极其分散,大部分商品只被同一用户购买一次。
4.5核心用户群的购买方案
统计有购买行为的用户以及他们分别的购买次数,部分结果如下:

整体复购率为(671 - 229)/671 = 65.87%,有购买行为的用户中,大概有65.87%的用户会重复购买。
将所有用户的购买次数及对应用户数量分布制图如下,可见相当一部分用户只够买一次。

找出复购率最高的用户以及他们购买的产品

结果中显示用户user_id=1003983购买次数高达43次,下面以复购率最高的用户user_id = 1003983为例研究说明。
用户user_id = 1003983购买43次中,商品类目分布情况:

可以看出复购率最高用户user_id = 1003983购买的商品类目集中以上几类,可以参考产品类目的id确定产品种类。
通过上面的数据分析可以很容易找到高价值用户,通过了解高价值用户的购买行为,比如购买时间、购买产品以及品类等可以推出有针对性的产品推荐。如果数据集中包含更全面的信息,可以更大限度的了解用户,分析出用户画像,根据用户的需求提供私人定制的推荐服务,让用户有更好的购物体验,节省购物所花的精力。
5 结论
本次研究借助MySQL分析工具,对10万条淘宝用户行为数据进行分析。根据上述分析,可以以下结论得出:
5.1 整体购物情况
在10万条数据中,显示总访问量(PV)位89664次、访客数(UV)位983人、平均访问量(PV/UV)91次、有购买行为的用户数为671人,跳失率为7.02%。说明当能吸引大量用户点击访问时,确实一定程度上可以留住用户,进行下一步点击操作。
但同时平均访问量较高,说明用户会多次访问最后确定购买意向。用户的访问率与加购率、收藏率、购买率的巨大差异,也说明用户花了大量时间寻找需要的产品。
最终购买用户数占访问用户数的68.47%,说明用户有比较明确的购买目标。
5.2 用户的行为时间模式
在2017年11月25日至2017年12月3日期间,12月2日与12月3日点击量陡增,可能是因为这两天是周六日并且平台有促销活动。每日每时段平均从19点开始点击量稳步上升,到21点到达顶峰,22点稍有回落,到23点明显下降,大部分用户会在晚上时段购物,这与日常作息相符。
5.3 最受欢迎的产品
统计每种商品被购买的次数,发现只被购买一次的产品有1881种,被购买两次的产品有93种,被购买3次和4次的产品只有6种和4种,由此可见产品的销售极其分散,大部分商品只被同一用户购买一次。在这种情况下无法统计最受欢迎的产品,需要扩大选取样本量。
5.4 核心用户群的购买方案
整体复购率为(671 - 229)/671 = 65.87%,有购买行为的用户中,大概有65.87%的用户会重复购买。根据复购率较高的用户分析其购买方案,进行个性化推送,也可提升其购物体验。
6 建议
针对上述问题,可以使用AARRR漏斗模型,提出建议如下:
6.1 获取与传播
针对周六日和晚间时段(19:00-22:00)推送平台活动、优惠,并附有个性化商品推荐,比如最近搜索过的商品类型、曾经多次购买的商品降价活动等。
同时,淘宝的用户基数大,可以利用用户转发的方式获取新客户,比如促销活动期间邀请朋友拼团享受优惠来增加访问量。对高价值的用户多提供试用、测评,在同等用户群中分享,吸引更多高价值用户。
6.2 激活与变现
用户访问转化率较低可能是因为用户花了大量时间寻找他们的理想商品,可以采取以下策略:(1)优化电商平台的筛选功能,提升关键词的精准率,让用户可以更容易找到合适产品;
(2)提供同类产品比较的功能,让用户不需要多次返回搜索结果反复查看,便于用户确定理想商品;
(3)精简下单步骤,提供一键下单服务,比如只包含点击-购买-支付三个环节,缩短购买流程。在优惠促销期间直接体现差价与优惠后价格,减少用户计算、犹豫的时间,提升用户体验。
6.3 留存
平台目前已有的签到、积分等已不足以吸引部分用户,需要更实际的奖励兑换机制。如在登录的同时提示年购买金额达多少可直接享受购物折扣、津贴,在线登录时长和累计浏览量也可以兑换相应优惠券。限量的VIP活动和福利也能提升高价值用户的留存率和对平台的忠诚度。