SQL分析阿里云淘宝电商数据

本文使用SQL语句对50w条淘宝用户数据进行分析。
数据库:SQL Server。

一、提出问题

1、分析目的

本文期待通过挖掘淘宝用户数据价值,研究用户活跃度,购买行为,商品销量等情况,对提升电商关键业务指标提出建议。
具体讨论问题如下:

  1. 从点击到购买,用户流失情况如何?
  2. 日常用户活跃度如何?具体的时间段用户活跃度呢?
  3. 特殊日期(周末)用户活跃度情况如何?
  4. 用户分时间段下单情况?哪个时间段下单最多?
  5. 核心用户有哪些,特点如何?
  6. 用户点击与购买之间是否存在关联?
  7. 哪些商品,商品类目最受欢迎,订单量最高?

2、分析框架

在这里插入图片描述

二、数据准备

1、数据来源

数据源自阿里云天池数据库——User Behavior Data from Taobao for Recommendation
在这里插入图片描述

2、数据描述

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

3、数据预处理

3.1截取数据

由于100w条数据量太大,使用查询语句运转太慢,所以改为选取其中50w,运行速度需6s。

--使用Rand()进行随机抽取
select top 500000 * into data from UserBehavior
order by RAND() 
3.2设置列名及属性

进入数据管理器,选择设计,修改列名及属性如下图:
在这里插入图片描述
如果出现报错,可以参考此文 SQL SERVER不能修改表的解决方法(增加字段、修改字段名)

3.3时间戳的转化
--转化时间戳为时间
select DATEADD(S, 时间戳+ 8 * 3600,'1970-01-01 00:00:00' ) from data
ALTER TABLE data ADD 时间  datetime NULL;
update data
set 时间 = DATEADD(S, 时间戳+ 8 * 3600,'1970-01-01 00:00:00' )

--新增列,日期
ALTER TABLE data ADD 日期  date NULL;
update data
set 日期 = Datename(year, 时间)+'-'+Datename (month,时间)+'-'+Datename(day,时间) 
from data

--新增列,时间
ALTER TABLE data ADD 时分秒 time(0) NULL;
update data
set 时分秒 = Datename(HOUR, 时间)+':'+Datename (MINUTE,时间)+':'+Datename(SS,时间) 
from data

在这里插入图片描述

3.4数据检查

去除重复项:

select distinct * from data

判断行为类型是否符合四类。

select *from data
WHERE 用户ID IS NULL OR 商品ID IS NULL OR 商品类目ID IS NULL
OR 行为类型 IS NULL OR 时间戳 IS NULL
select 行为类型, COUNT(*) from data group by 行为类型

判断日期是否在2017年11月25日至2017年12月3日区间。

--查看是否存在日期异常
select MAX(时间),MIN(时间),MAX(日期),MIN(日期) from data
delete from data
--删除过大或者过小的日期
where 时间 < '2017-11-25 00:00:00' 
or 时间 > '2017-12-04 00:00:00'

总计删除219条数据,有效数据为499782条。

三、数据分析

1、数据概况

1.1 用户数量,不同商品数量,商品类目数量统计

49.9w条数据,主要包含4864名用户记录,24.2w商品细类和5065个商品类目。

--用户数量
select COUNT(distinct 用户ID) as 用户总数 from data
--不同具体商品数
select COUNT(distinct 商品ID) as 不同商品总数 from data
--不同商品类目
select COUNT(distinct 商品类目ID) as 商品类目总数 from data

在这里插入图片描述

1.2 行为类型

关注4个客户行为类型的基本数据,分析用户行为路径。

select 行为类型, COUNT(*) as 次数, COUNT(distinct 用户ID) as 人数
from data group by 行为类型

在这里插入图片描述

转化率节点位置

从点击量89.83%到最后购买2.05%,流失最大的位置是点击到购物车环节。
在这里插入图片描述

用户UV转化指标

购买人数占点击人数的69.7%,转化率很高。当物品被放入购物车后,有91%的几率下单。
在这里插入图片描述

2、用户活跃度分析

用户的点击量体现的是活跃度,通过点击量与时间的交叉分析,聚焦产品活动时间段,分析用户潜能,实现有效推广。

2.1 用户访问变化情况
select  日期,COUNT(用户ID) as 点击数 from data
where 行为类型= 'pv'
group by 日期
order by 点击数 desc

在这里插入图片描述
在这里插入图片描述

