想必大家都聽說過美國沃爾瑪連鎖超市“啤酒與尿不濕”的故事。為什么沃爾瑪超市里會把嬰兒的尿不濕和啤酒擺放在一起售賣呢?
因為超市發現尿不濕和啤酒的購買峰值曲線有極大的相似性,觀察得知,美國家庭中母親在家照顧孩子,就會讓父親下班后買尿不濕回家,而男士來到超市后習慣于給自己買上一罐啤酒。那么如果將啤酒放在尿不濕附近,將有很大概率提高啤酒的銷售量。實踐證明的確如此。

其實,這種通過研究已經產生的數據,將不同標的關聯起來并挖掘二者之間聯系的分析方法,就叫做關聯分析法,也就是商場和電商領域的“購物籃分析”。
而這種數據關聯的分析思維不僅僅可以使用在商品的售賣方面,研究的對象包含范圍越廣,表面上沒有什么相關性、但是實際上有潛在的內關聯價值的事物就越多。透過數據去挖掘這些關聯規則就可以讓商家制定相應的營銷策略來提高銷售量、讓交通部門調整交通信號時長來治理交通、讓政府制定有針對性的政策來促進經濟等等。
今天小億就來說說什么是關聯分析,關聯分析可以應用在哪些地方,以及如何做好商品的關聯分析。
一、什么關聯分析?
關聯就是反映某個事物與其他事物之間相互依存關系,而關聯分析是指在交易數據中,找出存在于項目集合之間的關聯模式,即如果兩個或多個事物之間存在一定的關聯性,則其中一個事物就能通過其他事物進行預測。通常的做法是挖掘隱藏在數據中的相互關系,當兩個或多個數據項的取值相互間高概率的重復出現時,那么就會認為它們之間存在一定的關聯。

換句話說,兩項或多項屬性之間存在關聯,那么其中一項的屬性值就可以依據其他屬性值進行預測。簡單地來說,關聯規則可以用這樣的方式來表示:A→B,其中A被稱為前提或者左部(LHS),而B被稱為結果或者右部(RHS)。如果我們要描述關于尿布和啤酒的關聯規則(買尿布的人也會買啤酒),那么我們可以這樣表示:買尿布→買啤酒。
關聯規則是數據挖掘中的一個重要分支,其主要研究目的是從各種數據集中發現模式、相關性、關聯或因果結構。關聯規則有形如X→YX→Y 的蘊含表達式,其中X和Y是不相交的項集,即X∩Y=?X∩Y=?。
二、關聯分析可以應用在哪些地方?
一些行業的關聯規則十分清晰,例如人口普查、醫療診斷、甚至人類基因組中的蛋白質序列。在關聯銷售寶貝的價格規律,賣家改進關聯營銷策略方面,關聯分析法的適用性尤為突出。

關聯銷售在具體營銷操作中,往往會使用一種商品作為引入商品,另一種商品作為利潤商品,營銷人員往往會認為引入商品應當是低價的一種,那么是否女裝類目中存在此類規律呢?
如果將關聯比例大于10%的關聯商品和結果商品的類目均價互相比較,就會發現既有用半身裙、小背心、雪紡衫之類的相對低價商品,關聯至襯衫、褲子、連衣裙等相對高價商品的記錄,也有用襯衫、短外套、連衣裙、西裝等相對高單價商品,關聯至褲子、連衣裙、T恤等相對低單價商品的記錄,而且兩種情況的數量基本一致。該分析結果告訴我們,至少在女裝類目中,關聯銷售更多是基于買家的內在需求以及商品的性質、特征等而出現,并沒有什么特定的低價導入、高價關聯之類的規律存在。
在今天主要探討的商品銷售這個目標上,“超市購物籃”數據的研究可以作為研究關聯規則挖掘的一個典型的例子。不僅在線下超市,電商賣家的“滿就送”、“多加一件包郵”等形式促銷,也是商品關聯銷售思維演化來的。

