99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀關聯(lián)規(guī)則分析怎么做?你需要知道這3大關鍵詞、4大步驟
關聯(lián)規(guī)則分析怎么做?你需要知道這3大關鍵詞、4大步驟
2017-05-05
收藏
關聯(lián)規(guī)則是反映一個事物與其他事物之間的相互依存性和關聯(lián)性,常用于實體商店或在線電商的推薦系統(tǒng):通過對顧客的購買記錄數據庫進行關聯(lián)規(guī)則挖掘,最終目的是發(fā)現顧客群體的購買習慣的內在共性,例如購買產品A的同時也連帶購買產品B的概率,根據挖掘結果,調整貨架的布局陳列、設計促銷組合方案,實現銷量的提升,最經典的應用案例莫過于<啤酒和尿布>。

關聯(lián)規(guī)則分析中的關鍵概念包括:支持度(Support)、置信度(Confidence)與提升度(Lift)。首先,我們簡單溫故下這3個關鍵指標:

支持度 (Support)
支持度是兩件商品(A∩B)在總銷售筆數(N)中出現的概率,即A與B同時被購買的概率。


公式:

例子說明:
比如某超市2016年有100w筆銷售,顧客購買可樂又購買薯片有20w筆,顧客購買可樂又購買面包有10w筆,那可樂和薯片的關聯(lián)規(guī)則的支持度是20%,可樂和面包的支持度是10%。

置信度 (Confidence)
置信度是購買A后再購買B的條件概率。簡單來說就是交集部分C在A中比例,如果比例大說明購買A的客戶很大期望會購買B商品。

公式:


例子說明:
某超市2016年可樂購買次數40w筆,購買可樂又購買了薯片是30w筆,顧客購買可樂又購買面包有10w筆,則購買可樂又會購買薯片的置信度是75%,購買可樂又購買面包的置信度是25%,這說明買可樂也會買薯片的關聯(lián)性比面包強,營銷上可以做一些組合策略銷售。

提升度 (Lift)
提升度表示先購買A對購買B的概率的提升作用,用來判斷規(guī)則是否有實際價值,即使用規(guī)則后商品在購物車中出現的次數是否高于商品單獨出現在購物車中的頻率。如果大于1說明規(guī)則有效,小于1則無效。

公式:


例子說明:
可樂和薯片的關聯(lián)規(guī)則的支持度是20%,購買可樂的支持度是3%,購買薯片的支持度是5%,則提升度是1.33>1, A-B規(guī)則對于商品B有提升效果。

理論很簡單,真正實踐起來卻會遇到種種困難,印證了那句"數據分析師的50%~80%的時間都花在了處理數據上”,例如一般POS明細是以下圖表形式展現:



要計算支持度(Support)、置信度(Confidence)與提升度(Lift),首先需要知道Freq(A∩B)、Freq(A)、Freq(B)和總筆數數值,那么需要對商品進行排列組合。

所以,我們希望轉換成下表形式,如銷售ID=000001, 4種商品的兩兩組合(種):


若一個收銀小票(銷售ID)有30種商品,則組合數達到:


而可視化層級上還需要展現集團下每個分公司、每個城市、每個門店、月度、季度或者年度時間的關聯(lián)規(guī)則分析,如果用傳統(tǒng)的工具來實現上述分析無異于大海撈針。

下面我們就來看看在BDP中如何實現Apriori算法,實現關聯(lián)規(guī)則分析:

商品兩兩組合的初步想法是通過量化的思想對商品進行編碼,比方說可按照增序(從1開始),算出每筆銷售單最大值,求出兩者差值得到一組數組,通過數組行轉列形式實現2種商品兩兩組合。

圖:銷售單2種商品兩兩組合邏輯圖


操作①:

【工作表】-【創(chuàng)建合表】-【SQL創(chuàng)建】

圖:商品量化

上圖轉換成日期的形式,主要目的是為下一步的數組轉列做準備,為配合explode()函數使用。其中需要說明的是上圖[日期]字段是自定義日期,可以更改成任意日期,沒有實際日期意義。


圖:商品組合數效果

上圖主要使用的關鍵函數是FILL_DATES([日期1],[日期2]),Explode()。組合效果初顯現,只是缺另一個商品名,然后把[下一日期]字段通過LEFT JOIN 關聯(lián)出商品B的名稱。

操作②:

【工作表】-【創(chuàng)建合表】-【多表關聯(lián)】 用于創(chuàng)建表關聯(lián) 包括(LEFT/INNER/ FULL  JOIN)

圖:商品組合數實現

從上圖可以看到A商品和B商品兩兩組合邏輯已完成,在當前表基礎上我們已經可以去做連帶分析內容。

在這里,求Freq(A)和Freq(B)和總筆數數值就不祥述了,思想大致是求出所有銷售商品的A 和B商品的頻次,通過合表關聯(lián),整合到一張大表。
 
操作③:

【工作表】-【創(chuàng)建合表】-【追加合并】合并訂單總數 ,A商品訂單數,B商品訂單數和A∩B商品連帶筆數

圖:追加合并邏輯實現

追加合并可以把相同字段商品合并在一起,方便計算三個指標(支持度、置信度、提升度)有利于可視化展現。
 
操作④:

可視化展現:【BDP】-【儀表盤】


圖:儀表盤全局展示

注:為了更好體現可視化效果,這部分的可視化展示成果并非使用上述的測試數據或某個企業(yè)數據。

制作三個圖表進行購物籃分析:

圖: TOP 20商品連帶次數

上圖反映季度連帶最高頻次商品,高聯(lián)帶商品意味著對客戶吸引力大商品粘性強,同時也可以查看不同分公司的TOP20連帶情況。根據結果我們可以合理設計促銷策略,例如買2送1等。

圖:商品組合指標

置信度高說明商品連帶緊密,說明客戶連帶意愿強,同時關注支持度,支持度高說明是需求量大,如果支持度低,置信度高其實對市場作用是有限小的。

圖:購物籃分析詳情

通過單價,支持度,置信度,提升度綜合指標來看待商品組合,發(fā)現高價值關聯(lián)商品,有助于提升客單價,同時也需要考慮提升度,提升度小于1,提升效果有限,可以把精力花在提升度大于1的商品組合。
 

同樣地,我們是否可以實現三種商品的組合呢?答案是顯然的,只要我們深入理解以上過程,三種商品關聯(lián)也是可以在BDP中實現的。


作者   熊輝
本文轉載自 BDP商業(yè)數據平臺,轉載需授權


數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機數防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調用 initGeetest 進行初始化 // 參數1:配置參數 // 參數2:回調,回調的第一個參數驗證碼對象,之后可以使用它調用相應的接口 initGeetest({ // 以下 4 個配置參數為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產品形式,包括:float,popup width: "280px", https: true // 更多配置參數說明請參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計時完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }