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

熱線電話:13121318867

登錄
首頁精彩閱讀數(shù)據(jù)挖掘應用案例:RFM模型分析與客戶細分
數(shù)據(jù)挖掘應用案例:RFM模型分析與客戶細分
2017-05-06
收藏

數(shù)據(jù)挖掘應用案例:RFM模型分析與客戶細分

正好剛幫某電信行業(yè)完成一個數(shù)據(jù)挖掘工作,其中的RFM模型還是有一定代表性,就再把數(shù)據(jù)挖掘RFM模型的建模思路細節(jié)與大家分享一下吧!手機充值業(yè)務是一項主要電信業(yè)務形式,客戶的充值行為記錄正好滿足RFM模型的交易數(shù)據(jù)要求。

根據(jù)美國數(shù)據(jù)庫營銷研究所ArthurHughes的研究,客戶數(shù)據(jù)庫中有三個神奇的要素,這三個要素構(gòu)成了數(shù)據(jù)分析最好的指標:最近一次消費(Recency)、消費頻率(Frequency)、消費金額(Monetary)。

RFM模型:R(Recency)表示客戶最近一次購買的時間有多遠,F(xiàn)(Frequency)表示客戶在最近一段時間內(nèi)購買的次數(shù),M(Monetary)表示客戶在最近一段時間內(nèi)購買的金額。一般原始數(shù)據(jù)為3個字段:客戶ID、購買時間(日期格式)、購買金額,用數(shù)據(jù)挖掘軟件處理,加權(quán)(考慮權(quán)重)得到RFM得分,進而可以進行客戶細分,客戶等級分類,CustomerLevelValue得分排序等,實現(xiàn)數(shù)據(jù)庫營銷!

這里借用@數(shù)據(jù)挖掘與數(shù)據(jù)分析 的RFM客戶RFM分類圖。

本次分析用的的軟件工具:IBMSPSSStatistics19,IBMSPSSModeler14.1,Tableau7.0,EXCEL和PPT

因為RFM分析僅是項目的一個小部分分析,但也面臨海量數(shù)據(jù)的處理能力,這一點對計算機的內(nèi)存和硬盤容量都有要求。

先說說對海量數(shù)據(jù)挖掘數(shù)據(jù)處理的幾點體會:(僅指個人電腦操作平臺而言)

1、一般我們拿到的數(shù)據(jù)都是壓縮格式的文本文件,需要解壓縮,都在G字節(jié)以上存儲單位,一般最好在外置電源移動硬盤存儲;如果客戶不告知,你大概是不知道有多少記錄和字段的;

2、Modeler挖掘軟件默認安裝一般都需要與C盤進行數(shù)據(jù)交換,至少需要100G空間預留,否則讀取數(shù)據(jù)過程中將造成空間不足

3、海量數(shù)據(jù)處理要有耐心,等待30分鐘以上運行出結(jié)果是常有的現(xiàn)象,特別是在進行抽樣、合并數(shù)據(jù)、數(shù)據(jù)重構(gòu)、神經(jīng)網(wǎng)絡建模過程中,要有韌性,否則差一分鐘中斷就悲劇了,呵呵;

4、數(shù)據(jù)挖掘的準備階段和數(shù)據(jù)預處理時間占整個項目的70%,我這里說如果是超大數(shù)據(jù)集可能時間要占到90%以上。一方面是處理費時,一方面可能就只能這臺電腦處理,不能幾臺電腦同時操作;

5、多帶來不同,這是我一直強調(diào)的體驗。所以海量數(shù)據(jù)需要用到抽樣技術(shù),用來查看數(shù)據(jù)和預操作,記?。河袝r候即使樣本數(shù)據(jù)正常,也可能全部數(shù)據(jù)有問題。建議數(shù)據(jù)分隔符采用“|”存儲;

6、如何強調(diào)一個數(shù)據(jù)挖掘項目和挖掘工程師對行業(yè)的理解和業(yè)務的洞察都不為過,好的數(shù)據(jù)挖掘一定是市場導向的,當然也需要IT人員與市場人員有好的溝通機制;

數(shù)據(jù)挖掘會面臨數(shù)據(jù)字典和語義層含義理解,在MetaData元數(shù)據(jù)管理和理解上7、下功夫會事半功倍,否則等數(shù)據(jù)重構(gòu)完成發(fā)現(xiàn)問題又要推倒重來,悲?。?

8、每次海量大數(shù)據(jù)挖掘工作時都是我上微博最多的時侯,它真的沒我算的快,只好上微博等它,哈哈!

傳統(tǒng)RFM分析轉(zhuǎn)換為電信業(yè)務RFM分析主要思考:

 

這里的RFM模型和進而細分客戶僅是數(shù)據(jù)挖掘項目的一個小部分,假定我們拿到一個月的客戶充值行為數(shù)據(jù)集(實際上有六個月的數(shù)據(jù)),我們們先用IBMModeler軟件構(gòu)建一個分析流:

數(shù)據(jù)結(jié)構(gòu)完全滿足RFM分析要求,一個月的數(shù)據(jù)就有3千萬條交易記錄!

我們先用挖掘工具的RFM模型的RFM匯總節(jié)點和RFM分析節(jié)點產(chǎn)生R(Recency)、F(Frequency)、M(Monetary);

 

接著我們采用RFM分析節(jié)點就完成了RFM模型基礎數(shù)據(jù)重構(gòu)和整理;

現(xiàn)在我們得到了RFM模型的Recency_Score、Frequency_Score、Monetary_Score和RFM_Score;這里對RFM得分進行了五等分切割,采用100、10、1加權(quán)得到RFM得分表明了125個RFM魔方塊。

傳統(tǒng)的RFM模型到此也就完成了,但125個細分市場太多啦無法針對性營銷也需要識別客戶特征和行為,有必要進一步細分客戶群;

另外:RFM模型其實僅僅是一種數(shù)據(jù)處理方法,采用數(shù)據(jù)重構(gòu)技術(shù)同樣可以完成,只是這里固化了RFM模塊更簡單直接,但我們可以采用RFM構(gòu)建數(shù)據(jù)的方式不為RFM也可用該模塊進行數(shù)據(jù)重構(gòu)

我們可以將得到的數(shù)據(jù)導入到Tableau軟件進行描述性分析:(數(shù)據(jù)挖掘軟件在描述性和制表輸出方面非常弱智,哈哈)

 

我們也可以進行不同塊的對比分析:均值分析、塊類別分析等等

這時候我們就可以看出Tableau可視化工具的方便性

接下來,我們繼續(xù)采用挖掘工具對R、F、M三個字段進行聚類分析,聚類分析主要采用:Kohonen、K-means和Two-step算法:

 

這時候我們要考慮是直接用R(Recency)、F(Frequency)、M(Monetary)三個變量還是要進行變換,因為R、F、M三個字段的測量尺度不同最好對三個變量進行標準化,例如:Z得分(實際情況可以選擇線性插值法,比較法,對標法等標準化)!另外一個考慮:就是R、F、M三個指標的權(quán)重該如何考慮,在現(xiàn)實營銷中這三個指標重要性顯然不同!

有資料研究表明:對RFM各變量的指標權(quán)重問題,Hughes,Arthur認為RFM在衡量一個問題上的權(quán)重是一致的,因而并沒有給予不同的劃分。而Stone,Bob通過對信用卡的實證分析,認為各個指標的權(quán)重并不相同,應該給予頻度最高,近度次之,值度最低的權(quán)重;

這里我們采用加權(quán)方法:WR=2WF=3WM=5的簡單加權(quán)法(實際情況需要專家或營銷人員測定);具體選擇哪種聚類方法和聚類數(shù)需要反復測試和評估,同時也要比較三種方法哪種方式更理想!

下圖是采用快速聚類的結(jié)果: 

 

以及kohonen神經(jīng)算法的聚類結(jié)果:

接下來我們要識別聚類結(jié)果的意義和類分析:這里我們可以采用C5.0規(guī)則來識別不同聚類特征

 

其中Two-step兩階段聚類特征圖:

  

采用評估分析節(jié)點對C5.0規(guī)則的模型識別能力進行判斷:

結(jié)果還不錯,我們可以分別選擇三種聚類方法,或者選擇一種更易解釋的聚類結(jié)果,這里選擇Kohonen的聚類結(jié)果將聚類字段寫入數(shù)據(jù)集后,為方便我們將數(shù)據(jù)導入SPSS軟件進行均值分析和輸出到Excel軟件!

輸出結(jié)果后將數(shù)據(jù)導入Excel,將R、F、M三個字段分類與該字段的均值進行比較,利用Excel軟件的條件格式給出與均值比較的趨勢!結(jié)合RFM模型魔方塊的分類識別客戶類型:通過RFM分析將客戶群體劃分成重要保持客戶、重要發(fā)展客戶、重要挽留客戶、一般重要客戶、一般客戶、無價值客戶等六個級別;(有可能某個級別不存在);

另外一個考慮是針對R、F、M三個指標的標準化得分按聚類結(jié)果進行加權(quán)計算,然后進行綜合得分排名,識別各個類別的客戶價值水平;

至此如果我們通過對RFM模型分析和進行的客戶細分滿意的話,可能分析就此結(jié)束!如果我們還有客戶背景資料信息庫,可以將聚類結(jié)果和RFM得分作為自變量進行其他數(shù)據(jù)挖掘建模工作!

數(shù)據(jù)分析咨詢請掃描二維碼

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

數(shù)據(jù)分析師資訊
更多

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(), // 加隨機數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個參數(shù)驗證碼對象,之后可以使用它調(diào)用相應的接口 initGeetest({ // 以下 4 個配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺檢測極驗服務器是否宕機 new_captcha: data.new_captcha, // 用于宕機時表示是新驗證碼的宕機 product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請參見: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); }