一、分析背景

巴西Olist是当地电商平台,本数据集包含2016年9月-2018年8月的数据,本文将通过对平台的整体情况、用户、商家、产品、销售五个方面分析平台的经营状况,目的是为了发现平台可能存在的问题,分析可能的原因并给出建议。

数据链接:https://www.kaggle.com/jainaashish/orders-merged

数据字段说明:

1、product_id:商品ID
2、seller_id:商家ID
3、order_id:订单ID
4、customer_id:订单对应的用户ID。订单数据集的键,每个订单都有一个唯一的customer_id。
5、order_status:订单状态
6、order_purchase_timestamp:下单时间
7、order_approved_at:付款审批时间
8、order_delivered_carrier_date:订单过账日期
9、order_delivered_customer_date:客户实际订单交货日期
10、order_estimated_delivery_date:订单预计交货日期
11、customer_unique_id:用户ID
12、customer_zip_code_prefix:客户邮政编码前5位
13、customer_city:客户所在城市
14、customer_state:客户所在的州
15、review_id:评论ID
16、review_score:评价得分,客户在满意度调查中给出的注释范围为1到5。
17、review_comment_title:评论标题
18、review_comment_message:评论内容
19、review_creation_date:发出满意度调查日期
20、review_answer_timestamp:客户满意度回复日期
21、payment_sequential:付款顺序,客户可以使用多种付款方式付款。
22、payment_type:付款方式
23、payment_installments:客户选择的分期付款数量
24、payment_value:交易金额
25、order_item_id:序号,用于标识同一订单中包含的商品数量。
26、price:商品价格
27、freight_value:运费,物品运费价值物品(如果订单包含多个物品,则运费价值将在物品之间分配)
28、seller_zip_code_prefix:卖家邮政编码前5位
29、seller_city:卖家所在城市
30、seller_state:卖家所在州
31、product_category_name:类别名称
32、product_name_lenght:产品名称长度
33、product_description_lenght:产品说明长度
34、product_photos_qty:产品照片数量
35、product_weight_g:产品重量单位g
36、product_length_cm:产品长度单位cm
37、product_height_cm:产品高度单位cm
38、product_width_cm:产品宽度单位cm

二、分析框架

通过整体情况、用户、商家、产品、销售五个方面分析,使用工具为sql和可视化工具tableau。

三、分析及可视化

1、数据清洗

#查看数据有多少
SELECT COUNT(*) FROM orders_merged
#去除重复的数据行
SELECT DISTINCT * FROM orders_merged
#建立视图将日期转化为年、月、日、小时的格式,方便后续分析使用
CREATE VIEW order_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 orders_merged

2、整体情况分析

#总交易金额
SELECT SUM(payment_value) AS 总交易金额 FROM orders_merged
#总订单量
SELECT count(order_id) AS 总订单量 FROM orders_merged
#客单价
SELECT sum(payment_value)/count(DISTINCT customer_unique_id) AS 客单价 FROM orders_merged
#用户数
SELECT count(DISTINCT customer_unique_id) AS 用户数 FROM orders_merged
#商家数
SELECT count(DISTINCT seller_id) AS 商家数 FROM orders_merged
#SPU
SELECT count(DISTINCT product_category_name) AS SPU FROM orders_merged
#SKU
SELECT count(DISTINCT product_id) AS SKU FROM orders_merged

运行代码分别得到结果为总交易金额11,079,647.08元,总订单数70,478笔,客单价161元,用户数68,693位,商家数2,731位,SPU73个,SKU22,938个。

3、用户分析

3.1 用户流量分析

(1)日活跃用户数

 SELECT d ,count(DISTINCT customer_unique_id) as DAU from  order_time GROUP BY d order by d

从图中可以看出,DAU的趋势是逐渐递增的,并且在2017年11月24日当天DAU增长至1132,较前一日增长327%,经查询可知,11月24日为“黑色星期五”,该日欧美国家会进行打折促销活动,可以看出活动效果很好。

