用mysql做数据分析——淘宝用户行为分析

本文利用MySQL提取数据,通过写SQL的数据处理方式,来对一份淘宝数据进行用户分析。

一、数据来源及说明

阿里云天池: https://tianchi.aliyun.com/dataset/dataDetail?dataId=649

本数据集包含了2017年11月25日至2017年12月3日之间,约有一百万随机用户的所有行为(行为包括点击、购买、加购、喜欢)。数据集的每一行表示一条用户行为,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。

数据记录达到一亿条,为了方便分析及效率,源数据是已经按照user_id排序好的,因数据量较大,取5百万行到8百万行之间的3百万行记录进行分析。

各字段含义:

User_ID:用户身份

Item_ID:商品ID

Category_ID:商品类目ID

Behavior_type:用户行为类型(包含点击、收藏、加购物车、购买四种行为,分别用pv,fav,cart,buy)

Time_stamp:用户行为发生的时间

二、提出问题

1、整体用户的购物情况

pv(总访问量)、日均访问量、uv(用户总数)、有购买行为的用户数量、用户的购物情况、复购率分别是多少?

2、用户行为转化漏斗

点击— 加购物车— 收藏— 购买各环节转化率如何?

3、购买率高和购买率低的人群有什么特征

4、基于时间维度了解用户的行为习惯

5、不同商品种类的用户行为

6、基于RFM模型的用户分析

三、数据清洗

1、导入数据

第一种:在Navicat中导入

数据量有300多万,本次通过数据库管理工具 Navicat 将数据集导入 MySQL 数据库,速度较慢,数据库的表名为user_behavior。


第二种:用python向Mysql写入数据

先在 mysql 的 data 库创建 user_behavior表,然后在Juypter中运行以下代码,读取csv数据向Mysql写入数据


两种方法的比较,第一种:直接在Navicat中导入,速度会很慢,但是稳定,一般系统不会崩溃,第二种:用python向Mysql写入数据,速度相对第一种较快,但是如果数据源太大,容易崩溃。当然,除此之外还有一些其他方法。

2、缺失值处理

经检查,原始数据不存在空值,可直接进行下一步操作。

3、数据一致化处理

时间数据中原为时间戳格式,需要将其分为两列,以便研究每日和一段日期内数据变化



四、构建模型和分析问题

1、总体用户购物情况

访问用户总数(UV):29282

页面总访问量(PV):2684586

平均每人每周访问量为91.6次页面

日均访问量


有购买行为的用户数量


用户的购物情况


复购率:产生两次或两次以上购买的用户占购买用户的比例


2、用户行为转化路径漏斗分析


用户总行为数漏斗计算,有两种方法

第一种:

第二种:


由于收藏和加入购物车都为浏览和购买阶段之间确定购买意向的用户行为,且不分先后顺序,因此将其算作同一阶段,可以看到从浏览到有购买意向只有9.53%的转化率,当然有部分用户是直接购买而未通过收藏和加入购物车,但也说明大多数用户浏览页面次数较多,而使用购物车和收藏功能较少,而购买次数占使用购物车和收藏功能的23.32%,说明从浏览到进行收藏和加入购物车的阶段是指标提升的重点环节。

但是上述分析并不是很准确,因为buy用户分为两类,一类是由点击——收藏或加购物车——购买转化而来,还有一类是有点击——购买,没有进行收藏和加购物车,


点击——购买,没有进行收藏和加购物车
点击——收藏或加购物车——购买


通过拆分最终购买用户的行为路径,可以将拆分成加购或收藏和不加购且不收藏两类,其中不加购且不收藏的用户,由点击直接购买的转化率为2.80%;加购或收藏的用户,点击到收藏或加购的转化率为10.14%,由收藏或加购到最终购买的转化率为21.55%,但是由点击到购买的转化率仅为2.18%,低于不加购且不收藏的用户,这说明活跃度高的用户并不一定转化率较高,不加购且不收藏的用户,可能为理智型消费者,购买率更高,后期结合购买率高低人群特征来佐证分析。

