【2022BI数据分析大赛】全员自助分析报表--某零售省/市/区销售业绩

楼主
我是社区第1122001位番薯,欢迎点我头像关注我哦~

全员自助分析报表--某零售省/市/区销售业绩

一、选手简介

1、选手介绍

社区用户名:黄仁,零售快销行业的公司,负责搭建销售业务的报表体系和负责商务报告分析。

2、参赛初衷

从业至今深度使用过市面大部分的BI工具(如常见PB,TB,GY) 从头搭建过很多套成熟的报表项目。

当前的方案是:抽数工具+SQL开发+FineBI展示为主+Fine Report填报等+python补充的方案。

在这过程中,总结了报表里2大类型 [日常可视化报表] 和 [专题分析报表]报表。

2.1 日常可视化报表:

可探索性(筛选,交互,钻取)

使用广泛性(可让各个层级的人如:全国-省-市-区都能使用)

层级管理性(数据权限控制,只能看到自己能看到的内容)

实时性/可回溯性(高频率的持续往前更新/可往后回溯到过去任何的时间点)

长期使用性(随着时间的变化能依然适用)

2.2 专题分析报表:

可以看成是一份分析报告,相对静态,深度要深。用SQL的比例会高很多(因为SQL的ETL开发过程比较好检查,理得清,分析可实现性也强很多)。对应在BI功能点上就不会用那么多,主要在效果展示上了。

2.3 本次参赛做[真-可视化报表]

这里可以比较嚣张的说:FineBI已经被我几乎用到了极致,所以本次参赛要挑战用短时间内做出一份:有可探索性,使用广泛性,层级管理性,可回溯性的[日常可视化报表]。

[日常可视化报表]因为要满足上那么多特性,所以在BI功能点上要多花很多功夫,且会产生一些其他的限制,所以在分析深度上大家可别太较真呀,主要交流上述的这些特性和功能的达成。

二、作品介绍

1、业务背景/需求

当前,零售公司的门店正在全国高速扩张中,全国-省-市-区的各层级业务管理人员都急需一张能查看的报表,能从中知道自己所管辖内的业务最近或过去的情况。

同时,公司管理层也需要一套能考核所有人的KPI指标体系,主要是让大家在谈业务的时候能在快速在同一频道上。

这种需求就非常适合搭建一套有可探索性,使用广泛性,层级管理性,实时性/可回溯性的[日常可视化报表],因为:

[广泛性,层级管理性]能保证全国-省-市-区的各层级人员都能用,且只能看到自己负责的区域。不然我们就要做的'XX市月报','XX省月报','XX区+XX区月报''.... 是无穷尽的组合;

[可探索性]通过(筛选,交互,钻取),让一个管理全国人也能随意看到某个县区的具体情况;

[实时性/可回溯性]能让需求者不会每天催着要最新的报表,或要去年某个时间的报表,他们自己就能看到;

且这几个特性加起来合理搭配,就能创造出一份有无限可能性的报表。

2、数据来源

2.1 数据说明

Generated

数据结构比较简单:[门店表]:门店的信息详情,'签约时间'表示门店开店的时间,[产品表]:'售价'为零售价,用来计算销售额,[销售明细表]:门店销售某产品的具体时间和销售数量,有销售才有记录。

2.2 合并成宽表

用SQL将[销售明细表]LEFT JOIN [门店表],[销量门店表]做出一张'大宽表',不要觉得宽表浪费空间,空间不值钱~ 。这里要说下,整份BI尽量能用一张宽表去开发,会省很多 过滤,交互等等的时间,而且全部去自一张表,数据会很自洽,但是做一张能满足整份BI报表的宽表需要些功力(这个后面会讲到)。

Generated

3、分析思路

搭建一套有可探索性,使用广泛性,层级管理性,实时性/可回溯性的[日常可视化报表]的重点在于指标体系的制定和功能的实现。分析过程和分析方法是有不少的,但是篇幅有限,就少放一些。

3.1分析并制定指标

3.1.1先将这3表的所有字段做一个基本梳理,强调下一个字段经常能是[维度]也可以是[指标]。

Generated

3.1.2 将最为核心的销售额进行拆解,找出可以有意义和各种的指标

Generated

3.1.3 制定指标,这里的主要考虑点:

该指标是否重要,该指标是否能代表些现实价值,该指标是否好理解,该指标是否会受到市场扩张的影响,该指标是否和其他指标有重复点....

Generated

Generated

Generated

