sql 不同年份数据结果显示在同一行_SQL实战项目:国外某化妆品电商平台用户行为数据分析...

b902fe868ab3e09472e6ff5a41b35c98.png

终于终于是要给自己的SQL学习来一个小小的总结啦~献上人生第一个SQL的实战项目,项目名字是自己乱起的,但是数据是真的~~~哈哈~加油~

数据来自Kaggle平台较为新鲜的近期数据(2020February,本年为闰年所以二月有29天),链接如下:国外某化妆品电商平台消费数据。里面有具体的数据描述,这里仅贴几张会在项目中用到的数据进行稍加解释。

首先是数据的导入,mac端下的MySQL的csv文件操作与Windows下类似,需要注意的是因为原始文件中不同指标数目过多以及一些没有分析价值的指标例如category_code,对于SQL小白的我选择性地导入一部分指标数据进行分析(主要是我懒~)。

8833aab53f3c7b2f64321770ae4b5584.png
选择性导入部分指标数据

数据的简单介绍:

1f2ef36fc55cedc07adb5d70a4c1e5ca.png
事件发生时间,事件类型

9bf64e5a07d17236c2c96ca3d3d37810.png
商品id,商品类别id,商品类别代码

剩下的就是用户账户名称user_id,不再赘述。

项目步骤:提出问题→理解数据→数据清洗→分析数据&结论

一 提出问题

  • 基于AARRR漏斗模型进行分析。所以提出以下几个问题:
  • 夹点在哪里:用户从浏览到最终购买整个过程的流失情况,确定夹点位置,提出改善转化率的意见
  • 活跃时间在什么时候:在研究的时间段里找出用户最活跃的日期以及每天活跃时间段,了解用户的行为时间模式
  • 什么产品受欢迎:什么产品以及产品类目的购买率最高,找出最受欢迎的产品,优化产品销售
  • 高频购买会员分析:哪些用户购买次数最多,找出最核心的付费用户群,并且统计出这些用户购买的产品以及类目,针对这些用户的购买偏好推送个性化的产品销售方案

二 理解数据

数据集包含了2020年2月1日至2020年2月29日之间,有行为的约40万随机用户的所有行(行为包括点击、购买、加购物车、取关)。数据集大小情况为:用户数量约40万(391055),商品数量约4万(48579),商品类目数量487以及总的用户行为记录数量为400多万条(4156682)。

26c6a35faca29c15268e7ac9d830733f.png
数据集大小介绍

三 清洗数据

  1. 选择子集: 参照文章开头
  2. 列名重命名:原数据集有表头,数据导入Mysql数据库即可。
  3. 删除重复值:表格数据导入时保证没有重复数据。
  4. 缺失值处理:经查询没有缺失值。

e591b13b5b134191a806df8b301e60a1.png
查询缺失值

5.异常值处理:表中无异常值数据

四 用户行为分析

建立视图便于统计各种行为发生的次数:

da10e0779015ee0b47a7e6237e131864.png

4.1 用户转化率

用户转化率=产生购买行为的访客人数/所有到达店铺的访客人数,本文将所有产生行为的用户人数视为到达店铺的访客人数;根据查询结果计算,用户转化率为5.82%,转化率偏低。

4fdfb225ce85a0b6adb3ae624004a2e9.png

4.2 用户流失环节分析

从购买流程的角度来分析用户在哪个环节流失较多

加购环节:部分用户点击后未加入购物车,直接购买,这部分用户未流失,因此查询加入购物车环节的流失人数应该排除这部分用户,流失率为53.44%.

3d3a8d3ab006e3d310b3b0d66c998727.png

付款环节:加入购物车后却最终没有付款,流失率为52.71%.

a28b7197fbceb3d443dffc772fbd25e6.png

加购后失去兴趣移出购物车:流失率为34%

3d836d0840f7d0e965cabe35371fcec4.png

Question:

用假设检验的方法分析上述环节流失率高的原因

假设1:推送商品不符合用户偏好客户购买量排行.

e4b4b127345fa488a42fb9c0779ca92d.png
分别查询购买前100和点击前100 的商品

de61af337b0571faaca96b93b102c7c1.png
内连接查询公共部分的商品ID

结果显示,有31个商品是购买前100与点击前100共同的商品ID,说明推送的商品不太符合用户偏好,假设一成立。

假设2:商品或服务质量不能满足用户需求,用户回购率低。

4123489a73fc51a1de53ab9a64dd7602.png

结果显示,商品接近一半都有被回购,但是顾客只有10%产生回购行为,原因可能是商品质量并不理想,入手后就被拔草了~~~

4.3 用户行为模式分析——找出用户最活跃的日期以及每天活跃时间段,了解用户的行为时间模式