(2)月活跃用户数

SELECT y,
m,
count(DISTINCT customer_unique_id) as MAU
FROM order_time
GROUP BY y,m
ORDER BY y, m

从图中可以看出,2017年11月前,MAU呈现整体快速增长的趋势,2017年11月后MAU逐渐趋向平稳,也说明2017年11月24日的活动效果显著。

(3)各时段活跃用户数

SELECT h,
count(DISTINCT customer_unique_id) as 时段活跃用户数
FROM order_time
GROUP BY h
ORDER BY h

从图中可以看出,晚上10点至上午5点,活跃用户数逐渐降低,因为该时间段大多数人都在休息。从上午5点至上午10点,活跃用户数快速上升。从上午10点至晚上10点,活跃用户数基本平稳。运营人员可以根据活跃用户的不同时间段,采取相应的促销措施。

3.2 RFM分析

(1)构建RFM 用户分类

根据RFM分类模型定义,将客户分成8大类别

具体代码如下:

#构造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 orders_merged
) 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 orders_merged GROUP BY customer_unique_id) as a) AS F
from orders_merged
GROUP BY customer_unique_id#构造M值
CREATE VIEW Monetary AS
SELECT
customer_unique_id,
CASE
WHEN payment_value > (SELECT AVG(payment_value) FROM orders_merged) THEN 1 ELSE 0
END as M
FROM orders_merged
GROUP BY customer_unique_id, payment_value#构建RMF模型
CREATE VIEW RFM AS
SELECT r.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 as r
JOIN Frequency as f
ON r.customer_unique_id = f.customer_unique_id
JOIN Monetary as m
ON f.customer_unique_id = m.customer_unique_id

(2)各类型用户数量和占比情况

SELECT 用户类型,
COUNT(*) AS 用户数量,
COUNT(*)/(select count(*) from rfm) AS 占比
FROM rfm
GROUP BY 用户类型
ORDER BY 用户类型

从图中可以看出,一般挽留客户和重要挽留客户的消费金额占全体用户的95.39%,一般价值客户和重要价值客户的消费金额占全体用户的4.61%。结合RFM客户分类图,表明用户流失比较严重,应当急于采取挽留措施。

(3)查看各类型用户品类偏好

a.重要价值用户

SELECT 用户类型,product_category_name 商品品类,sum(b.payment_value) 消费金额,rank() over(order by sum(b.payment_value) desc ) 排名
FROM orders_merged b
LEFT JOIN rfm c ON b.customer_unique_id = c.customer_unique_id
where 用户类型='重要价值用户'
GROUP BY product_category_name

b. 重要挽留客户

SELECT 用户类型,product_category_name 商品品类,sum(b.payment_value) 消费金额,rank() over(order by sum(b.payment_value) desc ) 排名
FROM orders_merged b
LEFT JOIN rfm c ON b.customer_unique_id = c.customer_unique_id
where 用户类型='重要挽留用户'
GROUP BY product_category_name

c. 一般价值客户

SELECT 用户类型,product_category_name 商品品类,sum(b.payment_value) 消费金额,rank() over(order by sum(b.payment_value) desc ) 排名
FROM orders_merged b
LEFT JOIN rfm c ON b.customer_unique_id = c.customer_unique_id
where 用户类型='一般价值用户'
GROUP BY product_category_name

d. 一般挽留客户

SELECT 用户类型,product_category_name 商品品类,sum(b.payment_value) 消费金额,rank() over(order by sum(b.payment_value) desc ) 排名
FROM orders_merged b
LEFT JOIN rfm c ON b.customer_unique_id = c.customer_unique_id
where 用户类型='一般挽留用户'
GROUP BY product_category_name

