使用Power BI/Excel避免追加式订货(识别真正的畅销品)
7-11社长铃木敏文在多本书里谈到了追加式订货的可怕之处。在《巷口商学院》这本书里面有一长段描述,我再次摘录如下:
先思考一个简单的问题。假设某商品有X、Y、Z三个种类。X进了50个卖出30个,Y进了30个卖出20个,Z进了10个卖了10个。如果由你负责订货,接着你要进哪个商品,又进多少呢? 如果毫不考虑地只补充卖出的量,我们称之为“补充订货”或“追加订货”。如果那样就好的话,订货就成了事先有答案的“作业”了。不过,这么下去的话,卖场永远是一成不变,客人就会流失。 你必须要分辨“畅销商品”与“滞销商品”。所谓的畅销商品,就如字面所示,是指因切合顾客的需求,卖得好,预期能扩大业绩与利润的商品。 相反地,脱离顾客的需求,销售不佳,无法期待业绩与利润,没有必要摆放在店内的商品,就称为滞销商品。 那么,X、Y、Z中,何者是畅销商品,何者是滞销商品呢? 目前便利超市已导入了POS系统。这是个在终端的收银机,以售出商品的条码输入资讯——哪个商品何时卖出几个,能够自动管理各种销售资讯的系统。 以POS数据来看销售量,依序为X是30个、Y是20个、Z是10个,所以“销量商品”的冠军是X。但那真的是畅销商品吗? 在此,我们再试着加入另一个时间的数据。实际上,Z一个钟头就全数卖光,Y半天内30个卖出20个,X一天内50个卖出30个,剩下20个。如果是这个样子呢,就卖出的速度,依序则为Z→Y→X。 虽然销售量最少,但新的畅销商品却是Z。能在一个小时内卖完,是因大家都非常想要这件商品。而Y、X之所以能卖出,说不定是因第二个小时后,店内已没有Z了,顾客虽然早已厌腻Y、X,不得已也只好购买。Y,X很可能才是滞销商品。 如果不假思索,仅参考销售量来补充订货的话,很可能在畅销商品Z的部分就产生商机损失,而X、Y的部分就产生报废损失。相反,如果积极地多进些Z,而适度地订X、Y,或者将其抽离卖场,商机损失就会缩小,报废损失也得以压低。 我们往往站在卖方的立场,关心哪个商品会卖得多,就再进些卖得多的商品。但那是到昨天为止的畅销商品,是与“昨天的顾客”做生意的方法。 现今是个瞬息万变的时代。“昨天的顾客”与“明天的顾客”是不相同的。在下订单时,重要的是思考“明天的顾客”所需是什么。某件商品虽然到昨天为止卖得并不好,但隔天会如何呢?要常思考新的畅销商品是什么,并将商机损失压到最低。 当所需的商品没货时,顾客当天或许会不得已地购买早已厌腻的其他商品,做出消极的选择。但是,一再发生的话,顾客就不再前往那家店了。营业额低于前一年的店,一定是产生了商机损失与报废损失。
7-11是便利店连锁,货品周转速度会比服装快些。但服装业的逻辑也是一样的。一个季度结束了,才去按季末销量或者售罄率统计畅销款,显然会陷入追加式订货的误区。更为可怕的是,目前许多服饰品牌订货为期货制,下单后订单并没有调整的可能。
季末的销量会因为缺货、断码等问题产生扭曲,并不是消费者需求的真实反映。一般情况下,销量达到订单数量一半之前(即售罄率达到50%),我们认为该商品的尺码还是齐全的,这个期间的销量为真实销量。算出每个产品的平均每天的真实销量即可还原真实销售排名,作为订货参考。下文以Power BI桌面版为例讲解如何还原真实销售排名,Excel使用Power Pivot操作思路类似。
1.准备数据,并建立以下关系

2.新增列,计算每个货号从产生销售的第一天开始的累计销量及累计售罄率,用以判断哪天开始销量超过订单数量的50%
累计销量 = SUMX ( FILTER ( FILTER ( '销售汇总', '销售汇总'[货号] = EARLIER ( '销售汇总'[货号] ) ), '销售汇总'[销售日期] <= EARLIER ( '销售汇总'[销售日期] ) ), '销售汇总'[销量] )
累计售罄率 = DIVIDE('销售汇总'[累计销量],RELATED('订单'[订单数量]))
3.新增列,计算售罄率达到50%是哪一天
售罄率达到50%时的日期 = IF ( MAXX ( FILTER ( '销售汇总', '销售汇总'[货号] = EARLIER ( '销售汇总'[货号] ) ), '销售汇总'[累计售罄率] ) < 0.5, DATE(2018,7,31), MINX ( FILTER ( FILTER ( '销售汇总', '销售汇总'[货号] = EARLIER ( '销售汇总'[货号] ) ), '销售汇总'[累计售罄率] >= 0.5 ), '销售汇总'[销售日期] ) )
当从未达到50%时,返回数据截止日期(2018年7月31日)
4.新增列,计算售罄达到50%用了多少天
达到50%售罄时销售天数 = DATEDIFF('销售汇总'[上市日期],'销售汇总'[售罄率达到50%时的日期],DAY)+1
5.新增列,计算售罄达到50%销量多少
达到50%售罄时的销量 = SUMX ( FILTER ( FILTER ( '销售汇总', '销售汇总'[货号] = EARLIER ( '销售汇总'[货号] ) ), '销售汇总'[销售日期] <= '销售汇总'[售罄率达到50%时的日期] ), '销售汇总'[销量] )
6.生成一个新表,对上述关键信息汇总
畅销款汇总 = SUMMARIZE ( '销售汇总', '销售汇总'[货号], '销售汇总'[上市日期], '销售汇总'[售罄率达到50%时的日期], '销售汇总'[达到50%售罄时销售天数], '销售汇总'[达到50%售罄时的销量], "实际累计销量", SUM ( '销售汇总'[销量] ) )
7.按照达到50%的销量倒推理想累计销量
理想累计销量 = ROUND ( DIVIDE ( '畅销款汇总'[达到50%售罄时的销量], '畅销款汇总'[达到50%售罄时销售天数] ) * ( DATE ( 2018, 7, 31 ) - '畅销款汇总'[上市日期] + 1 ), 0 )
截取部分计算结果我们可以看到,第一个货号21天就卖到了50%,后续因断码损失了销量,货品充足的情况下季末可以销售更多。

当然该假设也有不合理之处,存在货品的生命周期问题,不可能任何上市日期的产品都会销售到季末,读者可以合理划分进行估算。
另外,该方案有个漏洞是,由于很多产品过早的销售完毕导致部分其他产品早期的销量放大。铃木敏文提到的部分问题仍然没有避免,但这仍不失为一种季末回顾相对合理的方案。日常的跟踪作业去培养货品敏感性仍然非常必要。
公众号:wujunmincn