r语言商品购物篮分析

article/2025/1/12 22:53:10

商品购物篮分析

现代商品种类繁多,顾客往往会由于需要购买的商品众多而变得疲于选择,且顾客并不会因为商品选择丰富而选择购买更多的商品。

对于某些商品,顾客会选择同时购买,如面包与牛奶、薯片与可乐等,当面包与牛奶或者薯片与可乐分布在商场的两侧,且距离十分遥远时,顾客购买的欲望就会减少,在时间紧迫的情况下顾客甚至会放弃购买某些计划购买的商品。相反,把牛奶与面包摆放在相邻的位置,既给顾客提供便利,提升购物体验,又提高顾客购买的概率,达到了促销的目的。

某商品零售企业共收集了9835个购物篮的数据,其中包含169个不同的商品类别,售出商品总数为43367件。其数据示例如表所示。
在这里插入图片描述

针对原始数据中不同商品销量进行统计,结果如表所示。
Ø全脂牛奶销售量最高,销量为2513件,占比5.795%。
Ø其余热销商品还有其他蔬菜销量1903件,占比4.388%。
Ø面包卷销量1809件,占比4.171%。
Ø苏打销量1715件,占比3.955%。酸奶销量1372件,占比3.164%等。
前20种商品销量占据的比例约为50%,基本符合“二八定律”。

对每一类商品的热销程度进行分析,有利于商家制定商品在货架的摆放策略和位置。若是某类商品较为热销,它的摆放位置可以有如下选择。
Ø可以把此类商品摆放到商场的中心位置,方便顾客选购。
Ø或者把此类商品摆放到商场深处位置,使顾客在购买热销商品前经过非热销商品,增加在非热销商品处的停留时间,促进非热销产品的销量。

————————————————————————

关联规则算法主要用于寻找数据中项集之间的关联关系,基于样本的统计规律,进行关联规则分析。根据所分析的关联关系,可从一个特征的信息来推断另一个特征的信息。当信息置信度达到某一阈值时,就可以认为规则成立。
关于这个算法有一个非常有名的故事:“尿布和啤酒”。故事是这样的:美国的妇女们经常会嘱咐她们的丈夫下班后为孩子买尿布,而丈夫在买完尿布后又要顺 手买回自己爱喝的啤酒,因此啤酒和尿布在一起被购买的机会很多。这个举措使尿布和啤酒的销量双双增加,并一直为众商家所津津乐道。

Ø1. Apriori算法应用广泛,可用于消费市场价格分析,猜测顾客的消费习惯,比如较有名的“尿布和啤酒”的故事;
Ø2.网络安全领域中的入侵检测技术;
Ø3.可用在用于高校管理中,根据挖掘规则可以有效地辅助学校管理部门有针对性的开展贫困助学工作;
Ø4.也可用在移动通信领域中,指导运营商的业务运营和辅助业务提供商的决策制定。
Ø关联规则算法的主要应用是购物篮分析,是为了从大量的订单中发现商品潜在的关联。其中常用的一个算法叫Apriori先验算法。

Ø关联规则(association rule):是形如 X → Y 的蕴含表达式,其中X和Y是不相交的项集,即:X∩Y=∅。关联规则的强度可以用它的支持度(support)和置信度(confidence)来度量。
Ø支持度:一个项集或者规则在所有事物中出现的频率,确定规则可以用于给定数据集的频繁程度。σ(X):表示项集X的支持度计数
Ø项集X的支持度:s(X)=σ(X)/N;规则X → Y的支持度:s(X → Y) = σ(X∪Y) / N
Ø通俗解释:简单地说,X==>Y的支持度就是指物品集X和物品集Y同时出现的概率。
Ø概率描述:物品集X对物品集Y的支持度support(X==>Y)=P(X n Y)
Ø实例说明:某天共有1000 个顾客到商场购买物品,其中有150个顾客同时购买了圆珠笔和笔记本,那么上述的关联规则的支持度就是15%。

——————————————————————————