但他們忽略了關聯銷售最重要的一個環節 ,就是消費者心理最想要什么東西,以及可以接受的心理價位是什么?這就需要對大量商品記錄數據做分析,提取出能夠反映顧客偏好的有用的規則。
如今疫情尚沒有宣告終結,超市門店生意仍處困境,線上流量紅利競爭持續,競爭的層面也在不斷深化,已經從最基本的增加PV、提升PR、制造爆款……擴展到提升客單價、重購率,培養核心客戶群、打造私域流量等方面。在這樣的情況下,做好關聯分析就會讓你的企業在競爭中多一個抓手。具體而言,他可以幫助店鋪實現以下營銷目的:
1.提升頁面瀏覽率:由于同一頁面中會涉及到多個商品,當這些商品的關聯性較強時,就會有效提升該頁面以及其關聯商品頁面的PV。
2.給用戶提供更多選擇:一個消費者不管通過什么流量渠道進入店鋪商品頁都會有一定原因,而提供其真正具有購買需求的關聯商品信息無疑會增加客戶瀏覽的時間,給客戶提供更多的選擇,從而大大增加留住客戶的比率,而這也就意味著更高的轉化率和客單價!
3.提升利潤商品的展現機會:現在電商賣家對做爆款是又愛又恨,愛的是他能帶來流量,恨的是他帶走了利潤,其實,只要做好關聯銷售,將爆款商品和利潤商品有效組合起來,就能獲得流量和利潤的雙豐收!
除此以外,關聯技術不但在商業領域被廣泛應用,在醫療、保險、電信和證券等領域也得到了有效的應用。
三、如何依據數據做好關聯分析?
1.關聯規則的常用指標
分析事物關聯關系需要將眾多復雜的線索的拆解清晰,量化為對工作有用的指標,在關聯分析的最開始,我們往往需要關注以下指標:
(1)支持度
在關聯算法中很重要的一個概念是支持度(Support),也就是數據集中包含某幾個特定項的概率。比如在1000次的商品交易中同時出現了啤酒和尿布的次數是50次,那么此關聯的支持度為5%。
支持度是指A商品和B商品同時被購買的概率,或者說某個商品組合的購買次數占總商品購買次數的比例,用圖表示就是兩者之間的交集。
其算法公式是:S=F[(A&B)/N]
其中S代表支持度,F代表概率函數,A&B代表購買了A且購買了B的次數,N代表購買總次數。
比如今天共有10筆訂單,其中同時購買牛奶和面包的次數是6次,那么牛奶+面包組合的置信度就是6/10=60%
(2)置信度
和關聯算法很相關的另一個概念是置信度(Confidence),也就是在數據集中已經出現A時,B發生的概率,置信度的計算公式是:A與B同時出現的概率/A出現的概率。
置信度是指購買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的組合方式是有效的。

2.關聯規則的分類
(1)根據規則中所處理的變量的類型,關聯規則可以分為布爾型和數值型
布爾型關聯規則處理的值都是離散的、種類化的,它顯示了這些變量之間的關系。數值型關聯規則可以對數值型字段,原始數據進行處理,包含多種類型的變量。例如:性別=“女”=>職業=“會計” ,是布爾型關聯規則;性別=“女”=>avg(收入)=3000,涉及的收入是數值類型,所以是一個數值型關聯規則。
(2)基于規則中數據的抽象層次,可以分為單層關聯規則和多層關聯規則
在單層的關聯規則中,所有的變量都沒有考慮到現實的數據是具有多個不同的層次的;而在多層的關聯規則中,對數據的多層性已經進行了充分的考慮。例如:IBM臺式機=>Sony打印機,是一個細節數據上的單層關聯規則;臺式機=>Sony打印機,是一個較高層次和細節層次之間的多層關聯規則。
(3)基于規則中涉及到的數據的維數,關聯規則可以分為單維和多維的
在單維的關聯規則中,我們只涉及到數據的一個維,處理單個屬性中的一些關系,如用戶購買的物品。多維的關聯規則中要處理的數據將會涉及多個維,處理各個屬性之間的某些關系。例如:啤酒=>尿布,這條規則只涉及到用戶的購買的物品是單維的關聯規則;性別=“女”=>職業=“秘書”,這條規則就涉及到兩個字段的信息,是多維的一條關聯規則。
3.關聯規則挖掘的相關算法
我們都知道,做數據分析的目的就是找到數據之間的關聯和聯系,而對于產品或商品來說,我們的目的是找出顧客購買行為的模式,比如說用戶買了A商品,是否會對B商品產生什么影響;比如用戶今天的購買行為,會不會對明天的銷售量帶來影響;比如不同的用戶是否具有不同的購買模式等等。而這種挖掘方式要基于一定的規則,這個規則就是進行關聯分析的算法
(1)Apriori算法
Apriori算法是一種最有影響的挖掘布爾關聯規則頻繁項集的算法。其核心是基于兩階段頻集思想的遞推算法。