其余四类以此类推,由于金额占比较小不做呈现,从上面4张图可以看出,每种类别的客户都有相应自己的偏好,平台在做客户维护时,可以根据对应客户类别进项推送商品类别信息,从而有的放矢。另外可以看出,cama_mesa_banho和relogios_presentes品类商品受到4大客户类别的喜爱,商家可以对该类商品进行促销推广。

3.3 用户地区分布

select
customer_state
,count(distinct customer_unique_id) as 地区人数
from orders_merged
group by customer_state

从图中可以看出,有近42%的用户来自SP州,可能是该地区经济发达,人口密度大,平台在后续运营过程中在该地区的宣传和维护投入的同时,也应该根据不同地区特点,开发不同地区。

3.4 用户支付分析

(1)支付方式占比

selectpayment_type,count(1) as 支付人数,count(1)/(select count(1) from orders_merged) as  占比from orders_merged
group by payment_type

从图中可以看出,75.7%的用户选择用信用卡的方式来支付,19.97%的用户选择boleto的方式,说明这两种方式在该平台是主流的支付方式。

(2)分期付款期数占比

 selectpayment_installments,count(1) as 分期人数,count(1)/(select count(1) from orders_merged) as 占比
from orders_merged
group by payment_installments

从图中可以看出近半数的用户不选择分期,而选择分期付款的用户大部分选择分2、3期的方式来进行。另外分期数从2期到10期的合计占比也将近总人数的一半,说明平台也推荐分期付款,且大多数人选择10期以内。

4、商户分析

4.1 商户地区分布

select seller_state,count(distinct seller_id) as 商户人数
from orders_merged
GROUP BY seller_state

从图中可以看出,有近60%的商户来自SP州,说明该地区商业发达,这与用户地区分布的分析结果相符。

4.2 商户交易额占比情况

select 价格区间,count(1) as 交易数量,count(1)/(select count(distinct seller_id)from orders_merged) as 交易占比
from (select seller_id,sum(payment_value) as sum_pay,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 orders_merged
GROUP BY seller_id
order by sum_pay) a
group by 价格区间

从图中可以看出,52%的商户的交易额在1000以内,1000至5000以内的商户占29%,5000至1万和1万以上的商户分别各占10%左右,说明平台的商户仍是以小商户为主。

4.3 商户评分占比情况

select 评分区间,count(1) as 评分人数,count(1)/(select count(distinct seller_id)from orders_merged) as 评分占比
from (select seller_id,avg(review_score) as avg_r,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 orders_mergedGROUP BY seller_idorder by avg_r) a
group by 评分区间

从图中可以看出,超过75%的商户平均评分为4分以上,平均分3分以下的商户仅占5%左右,说明平台的商户服务较好,商品品质不错。

5、产品分析

5.1 商品交易额、交易量、单价

selectcase when product_category_name !='' then product_category_nameelse 'lost_name' end 商品品类,sum(payment_value) 交易额,sum(order_item_id)  交易量,sum(payment_value)/sum(order_item_id)  单价
from orders_merged
GROUP BY product_category_name

从图中可以看出,平台各个品类商品的交易额和交易量的趋势基本相同,说明平台的商品价格相对比较接近,且交易额和交易量排在前列的基本都是价格较低的产品,只有少数用户购买了高价商品,说明平台还是以平价策略为主。平台的商品品类58%在100至200之间,属于平价商品,可以看出此平台的商品价格定位属于中等偏下。所以,吸引商品价格较低的商户如文具类、幼儿玩具类、日用品类等商户入驻,是平台拉新重点。在资源充足的情况下,在考虑培养高价格商品商户。

5.2 帕累托分析

selectcase when product_category_name !='' then product_category_nameelse 'lost_name' end 商品品类,sum(payment_value) as revenue,sum(sum(payment_value)) over(order by sum(payment_value) desc) as cumulative_revenue
from orders_merged
GROUP BY product_category_name