##商品购物篮分析 数据科学实验 20210428#install.packages('arules')
# 用来画很神奇的云词图!!
#install.packages('htmlwidgets')
#install.packages('wordcloud2')
#install.packages('ggplot2')
#install.packages('rlang')
library(Matrix)
library(arules)
library(wordcloud2)
library(ggplot2)
library(rlang)GoodOrder <- read.csv("/Users/janine/testt/GoodsOrder.csv")
GoodsTypes <- read.csv("/Users/janine/testt/GoodsTypes.csv")
head(GoodOrder,10)hotGoods <- data.frame(table(GoodOrder[,2]))
names(hotGoods) <- c("Goods","Num")
hotGoods$Percent <- hotGoods$Num / sum(hotGoods$Num)
hotGoods <- hotGoods[order(hotGoods$Percent, decreasing = T),] #商品按销量降序排列
write.csv(hotGoods, "/Users/janine/testt/hotGoods.csv", row.names = F) #导出数据
set.seed(3)
#hotGoods排完序
wordcloud2(hotGoods[1:60,1:2],size = 0.75) #制作销量前60的商品名称词云,size:颜色
head(hotGoods,10) #展示销量前10名商品名称、销量和占比
sum(hotGoods[1:20,3]) #前20中商品销量累积占比Goods <- merge(GoodOrder, GoodsTypes, "Goods", all.x=T, all.y=T)
head(Goods, 10)
hotTypes <- data.frame(table(Goods$Types))
names(hotTypes) <- c("Types", "Num") # 重新命名
# 求出每个大类的比例值 round是保留四位小数
hotTypes$Percent <- round(hotTypes$Num / sum(hotTypes$Num),4)
hotTypes <- hotTypes[order(hotTypes$Percent, decreasing = T),]#数据从大到小排序
write.csv(hotTypes,"/Users/janine/testt/hotGoods.csv",row.names = F)
hotTypes$Types <- factor(hotTypes$Types ,levels =hotTypes$Types ,ordered = T)
head(hotTypes,10) #展示销量前10大类商品名称、销量和占比
sum(hotTypes[1:3,3])  # 证明排名前三的商品销量和超过全部销量总和的50%
wordcloud2(hotTypes[1:10,1:2],size = 0.65) #制作销量前30的商品大类名称词云, size:颜色# 利用which函数将 这一类 全部取出来
Drink <- Goods[which(Goods$Types=="非酒精饮料"),]
hotDrink <- data.frame(table(Drink$Goods))
names(hotDrink) <- c("Goods","Num")
hotDrink$Percent <- round(hotDrink$Num/sum(hotDrink$Num),4)
hotDrink <- hotDrink[order(hotDrink$Percent, decreasing = T), ]
head(hotDrink)
sum(hotDrink[1:3,3]) #计算前三种饮料的占比
# 第一大类热销商品的前三销量 接近70%par(family='STKaiti') #输出中文
hotDrink1<- hotDrink[1:5,]
Others.drk <- data.frame(Goods="其他", Num=sum(hotDrink$Num)-sum(hotDrink1$Num), Percent=1-sum(hotDrink1$Percent))
hotDrink1 <- rbind(hotDrink1, Others.drk)
hotDrink1 <- hotDrink1[order(hotDrink1$Num, decreasing = F),]
hotDrink1$Goods <- factor(hotDrink1$Goods ,levels =hotDrink1$Goods ,ordered = T)
myLabel = as.vector(hotDrink1$Goods)   
myLabel = paste(myLabel, "(", round(hotDrink1$Percent * 100, 2), "%)        ", sep = "")  
library(RColorBrewer)
p <- ggplot(hotDrink1, aes(x="", y=Percent, fill=Goods))+geom_bar(stat = "identity")+coord_polar(theta = "y")+labs(x="", y="", title = "")+theme(axis.ticks = element_blank())+theme(legend.title = element_blank(), legend.position = "top")+theme(axis.text.x = element_blank())
p+scale_fill_brewer(breaks = hotDrink1$Goods, labels = myLabel)+guides(fill=guide_legend(reverse = T))# 建模之前要转换数据格式list 然后才能使用apriori
datalist <- list()
for(i in unique(GoodOrder$ID)){datalist[[i]] <- GoodOrder[which(GoodOrder$ID == i), 2]
}
#datalist  # 可以显示出所有的购物篮里面的 九千多条# 以下才正式开始关联分析apriori
# 导入到关联分析函数中 
TransRep <- as(datalist, "transactions")
RulesRep <- apriori(TransRep, parameter = list(support=0.02, confidence=0.25))
inspect(sort(RulesRep, by="lift")[1:25]) #按提升度从高到低查看前25条规则guides(fill=guide_legend(reverse = T))

通过模型的规则得出在顾客购买商品的时候会同时购买全脂牛奶。因此,商场可以根据实际情况进行布置。