算法的基本思想:首先找出所有的頻集,這些項集出現的頻繁性至少和預定義的最小支持度一樣;然后由頻集產生強關聯規則,這些規則必須滿足最小支持度和最小可信度。
(2)AprioriTid算法
AprioriTid算法對Apriori算法做了調整,它的特點是在第一次遍歷數據庫D之后,就不再使用數據庫來計算支持度,而是用集合Ck來完成。

基本思想:跟Apriori算法的步驟基本相同,只是在第一次通過之后,數據庫不用于計算候選項集;生成另一個集合C',其中每個成員具有每個事務的TID以及該事務中存在的大項集,這個集用于計算每個候選項集。

(3)SETM算法
基本思想:候選項目集在掃描數據庫時即時生成,但在通過結束時計算,新的候選項集生成事務的TID與候選項集一起保存在順序結構中;結束時,通過聚合該順序結構來確定候選項集的支持計數。
(4)FP-tree算法
FP-tree算法又稱FP-Growth算法,是在不使用候選代的情況下查找頻繁項集的另一種方法,從而提高了性能。其核心是使用名為頻繁模式樹(FP-tree)的特殊數據結構,保留了項集關聯信息。

基本思想:首先壓縮輸入數據庫,創建一個FP樹實例來表示頻繁項;然后將壓縮數據庫分成一組條件數據庫,每個條件數據庫與一個頻繁模式相關聯;最后將每個數據庫進行單獨挖掘。
四、關聯分析的步驟拆解
1.從原始資料集合中找出所有高頻項目組(LargeItemsets)
高頻的意思是指某一項目組出現的頻率相對于所有記錄而言,必須達到某一 水平。以一個包含A與B兩個項目的2-itemset為例,我們可以求得包含{A,B}項目組的支持度,若支持度大于等于所設定的最小支持度 (MinimumSupport)門檻值時,則{A,B}稱為高頻項目組。
一個滿足最小支持度的k-itemset,則稱為高頻k-項目組 (Frequentk-itemset),一般表示為Largek或Frequentk。算法并從Largek的項目組中再試圖產生長度超過k的項目集 Largek+1,直到無法再找到更長的高頻項目組為止。
2.產生關聯規則
從高頻項目組產生關聯規則,是利用前一步驟的高頻k-項目組來產生規則,在最小可信度(MinimumConfidence)的條件門檻下,若一規則所求得的可信度滿足最小可信度,則稱此規則為關聯規則。
例如:經由高頻k-項目組{A,B}所產生的規則,若其可信度大于等于最小可信度,則稱{A,B}為關聯規則。
就“啤酒+尿布”這個案例而言,使用關聯規則挖掘技術,對交易資料庫中的記錄進行資料挖掘,首先必須要設定最小支持度與最小可信度兩個門檻值,在此假設最小 支持度min-support=5%且最小可信度min-confidence=65%。因此符合需求的關聯規則將必須同時滿足以上兩個條件。若經過挖掘 所找到的關聯規則{尿布,啤酒}滿足下列條件,將可接受{尿布,啤酒}的關聯規則。用公式可以描述為:
Support(尿布,啤酒)≥5%andConfidence(尿布,啤酒)≥65%
其 中,Support(尿布,啤酒)≥5%于此應用范例中的意義為:在所有的交易記錄資料中,至少有5%的交易呈現尿布與啤酒這兩項商品被同時購買的交易行 為。Confidence(尿布,啤酒)≥65%于此應用范例中的意義為:在所有包含尿布的交易記錄資料中,至少有65%的交易會同時購買啤酒。
因此,今后若有某消費者出現購買尿布的行為,我們將可推薦該消費者同時購買啤酒。這個商品推薦的行為則是根據{尿布,啤酒}關聯規則而定,因為就過去的交易記錄而言,支持了“大部分購買尿布的交易,會同時購買啤酒”的消費行為。

