当前,某零售公司的门店正在全国高速扩张中,全国-省-市-区的各层级业务管理人员都急需一张能查看的报表,能从中清楚自己所管辖内的业务最近或过去的情况。
同时,公司管理层也需要一套能考核所有人的KPI指标体系,主要是让大家在谈业务的时候能在快速在同一频道上。
这种需求就很适合搭建一套有可探索性、使用广泛性、层级管理性、实时性/可回溯性的【日常可视化报表】,因为:
【广泛性,层级管理性】能保证全国-省-市-区的各层级人员都能用,且只能看到自己负责的区域。不然我们要做的“XX市月报”,“XX省月报”,“XX区+XX区月报”.... 是无穷尽的组合;
【可探索性】通过(筛选,交互,钻取),让一个管理全国人也能随意看到某个县区的具体情况;
【实时性/可回溯性】能让需求者不会每天催着要最新的报表,或要去年某个时间的报表,他们自己就能看到;
数据结构最简单:[门店表]:门店的信息详情,“签约时间”表示门店开店的时间,[产品表]:“售价”为零售价,用来计算销售额,[销售明细表]:门店销售某产品的具体时间和销售数量,有销售才有记录。
用SQL将[销售明细表]LEFT JOIN [门店表],[销量门店表]做出一张大宽表,别觉得宽表浪费空间,空间不值钱~这里要说下,整份BI尽量能用一张宽表去开发,会省很多过滤,交互等等的时间,而且全部出自一张表,数据会很自洽,但是做一张能满足整份BI报表的宽表需要些功力(这个后面会讲到)。
搭建一套有可探索性,使用广泛性,层级管理性,实时性/可回溯性的[日常可视化报表]的重点在于指标体系的制定和功能的实现。分析过程和分析方法是有不少的,但是篇幅有限,就少放一些。
1)先将这3表的所有字段做一个基本梳理,一个字段经常能是[维度]也可以是[指标]。
该指标是否重要,该指标是否能代表些现实价值,该指标是否好理解,该指标是否会受到市场扩张的影响,该指标是否和其他指标有重复点....
以上的这些指标要用原来的一张宽表在BI做出不可能,原来的宽表基于[销售明细表]为主表,所有要有销量才有,所以会丢失[门店表]注册时间等字段,过程描述有些复杂,直接说最终方案:
[门店表]×[日期表:每日一行]形成笛卡尔积,过滤掉门店日期在门店签约前的数据。这张表就是在门店签约后每日都有一行数据,销量为0(如果有分析需要,还可以再×[产品表]再次形成笛卡尔积,每个门店每个产品每日一行数据)。
然后 left join [销售明细表] on 日期=销售日期 and 售点编码=售点编码 ,来填充这张表的销量。
不过这样的解决方法有大量的数据存储冗余,浪费了很多空间,当然,会在BI制作上能省很多时间,且数据一致性非常强(错也错得一致),大家看情况取舍。
最上面有提到过本次[日常可视化报表]因为要满足以上多特性,所以在BI功能点上要多花很多功夫。重点介绍一些核心和难点,次要的就不讲了。
因为要实时性,所以 [同时段]要和本月是同时间段,因为要可回溯性,所以本月是可以随意变动。
先需要有一个过滤组件,不绑定任何字段用来代表报表日期,实时可绑定参数,去取销售表的最大时间。
功能:用明细过滤+绑定过滤组件值,这样过滤组件如果选2022-02-05, 环期销售额(同时段)的过滤时间就会为:2022-01-01~2022-01-05,不管怎么选都合理。
2)举例指标:环比增长率(销售额) 在时间序列上,环比增长率(销售额)=本月/上月-1,但是在时间序列上, 本月和上月会不在同一个月上。
3)整份报表的有关 [本月][环期][环期增长率]等都要要使用到以上和更多的方法,才可能正真的保证实时和可回溯的实现。
功能:使用了数据权限-权限设置-行权限-属于登陆者的([用户权限配置表]全国-省-市-区)去控制一张 全国-省-市-区_权限控制表,然后去关联视图控制所有的用到的表。效果和具体一些点到下面些会讲解。
2)为使用广泛性:报表默认展示的只能是省 或 市 或 区 ,但是总部负责人想默认看省,某市负责人想默认看区。
这就需要先按默认省维度去做报表,然后复制出两份,分别切换为市维度和区默认维度,然后通过角色的目录权限让大家看到自己想要的默认维度分析。
这个复制报表并维度切换很快,但那是一定要等报表稳定了,因为未来你维护要修改东西,是要修改三份了~
筛选,交互,钻取,这也是FineBI最大的能力,这个就是前面建议的,尽量从一张大宽表做出整份报表,这样你就完全不用去单独设置联动这些了。
本次开发的报表有:[满足所有层级人员]分析的[可视化报告],为越来越好的强调[满足所有层级人员]和[可视化],我们从2个不一样的角色的账号进入报表,进行分析。
上图[1.1]总部负责人(全国老大)的账号拥有所有省-市-区的权限,可以随意筛选到任意层级来查看情况。
[1.2]报表日期默认选最新的日期,用户可筛选回溯任何日期。同时提示筛选的本月进度 26天,所以所有的[环期]也是26天,有动态说明。
[1.3]对整份报表的色系做了基本定义, 方便能快速识别是什么类型的指标(主要还是用来对比的),同时能保证整份报表色系一致。
上图[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周的表现较差。
这时老大想了解是否是有2,3月就是有表现不好的规律,上图[1.5]筛选去年同时间2021-03-26,这整份报表就回溯到当时的情况。这就是[可视化]的[可回溯性],能够最终靠筛选回到任何时间的报表分析,而不用再找数据部门要,双赢。
上图[1.6]发现21年2月销售额也下降了,大概是春节的因素,但是只下降-12%,比22年2月下降-17%好很一些,且21年3月[环比增长率]足足上升了36%,[1.7]也没发现3月后2周会表现不好的规律。
上图[1.8]老大再次筛选时间=2022-03-13,为了看22年3月前两周的表现情况,再次回溯报表时间。发现果然,22年3月前2周的[环比增长率(同时段)]为44.8% ,甚至超过了去年36%。
上图[2.1]很清楚的看到本月销售额的[环比增长率(同时段)]上升最多的省份是江苏省,足足272%,能好好表扬下,回头让他们交一分报告上来看是怎么做到的。下降最最多的是湖北省,但销售额就那么一点,是个新市场,无足轻重,可以先不管。
上图[2.2]能够正常的看到所有有业务的省份销售额几乎都是上升的,但是这对3月来说的意义不大,因为我们上面分析3月比2月就该大规模上升。
上图[2.3]很重要,结合了各省[销售金额占比](销售额贡献度)和环比变动情况,可以很清楚的看到 吉林省是2月(同时段)足足贡献了全国的25%的销售额,但是3月却下降到了15%,销售额足足下降了40%,2月贡献了全国的11%销售额的福建省更是严重,销售额下降了57%。
上图[2.4] 老大想知道福建省的详细情况,使用了联动+钻取,体现了[可视化]的[可探索性]。能够正常的看到福建省的沿海城市销售额都下降了。[2.5] 贡献了福建省2月的53%销售额的福州市 环比下降了58%,贡献了福建省2月的25%销售额的莆田市 更是环比下降了87%,贡献第二的下降最多。[2.6]福建省也是22年3月的后2周表现得很差。
结论:福建省的22年3月后2周表现得很差,符合全国22年3月的后2周的异常,主要是福州市和莆田市影响巨大。
至此,其实全国老大在这份报表能够继续筛选+联动+钻取去分析吉林省,且目前只用报表分析的2个版块,下面还有4个版块可以深入分析这2个省的问题。
但是为了让篇幅不会过长,且介绍这份报表满足[各层级所有人员]的特性,我们将切换角色继续往下分析。
上图[0.1]进入了东北三省总监的账号,有一张[权限配置表说明],[0.2]在[权限配置表]里配置了该账号有黑龙江省,辽宁省,吉林省3行的权限,当然也可以配置任何几个市 或者几个区,[0.3]配置决定了你(往下延伸)的[全国省-市-区_权限控制表]的权限,从而去控制所有的报表[0.4],[数据权限]
所以该报表体系满足[各层级所有人员]的需求的核心:在于数据权限+角色目录权限,且数据权限可以无穷尽的随意搭配,比如 福建省 +广东-广州市 + 吉林省-吉林市-永吉县 这种奇葩权限组合,做的不够是填写[0.1]的[权限配置表]表而已,一但建立好体系,创建非常容易。
上图[0.5],该账号只能看到这3个省的数据,也只能筛选到这3个省,体现[可视化]的[层级管理性]:各层级所有人只能看到自己该看的东西
上图[0.6] 报表变成了默认就是市为主要分析的维度,不用辛苦的每次钻取这个常看的维度,体系体现[可视化]的[使用广泛性]。
上图[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周的异常。
上图[2.2]能够正常的看到吉林省的只有白山市是正常上涨的。[2.3] 贡献了吉林省2月的34%销售额的长春市 环比下降了55%, 贡献了吉林省2月的11%销售额的长春市 更是环比下降了86%,全省下降最多。
由于市场一直在高速扩张中,也就是一直在新开门店。所以本月[环比增长率]-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月份尤其严重。
[销售额]=[有销量门店数]*[店均销售额], [有销量门店数]是很重要的,但因为门店在一直新开,所以直接对比上月会受到新开门店的影响。所以引入的[门店有销率]=[有销量门店数]/[总门店数(当时)] ,同时这个率也能知道门店的活跃情况,一举两得。
上图[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%上下徘徊。
[4.6] 点击吉林市交互看到[4.7]也是从月8号左右脱离增增长值下滑
结论:吉林省的门店有销量率减少了-15.5%,主要是在3月8日后大幅度连续下滑,符合吉林省3月后2周销售额表现差,但还不足全部以解释 -40%的业绩下滑。
[月店均销售额]代表了门店的平均销量水平,上图[5.1]找到了-40%销售额剩下的原因,是 [月店均销售额] 的 环比下降了 -24.8%。[5.5]可以很清晰进一步分析下降的根本原因是 [店均销售天数]大幅度下降了, 而[店日均销售额]只有略微下降,[5.6]能够准确的看出 到3月20日才有略微的下降。
结论:吉林省的门店[月店均销售额]减少了-24.8%,主要是在[店均销售天数]大幅度减少,加上这个因素可以基本解释 -40%的业绩下滑的原因。
上述展示的[日常可视化报表]将有可探索性,使用广泛性,层级管理性,实时性/可回溯性,都充体现到了,不难得知这份报表能再自助分析探索的地方还有非常多。
不过就像开头说的,比起[专题分析报表]确实会在深度的分析上有所缺失,我们下面就补充一个和本次有关的[专题分析报表]。
吉林省-40%的业绩下滑中,吉林市足足-85%的下滑。大家一般来说都会清楚应该是受到疫情影响。但是这个应该很不会,是怎么个个影响法,具体影响了多少,真的
[日常可视化报表]更多的让各位明白都发生了什么,并能探索锁定出问题的范围, 就像我们的探索发现的路径:
全国22年3月销售额环比好像没下降——全国22年3月后2周的销售额异常——主体问题出自在福建省和吉林省的后2周——吉林省 的长春市和吉林市3月后2周确实有问题——问题主要是门店有销率(后2周) 和 门店销售天数.........
上图这是一份简单分析22年各城市受疫影响[销售额]的[专题分析报表],筛选到吉林市,能够正常的看到3月份确实有疫情。这份[专题分析报表]采用了[新增本土确定诊出的病例]作为判断是否有疫情的标准,因为收集所有城市的封管控等信息十分艰难,有主观性,口径不一致。目前政府、商家、消费者的决策实际上也是以[新增本土确定诊出的病例]为基准在做判断,都是在关心[本土新增]。
[2]是通过22年无疫情日算出的日均销售额为9084,这个是不会被筛选日期影响的,如果通过筛选里的算无疫情日算出的日均销售额,天数太少,离疫情太近,有很多偶然性。
[3]销量和本土新增折线日就开始有[新增本土确定诊出的病例],月头几天销售额就已经收到了影响,小于22年无疫情日算出的日均销售额的9084。且在3月7日疫情开始持续爆发的时候,销量明细大规模下滑。
[4] (3月疫情天数)24× (疫情影响日均销售额)-8125 =(本月因疫情总损失销售额) -194,991
[5]从而推断(无疫情预期销售额)为227,393, 因疫情损失为 -85.8%.
我们回顾下[日常可视化报表]的吉林市足足-85%的下滑,上述这个[专题分析报表]就能非常好的解释清楚。
结论:吉林省的22年3月份[月店均销售额]下滑-85%是疫情导致的,(上图)长春市用同方法去推断也是发现一样的情况,所以吉林省的门店[月店均销售额]减少了-24.8%可完全用疫情解释。
这里吉林市受疫情影响其实会比-85.8%更多一些,因为当前方法最简单,是没考虑[门店正常会一直快速新增]这个因数,所以线年无疫情日店日均销售额]替代 [22年无疫情日日均销售额],并也将[新增门店]用同样的方法推断没疫情下的新增量,从而算出真正的[无疫情影响的销售额]。
[专题报告]在[可视化报表]无法准确解答一些问题的时候,会经常的被提出需求,而且是会一直不断的主动或被迫往下分析,继续优化,直到分析到再优化的收益也不大了才停止,所以也确实也难再去做到[可视化报表]在展示交互上那么灵活,两者侧重点不同。
往往[专题报告]出来的一些指标经过验证后能进入[可视化报表]作为考核指标之一,两个报表可以说是相辅相成,各有作用,只有配合起来运用才能满足需求者的需求。