Ø将全脂牛奶放在顾客购买商品的必经之路,或者商场显眼位置,方便顾客拿取。
Ø其他蔬菜、根茎类蔬菜、酸奶油、猪肉、黄油、本地蛋类和多种水果同时购买的概率较高,可以考虑捆绑销售,或者适当调整商场布置,将这些商品的距离尽量拉近,提升购物体验。

结论

本案例主要结合商品零售购物篮的案例,重点介绍了关联规则算法中的Apriori算法在商品零售购物篮分析案例中的应用。过程中详细的分析了商品零售的现状与问题,同时给出某商场的商品零售数据,分析了商品的热销程度,最后通过Apriori算法构建相应模型,并根据模型结果制定销售策略。

参考

Ø视频:https://www.bilibili.com/video/BV1Qy4y1i78i?from=search&seid=10826644304550963353
Ø关联规则挖掘算法之Apriori算法 https://www.cnblogs.com/nxld/p/6380417.html
Ør语言实现关联分析–关联规则挖掘(Apriori算法) (r语言预测学习笔记)
https://blog.csdn.net/weixin_45178611/article/details/107881690
关联算法—Apriori https://zhuanlan.zhihu.com/p/79827313
R语言 apriori算法案例详解 https://blog.csdn.net/yepeng2007fei/article/details/78910105
R语言之Apriori算法应用 https://www.cnblogs.com/dm-cc/p/5737147.html
R语言 | 关联规则 https://blog.csdn.net/gjwang1983/article/details/45015203
R语言实现购物篮分析-Apriori和eclat算法 https://amjiuzi.gitee.io/2017/12/04/arules2/
机器学习(三) 关联规则R语言实战 Apriori http://www.jasongj.com/ml/associationrules/


http://chatgpt.dhexx.cn/article/ZUyRGVAw.shtml

相关文章

销售需求丨购物篮分析

​ BOSS&#xff1a;那个谁&#xff0c;对&#xff0c;就是你&#xff0c;你给我研究研究咱商场物品摆放是否合理&#xff1f;&#xff01; 白茶&#xff1a;&#xff08;Excuse me&#xff1f;&#xff09;…BOSS&#xff0c;那个我就是个码字的&#xff01; BOSS&#xff1a;…

[Python] 电商平台用户的购物篮分析

目录 一、背景1. 项目描述2. 数据描述 二、相关模块1. 相关模块2. 数据导入3. 数据处理 三、商品销售分析1. 日销售情况2. 月销售情况3. 观察畅销品 四、 购物篮分析1. 购物篮系数2. 指定商品的购物篮系数3. 指定商品的人气指数 五、用户行为分析1. 用户的消费情况2. 用户初次购…

【Python数据挖掘】购物篮分析

购物篮分析 变量解释 变量含义说明ReceiptID收据单号Value支付金额pmethod支付渠道1现金&#xff0c;2信用卡&#xff0c;3电子支付&#xff0c;4其他sex性别1男性&#xff0c;2女性homeown是否有住宅1有&#xff0c;2无&#xff0c;3未知income收入age年龄其他其他购买的各种…

python数据分析与挖掘实战(商品零售购物篮分析)

一、引言 购物篮分析是商业领域最前沿、最具挑战性的问题之一&#xff0c;也是许多企业重点研究的问题。购物篮分析是通过发现顾客在一次购买行为中放入购物篮中不同商品之间的关联&#xff0c;研究顾客的购买行为&#xff0c;从而辅助零售企业制定营销策略的一种数据分析方法。…

数据挖掘实战—商品零售购物篮分析

文章目录 引言一、数据探索性分析1.数据质量分析1.1 缺失值分析1.2 异常值分析1.3 重复数据分析 2.数据特征分析2.1 描述性统计分析2.2 分布分析2.2.1 商品热销情况分布分析2.2.2 按类别划分商品销量分布分析2.2.3 商品内部结构分布分析 二、数据预处理三、模型构建 案例数据百…

购物篮分析( Apriori算法)—零售数据实战

购物篮分析&#xff08; Apriori算法&#xff09;—零售数据实战 【开题】在我从事零售行业的期间&#xff0c;曾拜读过"啤酒与尿布"一书&#xff0c;对于沃尔玛的购物篮分析模型产生极大的兴趣。由于网上对Aprioro算法介绍的内容较少&#xff0c;故而本人不得已回去…

商品零售购物篮分析

