这是巴西Olist数据集,该数据集包含1个文件,将近10万行。
数据链接:
https://www.kaggle.com/jainaashish/orders-merged
分析该数据可以探究其销售情况,用户流量以及产品的分布,也可以对商户进行评分,多维度分析销售,找出商户影响销售的情况以及客户不满意的原因,以完善服务。
1、product_id:商品ID
2、seller_id:商家ID
3、order_id:订单ID
4、order_purchase_timestamp:下单时间
5、customer_unique_id:用户ID
6、customer_state:客户所在的州
7、review_score:评价得分,客户在满意度调查中给出的注释范围为1到5
8、review_creation_date:发出满意度调查日期
9、payment_type:付款方式
10、payment_installments:客户选择的分期付款数量
11、payment_value:交易金额
12、order_item_id:序号,用于标识同一订单中包含的商品数量
13、seller_state:卖家所在州
14、product_category_name:类别名称
对整体、用户、商户、产品、销售五个方面进行分析。分析工具为SQL,可视化工具为Tableau和PowerBI
-- 查看数据有多少
SELECT COUNT(*) FROM ecom
-- 日期格式转化
CREATE VIEW o_time AS
SELECT order_id,
customer_unique_id,
year(order_purchase_timestamp) AS y,
month(order_purchase_timestamp) AS m,
date(order_purchase_timestamp) AS d,
hour(order_purchase_timestamp) AS h
FROM ecom
SELECT SUM(payment_value) AS 总交易金额,count(order_id) AS 总订单量,
SUM(payment_value)/count(DISTINCT customer_unique_id) AS 客单价,
count(DISTINCT customer_unique_id) AS 用户数,count(DISTINCT seller_id) AS 商家数,
count(DISTINCT product_category_name) AS SPU,count(DISTINCT product_id) AS SKU
FROM ecom;
代码运行结果:总交易金额15,170,437.55元,用户数93,358位,客单价162.50元,总订单数96,478笔,,商家数2,959位,SPU有74个,SKU有31111个
2.1.1 日活跃
SELECT d 日期,
count(DISTINCT customer_unique_id) DAU
FROM o_time
GROUP BY d
ORDER BY d
可以看出,DAU是稳步递增的,且在17年7月-18年1月之间有个爆炸式增长。经查询可知那日为 “黑色星期五” ,相当于中国双十一,此活动效果很好很明显
2.1.2 月活跃
SELECT y,
m,
count(DISTINCT customer_unique_id) MAU
FROM o_time
GROUP BY y,m
ORDER BY y, m
可以看出,“ 黑色星期五 ” 之前MAU整体快速增长,次日过后就慢慢趋于平稳,甚至在短时间内有下降,也反映了此活动效果很好
2.1.3 时段活跃
SELECT h,
count(DISTINCT customer_unique_id) 时段活跃用户数
FROM o_time
GROUP BY h
ORDER BY h
可以看出,从21:00到5:00活跃用户呈下降趋势,说明此时间段多数用户在休息,5:00到11:00活跃用户快速上升,在中间时段,活跃用户趋势平稳。运营人员可以根据不同时间段的活跃用户数来采取相应的措施
2.2.1 构建RFM模型
构建RFM用户分类:
-- 构造R值
CREATE VIEW Recency AS
SELECT
customer_unique_id,
CASE
WHEN DATEDIFF(CURDATE(),MAX(order_purchase_timestamp)) > AVG(DATEDIFF(order_purchase_timestamp,previous_purchase_timestamp))
THEN 1
ELSE 0
END AS R
FROM (
SELECT
customer_unique_id,
order_purchase_timestamp,
LAG(order_purchase_timestamp) OVER (PARTITION BY customer_unique_id ORDER BY order_purchase_timestamp) as previous_purchase_timestamp
FROM ecom
) a
GROUP BY customer_unique_id
-- 构造F值
CREATE VIEW Frequency AS
SELECT customer_unique_id, count(1) > (SELECT AVG(cons) FROM(SELECT customer_unique_id, count(*) as cons FROM ecom GROUP BY customer_unique_id) as a) F
from ecom
GROUP BY customer_unique_id
-- 构造M值
CREATE VIEW Monetary AS
SELECT
customer_unique_id,
CASE
WHEN payment_value > (SELECT AVG(payment_value) FROM ecom) THEN 1 ELSE 0
END as M
FROM ecom
GROUP BY customer_unique_id, payment_value
-- 构造M值
CREATE VIEW Monetary AS
SELECT
customer_unique_id,
payment_value>(SELECT AVG(payment_value) FROM ecom) as M
FROM ecom
GROUP BY customer_unique_id,m
-- 构造RFM分层
CREATE VIEW RFM AS
SELECT
Recency.customer_unique_id,
(CASE
WHEN R=1 AND F=1 AND M=1 THEN "重要价值用户"
WHEN R=1 AND F=0 AND M=1 THEN "重要发展用户"
WHEN R=0 AND F=1 AND M=1 THEN "重要保持用户"
WHEN R=0 AND F=0 AND M=1 THEN "重要挽留用户"
WHEN R=1 AND F=1 AND M=0 THEN "一般价值用户"
WHEN R=1 AND F=0 AND M=0 THEN "一般发展用户"
WHEN R=0 AND F=1 AND M=0 THEN "一般保持用户"
WHEN R=0 AND F=0 AND M=0 THEN "一般挽留用户"
ELSE "其他" END) AS 用户类型
FROM Recency
INNER JOIN Frequency
ON Recency.customer_unique_id = Frequency.customer_unique_id
INNER JOIN Monetary
ON Recency.customer_unique_id = Monetary.customer_unique_id
2.2.2 用户数量和占比
-- 各类型用户数量和占比情况
SELECT 用户类型,
COUNT(*) 用户数量,
COUNT(*)/(select count(*) from rfm) 占比
FROM rfm
GROUP BY 用户类型
ORDER BY 用户类型
这里从8种用户类型挑选了4种进行分析,可以看出,一般用户占比72%,而重要用户占比28%。结合RFM,说明用户流失比较严重,应该紧急采取相应挽留措施
2.2.3 用户品类偏好
由于数据量大,挑选的前1000条数据来分析
重要价值用户:
-- 重要价值用户
SELECT
用户类型,
product_category_name 商品品类,
sum(a.payment_value) 消费金额,
rank() over(order by sum(a.payment_value) desc ) 排名
FROM ecom a
LEFT JOIN rfm b ON a.customer_unique_id = b.customer_unique_id
where 用户类型='重要价值用户'
GROUP BY product_category_name
重要挽留用户:
-- 重要挽留客户
SELECT
用户类型,
product_category_name 商品品类,
sum(b.payment_value) 消费金额,
rank() over(order by sum(b.payment_value) desc ) 排名
FROM ecom b
LEFT JOIN rfm c ON b.customer_unique_id = c.customer_unique_id
where 用户类型='重要挽留用户'
GROUP BY product_category_name
一般价值用户:
-- 一般价值客户
SELECT
用户类型,
product_category_name 商品品类,
sum(c.payment_value) 消费金额,
rank() over(order by sum(c.payment_value) desc ) 排名
FROM ecom c
LEFT JOIN rfm d ON c.customer_unique_id = d.customer_unique_id
where 用户类型='一般价值用户'
GROUP BY product_category_name
一般挽留用户:
-- 一般挽留客户
SELECT
用户类型,
product_category_name 商品品类,
sum(d.payment_value) 消费金额,
rank() over(order by sum(d.payment_value) desc ) 排名
FROM ecom d
LEFT JOIN rfm e ON d.customer_unique_id = e.customer_unique_id
where 用户类型='一般挽留用户'
GROUP BY product_category_name
几张图可以看出,每种类型的客户都有相应的偏好,平台在维持客户时,可以根据客户类别推送商品类别信息,从而得心应手。另外可以看出cama_mesa_和beleza_saude等品类商品受到4大客户类别的喜爱,商家可以对该类商品进行促销推广
select
customer_state as 客户所在
,count(distinct customer_unique_id) as 地区人数
from ecom
group by customer_state
可以看出,用户来自SP州的最多,可能是该地区经济发达,人口密度大,平台在运营过程中在该地区的宣传和维护投入的同时,也应该根据不同地区特点开发不同地区
2.4.1 支付方式
select
payment_type as 支付方式
,count(1) as 支付人数
,count(1)/(select count(1) from ecom) as 占比
from ecom
group by payment_type
我们可以看出,75.8%的用户选择用信用卡的方式来支付,19.89%的用户选择boleto的方式,而剩余两种方式合起来也不过4.31%。说明这两种方式在该平台是主流的支付方式
2.4.2 分期付款期数
select
payment_installments
,count(1) as 分期人数
,count(1)/(select count(1) from ecom) as 占比
from ecom
group by payment_installments
可以看出,不分期人数占比49%,近半数的用户不选择分期,而选择分期付款的用户大部分选择分2、3期,占比23%。另外分期数2期到10期的合计占比也将近总人数的一半,说明平台也推荐分期付款,且大多数人选择10期以内
-- 商户地区分布
select
seller_state
,count(distinct seller_id) as 商户人数
from ecom
GROUP BY seller_state
可以看出,商户来自SP州的超半数,说明该地区商业发达,这与用户地区分布的分析结果吻合
select
价格区间
,count(1) as 交易数量
,count(1)/(select count(distinct seller_id)from ecom) as 占比
from (select
seller_id
,sum(payment_value) as sum_pa
,case when sum(payment_value)<=1000 then '(0,1000]'
when sum(payment_value)>1000 and sum(payment_value)<=5000 then '(1000,5000]'
when sum(payment_value)>5000 and sum(payment_value)<=10000 then '(5000,10000]'
else '(10000,∞]' end as '价格区间'
from ecom
GROUP BY seller_id
order by sum_pa) a
group by 价格区间
可以看出,近半数的商户交易额在1000以内,1000至5000以内的商户占29%,5000至1万和1万以上的商户分别各占10%左右,大于10000的只占11%。说明平台的商户仍以小商户为主
select
评分区间
,count(1) as 评分人数
,count(1)/(select count(distinct seller_id)from ecom) as 占比
from (select
seller_id
,avg(review_score) as avg_
,case when avg(review_score)>=1 and avg(review_score)<2 then '[1,2)'
when avg(review_score)>=2 and avg(review_score)<3 then '[2,3)'
when avg(review_score)>=3 and avg(review_score)<4 then '[3,4)'
else '[4,5]' end as '评分区间'
from ecom
GROUP BY seller_id
order by avg_) a
group by 评分区间
可以看出,超过75%的商户平均评分为4分以上,平均分3分以下的商户仅占5%左右,几乎全是3分以上的商户。说明平台的商户服务较好,商品品质也不错
select
case when product_category_name !='' then product_category_name
else 'lost_name' end 商品品类
,sum(payment_value) 交易额
,sum(order_item_id) 交易量
,sum(payment_value)/sum(order_item_id) 单价
from ecom
GROUP BY product_category_name
可以看出,平台各个品类商品的交易额和交易量的趋势基本相同,说明平台的商品价格比较接近,交易额和交易量排在前列的产品价格较低,只有少数用户购买了高价商品,说明平台还是以平价策略为主。平台的商品品类58%在100至200,属于平价商品,可以了解到此平台的商品价格定位属于中等偏下。那么,吸引文具类、幼儿玩具类、日用品类等商户入驻,是平台拉新的重点。在资源充足的情况下,再来考虑培养高价格商品商户
select
case when product_category_name !='' then product_category_name
else 'lost_name' end 商品品类
,sum(payment_value) as 交易总额
,sum(sum(payment_value)) over(order by sum(payment_value) desc) as _reven
from ecom
GROUP BY product_category_name
可以看出,销售额前20%的商品占据了总销售额的76.56%,二八定律依然有效。维护好该类商品的商户依然是平台的重点,但根据长尾定律,增加足够多商品品类同样能带来不俗收益,因此平台在后期也可以增加平台商品品类
-- 1.年度GMV
select
y 年份,
sum(payment_value) 年度GMV
from ecom a1
LEFT JOIN o_time a2 ON a1.customer_unique_id = a2.customer_unique_id
group by y
order by y
-- 2.月度GMV
select
y 年份,
m 月份,
sum(payment_value) 月度GMV
from ecom b1
LEFT JOIN o_time b2 ON b1.customer_unique_id = b2.customer_unique_id
group by y,m
order by y,m
从整体GMV可以看出,平台的交易额是增长的。将数据继续按月份向下挖掘可以看出,2016和2017年整体是呈现上升趋势的,2018年整体还比较平稳,但6、7、8月GMV已经出现下降趋势,平台应该分析原因引起重视
-- 3.日ARPU
select
d 日期,
round((sum(c1.payment_value)/count(DISTINCT c1.customer_unique_id)),2) 日ARPU
from ecom c1
LEFT JOIN o_time c2 ON c1.customer_unique_id = c2.customer_unique_id
group by d
order by d
从上图可以看出,平台的ARPU在相对较长的一段时间里比较平稳,但平台也需要重视ARPU长期没有有效突破,且2018年开始出现下降趋势
一、平台运营建议:平台前期正在快速成长,现在发展遇到瓶颈,个别指标有回落情况出现
1、我们要评估国内市场流量是否进入竞争阶段,是,需考虑发展海外市场,用户运营也要同步进行,以便于减少用户流失;否,则可能与平台自身运营有关或竞争对手抢占市场导致,需对内调整运营策略,优化用户体验,减少流失,对外跟进竞争对手动态,拓展站外流量
2、保证用户规模增长的同时,一方面有效利用用户活跃时段进行运营,提高各环节的转化率,另一方面做好用户运营,培养优质用户
3、根据用户支付方式和分期偏好:建议平台合理设定免息门槛和分期利息
4、利用 “黑色星期五” 的优势, 创新销售策略和活动玩法
二、用户、商家和产品运营建议:结合用户特点和商品喜好采取相关有效运营措施
1、消费次数较少,有较大的提升空间。对于老用户进行针对性消息推送并提供消费抵用券等优惠,降低二次消费门槛,提升复购率。同时可以推出vip会员服务,为用户提供消费折扣,引导用户长期消费,增强粘性
2、挑选用户均喜爱的产品,也可以根据客户类型挑选出各类用户偏好的产品,分别推送
3、用户和商家地域性明显,集中在SP地区,建议可以扩大运营规模,根据不同地区的消费特点,增加其他地区的业务投入,加大宣传和折扣的力度,引入更多的商家和用户
4、商品以价格偏低为主,种类相对单一,可以适当的引入价格中等或偏高的商品,丰富商品的种类促进购买