引言
上一年组织烧烤活动买食材时,我在超市的货架29买了一个烧烤架,然后到货架27买了瓶1.5L的可乐,最后在货架25找到了我需要的塑料小碗。今年再去那家超市的时候,特地再去烧烤架所在的货架查看了一下,看看有没有什么值得记录的灵感。果不其然,摆放在货架29的烧烤架的边上就陈列着塑料小碗和大瓶可乐(虽然数量不是很多,但不用再劳烦我奔波于几个货架之间了,真聪明!)
这个线下商店的管理员是怎么知道应该这样改进的呢?为什么卖烧烤架的货架旁边放塑料小碗和大瓶可乐就能够在整体上促进销量,而在卖大瓶可乐的货架旁放置烧烤架反倒对提升销售额没有帮助?
任何一个零售业态,线上线下都好,如果不去分析商品间的关联分析,则很难发现商品间的隐形密码,并且也很难做到精细化管理。商品的关联度分析对于提高商品的活力、挖掘消费者的购买力、促进最大化销售有很大帮助。事不宜迟,赶快开始!(本文专注于商品间的关联度分析,商品&价格/天气/商圈/顾客 之类的广义上的关联先不探究)
读者萝卜: ok,我觉得不用继续下去了, Person 和 Spearman 系数我已经很熟了,公式原理倒背入流,Python 实现也非常简单。 df.corr(); df.corr(method=‘spearman’) 而已。
经营主管:从题目就已经可以看出事情远没有那么简单,这两个系数的结果会存在很大的偶然性:数据中显示吃雪糕的人数和被鲨鱼咬伤的人数之间的Person系数为0.68,快到0.7了,应该属于强相关了吧?其实是因为现在是夏天,吃雪糕的人当然会变多,到海湾游泳解暑的人也会增多,被鲨鱼咬伤的几率就自然而然的增多了;还有,我之前发现小面包干和可乐摆在一起卖能促进销售额最大化,结果因为地点问题再次滑铁卢…
萝卜:怎么回事呢主管?这两个系数明明很经典啊,而且你那个面包可乐不是已经经过实践检验了嘛,怎么还会失误?
经营主管:一句话,分析不到位,不严谨,不全面,乱套因果。
现在来正式看一下商品关联度销售分析是怎么回事吧。
eg:购买烧烤架的客户中有55%的顾客会购买可乐,则烧烤架对可乐之间就有了关联,请注意这是烧烤架对可乐。反过来不一定具有很强的关联度,毕竟买烧烤架证明你很大可能是将它用到烧烤活动上,有烧烤就要有饮料;但反过来看,我买可乐的原因有很多,烧烤活动只是一个非常非常小的分支。
萝卜:嗯嗯,感觉跟Person相关系数之类的定义会有点像,那该如何判断呢?有没有公式什么的??
经营主管:别急,肯定是有的,系统的商品关联分析必须有三度的概念:支持度、可信度和提升度,具体公式如下图。
萝卜:真是高大上呀,公式简单但听起来有点晦涩,主管你能举个案例再给我普及一下吗?
经营主管:看一个实际业务案例吧。经过数据清洗,发现华润万家超市2019年12月总交易次数为2000次,其中包含烧烤架的交易为100次,包含啤酒的交易为200次,同时包含烧烤架和啤酒的交易为50次,你能根据这些数据计算出这三度的值吗?
萝卜:支持度=50/2000 * 100%=2.5%;可信度=50/100 * 100% =50%(注意除数与被除数的顺序,这里我把啤酒放在前,即啤酒交易出现在烧烤架中的概率);提升度=50%/(200/2000 * 100%)=5.0(公式的商品B便对应了求解可信度时用到的商品的另一种,这里便是烧烤架,理解起来就是啤酒在总交易的占比与啤酒在烧烤架中的占比的商),ok 主管我求完了,但这些数字又有什么用呢?
经营主管:如果把案例中的50改为10,重新计算后可信度就变成了10%,啤酒在烧烤架一种出现的概率变为10%,一下子就降低了很多,提升度也降到1.0。也就是说:啤酒在总交易中 与 啤酒在有烧烤架的交易中 出现的概率是一样的,1.0的提升度可以作为一个指标的分界值。换言之,啤酒并没有因为在和烧烤架的关联中而得到好处。,在实际业务中,我们可以这样来理解关联三度,支持度代表这组关联商品的份额是否够大(公式:这一关联/总交易),可信度代表关联度的强弱,二提升都则表示该关联是否有利用价值(即对整体销售提升的帮助也不会大)。
萝卜:我把主管您的话改一下看看,这两个商品的关联性如何,看可信度,这个关联性是否有意义需要看支持度(你有意义我才支持你),这个关联规则如华润万家的 烧烤架+可乐 这个组合是否值得推广到其他华润分店还必须要看提升度。
经营主管:ok你还挺开窍的,可以这样理解。通常只看前两个而不看提升度是比较不全面的。在实际业务中,我们需要对支持度和可信度设定准入贵则,如支持度>=3%, 可信度>=60%,满足最低准入值则可以视为商品见的关联关系有价值。
萝卜:谢谢主管,还想问一下咱们公司有没有历史数据给我来练练手,我想用程序探索一下实现流程。
经营主管:好学精神值得肯定,我回头发到你邮箱吧,我先去开会了。
Person 或者 Spearman 系数可以帮助我们先去大概看一下商品之间的相关性,选择一下相关性高的,然后用商品关联三度去分析一下是否存在偶然性,还是说是真的高。
至于是怎么快速实现一行代码画出热力图的,可参考这篇文章
Python 数据可视化:Matplotlib Heatmap 热力图,相关系数矩阵图(放入自写库,一行代码搞定复杂细节绘图)
结果出来后,我第一时间 Email 给了主管
**萝卜:**从上述分析结果上看,谁对谁的提升度似乎都好高,那就赶紧把他们放在一起吧?
主管: 万万不可,你没看到支持度非常低吗,只有百分之 0.3 几,也就是说这两样东西提升来提升去可能也就最多提升到百分之几而已,贡献不一定大,除非这两个商品是属于贵重物品或奢侈品。一言以蔽之,得出了结果,还要进行实地调研和用业务头脑分析,记得之前跟你提到的面包可乐组合明明很ok,但是推广到了另外几家小卖部后惨遭滑铁卢了吗?
萝卜: 嗯嗯,您还没有告诉我。
主管: 你先来看看这几家小卖部的分布图吧,看有没有什么想法?
萝卜: 噢我知道了,我看了一下数据,是夏季,然后公园里面散步的人口渴,老外喜欢把可口可乐当水喝,所以可乐销量好是正常的,但因为 Store1 紧挨着鱼池,所以人们会买面包然后撕成屑去喂鱼喂鸽子,而一条大河之隔的另外两个 Store 则没鱼可喂。
主管: 挺聪明的嘛,总之显示情况错综复杂,你只是学了点皮毛,还需要不断精进头脑,才能实现多维度看问题,今天就先到这里,下次带你去了解一下库存方面的知识吧,实际考察一下。
萝卜: 谢谢主管!
PS:笔者业务思维专栏还有寻找零售密码的几种方法,后续将不断更新
学会提问 | 个人爆发式成长 | Excel 大表格
一句话成为心上人特别的存在