從上面的介紹還可以看出,關聯規則挖掘通常比較適用于記錄中的指標取離散值的情況。
如果原始數據庫中的指標值是取連續的數據,則在關聯規則挖掘之前應該進行適當的數據離散化(實際上就是將某個區間的值對應于某個值),數據的離散化是數據挖掘前的重要環節,離散化的過程是否合理將直接影響關聯規則的挖掘結果。
五、案例分享
如今關聯規則挖掘的應用領域非常多,但凡需要分析事物和事物間的頻繁模式的場景,都可以用到關聯規則挖掘。
這項技術在一些眾所周知的行業有了許多成熟應用,例如:電商或零售業的商品推薦、百度文庫推薦相關文檔、醫療推薦可能的治療組合、生物研究中,發現有毒植物的共性特征,識別有毒植物、銀行推薦相關聯業務、搜索引擎推薦相關搜索關鍵詞、門戶網站通過點擊流分析熱點新聞。
最終目標是為運營策略提供依據、為數據決策提供佐證等等,但這不僅僅不要分析師有關聯性思維,也需要在終端上確確實實的看到數據的關聯性呈現。這里我們以一站式
數據分析平臺億信ABI為例,來給大家分享關聯分析的具體步驟:

1.準備數據
我們準備了某超市的一些購物籃數據。該數據集有7個字段。根據關聯規則的挖掘特性,需要選擇一個事務字段和一個事項字段。不然發現,CARD_NO(卡號)字段同一卡號購買過多種不同商品,可作為事務字段,而GOODS(購買商品)字段可作為事項字段。另外,界面信息顯示,該數據集有2800條購買數據,由939個客戶(卡號)購買了11種不同商品,符合“經常同時購買”的特征。接下來我們開始用數據集訓練一個合適的關聯規則模型。

2.訓練模型
先創建一個挖掘過程,選擇關聯規則FP-Growth進入挖掘過程界面。系統內置了兩種關聯規則算法,他們的參數設置都一樣。我們選擇性能較好的FP-Growth算法。再選擇“購物籃”數據集,選擇CARD_NO字段為事務字段,GOODS字段為項字段,設置所有數據參與挖掘(100%抽樣)。最低支持度設置為5項,最小可信度設置為40%。注意,這兩個參數設置過大,可能挖掘不出關聯規則,可根據實現情況調整。點擊”訓練模型”菜單查看訓練出來的關聯規則。

如上圖所示,該模型挖掘到了100條關聯規則。每條關聯規則左邊代表。系統雖然內置了FP-Growth和Apriori兩種挖掘算法,而且操作方法一樣,但它們還是存在以下特點:
(1)Apriori算法效率較低,計算過程中需要多次掃描整個數據集,占用較多的內存和計算時間;
(2)FP-Growth算法效率較高,只需要掃描兩次數據集,占用更少的內存和計算時間。但對于長事務(同一事務,很多事項),會造成FP樹深度過大,計算時間顯著增加。
所以在選擇算法時,絕大部分情況下,可以優先選擇FP-Growth算法。
3.模型應用
關聯規則模型的應用同其它類型的挖掘模型,也是要先發布選擇好的關聯規則模型,再制作相應的模型應用用于關聯規則的顯示和查詢。這里就不重復講解了。
(部分內容來源網絡,如有侵權請聯系刪除)