引言

   上一年组织烧烤活动买食材时,我在超市的货架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的提升度可以作为一个指标的分界值。换言之,啤酒并没有因为在和烧烤架的关联中而得到好处。,在实际业务中,我们可以这样来理解关联三度,支持度代表这组关联商品的份额是否够大(公式:这一关联/总交易),可信度代表关联度的强弱,二提升都则表示该关联是否有利用价值(即对整体销售提升的帮助也不会大)。

   萝卜:我把主管您的话改一下看看,这两个商品的关联性如何,看可信度,这个关联性是否有意义需要看支持度(你有意义我才支持你),这个关联规则如华润万家的 烧烤架+可乐 这个组合是否值得推广到其他华润分店还必须要看提升度。

  • 关联性:可信度
  • 这个关联性是否有意义:支持度,你这个关联度很高如90%,但只是占总交易的相当小部分,那就没啥大意义,这种情况完全有可能出现,如巧克力和玫瑰花,在特定的时间和地点关联度很高,平时不一定有意义
  • 这个关联规则是否值得推广:提升度(提升提升,提升销售额的“提升”)

   经营主管:ok你还挺开窍的,可以这样理解。通常只看前两个而不看提升度是比较不全面的。在实际业务中,我们需要对支持度和可信度设定准入贵则,如支持度>=3%, 可信度>=60%,满足最低准入值则可以视为商品见的关联关系有价值。

   萝卜:谢谢主管,还想问一下咱们公司有没有历史数据给我来练练手,我想用程序探索一下实现流程。

   经营主管:好学精神值得肯定,我回头发到你邮箱吧,我先去开会了。


Python实现

   Person 或者 Spearman 系数可以帮助我们先去大概看一下商品之间的相关性,选择一下相关性高的,然后用商品关联三度去分析一下是否存在偶然性,还是说是真的高。



至于是怎么快速实现一行代码画出热力图的,可参考这篇文章
Python 数据可视化:Matplotlib Heatmap 热力图,相关系数矩阵图(放入自写库,一行代码搞定复杂细节绘图)

结果出来后,我第一时间 Email 给了主管

   **萝卜:**从上述分析结果上看,谁对谁的提升度似乎都好高,那就赶紧把他们放在一起吧?

   主管: 万万不可,你没看到支持度非常低吗,只有百分之 0.3 几,也就是说这两样东西提升来提升去可能也就最多提升到百分之几而已,贡献不一定大,除非这两个商品是属于贵重物品或奢侈品。一言以蔽之,得出了结果,还要进行实地调研和用业务头脑分析,记得之前跟你提到的面包可乐组合明明很ok,但是推广到了另外几家小卖部后惨遭滑铁卢了吗?

   萝卜: 嗯嗯,您还没有告诉我。

   主管: 你先来看看这几家小卖部的分布图吧,看有没有什么想法?

   萝卜: 噢我知道了,我看了一下数据,是夏季,然后公园里面散步的人口渴,老外喜欢把可口可乐当水喝,所以可乐销量好是正常的,但因为 Store1 紧挨着鱼池,所以人们会买面包然后撕成屑去喂鱼喂鸽子,而一条大河之隔的另外两个 Store 则没鱼可喂。

   主管: 挺聪明的嘛,总之显示情况错综复杂,你只是学了点皮毛,还需要不断精进头脑,才能实现多维度看问题,今天就先到这里,下次带你去了解一下库存方面的知识吧,实际考察一下。

   萝卜: 谢谢主管!

PS:笔者业务思维专栏还有寻找零售密码的几种方法,后续将不断更新

  学会提问 | 个人爆发式成长 | Excel 大表格

  一句话成为心上人特别的存在