从上图可以看出,销售额前20%的商品占据了总销售额的绝大部分,二八定律依然有效。因此维护好该类商品的商户依然是平台的重点,但同时根据长尾定律,增加足够多商品品类同样能带来不俗收益,因此平台在后期也可以该类增加平台商品品类。

6、销售分析

6.1 GMV(年度、月度)

#1.年度GMV
select y AS 年份,sum(payment_value) AS 年度GMV
from orders_merged o1
LEFT JOIN order_time o2 ON o1.customer_unique_id = o2.customer_unique_id
group by y
order by y#2.月度GMV
select y AS 年份,m AS 月份,sum(payment_value) AS 月度GMV
from orders_merged o1
LEFT JOIN order_time o2 ON o1.customer_unique_id = o2.customer_unique_id
group by y,m
order by y,m

从整体的GMV上可以看出,该平台的交易额是增长的。将数据继续按月份向下挖掘可以看出,2018年6、7、8月GMV已经出现下降趋势,平台应该分析原因引起重视。

6.2 ARPU(月度、日)

#3.月ARPU
select y AS 年份,m AS 月份,round((sum(o1.payment_value)/count(DISTINCT o1.customer_unique_id)),2) 月ARPU
from orders_merged o1
LEFT JOIN order_time o2 ON o1.customer_unique_id = o2.customer_unique_id
group by y,m
order by y,m#4.日ARPU
select
d 日期,round((sum(o1.payment_value)/count(DISTINCT o1.customer_unique_id)),2) 日ARPU
from orders_merged o1
LEFT JOIN order_time o2 ON o1.customer_unique_id = o2.customer_unique_id
group by d
order by d

从上面两图可以看出,平台的ARPU在相对较长的一段时间里比较平稳,但平台也需要重视ARPU长期没有有效突破,且2018年开始出现下降趋势。

7、总结

一、平台运营建议:平台前期属于快速成长期,但目前发展已经遇到瓶颈,个别指标甚至出现回落。

1.针对用户规模:需评估国内市场流量是否见顶进入竞争阶段,如果是,可以考虑发展海外市场,同时做好用户运营,减少用户流失;如果否,则可能与平台自身运营不佳有关或竞争对手抢占市场导致,一方面需要对内调整运营策略,优化用户体验,减少流失,对外及时跟进竞争对手动态,持续拓展站外流量。
2.针对成交额:在保证用户规模健康增长的同时,一方面有效利用10-22点的用户活跃时段进行运营,提高各环节的转化率,另一方面做好用户运营,培养优质用户,提高用户平均收入。
3.根据用户支付的方式和分期偏好:建议平台可以合理设定免息门槛和分期利息。
4.继续利用“黑色星期五”的节日优势, 创新销售策略和活动玩法。

二、用户、商家和产品运营建议:结合用户共同特点和商品喜好采取运营措施。

1.平台用户的消费次数都较少,有较大的提升空间。对于已经有消费行为的老用户进行针对性消息推送并提供消费返还抵用券等优惠,降低二次消费门槛,提升复购率。同时可以推出vip会员服务,为用户提供消费折扣,引导用户长期消费,增强粘性。
2.在挑选用户均喜爱的产品的同时,也可以根据不同客户类型挑选出各类型用户偏好的产品,分别推送,有的放矢。
3.平台的用户和商家地域性明显,主要集中在SP地区,建议平台可以选择扩大运营的规模,根据不同地区的消费特点,增加SP以为的其他地区的业务投入,加大宣传折扣力度,引入更多的商家和用户。
4.商品以价格偏低为主,种类相对比较单一,可以实适当的引入价格中等或偏高的商品,丰富商品的种类促进购买。