点击率前三分别是12.2(周六), 12.3(周日), 12.1(周五)。12.2之前的用户平均点击量约为4.6w,12.2与12.3实现了平均32%的点击量增幅。与一周前的周六日11.25和11.26点击量对比,这个数据展示了周末用户活跃度可以经过运营活动提升的潜能。

2.2 活跃度的具体时间段
ALTER TABLE data ADD 小时 int NULL;
update data
set 小时=DATENAME(HH, 时分秒) from data
select 小时, COUNT(小时) as 计数 from data where 行为类型='pv'
group by 小时
order by 小时

在这里插入图片描述

在这里插入图片描述
0-8时睡觉时间,点击量很低,低于平均值;
9-18时工作时间,点击量在均值上下浮动;
19-23时下班时间,点击量呈现正态分布,在21-22时达到峰值。

2.3 特殊日期(周末)活跃度

上文提到12.2与12.3日为点击量最多的日期,而同为周末的11.25与11.26则点击量表现不显著。下面对其进行可视化对比:

select 小时, COUNT(小时) as 计数 from data 
where 行为类型='pv' and 日期 in ('2017-12-02','2017-12-03' )
group by 小时
order by 小时
select 小时, COUNT(小时) as 计数 from data 
where 行为类型='pv' and 日期 in ('2017-11-25','2017-11-26' )
group by 小时
order by 小时

在这里插入图片描述

【周末】数据曲线与【点击量与时间点】曲线基本趋势相同。
下面对12.2-12.3和11.25-11.26两个周末的时间点进行对比:
细节上,10时是第一个小峰值,12时均有回落,但11月底的周末回落幅度大于12月初周末;
第二个小峰值到第二个低谷的时间长度不同,11.25-11.26下午3点达到峰值,而12.2-12.3保持点击量增长直到下午4点才开始下降;
从第二个低谷至全天峰值增长百分比不同,12月初的周末从下午5低谷至21点峰值的点击量增长率为94.5%,11月底周末的增长率为79.5%;
总体来说,0-8时之间点击量相差不大,9时之后点击量拉开差距,在21时实现差值最大,这也体现了运营活动对用户活跃度产生的影响。
19时至22时为用户最活跃时间段,点击量增长潜力巨大,商家可考虑在此时间段推出活动从而提升销售额;另外,考虑到用户的活跃时间,应注意调整客服时间,及时回复消息。

3、 用户购买行为分析

3.1 分时段下单情况
select 小时, COUNT(小时) as 下单数 from data 
where 行为类型='buy' 
group by 小时
order by 小时

在这里插入图片描述

这个曲线趋势与用户活跃时间曲线基本相同,说明用户点击量与购买量存在正相关。但白天下单量与晚间差值不大,晚间时段大部分用户只浏览不购买。

3.2 下单用户分析
不同下单数量的频数分布
--创建视图
create view user_buy 
as 
select  用户ID, COUNT(*) as 下单数 from data 
where 行为类型='buy' 
group by 用户ID
go
--视图基础上筛选下单数top10
select top 10 下单数,  COUNT(*) as 频数 from user_buy
group by 下单数
order by 频数 desc

在这里插入图片描述

取前十个频数最多的数据来看,下单次数越多的用户占比越小。下单1次的用户占比最多,达33%,应多调动这部分用户的活跃度,培养用户购买习惯,提升复购率;下单2-3次的潜在忠诚客户占比为40%,应加大活动力度,稳定用户成为高频使用会员;平台高频率用户占27%,需要注重产品质量与客服,获得用户的深度认同。

核心用户的购买行为
select top 10 用户ID,COUNT(*) as 订单量, 
count( distinct 商品ID) as 商品数量 from data
where 行为类型='buy' 
group by 用户ID
order by 订单量 desc

在这里插入图片描述

除了订单数量外,订单额也是需要引入的维度。同时拥有高订单量和高订单额特征的用户才最具价值。需要对这些用户予以高度关注,针对其消费喜好进行定制化服务,赢得他们对产品的深度认同。

以订单量最多的用户ID1008380为例:

create view No1_buy
as
select 商品类目ID, COUNT(用户ID) as 购买次数 from data
where 行为类型='buy' and 用户ID ='1003983'
group by 商品类目ID

create view No1_pv
as
select 商品类目ID, COUNT(用户ID) as 浏览次数 from data
where 行为类型='pv' and 用户ID ='1003983'
group by 商品类目ID