Generated

3.2 重新制做宽表

以上的这些指标要用原来的一张宽表在BI做出不可能,原来的宽表基于[销售明细表]的有销量才有,所以会丢失[门店表]注册时间等字段。过程描述有些复杂,直接说方案:

[门店表]×[日期表:每日一条]形成笛卡尔积,过来门店日期在门店签约前的数据, 这张表就是门店门签约后每日都有一行数据,销量为0。(如果有分析需要,还可以再×[产品表]形成笛卡尔积)。

然后 left join [销售明细表] on 日期=销售日期 and 售点编码=售点编码 ,来填充这张表。

不过这个方法有大量的数据存储冗余,浪费了很多空间,当时在BI制作上能省很多时间,大家看情况使用。

4、FineBI制作过程

最上面有提到过本次[日常可视化报表]因为要满足上多特性,所以在BI功能点上要多花很多功夫。做重点介绍一些核心和难点,次要的就不讲了。

4.1实时性/可回溯性

4.1.1举例指标制作:对比指标1-1:环期销售额(同时段)

因为要实时性,所以 [同时段]要和本月是同时间段,因为要可回溯性,所以本月是可以随意变动。

Generated

先需要有一个过滤组件,不绑定任何字段用来代表报表日期,实时可绑定参数,去取销售表的最大时间。

Generated

功能:用明细过滤+绑定过滤组件值,这样过滤组件如果选'2022-02-05', 环期销售额(同时段)的过滤时间就会为: 2022-01-01~2022-01-05,不管怎么选都合理。

4.1.2 举例指标:环比增长率(销售额) 在时间序列上,环比增长率(销售额)=本月/上月-1,但是在时间序列上, 本月和上月会不在同一个月上

Generated

需要用公式:PREVIOUS_PERIOD(SUM_AGG(${上月销售额(同时段)})) 转到当月维度上。

4.1.3 整份报表的有关 [本月][环期][环期增长率]等都要需要用到以上和更多的方法,才能保证实时和可回溯的实现。

4.2层级管理性/广泛性

4.2.2为了层级管理性,会用到数据权限的功能:

Generated

Generated

功能:使用了数据权限-权限设置-行权限-属于登陆者的([用户权限配置表]全国-省-市-区)去控制一张 全国-省-市-区_权限控制表,然后去关联视图控制所有的用到的表。效果和具体一些点到下面些会讲解。

4.2.3 为了[使用广泛性]:报表默认展示的只能是省 或 市 或 区 ,但是全国老大想默认看省,某市小弟想默认看区。

Generated

这就需要先按默认省维度去做报表,然后复制出两份,分别切换为市维度和区默认维度,然后通过角色的目录权限让大家看到自己想要的默认维度分析。

这个复制报表并维度切换很快,但那是一定要等报表稳定了,因为未来你维护要修改东西,是要修改三份了~

4.3 可探索性

筛选,交互,钻取,这也是BI最大的能力,这个就是前面建议的,尽量从一张大宽表做出整份报表,这样你就完全不用去单独设置联动这些了。

5、可视化报告

本次开发的报表有:[满足所有层级人员]分析的[可视化报告],为了更好的强调[满足所有层级人员]和[可视化],我们从2个不同角色的账号进入报表,进行分析。

5.1 角色一:全国老大视角

5.1.0 界面介绍

Generated

上图[1.1]全国老大的账号拥有所有省-市-区的权限,可以随意筛选到任意层级来查看情况。

[1.2]报表日期默认选最新的日期,用户可筛选回溯任何日期。同时提示筛选的本月进度 26天,所以所有的[环期]也是26天,有动态说明。[1.3]对整份报表的色系做了基本定义, 方便能快速识别是什么类型的指标(主要还是用来对比的),同时能保证整份报表色系一致。

5.1.1 本月总销售额分析

Generated

上图[1.1]3个KPI指标卡,可以非常情况看到本月销售情况比起环期没什么涨跌([环比增长率]=-0.6%在-5%~5%这个小范围内认为是平的,是黄色)

注意:这里本月对比的环期是上月同时段(2.01~2.26)的销售额,而不是上月的全月,天数不同对比意义并不大。这也是整份报表从头贯彻到尾的,这样能保证整份报表在当月的任何时候来看都有意义,而不是每月结束看一次总结'月度报告',体现[可视化]的[实时性]。