1 案例背景 购物篮分析是通过发现顾客在一次购买行为中放入购物篮中不同商品之间的关联&#xff0c;研究顾客的购买行为&#xff0c;从而辅助零售企业制定营销策略的一种数据分析方法。 通过对商场销售数据进行分析&#xff0c;得到顾客的购买行为特征&#xff0c;并根据发现的…

数据分析一定要懂的模型——购物篮模型

要想做好数据分析必定要理解和熟悉掌握各类数据分析模型&#xff0c;但网络上的大部分文章只是给你罗列出了有哪几种数据分析模型及对应理论&#xff0c;并未用实例来辅助说明。 很多时候&#xff0c;看完就只是看完&#xff0c;并没有深刻理解这种分析模型&#xff0c;等到下…

购物篮分析的基本概念、商业价值与算法介绍

作者 | gongyouliu 编辑 | auroral-L 全文共4915字&#xff0c;预计阅读时间45分钟。 购物篮分析的基本概念、商业价值与算法介绍 1. 什么是购物篮分析 2. 购物篮分析的商业价值 2.1 指导线下门店商品排列、摆放 2.2 优化线下采购、供应链与库存 2.3 为活动营销提供数据支…

给Windows系统配置host

以管理员身份运行命令提示符&#xff1b;注意&#xff1a;一定要管理员身份运行&#xff0c;否则后面存host的时候会出现没有修改权限的问题在命令行中键入&#xff1a;notepad&#xff0c;然后回车&#xff1b;这是打开记事本命令在记事本中工具栏选择“文件-打开”&#xff0…

#vue# 【二】本地电脑如何配置host文件?

#vue# 本地电脑如何配置host文件&#xff1f; &#xff08;1&#xff09;host概念 在进行请求接口之前&#xff0c;我们需要先配备好host Hosts&#xff1a;它是一个没有扩展名的系统文件&#xff0c; 而它的的基本作用&#xff0c;就是将一些我们个人常用的网址和相对应的IP…

window -- 配置hosts

在我们使用内网办公的时候&#xff0c;很多时候连接一些环境都是通过域名去访问的&#xff0c;但是因为这些内网的域名在公网是不存在的&#xff0c;可能会导致我们访问找不到地址&#xff0c;这时候我们可以配置本地hosts&#xff0c;把内网的域名与对应的ip映射起来&#xff…

vmware 配置host-only ip

增加网卡 新增加这个文件&#xff0c;根据ip a的信息增加 cat > /etc/sysconfig/network-scripts/ifcfg-enp0s8 <<EOF NM_CONTROLLEDyes BOOTPROTOnone ONBOOTyes IPADDR11.11.11.108 NETMASK255.255.255.0 DEVICEenp0s8 PEERDNSno EOF 默认安装虚拟机时候&#xff…

[windows]修改本机host配置

修改本机host配置 windows修改本机host配置 windows修改本机host配置 进入我的电脑C盘进入C:\Windows\System32\drivers\etc找到hosts文件修改

Mac配置host

1、打开终端&#xff0c;输入以下命令 sudo vi /etc/hosts 2、输入电脑密码 3、输入 i 进行编辑&#xff0c;然后输入内容 4、 按下esc键 &#xff0c;输入:wq 进行保存即可

为什么要配置host(转载)

Window下的&#xff1a;\WINDOWS\system32\drivers\etc\hosts文件 用记事本打开hosts文件&#xff0c;它的作用是包含IP地址和Host name(主机名)的映射关系&#xff0c;是一个映射IP地址和Hostname(主机名)的规定&#xff0c;规定要求每段只能包括一个映射关系&#xff0c;IP地…

Mac如何配置host

Mac如何配置host sudo vi /etc/hosts输入密码 按Esc 输入:wq 退出即可

配置本地hosts

什么是hosts ? hosts文件是一个用于储存计算机网络中各节点信息的计算机文件。这个文件负责将主机域名映射到相应的IP地址。hosts文件通常用于补充或取代网络中DNS的功能。和DNS不同的是&#xff0c;计算机的用户可以直接对hosts文件进行控制。hosts文件的作用非常大&#xf…

Windows上配置host

第一步&#xff1a;找到并打开host文件 把要添加的 host添加到最后面保存就好了。

switchhosts怎么配置host?

switchhosts怎么配置host&#xff1f;SwitchHosts支持直接对host文件进行编辑&#xff0c;用户可以快速添加自己的host解析规则&#xff0c;SwitchHosts也支持在多个host方案直接快速的切换&#xff0c;那要配置host应该如何操作呢&#xff1f;来看下switchhosts配置host的方法…