+-
基于 Oracle 的淘宝用户行为数据分析

一、分析背景

随着互联网时代下电商行业的不断发展,电商市场日趋饱和,各电商平台的竞争进入了白热化阶段,针对用户行为的数据分析由此成为平台运营的重中之重。本文基于淘宝用户行为数据集,进行隐式反馈问题的研究,从用户行为中获取用户需求,分析用户情感,旨在用数据驱动产品优化。

二、数据来源

本文使用的数据来源于阿里云天池淘宝用户行为数据集

该数据集包含了2017年11月25日至2017年12月3日之间,有行为的约一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集的组织形式和MovieLens-20M类似,即数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。关于数据集中每一列的详细描述如下:

列名称 说明 用户ID 整数类型,序列化后的用户ID 商品ID 整数类型,序列化后的商品ID 商品类目ID 整数类型,序列化后的商品所属类目ID 行为类型 字符串,枚举类型,包括('pv', 'buy', 'cart', 'fav') 时间戳 行为发生的时间戳

其中,4中行为类型分别代表:

行为类型 说明 pv 商品详情页pv,等价于点击 buy 商品购买 cart 将商品加入购物车 fav 收藏商品

数据集包含近百万名用户(987994),涉及超416万件商品(4162024),近万商品类别(9439),以及超1亿条用户行为(100150807)。

注:此部分内容引用自数据集介绍信息

三、分析目标

本文目的是通过对淘宝用户行为数据进行分析,发现用户的消费偏好,从而更好的指导商家进行获客和盈利,实现精细化运营。分析思路如下:

思维导图

四、数据清洗

1. 数据导入

将下载的.csv格式文件通过PL/SQL导入到数据库中,观察可得源数据File Data缺少列名,在此为数据添加字段名称,并与提前创建好的表格USER_BEHAVIOR相匹配。

数据导入

此处应注意将表格的时间戳TIME_STAMP类型设置为varchar,该数据是指从1970年01月01日00时00秒到用户行为发生那一秒的总秒数。在数据导入后,为方便接下来的分析,利用SQL语句进行处理,分别转换成时间格式的日期与精确时分秒,并存储在CREATE_DATE、CREATE_TIME两个栏位中。此时查询表中数据,展示如下图:

时间戳格式化

2. 重复值处理

在数据导入阶段,已经忽略掉了重复的数据,因此并不存在重复值。

3. 缺失值处理

利用SQL语句查询表中各字段值为空的数据,执行后结果显示为0条,因此不存在缺失值。

缺失值处理

4. 异常值处理

根据数据集说明,该表中数据均应处于2017年11月25日至2017年12月3日之间,利用SQL语句查询表中CREATE_DATE字段值在该范围之外的数据,执行后结果显示为257110条,将这些异常数据删除。

异常值处理

5. 数据整合

经过以上几步的数据处理,得到最终用于分析的数据集,利用SQL语句进行初步的统计,可知最新的数据集有26061808条数据,包含257134名用户在9天时间里的4种行为类型(点击,加购物车,收藏,购买),其中共涉及2467928件商品与8713种商品类型。

数据统计

五、用户分析

1. 活跃度分析

分别从日期和时间两个方向,获取PV、UV指标进行活跃度分析。利用SQL语句,筛选得出所需的PV、UV值,并利用echarts将数据以图表形式展现。

(1) 日期

考虑到日期的周期性,将数据每7天分为1个周期,以便对比分析。

image

不同日期的PV、UV

这9天中,12月2日与3日的PV和UV值相比于前7天,有明显的大幅度上涨。考虑到这两日为周末,用户的闲暇时间较比工作日更多,使用人数会有一定的增加。进一步分析发现,同为周末的11月25日与26日,虽对比同一周期内工作日的PV、UV有轻微上涨,但仍远不及12月2日与3日。因此认为12月2-3日的上涨可能与当时的营销活动有关,如店铺双十二的预热活动和商品预售。

(2) 时间

考虑到时间的周期性,将数据按照24h制进行筛选,以便对比分析。先利用SQL语句将时间格式化,获得用户行为发生时间的精确小时值,再根据小时进行PV、UV值的计算。

不同时间段的PV、UV

PV的平均值为1085908.67,UV的平均值为116351.88,在图片中以红色水平虚线进行标注。为方便进一步分析,根据数据分别计算出各时间段较前一小时的环比增长速度如下图。