商品关联度分析(关联三度,附Python实战) 我的钱就是这么没的,不只有皮尔森系数的相关分析相关推荐

  1. python字典获取关联值_【Python实战12】使用字典关联数据

    现在我的手里有了新的一组数据,数据内容如下: james.txt: James Lee,2002-3-14,2-34,3:21,2.34,2.45,3.01,2:01,2:01,3:10,2-22,2 ...

  2. python商品评论分析_NLP实战:用主题建模分析网购评论(附Python代码)

    现在电商行业势头正好,对在线零售商来说,他们不受库存或空间的限制,而实体店则必须在有限的空间中存储产品. 但是,在线购物也有它的局限之处,最大的难题之一就是检验产品的真伪.它的质量是否如宣传所说的那么 ...

  3. ICLR 2020关键亮点与发展趋势总结(附python实战分析PyTorch vs Tensorflow使用情况)|文末送书...

    介绍 ICLR是International Conference on Learning Representations的简称,是机器学习和深度学习研究界最著名的会议之一. ICLR 2020最初计划 ...

  4. python解决数学问题的实例_三十道python实战练习习题

    Python数学计算,编程练习题实例一: 简述:这里有四个数字,分别是:1.2.3.4 提问:能组成多少个互不相同且无重复数字的三位数?各是多少? Python解题思路分析:可填在百位.十位.个位的数 ...

  5. python开发跟淘宝有关联微_基于Python的Apriori和FP-growth关联分析算法分析淘宝用户购物关联度...

    关联分析用于发现用户购买不同的商品之间存在关联和相关联系,比如A商品和B商品存在很强的相关性,常用于实体商店或在线电商的推荐系统,例如某一客户购买A商品,那么他很有可能会购买B商品,通过大量销售数据找 ...

  6. 基于 Python 的大型超市商品销售关联度分析系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目背景 本项目通过对数据挖掘领域中的关联规则经典算法Apriori,运用关联规则对某大型超市超市的部分数据进 ...

  7. python灰色关联度分析代码_灰色关联分析法步骤 - osc_uwnmtz9n的个人空间 - OSCHINA - 中文开源技术交流社区...

    https://wenku.baidu.com/view/dc356290af1ffc4fff47ac0d.html?rec_flag=default&sxts=1538121950212 利 ...

  8. python关联分析sklearn_Python3利用pandas,sklearn进行关联度分析以及预测的demo

    做个简单的demo记录下,防止忘记 先看原始数据: 一共有5列:日期,金钱,性别,工作年限,年龄. 我们的目的是要分析各个维度对金钱的影响. 关联度分析代码: # -*- coding: utf-8 ...

  9. 我悄咪咪告诉你:罩杯越小的妹子倾向买越贵的内衣~~Python爬取京东9000条内衣销售数据之数据关联度分析

    将爬取的9000条内衣销售数据整理清洗后,基于Apriori关联算法,针对"罩杯和消费价格倾向这两个元素有无关系"这个问题进行分析 上一篇用数据库清洗数据,点这里 再上一篇爬取数据 ...

最新文章

  1. requestWindowFeature()的应用
  2. Android自定义属性
  3. java常见证书类型和密钥库类型
  4. java 钩子_java中钩子方法的概念
  5. JSP常见的三个编译指令
  6. 熬夜所带来的伤害,远比我们想象的更可怕
  7. 神经网络反向传导算法
  8. RFE筛选出的特征变量竟然是Boruta的4倍之多
  9. hdu 5076 最小割灵活运用
  10. Linux初级入门(第一次作业)
  11. oracle grid安装看不到config,【图片】【rac11g安装问题】出了问题特来请教各位大侠【oracle吧】_百度贴吧...
  12. 《数学之美》 第六章 信息的度量和作用
  13. java final对象_java面向对象基础_final详细介绍
  14. Theme相关:button的效果不显示
  15. Android 自定义价格日历控件
  16. Slicer学习笔记(六十一)slicer下segmentation segment合并
  17. SpringBoot的幕后推手,五年Java开发者小米、阿里面经
  18. 关于PHP程序员技术职业生涯规划 2017年3月5日韩 天峰
  19. 第五章运算符表达式和语句
  20. Elasticsearch启动报错:warning: ignoring JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191; using bundled JDK

热门文章

  1. 2017 年了,这么多前端框架,你会怎样选择?
  2. 腐烂国度2主宰版计算机学知识,一、主宰版新内容/mod说明_腐烂国度2主宰版图文全攻略_全任务全基地详解资料攻略_新基地位置_3DM单机...
  3. Java实现新闻门户网站
  4. 嵩天老师在B站上的课程部分源代码2
  5. 基于 FPGA Vivado 示波器设计(附源工程)
  6. 笔记本机械硬盘频繁掉盘解决
  7. 使用 Python 创建您自己的NFT集合(一)自己动手制作中秋月饼上链送给亲朋好友
  8. 什么是Provisioning Profile
  9. 华为mate40pro和iphone 12pro哪个好
  10. CAD高版本窗体阵列LISP_高版本CAD如何显示阵列窗口?