独立访客漏斗模型


查询出结果是每一步用户行为的独立用户数,可以看到使用APP的用户中PUR(付费用户占比)为67.98%,用户付费转化率相当高。

3、购买率高和购买率为低的人群有什么特征

购买率高用户特征:




由以上结果可以看出,购买率高的用户很多点击率并不是很高,这些用户收藏数和加购物车的次数也很少,很多都是就直接购买,查看高购物率用户的用户行为,发现并非一次性购买多件同一商品,购买的商品多为之前收藏、加购或者购买过,行为路径多为点击——购买,由此可以推断出这些用户为理智型消费者,有明确的购物目标,有明确的购物计划,属于缺啥买啥型,较少会被店家广告或促销吸引,更倾向于之前购买过的优质商品。

购买率为低用户特征:



由以上结果可以看出,购买率低的用户分为两类,一类是点击次数少的,一方面的原因是这类用户可能是不太会购物或者不喜欢上网的用户,可以加以引导,另一方面是从商品的角度考虑,是否商品定价过高或设计不合理;第二类用户是点击率高,收藏或加购物车较少的用户,此类用户可能为闲逛用户,这类用户没有明确的购物目标,喜欢在APP闲逛,购物欲望较差,针对此类用户更多地是关注对于APP整体活跃度的贡献。

4、基于时间维度了解用户的行为习惯

(1)一天中用户的活跃时段分布


可以看出,每日0点到5点用户活跃度快速降低,降到一天中的活跃量最低值,6点到10点用户活跃度快速上升,10点到18点用户活跃度较平稳,19点到22点用户活跃度快速上升,达到一天中的最高值,之后午夜进入低谷,符合大部分人的作息时间。在晚上19点到22点,进行各种直播活动等互动营销手段,可能取得更大的收益。

(2)  一周中用户活跃时段分布



从上图可以看出,从左到右为周一到周日的数据,工作日时各项指标相对平稳,而到周末高涨,推测是上班族因工作逛淘宝的时间少,而周末有充足的精力,购买能力也增加。因此平日运营可以将活动集中在周末进行。

5、不同商品种类的用户行为

1)统计浏览次数、收藏次数和加入购物车次数、购买次数最多的商品。


浏览量前10的商品


收藏量前10的商品


加购量前10的商品


购买量前10的商品


浏览和收藏前10相同的商品ID


浏览和加购前10相同的商品ID

从上可以看出,浏览和收藏量的前10商品,有5个是相同,浏览和加购量的前10商品,有3个是相同,并且浏览、收藏、加购量前19的商品中,有2个是相同的,说明收藏和加购跟跟浏览量有直接的关系。


浏览、收藏、加购和购买前10名相同的商品ID

从上可以看出,浏览量高、收藏量高的商品,最终的购买量并不是很高,转化效果不是很好, 说明这些吸引用户更多注意力的商品没有很好的转化为实际销量,仅更多的进入收藏中;加购量和购买量前10的商品中,有两个是相同的,说明加购的商品多为具有购买意向的商品,加购可能是用户等待合适的时间或者是等待更好的优惠再买,能较好的转化为实际销量,对于加购的商品,可通过提醒用户和推送优惠的方式,促进用户消费。

2)统计所用商品的购买次数



根据本次分析的数据,只购买一次的商品有37567种,购买两次的商品有5376种,本次分析的商品有45627种,购买一次的商品占到82.34%,说明商品售卖主要依靠长尾商品的累计效应。而非爆款商品的带动。

6、基于 RFM 模型找出有价值的用户

由于数据源没有商品的金额,无法统计M值,故本次只计算RF值。

计算消费间隔R值,最近消费时间和最大时间(2017-12-03)间隔时间,最近购买时间的区间为0-8,将其分为3档,0-2,3-5,6-8分别对应的R评分0到2






计算消费频率F值,付费用户中消费次数从低到高为1-84次,将其分为6档1-9,10-19,20-29,30-39,40-49,50以上,对应F评分分别为0-5分