上图[1.2]近一年的每月销售额变化情况,可以看到2月[同期]比起1月环比大幅度下降-17%,比起去年12月,也是下降的,所以2月本身表现就很差劲,[1.3]21年3月更是环比增长达46%,所以认为当前3月销售额情况其实应该并不好。

上图[1.4]近一年的销售额日历图,该图可以非常清楚的看到每日的销售额的规律(比如周六日卖的好,月底普遍卖得好,但是没有发现这个规律),看当前3月,前2周高于平均水平,后2周低于平均水平拉低了整月。

结论:全国22年3月销售额看环比并没变差,但是通过同比月份的环比情况,应该有些问题。且后2周的表现较差。

Generated

这时全国老大想知道是不是有2,3月就是有表现不好的规律,上图[1.5]老大筛选去年同时间'2021-03-26',这整份报表就'回溯'到当时的情况。这就是[可视化]的[可回溯性],可以通过筛选回到任何时间的报表分析,而不用再找数据部门要,双赢。

上图[1.6]发现21年2月销售额也下降了,大概是春节的因素,但是只下降-12%,比22年2月下降-17%好很一些,且21年3月[环比增长率]足足上升了36%,[1.7]也没发现3月后2周会表现不好的规律。

结论:全国22年3月销售额确实有问题,特别是后2周

Generated

上图[1.8]老大再次筛选时间='2022-03-13',为了看22年3月前两周的表现情况,再次回溯报表时间。发现果然,22年3月前2周的[环比增长率(同时段)]为44.8% ,甚至超过了去年36%。

结论:全国22年3月的销售额有变差,问题出在在3月的后2周。

5.1.2 本月各省月销售额占比&环比变化分析

全国老大时间选回了最新的'2022-03-26',继续探索本月情况。

Generated

上图[2.1]非常清楚的看到本月销售额的[环比增长率(同时段)]上升最多的省份是'江苏省',足足272%,可以好好表扬下,回头让他们交一分报告上来看是怎么做到的。下降最最多的是'湖北省',但销售额就那么一点,是个新市场,无足轻重,可以先不管。

上图[2.2]可以看到所有有业务的省份销售额几乎都是上升的,但是这对3月来说的意义不大,因为我们上面分析3月比2月就该大规模上升。

上图[2.3]非常重要,结合了各省[销售金额占比](销售额贡献度)和环比变化情况,可以非常清楚的看到 '吉林省'是2月(同时段)足足贡献了全国的25%的销售额,但是3月却下降到了15%,销售额足足下降了40%,2月贡献了全国的11%销售额的'福建省'更是严重,销售额下降了57%。

结论:22年3月的异常主要出在了'吉林省'和'福建省'上

Generated

上图[2.4] 老大想要知道'福建省'的具体情况,使用了'联动+钻取',体现了[可视化]的[可探索性]。可以看到'福建省'的沿海城市销售额都下降了。[2.5] 贡献了'福建省'2月的53%销售额的'福州市' 环比下降了58%, 贡献了'福建省'2月的25%销售额的'莆田市' 更是环比下降了87%,贡献第二的下降最多。[2.6]'福建省'也是22年3月的后2周表现得很差。

结论:'福建省'的22年3月后2周表现得很差,符合全国22年3月的后2周的异常,主要是'福州市'和'莆田市'影响巨大。

5.1.3 全国视角结束说明

至此,其实全国老大在这份报表可以继续'筛选+联动+钻取'去分析'吉林省',且目前只用报表分析的2个版块,下面还有4个版块可以深入分析这2个省的问题。

但是为了让篇幅不会过长,且介绍这份报表满足[各层级所有人员]的特性,我们将切换角色继续往下分析。

全国老大说:'我累了,让东北三省的负责人交一份报告上来说明'吉林省'的情况'

5.2 角色二:东北三省总监

5.2.0 数据权限控制 & 报表分析维度变化

Generated

上图[0.1]进入了'东北三省总监'的账号,有一张[权限配置表说明],[0.2]在[权限配置表]里配置了该账号有'黑龙江省','辽宁省','吉林省'3行的权限,当然也可以配置任何几个'市' 或者几个'区',[0.3]配置决定了你(往下延伸)的[全国省-市-区_权限控制表]的权限,从而去控制所有的报表[0.4],[数据权限]

[0.5]角色的配置决定了看到的报表是哪个维度分析的报表[目录权限]。

