啤酒与尿布---神奇的购物篮分析

老高与购物篮分析

公告

“啤酒与尿布”是一个真实的故事,发生在1990年代的沃尔玛大卖场,代表卖场的购物篮商品之间存在着某种特定的关联关系,挖掘并利用这种关联关系,可以使得实体零售门店充分;了解顾客的购物场景,为选品与品类管理、定价与调价、促销策略及评估、关联陈列、顾客行为聚类等提供了有效的数据依据。

我在2008年撰写了《啤酒与尿布-神奇的购物篮分析》(清华大学出版),开辟本专栏,是为了与大家探讨实体门店购物篮管理的理念、计算方法及案例,以及能够与相关软件企业合作,开发相关应用软件产品

MP:13901022781 微信同号

统计

今日访问:594

总访问量:97552

2023年09月26日

二、购物篮量化分析的数据处理方法:在进行量化购物篮分析时,需要对购物篮数据进行预处理,此时需要先行提取购物篮中商品的多维量化指标,对其挖掘包含的关联规则,这个过程称为预处理过程(Pre-Processing)。1、连续型变量的离散化处理零售业中的经营数据基本都是连续数值变量,Apriori算法只擅长对离散变量的处理,在没有新关联分析算法产生之前,量化关联分析需要将连续数值变量进行离散化处理。连续变量的离散化处理,是将连续数值型变量转换为区间型的数值变量,也称为连续性离散化方法,这种方法将连续属性的邻近值分组,形成有限..

2023年09月22日

一、量化购物篮分析的概念:现代管理学之父彼得·德鲁克曾经说过:“无量化,无管理”、以及“先量化,后决策”,指明了量化管理在企业经营及决策中的意义。量化管理可以大幅减少经营的不确定性,而量化管理的依据来自于量化的经营指标。传统的购物篮分析结果为布尔型关联规则(Booleanassociationrules),不能反映商业的财务与经营等实用指标。商业数据分析只有布尔型关联规则是不够的,商业数据分析需要量化的关联规则。量化关联规则(QuantitativeAssociationrule),指的是数据分析中事务之间的关联规则描述了量化经营指标。零售业的量..

2023年09月19日

一、关联规则的品类归属与商业价值在进行购物篮分析时,有一种有效地判断关联规则价值的方法,就是观察商品的关联规则是发生在同品类、还是跨品类。比如同时发现了百威啤酒与嘉士伯啤酒、百威啤酒与帮宝适尿布之间的关联规则,哪一组的关联规则价值更高?百威啤酒与嘉士伯啤酒都是同一个品类。百威啤酒与帮宝适尿布不属于同一个品类。在零售领域,跨品类商品关联规则的商业价值一定大于同品类商品之间的关联规则。比如百威啤酒与帮宝适尿布之间关联规则的商业价值会大于百威啤酒与嘉士伯啤酒之间的关联规则。这是因为,跨品类的商品之间相..

2023年09月15日