A. 查询用户点击量最活跃的日期

84549506e8e4b384ccdbba48fbaef2fa.png

导出数据python 可视化结果:

d387b5a5fe29d58e04b2b266b81030b0.png

点击率逐渐下降可能是圣诞节后的回归,大家步入新一年的工作,无心专注于买买买~

B. 查询用户点击量最活跃的时间段

84836660ce3e1f19e766a304ec69ad31.png

导出数据python 可视化结果:

8b5750fb82688e9fbe163bba47b72c56.png

可以看到中午12点和下午19时点击量最大,大概是因为中午12点是lunch time ,晚上7 点左右大家是下班后的free time,不受工作事务影响所以尽情滴购起了物~

4.4 产品销售分析——什么产品以及产品类目的购买率最高,找出最受欢迎的产品,并优化产品销售

A. 查询购买率最高的产品

fc507b1ba76cc558e0b76cfe53734463.png

结果显示product_id 为5809910 和5808664的销量遥遥领先,和第三名5809912有较大的差距,但是随后的商品销量均匀递减。

B. 查询不同购买次数的商品数量累计情况

ea8367d5fe8adfab78793385192e592a.png

结果显示大多数人的回购次数只有个位数,反而购买次数多的人却很少,有点符合长尾效应,让我们导出结果用python 可视化验证一下吧~Bingo!!!

d750edd81f7f237dcf12a632e174dfa7.png

C. 查询不同购买次数的商品类别累计情况

c9dd67fa4582d1dd38450abc65bac091.png

结果显示大多数人的购物对象只集中于某一种产品,反而多种产品只有一小部分人买,也有点符合长尾效应,让我们导出结果用python 可视化验证一下吧~Bingo!!!

c33deebb7fea996d2fb27e38dcf6f4bc.png

4.5 核心用户分析——哪些用户购买次数最多,找出最核心的付费用户群,并且统计出这些用户购买的产品以及类目,针对这些用户的购买偏好推送个性化的产品销售方案.

A. 查询购买率最高的顾客

0b980a3cee239a322918cc8ed390df66.png

我们得到了二月最佳买买买小能手前三名~对于下单量超多的客户应该多推送给他们喜欢的类似或更高价的产品,做到cross-sale 和 up-sale双管齐下~

B. 统计出高价值用户购买的商品以及类目

用户购买行为是个性化的行为,不同用户的购买商品可能完全不同,应单独分析。这里pick up 下单量第八位的客户进行分析,为什么选他呢?因为我最喜欢数字8~~~

首先分析8号喜欢的商品:

ec118602187928154949bf62415a5fb9.png

但是很不幸,8号的购买倾向分布地很平均。。。。。。

接着分析8号喜欢的商品类别:

1b55a2b87bd7de0e77447586ab6d6fcb.png

看来8号也有自己喜欢的商品类别~~~

来一个小小的总结,经过自己的学习算是掌握了SQL的入门知识,在做这个项目的时候也顺便搜了学习了不少以前没有遇到过的语法,过程开心又充实~马上就要毕业啦,多刷题多锻炼自己的思维~加油~~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Hive的某电商消费用户行为数据分析可以分为以下几个步骤: 1. 数据采集:通过网络爬虫等方式获取电商网站的用户行为数据,并将其存储在HDFS上。 2. 数据清洗:对采集到的原始数据清洗,去除无用数据,处理缺失值和异常值等。 3. 数据预处理:对清洗后的数据预处理,包括数据转换、数据合并、数据划分等。 4. 数据存储:将预处理后的数据存储在Hive中,以便后续分析使用。 5. 数据分析:通过Hive SQL语句进数据分析,包括用户行为分析、用户画像分析、商品分析、销售分析等。 下面是一份可能的Hive SQL源码示例,用于实现用户行为分析: ```sql --创建数据表 CREATE TABLE user_behavior( user_id STRING, item_id STRING, category_id STRING, behavior_type INT, date STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE; --加载数据到表中 LOAD DATA INPATH '/data/user_behavior.txt' OVERWRITE INTO TABLE user_behavior; --查询用户行为数据 SELECT behavior_type, count(*) as total FROM user_behavior GROUP BY behavior_type; --查询用户购买商品的排名 SELECT item_id, count(*) as total FROM user_behavior WHERE behavior_type = 4 GROUP BY item_id ORDER BY total DESC LIMIT 10; --查询不同类别商品的销售量 SELECT category_id, count(*) as total FROM user_behavior WHERE behavior_type = 4 GROUP BY category_id; ``` 注意:这只是一个简单的示例,实际的数据分析过程可能包含更多的步骤和更复杂的SQL语句。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值