数据分析里有一个经典的案例,超市里经常会把婴儿的尿不湿和啤酒放在一起售卖,原因是经过数据分析发现,出来买尿不湿的家长以父亲居多,如果他们在买尿不湿的同时看到了啤酒,将有很大的概率购买,这样就可以提高啤酒的销售量。

这个案例可能很大多数人都听烂了,但是如果要问你这个案例背后的算法和本质是什么,可能就要难倒不少人了。

其实,这种通过研究用户消费数据,将不同商品之间进行关联,并挖掘二者之间联系的分析方法,就叫做商品关联分析法,也叫作“购物篮分析”。

购物篮分析在电商分析和零售分析中应用相当广泛,但是很多人仅仅是照猫画虎,做一点表面的购买率关联分析就行了,其实真正的商品关联分析可不是这么浅显简单,下面就简单介绍一些商品关联分析。

一、商品关联分析的定义和目的

关联大家应该都很好理解,就是反映某个事物与其他事物之间相互依存关系的,在商品关联分析的定义是,通过对顾客的购买记录数据库进行某种规则的挖掘,最终发现顾客群体的购买习惯的内在共性。

什么叫做内在共性呢?举个简单例子,一般来说女性去超市买的东西是化妆品、服装、时蔬等等,而男性去超市买的东西大多是日用品,所以超市里会设置女性专柜和男性专柜,通过简单的客户分群实现商品分类。

我们都知道,做数据分析的目的就是找到数据之间的关联和联系,而对于产品或商品来说,我们的目的是什么呢?

答案是找出顾客购买行为的模式,比如说用户买了A商品,是否会对B商品产生什么影响;比如用户今天的购买行为,会不会对明天的销售量带来影响;比如不同的用户是否具有不同的购买模式,等等。

而这种挖掘方式要基于一定的规则,这个规则就是进行关联分析的算法,也就是下面我们要说的内容。

二、商品关联分析的指标

商品关联分析中有很多的指标体系,一般来说有下面三种比较常见:

1、支持度

支持度是指A商品和B商品同时被购买的概率,或者说某个商品组合的购买次数占总商品购买次数的比例,用图表示就是两者之间的交集。

其算法公式是:S=F[(A&B)/N]

其中S代表支持度,F代表概率函数,A&B代表购买了A且购买了B的次数,N代表购买总次数。

比如今天共有10笔订单,其中同时购买牛奶和面包的次数是6次,那么牛奶+面包组合的置信度就是6/10=60%

2、置信度

置信度是指购买A之后又购买B的条件概率,简单说就是因为购买了A所以购买了B的概率,用图表示就是交集在A中的比例。

其算法公式是:C=F(A&B)/F(A)

其中C代表置信度,F表示条件概率,A&B代表购买了A且购买了B的次数,A代表购买A的次数。

比如今天共有10笔订单,其中购买A的次数是8,同时购买A和B的次数是6,则其置信度是6/8=75%

3、提升度

提升度是先购买A对购买B的提升作用,用来判断商品组合方式是否具有实际价值,换句话说,就是看组合商品被购买的次数是否高于单独商品的购买次数,大于1说明该组合方式有效,小于1则说明无效。

其算法公式是:L=S(A&B)/[S(A)*S(B)]

其中L代表提升度,S(A&B)代表A商品和B商品同时被购买的支持度,S(A)*S(B)代表商品A被购买的概率与B被购买概率的乘积

比如今天共有10笔订单,购买A的次数是8,购买B的次数是4,购买A+B的次数是6,那么提升度是0.6/(0.8*0.4)>1,因此A+B的组合方式是有效的。

三、商品关联分析的步骤

1、数据来源

我们以某份超市的购买订单数据为基础,其中包含了商品类别、价格、特价、订单ID等信息

2、使用工具

我们在建立关联模型的时候,如果选择用excel等工具实现起来较为困难,为了提高分析效率,我们可以使用专业的数据分析BI工具,比如下面我用到的FineBI,可以直接将Excel数据导入到系统里进行分析,当然也可以选择连接oracle等库使用数据库表,通过建立自助数据集的方式进行自主分析。

首先我们先进行交集的计算,将刚才的excel数据表直接导入:

3、数据合并

计算交集的方法很简单,就是复制一列相同的商品类别,将两列合并在一起,就可以分出比如A+A、A+B、B+A等的商品组合,操作方法是直接点击左侧合并,并选择“并集合并”。

4、过滤重复值

很显然我们不需要A+A的组合,因此要将商品类别相同的数据给过滤掉,直接左侧添加过滤栏,过滤条件设置为“MeaNames=新MeaNames”。

5、计算交集次数

过滤掉了重复值也就得到了我们的交集,但是怎么计算每个交集的次数呢?这时候我们要用到辅助列,也就是新添加一列”值为1“的常数列,然后再新增一列,将相同类别的商品求和,也就是计算相同类别商品1的个数,作为我们每个交集的次数。

6、计算支持度

计算出了每个商品组合的交集次数,我们就可以来计算关联分析里的支持度、置信度和提升度了。

首先支持度要计算出购物的总次数,我们再新建一个数据集,还是用到刚才的excel数据表,所有数值都添加进去。

然后我们直接计算不同类别的ID数总和就可以了,新添加一列然后选择组内求和,条件是ID数。

这样我们就有了交集表和总数表,下一步就是将两张表合并成一张表,从下表我们就能看出不同商品组合的总次数和交集数。

根据支持度的公式,我们直接新加一列,公式为“交集/总数”,这样我们的支持度就计算出来了。

7、计算置信度

置信度就比较好计算了,根据公式我们只要算出A商品的购买率就可以了,直接新加一列,命名为置信度,公式为“交集/购买A的数量”,即可计算出置信度了。

