一、数据来源

数据集是kaggle上的电子商务数据,这是一个跨国数据集,包含2010年12月1日至2011年9月12日期间。公司主要销售独特的全场合礼品。公司的许多客户都是批发商。
数据的维度较为简单没有过多字段,适合轻度分析。
网址:

https://www.kaggle.com/datasets/carrie1/ecommerce-data

二、核心分析需求

  1. 基于RFM模型做用户分层,定位高价值客户
  2. 分析不同国家的销售分布,制作全球销售热力图
  3. 筛选异常订单,优化风控规则

三、数据处理

(一)、维度介绍

Invoice No:订单编号,非唯一值
Stock Code:商品代码唯一值,一个代码ID对应一个商品
Description:产品描述,描述产品特征
Quantity:购买数量
Invoice Date:订单时间
Unit Price:购买单价
Customer ID:客户ID
Country:国家地区

数据截图:
在这里插入图片描述

(二)、数据处理

1、设置自动更新

这一步主要是为了防止没有数据库(SQL)而准备的。正常来说,如果公司有数据库,只要将SQL代码提前写完,在更新数据的时候点击刷新即可,但是也有部分公司是使用Excel存储数据的。
这里设置自动更新很简单,只要将源数据变成一个超级表即可,变成超级表之后,后续只要在表后添加数据,自然会更新到Power Query、Power Pivot中。
只要在Excel中的“开始”选项卡中点击套用表格格式,然后选择一个自己喜欢的样式即可,下面是我随机选择的
在这里插入图片描述
后续只要在表格后面更新数据,数据就会自动同步了

2、缺失值处理

这里数据维度不多,就直接在Excel中操作了。
Description 字段中是存在缺失值的,该字段的缺失值可以根据 Stock Code 进行填充,这里可以使用VLOOKUP函数进行填充。
在这里插入图片描述
接着是CustomerID 这个字段也是存在缺失值的,如果在实际业务中,这部分数据缺失可以根据具体业务情况进行补充。因为这个是网上的数据源,所以这边直接删除,防止影响后续的RFM分析。

3、将数据加载至Power Query

全选中数据→“数据”选项卡→来自表格/区域,即可打开Power Query
在这里插入图片描述

4、修改数据类型

Invoice NoStock Code两个字段改成文本格式
在这里插入图片描述

5、添加计算列

在表格最后添加一列名称为Sales Amount,销售金额的列,销售金额 = Quantity * Unit Price
在这里插入图片描述

6、将数据加载到数据模型

在弹出的窗口选择“仅创建链接”,在加载到数据模型中一定要打钩
在这里插入图片描述

出现下面在这个就表示已经Excel已经将数据加载到数据模型中了
在这里插入图片描述

注意:数据处理其实可以放在Power Query中进行处理,缺失值、异常值等。Power Query中进行数据处理并不会直接修改源数据。

四、需求分析

(一)、基于RFM模型做用户分层,定位高价值客户

在Excel选项卡中,在Power Pivot选项卡中点击“管理数据模型”,就会进入到Power Pivot,前提是之前的数据已经加载到数据模型中(数据模型是指将数据加载到Power Pivot)
在这里插入图片描述

1、数据维度及分析时间点

需要的数据维度为客户ID、购买日期、销售金额;
数据集的购买时间节点为2010年12月1日至2011年9月12日期间,不可能用2026年的时间去分析,会造成时间跨度很大,失去分析意义,因此将分析时间以2011年12月31日为当前时间点。(不要纠结→_→)

以下是客群群体划分:
在这里插入图片描述

2、RFM模型维度计算方法

R:取近度最小值,Min(近度);近度=分析日期-购买日期。
F:对订单ID进行非重复计数。
M:平均消费金额。

3、维度变量计算

R维度计算:
Power Pivot中添加分析时间这列,使用DATE函数,函数公式为DATE(2011,12,31),并将该列命名为Analysis date
在这里插入图片描述
再添加一列,名称为近度,该列计算公式为:Analysis date - InvoiceDate(这里直接使用中文命名,不用英语,方便辨认),将计算的数值变成整数(天数)。
近度数据出来后,可以计算R值,R值只要对近度取最小值即可,公式为MIN(“近度”)
注意:Invoice No(订单编号)是有重复的,一个订单编号会有多个产品,虽然每个订单会有重复,但是下单日期是相同的,所以对应的“近度”都是一样的。
在这里插入图片描述
F维度计算:
对**Invoice No(订单编号)**进行非重复计数。
在这里插入图片描述