select * from No1_pv left join No1_buy on No1_buy.商品类目ID=No1_pv.商品类目ID
order by 购买次数 desc, 浏览次数 desc

在这里插入图片描述

商家可根据其浏览及购买数据生成客户偏好数据(偏好价格区间,相似商品类目等),着重关注多次浏览商品,智能推送优选产品,从而提升销售额。

4、商品销量分析

4.1 商品销量排行榜(Top 10)
select top 10 商品ID, COUNT( 用户ID) as 购买次数 from data
where 行为类型='buy'
group by 商品ID
order by 购买次数 desc

在这里插入图片描述
上表为销量前十的商品,数据维度信息太少,无法从中获取更有用的信息,引入点击量与比例维度(购买次数/点击次数)。

4.2 【购买】与【点击】环节相关分析
--创建视图商品销量
create view 商品销量
as
select 商品ID, COUNT( 用户ID) as 购买次数 from data
where 行为类型='buy'
group by 商品ID

--创建视图商品点击量
create view 商品点击量
as
select 商品ID, COUNT( 用户ID) as 点击次数 from data
where 行为类型='pv'
group by 商品ID


select top 10 商品销量.商品ID, 购买次数, 点击次数, 购买次数/点击次数  as 比例
 from 商品销量 left join 商品点击量
on 商品销量.商品ID =商品点击量.商品ID
where 购买次数/点击次数 >= 1
order by 购买次数 desc , 点击次数 desc, 比例 desc

在这里插入图片描述

总计筛选出1993个商品,占总商品数(242165)的0.8%。
上表选取展示销量前十的且购买数大于等于浏览量的商品。这些商品对购买者具有很强的吸引力,使得购买者未多加思索便进行购买。对这一现象的具体分析需要更多的数据支持(商品特征,销售策略,品牌,质量,服务,消费者行为明细等),从而提升商品吸引力。

反过来,我们可以使用【比例】升序筛选出低于总体平均值0.02(即浏览超过50次下单1次)的商品,分析商品存在的吸引力缺失因素,为提升转化率提供解决方案。
这里的平均值=购买量(10222)/点击量(448970)

select 商品销量.商品ID, 购买次数, 点击次数, 购买次数*1./点击次数  as 比例
 from 商品销量 left join 商品点击量
on 商品销量.商品ID =商品点击量.商品ID
where 购买次数*1./点击次数 < 0.02
order by 比例 asc

在这里插入图片描述

4.3 商品类目销量排行榜(Top 10)
select top 10 商品类目ID, COUNT(distinct 用户ID) 客户数, 
COUNT(distinct 商品ID) 商品数  from data
where 行为类型='buy'
group by 商品类目ID
order by 客户数 desc

在这里插入图片描述

商品类目可以为商家标签化购买者偏好提供线索,可惜的是,原始数据只有类目ID,缺少数据支持。

四、结论与建议