olist巴西电商数据分析项目 sql+tableau相关推荐

  1. Olist巴西电商数据分析(二)

    Olist巴西电商数据分析 上篇指路:https://blog.csdn.net/jlycd/article/details/113887419 文章目录 Olist巴西电商数据分析 项目背景 分析目 ...

  2. Olist Store电商数据分析

    一.项目背景 Olist是巴西市场上最大的百货公司,来自巴西各地的小型企业可以通过Olist商店销售他们的产品,并使用Olist物流合作伙伴将其直接运送给客户.本文将从用户.商家.商品.销售.交付五个 ...

  3. 电商数据分析-SQL

    1. 项目背景: 通过对现有用户购物行为的数据进行分析,深度探索用户的消费行为.消费规律.消费偏好,针对不同的用户群体,以便更精细化运营,取得更好的业务: 2. 数据来源 数据来源:https://t ...

  4. hive实训项目之电商数据分析

    hive实训项目---------电商数据分析 题干: 某大型电商公司从后台服务器收集到30W条的日志用户行为数据,经过数据初步清洗得到数据如下表sale_user.zip,假如你是该公司一员开发工程 ...

  5. 淘宝电商数据分析-Tableau

    基于上篇文章淘宝电商数据分析-Python做的可视化. 1.分析的目标 1.1每天的PV 1.2每天的UV 1.3每小时的PV 1.4每小时的UV 1.5用户行为转化率和转化漏斗 1.6销售量前10的 ...

  6. 电商数据分析常用报告指标

    大家好,我是小五???? 很多初入行的小伙伴们,学习了一堆的数据分析工具,如excel.sql.python.spss.r.tableau等. 工具用的很溜,但是对业务指标却不知情,面试的时候技术笔试 ...

  7. Spark 实时电商数据分析及可视化

    Spark 实时电商数据分析可视化系统是一个经典的大数据应用项目,技术栈主要有 Flume.Kafka.Spark Streaming.Flask 等,帮助大家了解和运用一些当前热门的大数据处理组件来 ...

  8. Amazon电商数据分析——数据获取

    最近一段时间主要重心在Amazon电商数据分析上,这是一个偏数据分析和可视化的项目.具体来说就是先获取Amazon的商品数据,数据清洗和持久化存储后作为我们自己的数据源.分析模块和可视化模块基于数据进 ...

  9. 电商数据分析--用户行为分析

    电商数据分析–用户行为分析 数据分析流程: 明确目的 获取数据 数据探索和预处理 分析数据 得出结论 验证结论 结果展现 用户行为是指用户在产品上产生的行为.(登陆.浏览.购买.加入购物车) 用户行为 ...

最新文章

  1. cms系统与dreamweaver建站
  2. RabbitMQ面试题及答案
  3. leetcode 167 Two Sum II - Input array is sorted
  4. 角距离恒星_恒星问卷调查的10倍机器学习生产率
  5. AWS Lambda事件源映射:使您的触发器混乱无序
  6. 导出excel数字前面的0消失_EXCEL文本之王TEXT函数的4个运用
  7. MongDB之shard_主从,副本集,分片的理解
  8. 12.TCP的成块数据流
  9. windowsR2(流媒体服务器)
  10. Awesomium(一)-- WebSnapshot
  11. 小米手机4获取ROOT权限的步骤
  12. 英语 名词复数的变化及其发音
  13. requests的Proxy-SSL错误
  14. WinSCP下载安装及使用
  15. 为了推动仓库无纸化操作我们做了什么?
  16. 4月5号-4月11号
  17. 镭速传输安全设计第三篇:传输安全设计
  18. Excel如何为介于区间的数值设置背景颜色?
  19. Collectors
  20. NekoHTML 和 XPath

热门文章

  1. 为什么软件项目的需求分析工作比较困难
  2. app上架后搜不到解决办法
  3. 【每日一题】打卡 13
  4. 大学生网页大作业|前端练习
  5. 机器视觉运动控制一体机应用例程|电子烟二维码识别
  6. 【论文笔记】Anchor-free目标检测论文推荐
  7. savgol_filter函数
  8. 高效阅读源码的五步速读法
  9. 子网掩码,反掩码与通配符之间的区别
  10. 浅析DNS劫持及应对方案