巴西电商数据分析
写作背景:从kaggle上找了一份巴西电商数据集,结合python+MYSQL+tableau等分析工具,从多个维度对网站的各项指标进行分析,发现网站现存的问题并对网站提出优化建议。
文章结构如下:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313172125881.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
1、获取/理解数据
1.1获取数据
从kaggle上下载数据集,并读入python
import pandas as pd
df = pd.read_csv('Orders_merged.csv')
df.head()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313172853664.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
数据共有 96478 行, 38 列
1.2理解数据
数据来源 : 这是在Olist商店下订单的巴西电子商务公共数据集。 该数据集包含2016年至2018年在巴西多个市场上制作的10万张订单的信息。
它允许从多个维度查看订单:从订单状态,价格,付款和货运绩效到客户位置,产品属性以及最终由客户撰写的评论。这是真实的商业数据,已被匿名化。
数据链接:https://www.kaggle.com/jainaashish/orders-merged
字段说明 (共38个字段):
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
2、构建分析框架
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200316213056602.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
3、数据清洗
3.1选取子集(根据搭建的框架选取需要的字段,作为新的数据表)
commerce_data = df[['product_id','seller_id','order_id','order_item_id','customer_unique_id','order_purchase_timestamp','order_delivered_customer_date',
'order_estimated_delivery_date','customer_city','customer_state','seller_city','seller_state','review_score','review_creation_date',
'review_answer_timestamp','payment_type','payment_installments','payment_value','product_category_name']]
commerce_data.shape
新的数据集有 96478 行, 19 列
3.2数据去重
commerce_data = commerce_data.drop_duplicates()
commerce_data.info()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313220449549.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
发现数据并没有重复值
3.3 缺失值处理
根据去重结果,product_category_name缺失数据相对其他缺失数据较多,但是与整体数据相比较少,可直接选择删除缺失值。
commerce_data = commerce_data.dropna(how='any')
commerce_data.info()
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020031322125822.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
处理完的数据共有 95113 条
3.4按用户下单日期对数据集排序
commerce_data = commerce_data.sort_values(by='order_purchase_timestamp')
commerce_data.head()
3.5查看数据有无异常
commerce_data.describe()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313222001874.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
根据数据定义,用户付款期数最小也是1,即一次性付清不分期,付款金额应该大于0,接下来处理异常值。
3.6找异常值
commerce_data[commerce_data['payment_value']==0]
commerce_data[commerce_data['payment_installments']==0]
发现异常数据只有五条,根据索引直接进行删除
3.7删除异常值,并查看数据结果
commerce_data = commerce_data.drop([45144,17040,51223,4725,82744])
commerce_data.describe()
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313223157856.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
异常值已删除,数据都正常了
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313224057813.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
处理完的数据共有95108条,将处理完的数据存入MYSQL
3.8导出清洗后的数据
from sqlalchemy import create_engine
engine = create_engine("mysql+pymysql://root:root@localhost:3306/kkb?charset=utf8")
commerce_data.to_sql('commerce_data_clean',engine,if_exists='append')
至此数据清洗完成
4、分析及可视化
因为数据是从2016-10-03到2018-08-29,因此我们选取 2017
一整个年度的数据进行分析,通过tableau与MYSQL建立连接,将数据导入tableau
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200313224531637.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
4.1网站整体表现
4.1.1 总体指标
4.1.2 2017.1-2017.12整体销售表现
销量和销售额整体呈上升趋势,11月是网购高峰期,1月是低谷
2017年销量及销售额整体呈上升趋势,11月销量和销售额达到顶峰,且远高于其他月份,1月销售额最低,3,5月达到了阶段性的小高峰;总的来说,后半年的表现远好于前半年。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311151955603.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
11月24日网站销售额暴涨,订单量破千
11月24日网站订单量暴增,结合上图可知11月的销售额高很大程度是24日这天造成的,经查询2017年11月24日非当地节日,也未有重大庆祝事件,可能是网站出现了爆款情况,具体原因暂未知。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311162516499.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
4.2销售类指标
4.2.1产品层面
22%的品类贡献80%的销售额,ABC分类法则优化产品结构
柱状图为各品类销售额,折线图为累计销售额占比,可以看到前22%的品类贡献了80%的销售额,符合二八原理;同时按照70%,20%,10%的销售额比重把产品分为ABC三类,然后把重点的管理资源放在A,把较少的资源分配给C或者砍掉部分C商品,以达到资源管理的最优状态。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200312175449852.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
产品不够丰富,无法满足用户选择需求
很多品类的子类数很少,可能导致产品不够丰富,无法满足用户的选择需求;结合上面的帕累托图,对于一些子类数很少的C类产品可以直接砍掉,同时丰富A、B类产品的子类数,提升网站收入。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311120923888.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
产品销量集中,头部效应明显
头部效应明显,销量呈严重的两极分化;极大部分的子类产品销量基本趋近于0,TOP10子类产品销量遥遥领先。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200314172622597.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311120342872.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
4.2.2下单时间
下单时间集中在9:00-23:00
除了睡觉时间,巴西用户几乎随时网购,并未受上班时间的影响
![在这里插入图片描述](https://img-blog.csdnimg.cn/2020031115123640.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
巴西用户热衷周内网购,周末订单下降明显
周内的订单表现优于周末,周六订单量最低,环比周五下降近30%,降幅较大;周内订单平稳波动,环比增速不超过6%。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200314180327393.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
4.2.3客单价
客单价161.5雷亚尔,约234人民币(根据2020/3/14的汇率)
客单价(平均一个客人购买商品的金额)=销售总额/消费总人数
4.2.4订单交付情况
订单平均交付时长近13天,巴西网购的平均交付时间过长
订单平均交付时长=总收货时长/总订单数
订单延期交付率5.64%
订单延期交付率=延期的订单数/总订单数
延期交付订单的平均延期时长为0.66天
延期订单的平均延期时长=总延期时长/延期的订单数
4.2.5付款方式
巴西用户网购付款首选信用卡,占比高达74.96%
巴西用户首选信用卡付款,其次为线下交易方式boleto,占比21.07%,代币券voucher和借记卡debit_card分别占比3.05%和0.93%。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311195356607.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
4.3会员类指标
平均下单数为1.03
平均下单数=总订单数/总客户数
巴西电子商务复购率为2.75%,复购率有待提高
复购率=复购用户数/总下单用户数
(因为tableau计算复购率比较麻烦,因此直接在MYSQL中计算)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311205345801.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
4.4风控类指标
用户对网购满意度较高,好评率高达80%
评价5分占比最高,为58.86%,4分占比20.12%,总占比近80%,用户满意度较高;但1分和2分合计占比12%左右,网站还有一定的提高空间。以(1-2分:差评,3分:中评,4-5分:好评)为评价标准,则网站好评率高达80%。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200311211824176.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
上午10时至14时,晚上21时至第二天凌晨1时是用户评论的高峰期
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200314225513389.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
4.5回归分析
探究收货时长与用户评分的关系
将相关数据导入R,求出两变量的相关系数
根据相关系数分类,收货时长和用户评分近似中等程度相关,将评分作为因变量、收货时长为自变量做线性回归
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200315000624442.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
建立回归方程:score=-0.039*day+4.656
根据回归结果来看,自变量是显著的(因为p值<0.05),但是拟合优度只有8.9%,模型拟合效果不好,自变量对因变量的解释程度不到9%;说明除了收货时长以外,还有其他因素影响评分,需要进一步挖掘。
4.6用户画像
近50%的客户只贡献了80%的收入,网站需增加大客户数量
根据二八原则,当一个企业80%的收入来自20%的客户总数时,这个企业客户群体是健康且趋于稳固的;而网站近50%的客户只贡献了80%的收入,说明大客户太少,急需增加大客户数量。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200312164042218.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
运用RFM分出8种客户价值类型
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200316184342797.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
网站重要价值客户占比过低,客户流失率近30%
下图左侧为各类客户贡献的销售额占比,右侧为各类客户数量占比;可以看到,重要价值客户占比仅1.17%,流失客户近30%,重要挽留客户占比也近30%,网站的情况不容乐观;其中重要挽留客户贡献的销售额最多,占比44.51%,其次是重要深耕客户,贡献达32.93%,将近80%的销售额都是由这两类客户贡献的;网站急需拓展重要价值用户,同时刺激重要挽留客户消费
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200316193310410.png?x-oss-
process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9jYWkxcHl0aG9u,size_16,color_FFFFFF,t_70)
5、结论建议
5.1结论
1、网站整体表现
- 网站17年总销售额 6,685,980 ,总销量 45,638 ,总品类数 72 ,总子类数 15,811
- 17年1月-12月,网站销量和销售额整体呈上升趋势,11月是网购高峰期,1月是低谷
2、销售类指标
- 22%的品类贡献了80%的销售额,ABC分类法则优化产品结构
- 很多品类的子类数很少,可能导致产品不够丰富,无法满足用户选择需求
- 产品销量集中,头部效应明显,TOP10子类产品销量遥遥领先
- 下单时间集中在9:00-23:00,巴西用户几乎随时网购,并未受上班时间的影响
- 巴西用户热衷周内网购,周末订单下降明显
- 客单价161.5雷亚尔,约234人民币(根据2020/3/14的汇率)
- 订单平均交付时长近13天,巴西网购的平均交付时间过长;订单延期交付率5.64%;延期交付订单的平均延期时长为0.66天
- 巴西用户网购付款首选信用卡,占比高达74.96%
3、会员类指标
- 平均下单数为1.03
- 巴西电子商务复购率为2.75%,复购率有待提高
4、风控类指标
- 用户对网购满意度较高,好评率高达80%,差评占比12%左右,网站还有一定的提高空间
- 上午10时至14时,晚上21时至第二天凌晨1时是用户评论的高峰期
5、回归分析
- 收货时长与用户评分呈负相关关系,负相关系数为-0.2987,回归方程:score=-0.039*day+4.656,模型拟合效果不好,自变量对因变量的解释程度不到9%,说明除了收货时长以外,还有其他因素影响评分,需要进一步挖掘
6、用户画像
- 近50%的客户只贡献了80%的收入,网站需增加大客户数量
- 网站重要价值客户占比过低,客户流失率近30%
5.2建议
1、砍掉一些子类数很少的C类产品,同时丰富A、B类产品的子类数,以满足用户选择需求
2、对需求旺盛的品类保持并进一步丰富,同时对畅销的头部产品进行分析,发掘用户需求特性,对商城的产品进行结构性优化。
3、周末搞一些促销活动,提振周末销量。
4、通过产品组合,满减等措施提高客单价。
5、与用户使用较多的付款方式对应的第三方支付机构洽谈,或自己申请开展支付业务,提高支付速度,简化用户网购流程,降低用户网购门槛,同时缩短网购交付时长。
7、提高复购率,用户对网站整体评分较高,对产品较为认可;可在用户第一次购物时给予积分、优惠券等奖励,同时推出会员卡储值消费,提高用户粘性。
9、拓展重要价值客户,同时刺激重要挽留客户消费(可搞促销、满减活动);针对新客户,分析其来源渠道、购物习惯、喜好等,增加新增占比;针对流失客户,分析客户流失原因,降低流失率。