用R語(yǔ)言做購(gòu)物籃分析案例詳解:深入淺出關(guān)聯(lián)規(guī)則

在大數(shù)據(jù)時(shí)代,各行各業(yè)每天都在不斷地產(chǎn)生著大量各色各樣的數(shù)據(jù)萍摊。對(duì)這些數(shù)據(jù)進(jìn)行有效的挖掘倡勇,能夠促進(jìn)企業(yè)更好更精準(zhǔn)的發(fā)展。這些數(shù)據(jù)能夠幫助我們更精準(zhǔn)地了解用戶村生,從而制定出更貼合用戶的運(yùn)營(yíng)策略惊暴,提升用戶在平臺(tái)的使用體驗(yàn)。購(gòu)物籃分析是數(shù)據(jù)挖掘技術(shù)在零售業(yè)的典型應(yīng)用之一趁桃,旨在從零售記錄中分析出顧客經(jīng)常同時(shí)購(gòu)買的商品的組合辽话,挖掘出購(gòu)物籃中有價(jià)值的信息。

一卫病、背景

關(guān)聯(lián)規(guī)則就是從一種行為中發(fā)現(xiàn)與之相關(guān)聯(lián)的另一種行為油啤,即A→B,并用一定的概率度加以保證蟀苛。關(guān)聯(lián)規(guī)則廣泛的應(yīng)用在零售業(yè)益咬、金融業(yè)和互聯(lián)網(wǎng)行業(yè)。最典型的運(yùn)用是購(gòu)物籃分析屹逛,挖掘一般顧客在購(gòu)買X產(chǎn)品的同時(shí)還會(huì)購(gòu)買其他什么產(chǎn)品础废,于是制定相應(yīng)營(yíng)銷策略汛骂,進(jìn)行捆綁銷售,增加銷售量评腺。又如金融業(yè)中帘瞭,預(yù)測(cè)銀行客戶需求,如果數(shù)據(jù)庫(kù)中顯示蒿讥,某個(gè)高信用限額的客戶更換了地址蝶念,這個(gè)客戶很有可能新近購(gòu)買了一棟更大的住宅,因此會(huì)有可能需要更高信用限額芋绸,更高端的新信用卡媒殉,或者需要一個(gè)住房改善貸款,這些產(chǎn)品都可以通過(guò)信用卡賬單郵寄給客戶摔敛。電子購(gòu)物網(wǎng)站也使用關(guān)聯(lián)規(guī)則進(jìn)行挖掘廷蓉,一些購(gòu)物網(wǎng)站使用關(guān)聯(lián)規(guī)則設(shè)置相應(yīng)的交叉銷售,也就是購(gòu)買某種商品的顧客會(huì)看到相關(guān)的另外一種商品的廣告马昙。

二桃犬、重要概念和原理

首先我們來(lái)看,什么是規(guī)則行楞?規(guī)則形如"如果…那么…(If…Then…)",前者為條件攒暇,后者為結(jié)果。例如一個(gè)顧客子房,如果買了牙刷形用,那么他也會(huì)購(gòu)買牙膏。

如何來(lái)度量一個(gè)規(guī)則是否足夠好证杭?有兩個(gè)量田度,置信度(Confidence)和支持度(Support)。

舉個(gè)例子躯砰。假設(shè)有10000個(gè)訂單每币,其中購(gòu)買了A產(chǎn)品的訂單數(shù)是1000單,購(gòu)買了B產(chǎn)品的訂單數(shù)是2000單琢歇,同時(shí)購(gòu)買了A產(chǎn)品和B產(chǎn)品的訂單數(shù)是800單。

支持度(support):

簡(jiǎn)單的字面理解就是支持的程度梦鉴。在所有的事務(wù)中同時(shí)出現(xiàn)A和B的概率李茫,即P(AB)。支持度揭示了A和B同時(shí)出現(xiàn)的頻率肥橙,如果A和B一起出現(xiàn)的頻率非常小魄宏,那么就說(shuō)明了A和B之間的聯(lián)系并不大;但若一起出現(xiàn)的頻率非常頻繁,那么A和B總是相關(guān)聯(lián)的知識(shí)也許已經(jīng)成為常識(shí)而存在了存筏。因此宠互,上面例子的支持度就是:800/10000*100%=8%味榛。

置信度(confidence):

置信度也稱為可靠度,置信度表示了這條規(guī)則有多大程度上值得可信予跌。所有事務(wù)中搏色,在A出現(xiàn)的情況下B出現(xiàn)的概率,即P(B|A)券册,P(B|A)=P(AB)/P(A)频轿。因此,上面例子的置信度就是:P(AB)=8%,P(A)=1000/10000*100%=10%,P(B|A)=8%/10%=80%

置信度揭示了B出現(xiàn)時(shí)烁焙,A是否一定會(huì)出現(xiàn)航邢,如果出現(xiàn)則其大概有多大的可能出現(xiàn)。如果置信度為100%,則說(shuō)明了B出現(xiàn)時(shí)骄蝇,A一定出現(xiàn)膳殷。那么,對(duì)這種情況而言九火,假設(shè)A和B是市場(chǎng)上的兩種商品秽之,就沒(méi)有理由不進(jìn)行捆綁銷售了。如果置信度太低吃既,那么就會(huì)產(chǎn)生這樣的疑問(wèn)考榨,A和B關(guān)系并不大,也許與B關(guān)聯(lián)的并不是A鹦倚。

三河质、目的

購(gòu)物籃分析?(market basket analysis)的目的在于在一個(gè)數(shù)據(jù)集中找出項(xiàng)之間的關(guān)聯(lián)關(guān)系。例如震叙,購(gòu)買鞋的顧客掀鹅,有10%的可能也會(huì)買襪子,60%的買面包的顧客媒楼,也會(huì)買牛奶乐尊。這其中最有名的例子就是"尿布和啤酒"的故事了。

四划址、應(yīng)用

購(gòu)物籃分析的主要應(yīng)用如下:

①電商:

個(gè)性化推薦:在界面上給用戶推薦相關(guān)商品

組合優(yōu)惠券:給購(gòu)買過(guò)得用戶發(fā)放同時(shí)購(gòu)買組合內(nèi)商品的優(yōu)惠券

捆綁銷售:將相關(guān)商品組合起來(lái)銷售

②超市

商品配置分析:哪些商品可以一起購(gòu)買,關(guān)聯(lián)商品如何陳列/促銷

客戶需求分析:分析顧客的購(gòu)買習(xí)慣/顧客購(gòu)買商品的時(shí)間/地點(diǎn)等

銷售趨勢(shì)分析:利用數(shù)據(jù)倉(cāng)庫(kù)對(duì)品種和庫(kù)存的趨勢(shì)進(jìn)行分析,選定需要補(bǔ)充的商品,研究顧客購(gòu)買趨勢(shì),分析季節(jié)性購(gòu)買模式,確定降價(jià)商品

幫助供應(yīng)商改進(jìn)老產(chǎn)品及開(kāi)發(fā)新品:通過(guò)購(gòu)物籃分析,根據(jù)客戶的需求,開(kāi)發(fā)新的產(chǎn)品/改進(jìn)老產(chǎn)品及產(chǎn)品包裝

③電信與金融服務(wù)業(yè):經(jīng)由購(gòu)物籃分析能夠設(shè)計(jì)不同的服務(wù)組合以擴(kuò)大利潤(rùn)扔嵌;

④保險(xiǎn)業(yè):能藉由購(gòu)物籃分析偵測(cè)出可能不尋常的投保組合并作預(yù)防。

五夺颤、案例詳解

【數(shù)據(jù)源】

利用R進(jìn)行購(gòu)物籃分析痢缎,R中關(guān)聯(lián)分析函數(shù)為arules,我們采用內(nèi)置的Groceries的數(shù)據(jù)集。Groceries數(shù)據(jù)集的每一行表示一次交易記錄世澜,行中的每一列代表一個(gè)商品独旷。將Groceries數(shù)據(jù)集導(dǎo)出csv,數(shù)據(jù)格式如下圖1所示。

library(Matrix)

library(arules)

data(Groceries)

frequentsets=eclat(Groceries,parameter=list(support=0.05,maxlen=10))

inspect(sort(frequentsets,by="support")[1:10])#根據(jù)支持度對(duì)求得的頻繁項(xiàng)集排序

圖1 Groceries數(shù)據(jù)集格式

【數(shù)據(jù)統(tǒng)計(jì)】

對(duì)數(shù)據(jù)集Groceries進(jìn)行描述性統(tǒng)計(jì)分析嵌洼。輸出結(jié)果如下圖2所示案疲,可從結(jié)果中提取到以下四部分有效信息:

①說(shuō)明交易數(shù)據(jù)包含9835條交易記錄,涉及到169種商品麻养;

②列出了出現(xiàn)在購(gòu)物籃中最為頻繁的幾種商品褐啡,如whole milk(全脂牛奶)出現(xiàn)在2513個(gè)交易記錄中;

③列出購(gòu)物籃中包含商品數(shù)量的交易條數(shù)回溺,如有2159條交易僅購(gòu)買1種商品春贸,僅有1條交易購(gòu)買32種商品;

④對(duì)購(gòu)物籃中交易的商品數(shù)量進(jìn)行匯總遗遵,包括五數(shù)和均值萍恕,Mean表示所有購(gòu)物籃中平均含有4~5件商品;

summary(Groceries)#用summary函數(shù)對(duì)數(shù)據(jù)進(jìn)行描述性統(tǒng)計(jì)分析

圖2 描述性統(tǒng)計(jì)分析結(jié)果

Apriori關(guān)聯(lián)分析

Apriori算法實(shí)現(xiàn)基本流程:

①選出滿足支持度最小閾值的所有項(xiàng)集车要,即頻繁項(xiàng)集允粤;

②從頻繁項(xiàng)集中找出滿足最小置信度的所有規(guī)則。

算法用法:

apriori(data, parameter =NULL, appearance =NULL, control =NULL)

參數(shù)介紹:

data:數(shù)據(jù)翼岁;

parameter:設(shè)置參數(shù)类垫,默認(rèn)情況下parameter=list(support=0.1,confidence=0.8,maxlen=10,minlen=1,target=”rules”)

supp:支持度(support)

conf:置信度(confidence)

maxlen,minlen:每個(gè)項(xiàng)集所含項(xiàng)數(shù)的最大最小值

target:“rules”或“frequent itemsets”(輸出關(guān)聯(lián)規(guī)則/頻繁項(xiàng)集)

apperence:對(duì)先決條件X(lhs)琅坡,關(guān)聯(lián)結(jié)果Y(rhs)中具體包含哪些項(xiàng)進(jìn)行限制悉患,如:設(shè)置lhs=beer,將僅輸出lhs含有beer這一項(xiàng)的關(guān)聯(lián)規(guī)則榆俺。默認(rèn)情況下售躁,所有項(xiàng)都將無(wú)限制出現(xiàn)。

control:控制函數(shù)性能茴晋,如可以設(shè)定對(duì)項(xiàng)集進(jìn)行升序sort=1或降序sort=-1排序陪捷,是否向使用者報(bào)告進(jìn)程(verbose=F/T)

算法使用:

接下來(lái)就是用apriori算法計(jì)算結(jié)果了。其實(shí)apriori算法特別好理解诺擅,就是只計(jì)算頻繁集都特別高的子集市袖。比如在我們數(shù)據(jù)集中,頻繁集最高的單個(gè)商品是whole milk(全脂牛奶)烁涌,那么苍碟,在計(jì)算并集的時(shí)候,從這個(gè)商品開(kāi)始入手計(jì)算烹玉。節(jié)省了運(yùn)行次數(shù)和空間驰怎。

由于默認(rèn)的支持度為10%,可信度為80%二打,對(duì)于當(dāng)前的9835條交易記錄來(lái)說(shuō)過(guò)高,使得沒(méi)有這樣的交易滿足這兩個(gè)條件掂榔。因此继效,如果使用Apriori算法的默認(rèn)參數(shù)設(shè)置時(shí)將產(chǎn)生0條規(guī)則症杏。故需要人為調(diào)整支持度和可信度,這里不妨將支持度設(shè)置為1%,即認(rèn)為某種商品在購(gòu)物籃中至少出現(xiàn)98次瑞信,可信度設(shè)置為30%厉颤,即認(rèn)為同時(shí)出現(xiàn)某幾種商品組合的概率為30%。

rule<-apriori(data=Groceries,parameter=list(support=0.01,confidence=0.3,minlen=2))

圖3 輸出結(jié)果圖1

rule

inspect(rule)#查看頻繁規(guī)則集

圖4 輸出結(jié)果圖2

【結(jié)果導(dǎo)出】

導(dǎo)出數(shù)據(jù)凡简,R結(jié)果如下逼友,可以將結(jié)果導(dǎo)出到Excel表中,根據(jù)support大小來(lái)排序查看更有意思的結(jié)果秤涩。

write(rule, file ="C:/Users/THINK/Desktop/finalRule.csv", sep =",",col.names = NA)

部分結(jié)果如下圖5所示帜乞。

圖5 最終關(guān)聯(lián)規(guī)則結(jié)果圖

由以上可知,如果客戶購(gòu)買了citrus fruit和root vegetables筐眷,那么他有59%的概率買other vegetables黎烈。

六、購(gòu)物籃分析注意事項(xiàng)

1. 如果對(duì)于大零售超市或商場(chǎng)匀谣,其SKU數(shù)一般都是幾十萬(wàn)甚至上百萬(wàn)照棋,產(chǎn)品梳理工作是一項(xiàng)很痛苦的工作,但如果要從數(shù)據(jù)角度進(jìn)行產(chǎn)品運(yùn)營(yíng)武翎,建議可以開(kāi)展相應(yīng)的產(chǎn)品梳理咨詢項(xiàng)目烈炭,通過(guò)產(chǎn)品梳理,形成標(biāo)準(zhǔn)化的產(chǎn)品梳理流程及產(chǎn)品目錄宝恶。在對(duì)某商場(chǎng)的產(chǎn)品梳理時(shí)候符隙,發(fā)現(xiàn)目前的產(chǎn)品體系還是漏洞百出,很多還是很不規(guī)范的卑惜。做好關(guān)聯(lián)分析或數(shù)據(jù)運(yùn)營(yíng)膏执,請(qǐng)從產(chǎn)品梳理工作開(kāi)始。

2. 注意購(gòu)買產(chǎn)品贈(zèng)送禮品的人為因素影響規(guī)則露久。有些挖掘師或分析師在做出關(guān)聯(lián)分析后更米,看到了幾條提升度及置信度都很高的規(guī)則,就興奮不已地告訴客戶:我覺(jué)得產(chǎn)品A和產(chǎn)品B有很大的關(guān)聯(lián)性毫痕,從數(shù)字上看征峦,捆綁銷售肯定能夠取得很好的銷售效果。當(dāng)拿到這樣的結(jié)果的時(shí)候消请,客戶很鎮(zhèn)定地說(shuō):“你不知道我們?cè)谀吃碌臅r(shí)候栏笆,大量開(kāi)展了購(gòu)買產(chǎn)品A即可免費(fèi)贈(zèng)送產(chǎn)品B的活動(dòng)么?”臊泰。對(duì)于這個(gè)時(shí)候的挖掘師是很悲催的蛉加。在篩選關(guān)聯(lián)規(guī)則的時(shí)候,必須對(duì)該企業(yè)過(guò)去一年開(kāi)展的活動(dòng)有了解,還必須對(duì)不同時(shí)間段的主推產(chǎn)品進(jìn)行提前溝通针饥,確保關(guān)聯(lián)規(guī)則不受人為因素影響厂抽。

3. 注意產(chǎn)品之間的位置擺放是否有很大的影響。在零售大商場(chǎng)中丁眼,產(chǎn)品擺放的位置對(duì)產(chǎn)品關(guān)聯(lián)銷售會(huì)產(chǎn)生很大的影響的筷凤,因?yàn)殛P(guān)聯(lián)分析就是為了更方便地讓顧客找到其需要的產(chǎn)品,購(gòu)買更多其需要的產(chǎn)品苞七。人流較大的兩個(gè)相隔貨架之間的產(chǎn)品關(guān)聯(lián)性比較大藐守,在我們項(xiàng)目中會(huì)發(fā)現(xiàn)不少的這樣規(guī)則。但其結(jié)果表明了貨架關(guān)聯(lián)性比較大蹂风,擺放在一起就肯定比較合理的卢厂。但在進(jìn)行關(guān)聯(lián)分析的時(shí)候,客戶更希望能從其他不相隔的貨架之間找出更好的關(guān)聯(lián)銷售機(jī)會(huì)硫眨,這決定了后期的關(guān)聯(lián)規(guī)則挑選難題足淆。

4. 注意關(guān)聯(lián)推薦的規(guī)則合理性及流失成本的大小。后期的關(guān)聯(lián)推薦應(yīng)用于主要是三個(gè)方面:①重購(gòu):繼續(xù)購(gòu)買原來(lái)的產(chǎn)品礁阁;②升級(jí):購(gòu)買更高檔次的產(chǎn)品巧号;③交叉銷售:購(gòu)買相關(guān)的產(chǎn)品。如果該規(guī)則的客戶本來(lái)是買了50塊錢的產(chǎn)品的姥闭,發(fā)現(xiàn)關(guān)聯(lián)規(guī)則里面出現(xiàn)了推薦其購(gòu)買30塊的同類型產(chǎn)品丹鸿,這等于給客戶降檔推薦了,會(huì)讓銷售額大幅減少棚品,銷售機(jī)會(huì)白白浪費(fèi)并且造成了損失靠欢,所以在進(jìn)行關(guān)聯(lián)推薦的時(shí)候,那些涉及到了降檔的規(guī)則一定要剔除铜跑。

后記

建議大家看完文章之后门怪,找個(gè)時(shí)間動(dòng)手嘗試下,這樣記憶更深刻锅纺。R語(yǔ)言直接在官網(wǎng)免費(fèi)下載掷空,數(shù)據(jù)源也在R語(yǔ)言內(nèi)。本文用到的代碼文件已整合好放在數(shù)據(jù)寶典公眾號(hào)內(nèi)囤锉,在公眾號(hào)后臺(tái)發(fā)送“購(gòu)物籃分析”即可獲得坦弟。



歡迎前往關(guān)注數(shù)據(jù)寶典公眾號(hào),更多數(shù)據(jù)分析知識(shí)分享官地,以及案例總結(jié)分享~~

在數(shù)據(jù)分析道路上酿傍,學(xué)無(wú)止境,終身成長(zhǎng)驱入。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赤炒,一起剝皮案震驚了整個(gè)濱河市氯析,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌可霎,老刑警劉巖魄鸦,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宴杀,死亡現(xiàn)場(chǎng)離奇詭異癣朗,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)旺罢,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門旷余,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人扁达,你說(shuō)我怎么就攤上這事正卧。” “怎么了跪解?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵炉旷,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我叉讥,道長(zhǎng)窘行,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任图仓,我火速辦了婚禮罐盔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘救崔。我一直安慰自己惶看,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布六孵。 她就那樣靜靜地躺著纬黎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪劫窒。 梳的紋絲不亂的頭發(fā)上本今,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音烛亦,去河邊找鬼诈泼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛煤禽,可吹牛的內(nèi)容都是我干的铐达。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼檬果,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼瓮孙!你這毒婦竟也來(lái)了唐断?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤杭抠,失蹤者是張志新(化名)和其女友劉穎脸甘,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體偏灿,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丹诀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翁垂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片铆遭。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沿猜,靈堂內(nèi)的尸體忽然破棺而出枚荣,到底是詐尸還是另有隱情,我是刑警寧澤啼肩,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布橄妆,位于F島的核電站,受9級(jí)特大地震影響祈坠,放射性物質(zhì)發(fā)生泄漏害碾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一颁虐、第九天 我趴在偏房一處隱蔽的房頂上張望蛮原。 院中可真熱鬧,春花似錦另绩、人聲如沸儒陨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蹦漠。三九已至,卻和暖如春车海,著一層夾襖步出監(jiān)牢的瞬間笛园,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工侍芝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留研铆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓州叠,卻偏偏與公主長(zhǎng)得像棵红,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咧栗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容