【2023BI数据分析大赛】某零售企业食品销售管理驾驶舱--数据魔术师组
一、选手简介
1、选手介绍
团队名称:数据魔术师
队长介绍:李俊东,医疗PM出身,复旦大学硕士在读,目前正为医疗集团搭建BI分析平台。团队组建者,团队成员因为他而结缘组队。在帆软的线下活动中结识了志同道合的徐朝和王洁,又拉来了惺惺相惜的诗叶和晓敏,把大家融合到一起学习交流,组建了我们数据魔术师团队,并结下深厚的友谊。
成员介绍:
徐朝,商业咨询出身,拥有丰富的数据分析经验,并通过了数据分析师的认证考试。希望能通过比赛认识更多的朋友,并且看看自己的分析水平在什么段位。本次比赛主力队员
王洁,财务出身,近期开始深入接触数据分析工作,提供本次大赛小组的分析数据,与徐朝一起参与看板的搭建,希望通过比赛结交更多的分析伙伴且学习沉淀更多的分析思维。
吴诗叶,商业数据分析硕士,多年互联网数据分析经验,目前从事医院运营管理,承担起了分析报告的主要部分。
朱晓敏,医疗软件出身,复旦大学硕士在读,热爱与数据打交道,负责此次大赛部分报告的编写,希望通过参加比赛学习到更多的数据分析方法与思路。
2、参赛初衷
我们是一个来自五湖四海、各行各业的团队,并且都对自我的成长有着孜孜不倦的追求。子曾经曰过:人与动物的区别,在于对工具的使用。如果想把工具使用到极致,离不开传承、实践和交流。
参赛的初衷是希望在比赛准备的过程中,提高对帆软BI操作的使用方法和技巧,拓宽分析的场景。作为BI工具的资深使用者和受益者,我们太知道可视化在数据分析和决策中的重要性了,笔芯~
当然FineBI作为国内市场占有率第一的一款强大BI工具,用户群体汇集了大量业内精英,不同行业的数据分析需求和方法各不相同,通过交叉学习,能开阔视野,拓展思维方式,进一步提升自己的数据分析能力。也希望借比赛这个平台,和更多FineBI大佬们学习交流,碰撞出不一样的火花,相信新收获的知识,一定能指导日常工作和生活。
二、作品介绍
1、业务背景/需求痛点
业务背景&需求痛点
本次主题分析,是基于公司内部的真实数据(对部分数据做了脱敏处理),业务需求介绍如下:
需求提出方:公司的销售管理中心。
需求描述:需对本司产品的年度销售进行一次大的复盘,对销售现状和概况做回顾性的分析,期望找出下一年提升公司的销售业务的机会点,并提出可实行的方案,辅助销售做决策与执行。
本次的分析的责任人:互联网公司数据分析师,属于业务分析岗,工作日常包括常规的数据分析工作,业务决策数据支持,业务分析分析,业务机会点分析等。
2、数据来源
企业数据:
销售明细表(已脱敏),包含2022年7月至2023年6月共12个月的企业销售订单
明细数据。
参考数据:
主要城市生产总值表,从国家统计局获取了主要城市生产总值。
相关指标定义如下:
指标名称
统计口径说明
总销售金额
统计周期内,所有下单成功的订单金额
当前销售金额
所选周期内,所有下单成功的订单金额
总产品SKU数
统计周期内,所有在售的SKU数
当前进货产品sku数
所选周期内,产生过进货订单的SKU数
经销商数
统计周期内,所有合作中的经销商数
进货店铺数
统计周期内,所有合作中的店铺数
当前进货经销商数
所选周期内,发生过交易的经销商数
当前进货店铺数
所选周期内,发生过交易的店铺数
统计周期最晚进货日期
统计周期内,所有店铺最后一次进货日期
毛利率
=1-销售成本/销售金额
进货产品比例
=当前进货产品sku数/总产品sku数
进货店铺比例
=当前进货店铺数/总店铺数
进货经销商比例
=当前进货经销商数/总经销商数
平均单经销商进货额
=当前销售金额/当前进货经销商数
平均单店进货额
=当前销售金额/当前进货店铺数
平均单笔订单进货额
=当前销售金额/当前订单笔数
支持度
=同时购买A和B商品的订单数/总订单数
B置信度
=同时购买A和B商品的订单数/购买A的订单数
提升度
=购买A的订单数/购买B的订单数
店铺最近未进货月数*
=统计周期最晚日期-此店铺最晚进货日期
店铺商品最近未进货月数*
=统计周期最晚日期-此店铺此商品最晚日期
店铺平均进货间隔月数*
=(此店铺最晚进货日期-此店铺最早进货日期)/此店铺进货次数
店铺流失时长倍数
=店铺最近未进货月数/店铺平均进货间隔月数
店铺流失率
=店铺流失时长倍数>=3倍以上的店铺数/总店铺数
店铺商品平均进货间隔月数*
=(此店铺此商品最晚日期-此店铺此商品最早日期)/此店铺此商品进货次数
店铺商品流失时长倍数
=店铺商品最近未进货月数/店铺商品平均进货间隔月数
商品流失率
=店铺商品流失时长倍数>=3倍以上的店铺数/商品总铺货店铺数
*指标中所有日期的计算均返回月数
3、分析思路
拆解思路
业绩的回顾性统计与分析:主要用销售,毛利,进货产品比例,进货店铺比例,进货经销商比例,平均单店进货额,进货间隔月数来做拆解分析,并参考了这些指标的趋势变化,销售城市分布,渠道分布,top产品的表现等。
业绩未来的提升策略:主要从两个方向来作提升:
1)存量客户的维系。主要是识别客户的流失风险提出预警机制,及时对顾客进行关系维护,防止竞品抢占等造成的客户流失;另外就是对店铺品类的流失风险进行精细化管理,及时对此品类进行市场调研,找出产品流失根本原因,做出对于的预挽回措施。
2)增量客户的拓展。增量部分主要应用按索夫矩阵的前3个(除新产品新渠道方法)
分析模型关键词:按索夫矩阵,购物篮分析模型,Top分析,ABC分析法。
4、数据处理
本次比赛我们选择的是一家零售企业的销售明细数据,包含了全国各渠道及店铺的订单明细。另外我们从国家统计局获取整理了国内各主要城市的生产总值数据,作为参考数据辅助分析。根据分析思路,我们先从原有的“销售明细表”中拆分出了两个维度表,“渠道维度表”和“商品维度表”。然后将这三张核心的基础表以及“各城市GDP数据”导入FineBI后,直接在FineBI中通过筛选、分组汇总、合并表、添加公式等方式做成进一步分析所需的自助数据集,主要围绕商品的铺货率、商品购物篮分析、店铺流失率、商品流失率等指标进行数据处理。
具体的处理步骤如下:
(1) 数据脱敏
将经销商名称、经销商店铺名称、产品名称等使用代称进行替换得到脱敏后的数据。
(2) 数据加工
因为原始数据只有一张销售明细数据,缺少维度表。我们从中筛选出渠道相关字段(城市、经销商、经销商店铺、渠道分类等)去重后得到渠道维度表,并在销售明细表中只保留了唯一对应的经销商店铺字段与渠道维度表关联。同理,从销售明细表中筛选得到了商品维度表(产品名称、一级类别、二级类别等)。
(3) 建立数据集
未铺货商品清单相关数据集处理
首先通过1=1的合并条件,将渠道维度表与商品维度表合并得到所有店铺与所有商品的笛卡尔积,命名为“未铺货商品清单”。因数据膨胀后量比较大,所以此处只统计到二级商品类别。
其次将销售明细表与商品维度表关联后并根据店铺名称、商品二级类别分组汇总,获得每个店铺已经进货的商品清单,命名为“已进货店铺清单”。
最后在“未铺货商品清单”与“已进货店铺清单”中都增加店铺名称与二级类别名称合并的字段作为关联条件。两个数据集合并后通过筛选是否进货,得到每个店铺的未铺货商品清单。
购物篮分析相关数据集处理
首先从销售明细表中选择订单号和产品名称字段,分类汇总得到销售数量,作为A商品表。用同样的方式获得B商品表。将两者进行连接得到所有商品的笛卡尔积,并剔除了AB相同的商品组合。因数据量大,在这里我们只筛选了2023年的数据进行分析。
主要指标的计算:
① 组合订单数:同时购买A和B商品的订单数,根据A、B商品分组后对订单号去重计数。
② 购买A的订单数:购买A商品的订单数,根据A商品分组后对订单号去重计数。
③ 购买B的订单数:购买B商品的订单数,根据B商品分组后对订单号去重计数。
④ 总订单数:对所有订单号去重计数。
支持度、置信度、提升度计算公式具体参照前文指标定义:
① 支持度:支持度越大,关联规则越重要,说明AB商品关联度越大。
② 置信度:置信度越高,说明因为购买了A而购买B的概率越大。
③ 提升度:提升度代表了先购买A对购买B的提升作用,只有提升度>1时,该组合方式才有效,因此我们在数据集中仅筛选了提升度>1的数据。
其他辅助指标计算:
① A:B商品的销量比:可以更直观得判断A、B商品的销售量高低。
② A商品和B商品各自的毛利率:使用毛利率结合前一个A:B商品销量比指标,找出销量高的产品与低销量高毛利的产品进行组合售卖,以此带动高毛利产品的销售。
店铺及商品流失率相关数据集处理
首先因数据量较大,销售明细表中订单时间只统计到年和月,假定销售明细表中“月”作为店铺进货的最小时间间隔单位,即同一店铺同一个月最多只进一次货。
其次根据销售明细表中的“经销商店铺名称”、“会计年度”、“过账期间”(代表月份)分组汇总得到相应的销售金额合计。并将“会计年度”与“过账期间”字段拼接合并后得到“进货年月”。
主要指标的计算过程:
① 进货间隔月数:增加汇总列,通过“最晚时间”和“最早时间”的统计方式从分组汇总后的数据表中获得每个店铺进货的“最晚日期”和“最早日期”,使用“DATEDIF”函数将两者相减后得到每家店铺的进货间隔月数。
② 店铺最近未进货月数:新增汇总列“统计周期最晚月份”获得所有数据中的最晚进货月份,将前者减去店铺最晚进货日期得到店铺最近未进货月数。
③ 进货次数:将数据表进一步进行分组汇总,通过“进货年月”进行去重计数得到进货次数。
④ 店铺平均进货间隔月数:通过进货间隔月数/进货次数得到。通过该指标可以体现出店铺日常的进货频率。
⑤ 店铺流失时长倍数:店铺最近未进货月数/店铺平均进货间隔月数。通过该指标可以体现出与日常进货频率相比,哪些店铺已经长时间未进货,处于异常状态。当这个倍数>=3倍时,认为该店铺已经流逝,需要采取进一步措施。
⑥ 销售金额排名及排名分布:增加“排序列”得到销售金额排名,并根据最大排名1186分别乘以1/3和2/3得到395、791两个排名。以这两个排名作为条件,通过if函数得到前33%,前33%-66%,后33%的排名分布。通过销售金额的排名分布与店铺流失时长倍数相结合,找到可能流失的店铺中销售金额更高,更为需要优先去维护的店铺。
商品流失分析:在店铺流逝数据的基础上关联产品维度表,因数据较大,我们仅匹配到二级类别,用店铺流失率同样的方法判断某类别商品的流失情况。
5、可视化报告
(1)可视化报告看板
(2)现状描述:
1、经营体量:
一年(2022年7月到2023年6月份)的总销售金额:4亿,毛利率:44%
2、渠道进货体量:
平均每经销商进货额:204.6万,平均每店进货额:34.2万,每月产生进货行为店铺比例50%左右,从2022年2023年有下降趋势,从时间趋势看进货高峰在春节前后
3、进货间隔:
平均每店每次进货间隔:1.2个月
4、进货情况:每月产品进货产品比例55%左右
5、渠道分布:主要销售都是来自大卖场,大卖场中大润发和永辉最高,其余卖场份额很低
6、品牌分布:份额最高的是大润发,其次是一级经销商和五级经销商。
7、城市销售分布:上海区域的销售额分最高,其余城市均不高
8、top20的公司产品进货产品比例均不高,top20的产品进货店铺比例也不高。
(3)问题&机会点洞察
主要问题描述:毛利率总体呈下滑趋势
通过观察组件销售额走势,如图可知,毛利率总体呈下滑趋势,具体表现为2022年7月的45.2%到2023年6月的42.5%。
解决方案预设:本团队拟定从提升和维持两个方面提升业绩
1)业务的提升
用安索夫矩阵方法分析:
一、现有产品,现在市场的机会点
产品下沉,已有渠道深入发展
1.1 策略
1.1.1 第一步【小试牛刀】,把销量多(Top20)的单品铺货到所有经销商的所有店铺售卖,提升销售金额;
1.1.2 第二步【全面铺开】,根据二八原则,整理销售额多(如占公司整体业绩贡献前80%的单品)但经销商未进货的产品清单,与Top20的经销商进行沟通,让其增加清单进货提升销售金额;
1.2 结合看板,分析具体机会点
针对爆品未铺全的情况,可通过气泡图和排序表看板,定位到哪些产品买的多,但售卖的店铺少。
指标说明:
X轴:产品铺货店铺数/总店铺数
Y轴:此产品总销售金额
汽泡大小:平均每家店铺进货额(总进货额/进货店铺数)
定位爆品:机会点在大厨牌浓汤类,大厨牌大馅水饺类,大厨牌头牌虾等系列产品。他们单店进货额高,但是但是由于渠道没有铺全导致营业额丧失。
赋能业务对应策略:把爆品的其他未铺货店铺,通过合作试销来提升销售。针对3个主要产品对应的铺货商,业务人员可从看板直接看到,高效高质的指导了运营工作。筛选结果如下图:
二、现有产品,开拓新市场的机会点
2.1 新市场策略
2.1.1 城市维度:根据GDP的排名,对一线、新一线的城市进行查漏补缺,做新城市市场开拓;
2.1.2 渠道维度:与更多的电商平台或者其他渠道进行合作;
2.1.3 开拓方式维度:通过先销后付等方式,用爆品占领市场份额。
2.2 结合看板,分析具体机会点
从GDP分布与现有各城市销售分布发现,除上海区域份额较高,其他很多城市有机会。
指标说明:X轴各城市GDP,Y轴城市现有产品销售份额
1.北京,深圳,重庆,广州,苏州,成都,武汉,无锡,福州,南通,东莞,常州,扬州等城市属于全国GDP排名靠前城市,可在这些城市拓展更多的超市,卖场。
2.杭州市,南京市,天津市,宁波市,青岛市,长沙市,佛山市等GDP高的城市之前未进入市场,可快速拓展业务进入市场。
3.由于产品结构,多为面食和水饺,可以对北方城市做产品的进一步下沉。
三、新产品,现有市场的机会点
3.1 新产品策略
3.1.1 开发不同口味新品
3.1.2 对现有产品,进行组合捆绑折扣销售,如【爆款+非爆款但毛利率高的产品】组合,并给组合折扣,捆绑促销。
3.2 结合看板,分析具体机会点
根据以下A产品:B产品原来组合的销售数量,提高高毛利产品的数量增加利润。
例如推荐组合:
饺子18:饺子4组合购买数量变成:1:1
饺子18:水饺1组合购买数量变成:1:1
面点6:面点3组合购买数量变成:1:3
饺子19:水饺1组合购买数量变成2:1
等通过以上组合方式提高高毛利产品的销售比例,降低低毛利产品比例,并在组合后折扣率可给95折吸引消费者购买,给了折扣后依然可以提高整体的毛利率。
指标含义:
-支持度:AB产品一起购买的概率 = AB类产品共同购买的订单笔数/总订单笔数。支持度越大,该组合的关联规则越受消费者欢迎。
-B的置信度:购买A产品后购买B产品的概率 = AB共同购买订单笔数/A单独购买订单笔数。置信度越大,该组合关联规则的准确率越高。
-A对B提升度:先购买A对购买B的提升作用 = B的置信度/(B订单数/总订单数),看组合商品被购买的次数是否高于单独商品的购买次数,大于1说明该组合方式有效,小于1则说明无效,越高越好。
2)业务的维持
业务的维持从两个方面展开分析:
1.渠道关系维护
1.1 渠道关系维护策略
通过流失店铺分析,预警哪些店铺有流失风险,及时维护与店铺之间的客户关系。
1.2 结合看板,分析具体机会点
1.2.1 62.11%的店铺最近进货时间和过去平均进货时间差不多,基本上没有流失风险,可继续保持紧密合作。
指标含义:
最后一次进货间隔时长与常规进货时长倍数分布=此店铺最后一次进货月份与统计时间最晚日期月数差/此店铺日常平均进货月数
日常平均进货月数=(此店铺最晚进货月份-此店铺最早进货月份)/此店铺进货次数
流失率:此店铺最后一次进货间隔时长与常规进货时长倍数分布>=3倍以上的店铺数/总店铺数2.近期进货
1.2.2 时长与平常进货平均时长比例未4-5倍的店铺(这部分店铺的销售金额占比未7%)有较大流失风险,此部分店铺需要尽快进行关系维护。
此部分店铺,通过看板联动可知是以下店铺:
1.2.3 除2倍以下无流失风险以外,其余的根据时长与客户的销售排名依次进行关系维护,优先处理销售前30%和销售30%-60%的流失风险客户。
具体每一个档次对于的店铺名,可继续由看板联动得出,举例如下(销售排30%、进货倍数2-3倍的店铺):
2.店铺品类精细化运营
2.1品类精细化运营策略
定位到未流失店铺的哪些品类,出现了被竞品抢占市场的风险
2.2 结合看板,分析具体机会点
1.下图流失金额分布流失客户中大厨牌定做款汤圆流失金额排名最高,很长时间(最后一次进货间隔时长与常规进货时长到达了5倍以上)没有进货了。红框中其他类别的流失金额排名靠前。
指标含义:
最后一次进货间隔时长与常规进货时长倍数分布=此店铺此类别商品最后一次进货月份与统计时 间最晚日期月数差/此店铺此类商品日常平均进货月数
日常平均进货月数=(此店铺此商品最晚时间-此店铺此商品最早时间)/此店铺此商品进货次数
流失率=此商品最后一次进货间隔时长与常规进货时长倍数分布>=3倍以上的店铺数/此商品总店铺数
运营可对这系列产品用看板联动功能,找出具体哪些店铺出现了流失风险,及时进行关系维护,防止被竞品占领时长。
2.下图展示的是总销售金额排名靠前的商品流失率,总金额排名靠前的流失店铺及时进行关系维护防止客户维护,金额高的产品流失店铺销售金额比重不高的同时也做一波营销策略。如下图的商品优先级最高,一目了然。释放了重复统计的人力与时间,提升了效率。
(3)最终结果呈现的页面布局
使用公共账号的选手
未使用公共链接的选手
https://bisolutions.fanruan.com/webroot/decision/link/pqCL
三、参赛总结
1、FineBI工具
亮点
操作:主题模型功能的增加可以让仪表板界面跨表组合视图功能,跨表写公式,公式写法相对比较容易掌握。
美化:自定义仪表版样式很好用,可以解决排版难的问题
学习社区:帆软社区很好,对自身工具的使用即有视频版本又有文字版本的帮助文档,并且内容还涵盖了一些常用的分析方法模型让人能够快速的学习
如要成为100%完美的BI工具,或许还可以试试以下场景的优化
def函数介绍的视频比较简单,很多复杂的业务场景无法直接套用,跪求多出函数应用方面的操作视频~
如果可以直接在仪表板拉不同的图表样式现做,不用等做完再添加,就更方便了,敲爱的~
聚合数据如果能直接出来同环比简直解决了大麻烦,领导最喜欢看聚合数据的同环比了,可以减少每次都要对单个指标重写一遍公式的工作,笔芯~
对数据分析的价值的思考:
BI看板作为一个暴露问题的出口,能发挥最大作用的便是变分析边新增组件。
1)基础数据的展示暴露出主要问题;
2)一步步拆解问题,制作颗粒度更细的组件,做好主要问题归因,定位二级问题
3)通过计算+展示,把解决方案的关键信息提供给执行方
参赛总结
真心感谢帆软组织这次比赛,也感谢主动询问是否可以与大家组队的自己,最终交这份答卷的时候会觉得,很多个周末和夜晚的加班加点,绝对是值回票价的。
认识了一帮志同道合的伙伴,炒鸡欣赏团队成员的责任心。我们没有拖延症,但是由于对成品的责任感,还是面临了短时间尽最大努力做的完美的高压状态。面对突如其来的问题,大家高度配合、互相帮助,共同努力解决问题。每个人都很好的承担着当初自己接下的责任,遇到问题不甩锅,响应速度快,星星之火可以燎原。
学到了很多处理数据、新建字段和美化看板的小技巧。感谢遇到这么优秀的小伙伴,专业度很高,经常在讨论,和理解队员的分析思路和成果时暗自感叹。
比赛拓宽了我们的关于数据分析的应用场景,已经can't wait将这些分析技巧和经验应用到工作中,实现更多的价值,促进自我成长了~
数据魔术师组--销售业绩提升看板.pdf (1.21 M)