PV环比增长
UV环比增长

① 观察PV、UV值的柱形图,发现9点以后的PV和UV均在各自的平均值以上,可知绝大多数用户的睡眠时间结束在早9点之前,并在此之后开始使用APP。由此建议,签到等时间方面有规定的上午活动,应尽量规划在9点以后结束,从而获得更多的参与用户。

② 观察PV、UV值的柱形图,从10点到18点,UV值大致处于一个较高的平稳阶段,说明大部分用户在此时间段内均有APP使用行为。但根据水平相对较低的PV值可得,在该时间段内,用户受工作、学习影响,人均商品浏览量不高。通过观察该时间段内PV、UV环比的波动幅度也能得出,在工作与学习时间段内,APP用户数量保持在较平缓状态,但PV值所能反映出的人均商品浏览量会随着午休的开始与结束等产生较大的波动。

③ 观察PV、UV值的柱形图,从19点到22点是用户的使用高峰期,PV与UV值都处于24h内的较高水平,可知,绝大多数用户的休闲娱乐时间在19点至22点。由此建议,APP内的主要活动应尽量规划在此时间段内,从而获得更多的参与用户。

④ 观察PV、UV值的柱形图,23点的PV、UV值出现明显的下降,说明较多用户选择在23点前进入休息状态。观察该时间段内PV、UV环比增长速率值,发现在22点最先出现PV、UV环比的负增长状态,并从23点开始更为明显的下降,在凌晨1点达到环比负增长速率的峰值,说明大部分用户选择在凌晨1点前进入休息状态。这样的负增长持续到凌晨4点,此时的PV、UV值也降低至最低点。

2. 用户行为分析

利用SQL语句,创建用户行为视图,根据用户id,分别统计其在数据集提供的9天之内的4种用户行为数量(点击、收藏、加购物车、购买),创建好的视图结构如下图所示:

用户行为视图

总用户行为漏斗图

统计用户4种行为的总数并制作漏斗图,发现从点击到购买的转化率只有2.24%,流失严重。
为此进行用户行为的路径分析,确定用户从点击到购买/流失的流程数据。
根据数据集提供参数,得出以下4种用户购买路径:

① pv -> buy
② pv -> fav -> buy
③ pv -> cart -> buy
④ pv -> fav,cart -> buy

利用SQL语句,统计出不同行为路径涉及到的对应具体数据:

创建用户购物路径视图,创建好的视图结构如下图所示,并在创建好的视图内按条件进行查找。
用户购物路径视图
用户行为路径数据整理

根据获取到的数据,绘制出对应的漏斗图:

image
image
image
image

观察发现,在购买转化率上,点击后直接购买的转化率仅为1.329%,明显低于其他三种购买路径,收藏后购买的转化率为7.513%,加购后购买的转化率为9.692%,而既加购又收藏的购买转化率更是达到了15.881%。说明,对比收藏这一行为,更多用户喜欢将购物车作为最终购买的商品池,通过将商品放入购物车,可以避免在想要购买时重新搜寻,使得用户购买意愿提高。由此建议,更多进行跨店满减、收藏加购送赠品、提前加购享折扣等活动,引导用户的收藏加购行为,从而提高购买转化率。

观察点击的非跳出转化率,发现更多的人选择加购行为,达到最高的3.724%,其次是收藏,达到了1.674%。从总体上来看,跳出率过高,反映出淘宝用户虽然pv值高,人均商品浏览量可观,但转化率较低,有很大的提升空间,可以通过完善商品详情页、做好售后增加好评等方式,提高用户的购买意愿。

3. 用户价值分析

根据数据集提供的参数,进行用户的RFM模型分析,进行用户的价值分析。
最近一次消费时间(Recency):本文定义为用户最近一次购买时间到12月3日的差值。
一定时间内消费频率(Frequency):本文定义为用户在9天内的购物次数。
一定时间内累计消费金额(Monetary):由于数据集并未提供该数据,忽略此参数。
创建用户机制分析视图,创建好的视图结构如下图所示,得到计算出的R、F值。

用户价值分析视图

根据构建的表格,得到max(R)为8,min(R)为0,max(F)为159,min(F)为1,以此进行评分体系构建。首先绘制不同购物频次(F)、不同最近消费时间人数折线图如下图。(现实业务中,对于用户下单频次过高等购买行为,应需进行异常检测,此处忽略不计)

image
image