1.对淘宝用户路径行进行漏斗检查,从点击量89.83%到最后购买2.05%,流失最大的位置(即夹点)是点击到购物车的环节。这对这一环节,建议如下:提高搜索和标签精度,以便帮助用户快速获取所需商品信息,降低用户跳出率;根据搜索关键词进行优选智能推荐,增加用户购买几率。
2. UV(Unique Visitor)用户购买人数占点击人数的69.7%,转化率很高。当物品被放入购物车后,有91%的几率下单。将淘宝用户的浏览及购买记录生成客户偏好数据(偏好价格区间,商品类目等),着重关注多次浏览商品,实施智能精准推送。
3. 点击量最高的日期为12.2(周六)与12.3(周日)。12.2之前的用户平均点击量约为4.6w,12.2与12.3实现了平均32%的点击量增幅。与一周前的周六日11.25和11.26点击量对比,这个数据展示了周末用户活跃度可以经过运营活动提升的潜能。
4. 全天分时段来看,0-8时点击量不大,9时之点击量逐渐提升,在平均值附近徘徊,19时开始最活跃度快速上升,21-22时达到峰值,随后回落。19-23时这一时间段点击量增长潜力巨大,商家可考虑在此时间段推出活动从而提升销售额;另外,考虑到用户的活跃时间,应注意调整客服时间,及时回复消息。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 阿里天池淘宝2017-11用户行为数据分析是基于Hive进行的。Hive是一个构建在Hadoop之上的数据仓库基础架构,提供了类似于SQL的查询语言HiveQL,使用户能够在大规模数据集上进行数据查询和分析。 在进行淘宝用户行为数据分析时,首先需要将原始数据导入Hive数据仓库中。数据源可以是来自淘宝的用户行为日志文件,其中包含了用户在淘宝平台上的各种行为,例如浏览商品、点击广告、添加购物车、购买等等。 然后,使用HiveQL语言编写查询语句,通过Hive进行数据分析数据分析的目标可能包括但不限于:用户行为的频率分布、用户购买转化率、热门商品排行、用户购买决策的时间分布等等。通过对用户行为数据进行分析,阿里天池淘宝可以洞察用户行为的规律,发现用户需求和购物习惯,从而为优化产品和推广策略提供参考。 Hive的优势之一是可以处理大规模的数据,因此对于淘宝这样拥有海量用户和数据的平台而言,使用Hive进行用户行为数据分析非常合适。此外,Hive还提供了数据仓库的概念,可以通过不同的方式将数据进行结构化和存储,以方便后续的查询和分析。 综上所述,阿里天池淘宝2017-11用户行为数据分析基于Hive,通过将用户行为数据导入Hive数据仓库,利用HiveQL进行查询和分析,从而洞察用户行为规律,为产品和推广策略优化提供依据。Hive作为一个大数据处理工具,对于处理淘宝这样海量用户和数据的平台来说是非常适用的。 ### 回答2: 阿里巴巴天池是一个面向数据科学家和机器学习爱好者的在线数据科学竞赛平台,提供丰富多样的数据集和竞赛任务。其中,淘宝用户行为数据分析是天池平台的一个竞赛任务。在这个竞赛中,参赛者需要使用Hive来完成对淘宝2017年11月的用户行为数据进行分析。 Hive是基于Hadoop的数据仓库系统,它可以处理大规模数据,并提供了类似于SQL的查询语言,使得用户可以通过编写SQL式的语句来查询和分析数据。在淘宝用户行为数据分析任务中,Hive可以帮助分析师和数据科学家从大量数据中提取有用的信息。 通过Hive,我们可以利用淘宝用户行为数据进行各种分析,如用户购买行为、浏览行为、搜索行为等。我们可以使用Hive的查询语句来筛选、聚合和统计数据,以得出用户行为的关键指标。 一种常见的使用Hive进行用户行为数据分析的方法是利用Hive提供的内置函数和操作符来进行数据的转换和计算。通过使用Hive的内置函数,我们可以对用户行为数据进行预处理,如将日期格式化、提取关键字等。然后,我们可以使用Hive的聚合函数和操作符来计算用户行为的各种指标,如总购买金额、平均浏览次数等。 此外,Hive还支持用户自定义函数和UDAF(用户自定义聚合函数),这使得分析师和数据科学家可以根据自己的需求来扩展Hive的功能。通过编写自定义函数,我们可以在Hive中实现更加复杂的计算和分析。 总的来说,通过Hive,我们可以使用SQL式的查询语言对阿里天池淘宝2017年11月的用户行为数据进行分析。通过Hive的内置函数和操作符,以及用户自定义函数和UDAF,我们可以从大规模的数据中提取有用的信息,并计算出用户行为的各项指标。 ### 回答3: 阿里天池淘宝2017-11用户行为数据分析基于Hive,可以使用Hive这个大数据存储和计算框架对淘宝2017年11月的用户行为数据进行分析。 Hive是一个基于Hadoop的数据仓库基础架构,可以将大规模数据集存储在Hadoop集群中,并同时提供类似于关系型数据库的查询和分析功能。通过Hive,可以利用SQL的方式对大规模数据进行查询和分析,使得数据分析师更加方便地处理和分析海量数据。 对于淘宝2017-11用户行为数据,可以将其导入Hive中进行分析。首先,可以创建一个Hive表,定义各个字段的名称和数据类型,然后将用户行为数据导入到这个表中。接着,可以使用Hive提供的SQL语句进行各种查询和分析。 例如,可以通过查询语句统计每个用户的购买次数、浏览次数、加入购物车次数等行为情况,从而分析用户的购买意向和行为模式。也可以对用户的购买行为进行细分,比如按照地区、商品类别等进行分组,以了解不同用户群体的购物习惯和喜好。此外,还可以对用户行为的时间分布进行分析,了解用户在不同时间段的活跃度和购买偏好。 通过Hive的数据分析功能,可以深入挖掘淘宝2017-11用户行为数据中潜在的商业价值,为企业的市场营销和业务决策提供重要参考依据。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值