所以该报表体系满足[各层级所有人员]的需求的核心:在于数据权限+角色目录权限,且数据权限可以无穷尽的随意搭配,比如 '福建省' +'广东-广州市' + '吉林省-吉林市-永吉县' 这种奇葩权限组合,做的不够是填写[0.1]的[权限配置表]表而已,一但建立好体系,创建非常容易。

Generated

上图[0.5],该账号只能看到这3个省的数据,也只能筛选到这3个省,体现[可视化]的[层级管理性]:各层级所有人只能看到自己该看的东西

Generated

上图[0.6] 报表变成了默认就是'市'为主要分析的维度,不用辛苦的每次'钻取'这个常看的维度,体系体现[可视化]的[使用广泛性]。

5.2.1 本月销售额&环比变化情况分析

Generated

上图[1.1] '东北三省总监'要和'全国老大'汇报'吉林省'本月的异常情况,所筛选了 省='吉林省',接下来整份报表都是'吉林省'的内容。

上图[1.2] 吉林省22年3月26日当月[环比增长率]足足下降了40.2%, [1.3][1.4]21年3月(全月)可是足足上升了43%,本月业绩下降就非常离谱了。[1.5]22年3月后2周表现得很差是主要原因。

结论:'吉林省'的22年3月后2周表现得很差,符合全国22年3月的后2周的异常。

5.2.2 本月各市月销售额占比&环比变化分析

Generated

上图[2.2]可以看到'吉林省'的只有'白山市'是正常上涨的。[2.3] 贡献了吉林省2月的34%销售额的'长春市' 环比下降了55%, 贡献了吉林省2月的11%销售额的'长春市' 更是环比下降了86%,全省下降最多。

结论:'吉林省'的22年3月表现得很差,主要是'长春市'和'吉林市'影响最大。

5.2.3.市场扩张情况:总门店数对比& 新增门店数情况

Generated

由于市场一直在高速扩张中,也就是一直在新开门店。所以本月[环比增长率]-40.2%甚至还要再减去上图[3.1]的[总门店数环比多(同时段)]的1.7%,才是同样门店数的一个对比情况。 [3.1][3.2]都在说明这个,可以看到2月3月的门店数增幅下降了,但是增幅下降得严不严重,看斜率是不容易看出来的。

所以需要[3.3][3.4][3.5]这个来知道市场扩张的速度具体放缓了多少,可以看到 1,2,3月放缓速度在持续增加,3月[新增门店数环比增长率]甚至是-50%, 而21年3月[新增门店数环比增长率]是115.8%。

结论:'吉林省'的21年下半年市场扩张的速度就放缓,22年市场扩张的速度更是大幅度的连续下降,当前3月份尤其严重。

5.2.4 有销量门店数&门店有销率 变化情况

Generated

[销售额]=[有销量门店数]*[店均销售额], [有销量门店数]是非常重要的,但因为门店在一直新开,所以直接对比上月会受到新开门店的影响。所以引入的[门店有销率]=[有销量门店数]/[总门店数(当时)] ,同时这个率也能知道门店的活跃情况,一举两得。

上图[4.1] [本月有销率环比增加]为-15.5%,[4.2] 同比(同时段)的[门店有销率]也有72.4% ,每个月的有销率也比较平滑,所以[本月有销率]55.4真的很异常。

上图 [4.3] 条形图粗细代表[销售额占比],表示对全局的影响度,影响度最高的还是'长春市',不过'长春市'上月的[门店有销量率]本来就偏低,只有69%,环比减少了了-15.5%。 变化最大的依然是'吉林市'从上月很高的77% 减少了-31% 到46% 变化巨大。

上图[4.5]对比了当月,同期,环期的[每日门店有销率],定位问题到天。发现本月从3月8号开始脱离正常值下滑,到3月21日到达了最低点2.4%,并一直在3%上下徘徊。

Generated

[4.6] 点击'吉林市'交互看到[4.7]也是从月8号左右脱离增增长值下滑

结论:'吉林省'的门店有销量率减少了-15.5%,主要是在3月8日后大幅度连续下滑,符合'吉林省'3月后2周销售额表现差,但还不足全部以解释 -40%的业绩下滑。

5.2.5 月店均销售额 & 店均销售天数 & 店日均销售额

Generated

[月店均销售额]代表了门店的平均销量水平,上图[5.1]找到了-40%销售额剩下的原因,是 [月店均销售额] 的 环比下降了 -24.8%。[5.5]可以很清晰进一步分析下降的主要原因是 [店均销售天数]大幅度下降了, 而[店日均销售额]只有略微下降,[5.6]可以看出 到3月20日才有略微的下降。

