基於SPSS Moderler和R語言的數據挖掘寬表處理


基於SPSS Moderler和R語言的數據挖掘寬表處理

—電信業客戶流失分析

一、商業理解

1、問題的提出:

1)問題1:預測哪些客戶(尤其是高價值客戶)可能會流失?

2)問題2:可能流失客戶的特征是什么?

3)問題3: 商場挽留活動的預期收益是多少?

2、流失的定義:

    這里將客戶分為三類:正常使用電信業務的客戶、主動放棄電信業務的客戶、由於欠費被停機的客戶。這里將后兩類都定義為流失,用1(或T)表示,將第一類定義為不流失,用0(或F)表示。

3、用於預測流失的變量表:

有哪些描述客戶的數據可以用來作為預測客戶流失的變量?

客戶基本信息數據、客戶行為數據(業務使用情況)、產品信息數據

4、時間窗口:

定義預測輸入變量(自變量)和預測目標變量(因變量)的時間窗口。取前六個月數據作為預測輸入變量的數據(訓練數據),以8到10月三個月作為預測目標變量的數據(測試數據)。中間的7月作為間隔期。

二、數據導入和理解

1、表1-客戶基本信息表(custinfo.csv):

 

 可以看出表1中包括:客戶編號、性別、年齡、在網時長、話費方案、手機品牌這六個輸入變量以及他們的變量類型

2、客戶通話情況表

 

 這張表顯示的是客戶的月度通話行為數據,包括:客戶編號、高峰時期電話數、高峰時期電話時長、低谷時期電話數、低谷時期電話時長、周末時期電話數、周末時期電話時長、國際電話時長、國內電話花費、月份10個輸入變量,高峰時期是指平時工作時間,非高峰時期是指不含周末的非上班時間

3、話費方案表

 

這張表顯示的是客戶的話費方案,變量包括:話費類型、固定費用、免費時長、高峰時期單價、非高峰時期單價、周末單價、國際長途單價

 4、客戶是否流失標記

 

 

 churn:客戶是否流失:1表示流失,0表示不流失

三、數據處理

 用SPSS Moderler生生數據挖掘寬表,將多個表中數據重新整合到一個表中:

 

 

1、對客戶通話情況表(custcall)中的高峰、非高峰、周末時期的通話時長建立趨勢分析和波動分析變量

趨勢分析:,x:表示月份,y表示通話時長,n表示總月份個數

 

 建立多個節點計算趨勢值和波動值:

 

 計算高峰期通話時長趨勢值:(n * Peak_Mins_Month_Sum - Peak_mins_Sum * month_Sum)/( n * month_month_Sum - month_Sum * month_Sum)

 

 計算高峰期通話時長波動值:

 (Peak_mins_Max-Peak_mins_Min) / Peak_mins_Min

 

 

 2、過濾掉中間變量,只留下趨勢值和波動值:

 

 3、創建超節點:因為中間變量的節點太多,太冗余,所以建立超節點,將中間變量隱藏

 

 4、生成求和指標、占比指標、和平均指標

按照以上步驟類似處理客戶通話信息表,求出國內電話數合計、國內通話時長合計、所有通話時長合計;高峰時期、非高峰時期、周末時期、全部國內平均每次通話時長;高峰時期、非高峰時期、周末時期通話時長占比以及國際通話時長占比

 

 5、將處理好的客戶通話表(表2)與客戶基本信息表(表1)合並,選取Customer_ID為關鍵字

 

 6、將花費方案表(表3)合並入表1中,選取Tariff為關鍵字

 

 7、建立超節點處理客戶花費表:

 

 8、將客戶流失標記表(表4)合並,關鍵字Customer_ID

 

 9、排列整理字段,並且導出.csv格式的表

 

 該表格就是流失分析的基礎寬表。

10、用R語言讀取該表:

churn_analysis<-read.table("E:/churn_analysis.csv",header=TRUE,sep=',') #導入表-客戶流失分析寬表

str(churn_analysis) #變量類型

head(churn_analysis) #顯示部分數據

 

 

 得到的寬表中共有40個變量和18550條數據

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM