在大數(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)集排序
【數(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ì)分析
【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))
rule
inspect(rule)#查看頻繁規(guī)則集
【結(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所示帜乞。
由以上可知,如果客戶購(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)驱入。