结论:'吉林省'的门店[月店均销售额]减少了-24.8%,主要是在[店均销售天数]大幅度减少,加上这个因素可以基本解释 -40%的业绩下滑的原因。

5.3结论和专题分析报表补充分析

上述展示的[日常可视化报表]将有可探索性,使用广泛性,层级管理性,实时性/可回溯性,都充体现到了,可以知道这份报表能再自助分析探索的地方还有非常多。

不过就像开头说的,比起[专题分析报表]确实会在深度的分析上有所缺失,我们下面就补充一个和本次有关的[专题分析报表]。

'吉林省'-40%的业绩下滑中,'吉林市'足足-85%的下滑,业务人员都清楚,其实受到疫情影响,但是是怎么个影响法,影响了多少,真的全是疫情的原因?上述的[日常可视化报表]并不能证明。

Generated

上图这是一份简单分析22年各城市受疫影响[销售额]的[专题分析报表],筛选到'吉林市',可以看到3月份确实有疫情。

这份[专题分析报表]采用了[新增本土确诊病例]作为判断是否有疫情的标准,以为收集所有城市的封管控等信息非常困难,有主观性,且口径不一致。目前政府,商家,消费者的动作明细也是以[新增本土确诊病例]为基准在做决策。

Generated

上图[1] 筛选2022-03-01~2022-03-26 ,和我们的[日常可视化报表]一致。

[2]是通过22年无疫情日算出的日均销售额为9084,这个是不会被筛选日期影响的,如果通过筛选里的算无疫情日算出的日均销售额,天数太少,离疫情太近,有很多偶然性。

[3]销量和本土新增折线图可以看到 3月3日就开始有[新增本土确诊病例],月头几天销售额就已经收到了影响,小于22年无疫情日算出的日均销售额的9084。且在3月7日疫情开始持续爆发的时候,销量明细大规模下滑。

[4] (3月疫情天数)24× (疫情影响日均销售额)-8125 =(本月因疫情总损失销售额) -194,991 ,

[5]从而推断(无疫情预期销售额)为227,393, 因疫情损失为 -85.8%.

我们回顾下[日常可视化报表]的'吉林市'足足-85%的下滑,上述这个[专题分析报表]就能非常好的解释清楚。

结论:'吉林省'的22年3月份[月店均销售额]下滑-85%是疫情导致的,'长春市'用同方法去推断也是发现一样的情况。所以'吉林省'的门店[月店均销售额]减少了-24.8%完全可以用疫情解释。

(篇幅限制,没时间更严谨的证明了,但其实已经非常明确了,这里主要是思路)

5.4拓展

这里'吉林市'受疫情影响其实会比-85.8%更多一些,因为当前方法比较简单,是没有考虑[门店正常会一直快速新增]这个因数,所以真的要更准确, 要用[22年无疫情日店日均销售额]替代 [22年无疫情日日均销售额],并也将[新增门店]用同样的方法推断没疫情下的新增量,从而算出真正的[无疫情影响的销售额]。

三.参赛总结

[专题报告]是作为[可视化报表]无法解答时会经常会有需求的报表,且是会一直不断的往下分析去优化的,直到分析到再优化的收益也不大了才停止,所以也确实也难做到[可视化报表]那么灵活。

但往往[专题报告]出来的一些指标经过验证后可以进入[可视化报表]作为考核指标之一。

两个报表可以相辅相成,各有作用,配合起来运用才能满足需求者的需求。

四.最终作品等

1.公共链接(个人的服务器,性能不太好,会有些卡,见谅)

全员自助分析报表--某零售省/市/区销售业绩(省维度):

http://47.97.156.16:37799/webroot/decision/link/wLqw

全员自助分析报表--某零售省/市/区销售业绩(市维度):

http://47.97.156.16:37799/webroot/decision/link/ZjID

22年疫情影响城市销量:

http://47.97.156.16:37799/webroot/decision/link/7icj

2.登录平台和各层级人员测试账号(可以体验下哦)
http://47.97.156.16:37799/webroot/decision

全国老大 123456

东北三省总监 123456

吉林省副总 123456
福建省副总 123456

广东省副总 123456

3.BI自助分析报表(全国看省)

图形用户界面, 图表

描述已自动生成

4.城市受到疫情影响分析(长春)

5.BI自助分析报表(吉林省看市)

分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 3818浏览人数
最后回复于:2022-6-2 14:21

返回顶部 返回列表