由图表可知,在9天之内,购物频次F为1的用户数量最多,达到了59724人,随后呈现急速下降趋势,从 F=10 开始趋于平缓,可知,绝大多数用户的F值在10以内,评分标准应在此范围内做详细划分。而R值则相对更为平缓,用户的最近一次购物时间,受到上文所推测的活动影响,更多分布在12月1日至12月3日。因此设计评分细则如下表所示:

分数 最近一次消费时间间隔R 消费频率F 1 7-8 1-3次 2 5-6 4-6次 3 3-4 7-9次 4 1-2 10-20次 5 1天以内 20次以上

按照上述打分标准,给与用户进行评分,创建用户得分视图,创建好的视图结构如下图所示。进而利用语句avg(R_score)、avg(F_score),计算出R值平均得分为3.515,F值平均得分为1.391。

image

将用户的F、R两个维度得分与计算得到的均值进行对比,进而分出4类价值用户:① F、R都超过均值的重要价值用户 ② 只有R值超过均值的重要发展用户 ③ 只有F值超过均值的重要保持用户 ④ F、R值都没有超过均值的重要挽留用户。根据条件,进行用户价值类别筛选,结果如下:

image

根据用户分类筛选结果,绘制饼图如下,重要价值用户有37173人,占比21.24%,重要发展用户有63596人,占比36.33%,重要保持用户有10823人,占比6.18%,重要挽留用户有63451人,占比36.25%。用户主要集中在重要发展和重要挽留两个类别。针对不同价值类型的用户,可以采取不同的营销措施。

image

六、总结

1.用户活跃度分析:

① 用户在周末的活跃度比工作日要高,从周五开始,PV、UV值逐渐攀升,并在周一后骤降。

② 大多数用户的睡眠时间结束在早9点之前,并在此之后开始使用APP。由此建议,签到等时间方面有规定的上午活动,应尽量规划在9点以后结束,从而获得更多的参与用户。

③ 19点到22点是用户的活跃度高峰期。由此建议,APP内的主要活动应尽量规划在此时间段内,从而获得更多的参与用户。

④ 较多用户选择在23点前进入休息状态,22点最先出现PV、UV环比的负增长状态,并从23点开始更为明显的下降,在凌晨1点达到环比负增长速率的峰值,说明大部分用户选择在凌晨1点前进入休息状态。由此建议,零点秒杀等夜间活动,尽量控制在1点前结束,以便维持用户的活动参与激情。

2.用户行为分析:

① 从点击到购买的转化率较低,只有2.24%,流失严重。建议优化商品详情页,在做到排版清晰、美观的同时,也要考虑加载速度问题,避免上传较大的图片与视频,从而提高用户的浏览体验,降低详情页面跳出率。提高商品质量,做好售后服务,获得更多的用户好评或者主动邀请用户进行评论反馈,降低评论页面跳出率。

② 用户在点击 → 加购物车 → 购买、点击 → 收藏 → 购买、点击 → 收藏并加购 → 购买这三个流程的购买转化率都明显大于点击 → 购买的购买转化率。由此建议,更多进行跨店满减、收藏加购送赠品、提前加购享折扣等活动,引导用户的收藏加购行为,从而提高购买转化率。

③ 优化推荐算法和搜素关键词商品匹配,优先推荐用户的收藏与加购商品,提高用户购买欲望。

3. 用户价值分析:

① 重要价值用户有37173人,占比21.24%,重要发展用户有63596人,占比36.33%,重要保持用户有10823人,占比6.18%,重要挽留用户有63451人,占比36.25%。用户主要集中在重要发展和重要挽留两个类别。针对不同价值类型的用户,采取不同的营销措施。

② 重要价值用户:属于用户群体中的优质用户,可以针对性进行社群运营,发放特别福利,提供更优质的服务等,继续提高顾客满意度。如近期的88vip会员机制。

③ 重要保持用户:购物次数达到均值以上水平,但近期没有购买行为,可以针对性启用用户召回机制,发送app活动提醒与消息慰问,发送关注商户的上新提醒,发送关注商品的降价提醒等。

④ 重要发展用户:近期有购买行为,但总体购买次数低于均值,可以根据用户购物偏好和用户基本画像进行商品推荐,发放优惠券等,提高用户购买意愿。

⑤ 重要挽留用户:最近一次购买时间较远,购买率低,潜在有价值顾客,应给予用户关怀,维护好用户关系。