M维度计算:
计算公式:销售金额/F值
在这里插入图片描述

4、群体类型类型划分

计算出RFM模型的值之后,是无法划分具体的客户类型的,所以使用链接回表进行操作。这时需要回到Excel中,新建空白工作表(命名:划分客群类型)
第一步: 在Excel中选择现有链接,点击表格,打开空白表,最后点击确定,生成图三
图一:
在这里插入图片描述
图二:
在这里插入图片描述
图三:
在这里插入图片描述

第二步: 表格点击右键,选择表格,编辑DAX(图一),输入下面的公式:evaluate
SUMMARIZE(‘源数据’,‘源数据’[CustomerID],“R”,‘源数据’[R],“F”,‘源数据’[F],“M”,‘源数据’[M])
点击确定
图一:
![![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/41c90f7ae0a74aeaa3f90dc18b4c

点击确定后,自动会生成对应的链接回表(图二)
图二:
在这里插入图片描述
第三步: 将生成的链接回表加载到Power Pivot中,在Power Pivot点击添加到数据模型即可。

在这里插入图片描述
第四步: 使用IF函数进行具体群体划分
在这里插入图片描述

第五步: 将上边的等级划分表加载到Power Pivot
在这里插入图片描述
第六步: 使用辅助列将字段合并,为后续表连接做准备(图一和图二)。
图一:
在这里插入图片描述

图二:
在这里插入图片描述
第七步: 将客户信息表和等级划分表建立表连接
在这里插入图片描述
第八步: 生成数据透视表,查看对应的模型数据即可

在这里插入图片描述

(二)、分析不同国家的销售分布,制作全球销售热力图

1、导入数据

打开PowerBI,新建工作表,点击“文件”导入之前做好的Excel模型文件,一定要选择下面这个选项哈。
注意:这里提一点,原先的源数据那张表中的客户ID也要和其余的表建立连接不然BI中不显示源数据表的数据。
在这里插入图片描述

2、分析不同国家销售情况

在BI中绘制不同国家销售金额柱状图,可以看出该公司的批发商客户主要集中在United Kingdoml(英国),其余国家的供应商销售金额占比较低。可以得出两个结论,第一,该公司可能为英国本土企业,市场以国内市场为主,海外市场拓展进度不足,海外市场潜力巨大,后续可以考虑进一步开拓海外市场,提高公司销售金额;第二,公司可以在节假日期间,增加United Kingdoml(英国)的活动优惠力度,进一步挖掘本土市场的消费潜力。
在这里插入图片描述

3、绘制全球销售热力图

按照以下的操作可以在BI中绘制全球各个国家的销售金额热力图
在这里插入图片描述
其中气泡颜色深度可以在下面的气泡大小颜色中设置,这里就不设置了
在这里插入图片描述

(三)、筛选异常订单,优化风控规则

在订单表中,Quantity(数量)字段出现负值,有可能是以下几个原因:
1、退货/退款:这是最常见的情况。当客户退回已购买的商品时,为了在财务和库存上抵消原始的销售记录,系统会生成一个数量为负的订单(常被称为退货单、贷项通知单)。例如,客户退回5件商品,系统中就会出现一个数量为 -5 的销售订单行。
2、库存计算逻辑:在某些场景下,负值是系统计算的结果。比如,一个记录了“未付款订单”数量的字段,其计算公式是“订单数-销量”。如果两笔订单都已付款(增加销量),然后又都退款了(订单数归零),那么计算结果就会是 -2,表示系统里有一些待处理的偏差。

如何优化:
走正规业务单据(如果是退货/退款):不要直接在原始订单上把数量改成负数。正确的做法是:创建一个新的、类型为“退货单”或“贷项通知单”的单据,并在其中填入负数量,同时关联回原始的销售订单。这样做可以保证业务链条的完整和可追溯。
在这里插入图片描述
是打算在这模块做一个可视化模板来监控,这些异常的数据的,时间不够就没做 O(∩_∩)O哈哈~


总结

该分析项目主要是国际零售场景,练习PQ跨表合并、数据类型转换;PP做RFM用户分层,PB做全球区域热力图等,如何将Power Query、‌Power Pivot‌、Power BI Desktop三个工具融入到业务中。

有哪里写的不好的欢迎在评论区留言!

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