8、计算提升度

计算提升度我们可以照猫画虎,根据定义新加一列,公式为“支持度/[(购买A的数量/订单总数)*(购买B的数量/订单总量)],就能得到提升度。

9、最终结果

四、分析结果

从最终得到的结果我们能够看出来不同商品之间的类别关系,比如下面几条结论:

1.面包与牛奶的支持度最高,说明把面包和牛奶放在一起捆绑销售可以提高销量;

2.水果与面包的支持度最低,需要把这两种商品分开放置,尽量不要靠近;

3.牛奶与鸡蛋的置信度最高,说明买了鸡蛋之后用户很有可能继续购买牛奶;

当然还有很多其他结论,可以帮助我们对商品的销售进行分析和处理,有利于我们提高销量,实现数据价值。

关联分析购物篮案例python_购物篮分析案例_关联分析算法_如何做销售数据分析 – 帆软...相关推荐

  1. python分析每月销售数据_利用Python进行某单品销售数据分析

    本篇文章将利用Python工具对一份某商品的销售数据进行如下几个方面的分析,结合业务场景,构件常用业务指标,以从销售数据中挖掘出其潜在的商业价值,促进运营.用户消费趋势分析: 用户个体消费分析: 用户 ...

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

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

  3. javaweb JAVA JSP购物系统jsp销售系统 (jsp电子商务系统,购物商城)甜品蛋糕在线购物系统案例

    javaweb JAVA JSP购物系统jsp销售系统 (jsp电子商务系统,购物商城)甜品蛋糕在线购物系统案例 常见的Javaweb题材有 理财系统,就业管理系统,汽车租赁,简易网盘,疫情数据查看, ...

  4. Java语言开发在线购物推荐网 购物商城推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习项目开发

    Java语言开发在线购物推荐网 购物商城推荐系统 基于用户.物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据.人工智能.机器学习项目开发ShopRec ...

  5. Java开发在线购物推荐网 购物商城推荐系统 基于用户、物品的协同过滤推荐算法 京东商城爬虫 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习项目开发

    Java开发在线购物推荐网 购物商城推荐系统 基于用户.物品的协同过滤推荐算法 京东商城爬虫 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据.人工智能.机器学习项目开发Sh ...

  6. Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例

    Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 文章目录 Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 Seaborn 学习目标 6.1 Se ...

  7. 【AI案例】(一)NPL文本情感分析

    文章目录 一.NLP文本情感分析概述 二.文本情感分析难点 三.具体方法与实现步骤 1.情感词典 2.高纬向量模型 1>概述 2>具体步骤如下: 1) jieba分词 2) Word2Ve ...

  8. 对案例: “绩效主义毁了索尼”的分析讨论

    对案例: "绩效主义毁了索尼"的分析讨论 一.案例分析 在进行案例分析之前首先明确绩效考核的概念.绩效考核也称成绩或成果测评,绩效考核 是企业为了实现生产经营目的,运用特定的标准和 ...

  9. oracle11g ora 29927,【案例】Oracle内存泄漏 进行10046跟踪分析07445导致数据库宕机

    天萃荷净 在一次ORA-7445导致oracle数据库down掉故障分析中,发现sql因某种原因导致大量的sql area中很多内存泄露,最终导致数据库down掉.通过实验找出类此奇怪SQL. SEL ...

  10. R语言Kaplan-Meier绘制生存分析、Log-rank假设检验、Cox回归曲线实战案例:恶性黑色素瘤的术后数据生存分析

    R语言Kaplan-Meier绘制生存分析.Log-rank假设检验.Cox回归曲线实战案例:恶性黑色素瘤的术后数据生存分析 目录

最新文章

  1. 人工智能产业发展联盟公布首轮AI芯片基准评测结果,评估工具已开源
  2. android monitor 汉化
  3. Static 作用探讨
  4. 基于linux服务器的性能分析与优化
  5. 基于Python的Web自动化(Selenium)之读取文件
  6. 【Python】Matplotlib绘制极坐标雷达图
  7. php获取网页内容方法总结
  8. Learning to Fuse Asymmetric Feature Maps in Siamese Trackers 论文与代码笔记
  9. IntelliJ IDEA中文汉化教程
  10. windows 编程的学习次序
  11. 维度打击,机器学习中的降维算法:ISOMAP MDS
  12. EasyExcel自定义表头
  13. C++ Reference: Standard C++ Library reference: C Library: cstdio: printf
  14. 葡聚糖-叶酸;Dextran-FA;Dextran-Folicacid 结构式;科研试剂简介
  15. android 手机系统排行榜,手机系统排行榜出炉:第一名意料之中,MIUI排名令人意外!...
  16. DedeCMS找后台目录漏洞
  17. 基于CANVAS与MD5的客户端生成验证码
  18. 客户端测试版本发布流程
  19. Vue项目接入百度地图,更改地图主题色
  20. 痞子衡嵌入式:超级下载算法(RT-UFL)开发笔记(2) - 识别当前i.MXRT型号

热门文章

  1. android获取进程名,android – 按包名查找正在运行的进程ID
  2. php md5 验证,怎么核对md5?
  3. osgEarth 加载矢量shp数据
  4. 支持向量机(SVM)凸二次规划的求解——序列最小最优化算法(SMO)原理及python实现
  5. 考软考需要准备什么,需要买哪些学习资料?
  6. 医院职工离职申请证明模板,共计10篇
  7. 电子设计大赛简易自动入库小车设计
  8. 富士通MB95F636H输出PWM
  9. 单片机编程软件很简单(一),keil单片机编程软件忽略警告+全局替换
  10. 使用MSAgent代替传统的MessageBox提示来增用客户端用户体验