关联规则评估(AssociationRuleEvaluation)零售业是一个数据密集的行业,购物篮分析的目的是为了发现有趣的规则(Tofindinterestingrules),购物篮分析可以发现大量的关联规则,有些关联规则只是重现了商业常识,有些关联规则则隐含了一些规则和模式(hiddenrulesandpatterns),有些是偶发、不可重复且没有商业价值的噪音,如何确定这些关联规则的商业价值,这就是下面提及的实用关联规则评估。数据分析界认为,关联规则的评估(Associationruleevaluation)由关联规则指标的强弱决定,除此之外,还应该加上关联规则是否“有趣”(intere..

2023年09月13日

我们以Groceries数据集为例,表3-3为Groceries数据集的关联分析表,我们以此为例,说明支持度-置信度-提升度指标的量化困境。表格中lhs代表关联规则的左侧、rhs代表关联规则的右侧,按照购物篮分析的定义,lhs(左侧)代表主分析商品,rhs(右侧)代表被关联商品。第一行代表盆栽植物(potplants)与全脂牛奶(wholemilk)的支持度(support)为6.9%,置信度(confidence)为40%,提升度(lift)为1.56.第二行代表意大利面(pasta)与全脂牛奶(wholemilk)的支付度为6%,置信度为40%,提升度为1.58。其他数据以此类推;lhsrhssupportconfidence..

2023年09月07日

Apriori算法在零售业的困境:Apriori算法从1993年出现,30年来算法不断得到补充、修正、改善,应该说是一个非常成熟的算法了,但是令人尴尬的是,尽管Apriori算法位居数据挖掘十大明星算法之一,但是Apriori算法在零售业始终是雷声大雨点小,对于一个出现了30年的明星算法,这种局面让人感到尴尬。Apriori算法范例80%以上都采取了超市购物篮,使用购物篮中的商品组合介绍关联规则的概念及算法,但令人尴尬的是,尽管很多数据分析师解释得头头是道,报表也做得很有说服力,但很少有零售界(尤其是超市)的运营者会对这些购物篮分析结果感兴..

2023年09月04日

关联规则的图形化>plot(last.rules,control=list(jitter=2,col=rev(brewer.pal(9,"Greens")[4:9])),shading="lift")#对上述关联规则绘制散点图#表示散点图上颜色深浅的度量是lift,jitter=2(增加抖动值),col是调色板,默认是100个颜色的灰色调色板,brewer.pal(n,name):创建调色板:n表示该调色板内总共有多少种颜色;name表示调色板的名字。这里使用Green这块调色板,引入9颜色。#结果显示为图3-7图3-7特定条件的关联规则散点图#散点图显示了规则的分布,大部分规则的support在0.1以内,Confidence在0-0.8以内。&..

2023年08月31日

对Groceries数据进行关联分析#size函数和itemFrequency函数都是arules包中的函数,前者是计算购物篮中出现过的商品次数,后者是为了计算每种商品出现的次数(频率)>basketSize<-size(Groceries)#计算Groceries的购物篮商品系数>sum(basketSize)#显示如下:[1]43367#说明在9835个购物篮中,169个商品共出现了43367次;>itemFreq<-itemFrequency(Groceries)#计算Groceries中169个商品在购物篮中出现的频次>itemFreq[1:5]#列出交易数据中五个商品出现的频次分布。#显示结果为:frankfurtersausageliverloafhammeat0.05897..

2023年08月28日

下面以最常用的R语言为例,解析Apriori算法的基本分析思路。R语言中关于关联分析的开发包非常丰富,有arulesCBA、arulesNBminer、Opusminer、RKEEL、arulesSequences、RSarules等,这里主要以基础的arules、arulesViz等开发包及其包含的Groceries数据集为示范,介绍Apriori算法的关联分析步骤。下面范例使用的是Rversion4.1.2(RStudio)开发环境。1、#载入算法包及购物篮数据库>install.packages("arules")#安装Apriori算法程序包>install.packages("arulesViz")#安装Apriori算法可视化开发包>library(arul..

2023年08月21日

Apriori算法生成的关联规则包含三个指标:支持度(Support)、置信度(Confidemce)、提升度(Lift),一般使用支持度-置信度二个指标判断事务之间关联关系的强弱,因此也被称为支持度-置信度框架(Support-ConfidenceFramework)。如何判断一个购物篮数据集合中,那些商品之间是强关联、那些是弱关联,Apriori算法方法是,对于支持度和置信度都设置一个最小值,即设置一个筛选条件(阈值),以此判断事务之间关联关系的强弱,对于上面的5个购物篮,可以设置支持度最小值为30%,置信度的最小值为50%,那么{苹果、牛奶}的关联关系就是强,..

2023年08月16日

Apriori算法介绍相关性分析擅长寻找二组或多组线性变量之间的数据表现,但如果分析的多组事务不属于线性变量,而属于布尔型事务项集,就需要采取关联分析法,最典型算法就是购物篮分析。购物篮分析算法有很多,最著名的是Apriori算法。Apriori算法是由Agrawal和R.Srikant于1994年提出来的,是一种关联分析经典算法,至今依然是数据分析领域十大明星算法之一,可见其功能之强大。Apriori名称来自于拉丁语,也有人写成A-priori,意思是“来自以前”,指的是根据过去频繁发生项目集合的先验知识,预测后续的事务关联关系。Aprori算法主要用于..

2023年08月10日

我们以R语言的Apriori算例库中,arules包中自带的Groceries数据集为例,介绍购物篮分析的数据分层方法。Groceries数据集来自一个现实中真实存在的欧洲超市,是其经营一个月的购物篮数据,共包含9835次交易,由169个商品完成销售,按照一个月30天计算,该超市每天平均为328笔交易,根据Groceries数据集的交易笔数、商品品类构成,应该是一家社区型小型食品超市。从Groceries数据集提供的TOP20商品销售列表(见下图)可以看出,前20个出现次数最多的商品都是食品,销售排行依次为全脂牛奶、蔬菜、面包、苏打水、酸奶等,也印证了这是一家小..

2023年08月07日

1、购物篮分析时的对象层级:直接选择购物篮中SKU级别、即最底层的商品(lowestlevelofdetail)作为分析对象,一般用于特定单品的购物篮分析,比如促销选品、价格分析、新品评估、替代分析等。大多数情况下,都需要会对购物篮中的商品进行品类升级,这样可以使得商品之间的关联关系得以聚焦,同时也是一个很好的减少数据冗余的办法。零售业的购物篮分析时,会有如下商品品类层级选择方法:SKU对SKU(最底层对最底层):将购物篮中的商品直接作为分析对象,这种层级分不适用于对某一个卖场中所有的购物篮进行关联规则挖掘,这是因为卖场中的购..

2023年08月04日

购物篮分析的商品品类层级选择:零售业的购物篮数据维度是最小零售单位(productlevel),即所谓的SKU级别,如果将这种最底层的商品单品直接进行购物篮分析,可能会出现数据颗粒度过于细小,商品之间的关联关系会被稀释,难以发现有意义的关联规则。因此有时需要对购物篮中的商品进行品类层级提升,使得关联关系可以聚焦,提升品类层级的依据可以来自于门店的品类表或分类表。商品分类在零售领域称为商品分层(ProductHierarchical)、或商品分类(Producttaxonomy),对应的就是门店的商品品类目录(ProductCategories)。每家零售企业的..

2023年07月28日

购物篮交易数据的格式、异常值及适应对象:购物篮数据来自于POS机,POS机于1990年代开始在零售业普及,其间恰好是关系型数据库的商业化应用阶段,因此大多数购物篮数据都是基于关系型数据库的架构构建及存储,属于典型的结构化数据。因此就会有这种现象存在,即将一个购物篮数据分别存储在2个数据表单中:订单主表(Master)和订单明细表(Detail),二个表之间采取订单号(order_id)作为外键(foreignkey)进行关联,形成一个完整的购物篮数据,一个购物篮数据对应了一个顾客的消费行为。近年来由于Java语言及云端数据库的普及,有些POS..

2023年07月26日

购物篮数据的外部属性与隐性属性;POS机交易时形成的订单数据,是经过简化的商品交易数据集,对于商业关联分析来说,这些数据集是不够的,要想进行详尽的购物篮分析,还需要补充交易数据的外部属性及隐性数据。购物篮分析需要补充的外部属性数据:1、商品基本属性信息(Product-leveldata):购物篮中的商品数据是精简数据,进行分析时需要补充商品基本属性信息,包括商品的全称名称、规格、品牌、供应商等。2、商品分类数据(Producthierarchy)或品类表(ProductCatalog):此部分数据用于对商品的品类归属及品类关联关系分析。3、货架陈..

2023年07月21日

一、零售关联分析的数据源零售业是一个数据密集的行业(Retailisadata-intensiveindustry),用于关联分析的数据是POS机(Point-Of-Sales)产生的交易数据。POS机产生的交易数据,也被称为Ticketsdata(交易票据数据)或CustomerTransactiondataset(顾客交易数据集)。POS机交易数据以销售小票为单位,一张销售小票对应一个顾客单次购买行为,也就是对应一个购物篮,如一家超市一天有1000个顾客买单,就会形成1000个购物篮。每个零售业态都会有自己的购物篮形成规律,日本7-11便利店平日购物篮数量为800-1000个,节假日为1000-1200个,国..

2023年07月18日

Pl值(PurchaseIndex:商品购买指数):PI值指的是商品千人购买指数,也称为商品购物篮渗透率、商品人气度、或者是商品的聚客指数,简单地说就是“某商品的顾客人气度”,由于在零售门店中“人”对应的是“购物篮”,PI值也被称为商品购物篮渗透率,在国外零售书籍中,PI值被称为Shopperpenetration(顾客渗透率)。PI值的计算方法:商品在单位时间内购物篮中出现的次数PI值=-------------------------------------------------------×1000单位时间内所有的购物篮数量PI值计算的是商品在购物篮中出现的次数,不是商品的销售数量。比如在一..

2023年07月13日

购物篮品类交叉系数,也称为商品交叉系数(affinity/cross-sellIndex):指的是购物篮中某商品与其他商品形成关联的次数,被称为商品购物篮交叉系数,国外零售业也称为商品关联强度(affinitystrength),如某商品经常与其他商品形成二次关联,则该商品交叉系数为2。商品交叉系数用于评估某个商品在购物篮中的关联表现,商品交叉系数可以发现那些商品会是单购物篮表现,而哪些商品会是形成多个商品的关联表现。这个指标有什么实际意义?国外零售业者发现,当购物篮中有软饮料时,有60%的购物篮中会同时有2个或2个以上的其他商品,因此可以..

2023年07月03日

购物篮系数(basketsize):购物篮系数指的是购物篮中商品的品种个数,不是购物篮中的商品销售数量,比如某购物篮中有2个商品,商品的销售数量分别为1个、10个,该购物篮系数为2,而不是1+10=11,因此购物篮系数是一个布尔型的数值。购物篮系数也被称为购物篮大小、尺寸、或购物篮长度(basketlength),由于经常按照特定时段的平均值计算,因此也被称为购物篮平均商品数(itemperbasket)。我们以R开发包中的Groceries数据集为例,从中提取三条购物篮交易数据,看如何定义购物篮的购物篮系数。下面有三个Groceries数据包的购物篮数据:1号购物..