从中我们可以得到用户的RFM分数,用户user_ID为234304的用户综合评分为7分,购买次数为84,是体系中的最有价值用户,综合评分大于4的用户属于活跃的成熟客户,可以积极推送营销信息,对于综合评分为4—2的用户,可以通过推送新品通知、店铺活动信息的方式进一步提供用户的活跃度,对于评分小于2的用户,运营活动可以重点针对这部分用户,提高用户使用产品的频率,可以通过拼团打折、积分兑换等活动唤起用户注意力。


选定RF值为7的用户为超级用户,来分析超级用户的行为,发现该类用户每天都产生了购买行为,且收藏功能和购物车的使用频率较低,并且购买行为在周末达到高峰,可以根据该用户的活跃规律进行相关活动的推送。

本文参考大白菜老师的文章,数据集来源[https://www.jianguoyun.com/p/DSACrTAQ8IeCBxiE_ZYD)

五. 结论与建议 

本文分析了淘宝用户行为数据共300万条,从四个不同角度提出业务问题,使用用户行为路径和RFM模型分析数据给出如下结论和建议。 

 1.用户行为转化漏斗分析

用户行为包括点击、放进购物车、收藏以及购买,由于收藏和加入购物车都为浏览和购买阶段之间确定购买意向的用户行为,且不分先后顺序,因此将其算作一个阶段,从浏览到有购买意向只有9.53%的转化率,当然有一部分用户是直接购买,但也说明大多数用户以浏览页面为主而购买转化较少,此处为转化漏斗中需要改善和提高的环节。

 针对这一环节改善转化率的建议有: 

(1)优化电商平台的搜索匹配度和推荐策略,主动根据用户喜好推荐相关的商品,优化商品搜索的准确度和聚合能力,对搜索结果排序优先级进行优化。 

(2)在商品详情页的展示上突出用户关注的重点信息,精简信息流的呈现方式,减少用户寻找信息的成本 

(3)优化加入购物车和收藏按键的触达,用户在滑屏时也能方便触达,增加功能使用的次数。 

  2.研究用户在不同时间尺度下的行为规律,找到用户在不同时间周期下的活跃规律 

以一周为周期进行波动,一周中的高峰期在周末,符合上班族作息时间中的空闲时期。而平时一天中,在晚7点后出现高峰期。针对高峰期进行营销活动收益最高,此时使用人数最多,活动容易触达用户,营销活动的形式可以通过促销、拼团、直播等形式进行。 

 3.找到用户对不同种类商品的偏好,找到针对不同商品的营销策略 

商品售卖主要依靠长尾商品的累积效应,而非爆款商品的带动。而浏览次数前列的商品甚至没有进入销量前10,说明这些吸引用户更多注意力的商品没有很好的转化为实际销量。 针对浏览量高而销量不高的这部分商品,需要提高的是用户从点击进入商品详情页到最终购买的体验。作为商家端可以从以下几个方面提高销售额:

 (1) 商品详情页的实际价格是否相比展示价格偏差过大,有的商家为了吸引用户点击在商品展示页投放的价格具有较强吸引力,但实际价格偏高,在用户心中反而引起反感 

(2)详情页的信息流展示是否合理,是否将用户最想看到的部分置于容易看到的位置,便于信息的获取 

(3)优化商品展示的形式,利用视频等方式给用户更直观的感受,提高照片的美观程度 

(4)评论区评价管理,尤其对于差评区的用户反馈进行认真对待,提高自身服务质量 

 4.通过RFM模型找出最具价值的核心付费用户群,对这部分用户的行为进行分析

 R和F评分都很高的用户是体系中的最有价值用户,需要重点关注,并且活动投放时需谨慎对待,综合评分大于4的用户属于活跃的成熟客户,可以积极推送营销信息,对于综合评分为4~2的用户,可以通过推送新品通知、店铺活动信息,对于评分小于2的用户,运营活动可以重点针对这部分用户,提高用户使用产品的频率,可以通过拼团打折、积分兑换等活动唤起用户注意力。

你可能感兴趣的:(用mysql做数据分析——淘宝用户行为分析)