基於SPSS Moderler和R的電信業客戶流失分析預測


本節的內容是銜接上節數據挖掘寬表處理的部分,上節分析了電信業客戶流失問題分析預測的准備工作,這節繼續進行探索性分析和建模分析及模型評估,客戶流失預測分為流失規則的預測以及流失評分預測。本節的流失規則預測基於決策樹算法,流失評分預測基於神經網絡算法實現。

四、探索性數據分析

1、離散型變量

1)名義型離散變量

使用描述圖形進行探索性分析:

eg: 手機品牌的分布:

s<-summary(churn_analysis$Handset)

pie(s)    #手機品牌分布

 

2)有序性離散變量

話務量級別:

 

2、連續型變量

繪圖:直方圖、箱線圖

在網時長和總通話費用的圖形展現:

 

3、變量之間關系的探索性分析

1)離散變量與離散變量

使用網絡圖分析:

交叉列聯表和卡方檢驗:SPSS Moderler輸出節點“矩陣”,進行列聯表分析:

2)離散變量與連續變量

高峰期通話時長與流失之間的關系:

在0.05的顯著性水平下,由F值可以看出流失客戶與不流失客戶的高峰期通話時長有着顯著差異。

3)連續變量與連續變量

可以通過散點圖直觀展示,也可通過計算相關系數來展示:

五、、建立模型

1、細分類模型——聚類

適用於:客戶價值較低的客戶群

思路:使用客戶的屬性變量和行為變量(不包括是否流失)對客戶進行聚類分析,分析各個群組的流失率情況,找出流失率較高的群組,並分析刻畫他們的特征,以便業務人員有針對性的制訂營銷策略。

1)連續變量離散化處理

2)類型節點處理

3)K-均值聚類

當k=7時,得到的聚類成果如下:

4)流失率計算

將這7個群組按照是否流失進行匯總,求出各群組的流失率

對以上的匯總結果進行變量排序和變量重命名后輸出到表格中展示,如下:

 

5)特征分析

取流失率較高的兩個群組(高流失客戶群體),分析他們的特征,找出可能的流失原因。取聚類-1和聚類5兩個群組,進行特征分析

流失率較高的群組特征概括:

群組編號

群組占比

流失率

客戶主要特征

特征概括

聚類-1

13.6%

0.148

總花費較低
平均每分鍾花費高
處免費時長外計費時長少
高峰與非高峰通話時長少
周末通話時長較長
使用的資費方案為play

低價值客戶
周末電話為主
資費方案有待優化

聚類-5

10.3%

0.083

總花費較高
高峰通話時間長,非高峰短
周末電話占比低
周末通話次數少,但通話時間較長

較高價值客戶
上班族,以工作電話為主
周末親情電話

以上為流失率較高的兩類客戶的特征概括,可以將這種模型提供給運營和營銷人員,方便他們根據客戶特征制定相關的營銷策略,有效率地提高流失召回效率。

2、流失規則預測模型

1)分區

按照7:3分配訓練集和測試集,也可改變該分配比例來比較分類預測的效果

 

 2)建立決策樹模型

 

3)使用模型查看器查看決策樹分類規則 

Tariff_OK in [ "High CAT 100" "High CAT 50" "High Play 100" ] [ 模式:1 ] => 1 

Tariff_OK in [ "OK" ] [ 模式:0 ] 

    Handset in [ "ASAD170" "BS210" "CAS60" "S80" "WC95" ] [ 模式:0 ] => 0 

    Handset in [ "ASAD90" ] [ 模式:1 ] 

       Usage_Band = 中使用率 [ 模式:1 ] => 1 

       Usage_Band = 低使用率 [ 模式:0 ] => 0 

       Usage_Band = 極高使用率 [ 模式:1 ] 

           Gender = 女 [ 模式:1 ] 

              Peak_mins_Ratio <= 0.830 [ 模式:1 ] => 1 

              Peak_mins_Ratio > 0.830 [ 模式:0 ] 

                  Peak_mins_Trend <= 7.424 [ 模式:1 ] => 1 

                  Peak_mins_Trend > 7.424 [ 模式:0 ] => 0 

           Gender = 男 [ 模式:0 ] => 0 

       Usage_Band = 高使用率 [ 模式:1 ] 

           Age <= 51 [ 模式:1 ] => 1 

           Age > 51 [ 模式:0 ] => 0 

    Handset in [ "BS110" ] [ 模式:0 ] 

       Peak_mins_Ratio <= 0.491 [ 模式:0 ] 

           National_calls <= 88 [ 模式:0 ] 

              Gender = 女 [ 模式:0 ] => 0 

              Gender = 男 [ 模式:1 ] => 1 

           National_calls > 88 [ 模式:1 ] 

              AveOffPeak <= 13.254 [ 模式:1 ] => 1 

              AveOffPeak > 13.254 [ 模式:0 ] => 0 

       Peak_mins_Ratio > 0.491 [ 模式:0 ] 

           International_mins <= 178.474 [ 模式:0 ] 

              AveNational <= 10.161 [ 模式:0 ] => 0 

              AveNational > 10.161 [ 模式:0 ] 

                  Gender = 女 [ 模式:0 ] => 0 

                  Gender = 男 [ 模式:1 ] => 1 

           International_mins > 178.474 [ 模式:0 ] 

              International_mins_Ratio <= 0.183 [ 模式:0 ] => 0 

              International_mins_Ratio > 0.183 [ 模式:1 ] => 1 

    Handset in [ "CAS30" ] [ 模式:1 ] 

       call_cost_per_min <= 7.915 [ 模式:0 ] => 0 

       call_cost_per_min > 7.915 [ 模式:1 ] 

           Usage_Band in [ "中使用率" "極高使用率" "高使用率" ] [ 模式:1 ] => 1 

           Usage_Band in [ "低使用率" ] [ 模式:1 ] 

              Peak_calls <= 176 [ 模式:1 ] 

                  AveOffPeak <= 1.591 [ 模式:0 ] => 0 

                  AveOffPeak > 1.591 [ 模式:1 ] => 1 

              Peak_calls > 176 [ 模式:0 ] => 0 

    Handset in [ "S50" ] [ 模式:0 ] 

       Total_Cost <= 99.515 [ 模式:0 ] 

           Tariff in [ "CAT 100" "CAT 200" ] [ 模式:0 ] => 0 

           Tariff in [ "CAT 50" "Play 300" ] [ 模式:0 ] => 0 

           Tariff in [ "Play 100" ] [ 模式:1 ] => 1 

       Total_Cost > 99.515 [ 模式:0 ] 

           Age <= 25 [ 模式:0 ] 

              International_mins <= 181.009 [ 模式:0 ] 

                  Gender = 女 [ 模式:1 ] => 1 

                  Gender = 男 [ 模式:0 ] => 0 

              International_mins > 181.009 [ 模式:1 ] 

                  average cost min <= 0.145 [ 模式:0 ] => 0 

                  average cost min > 0.145 [ 模式:1 ] => 1 

           Age > 25 [ 模式:0 ] 

              International_mins <= 178.126 [ 模式:0 ] 

                  Gender = 女 [ 模式:1 ] => 1 

                  Gender = 男 [ 模式:0 ] => 0 

              International_mins > 178.126 [ 模式:0 ] => 0 

    Handset in [ "SOP10" "SOP20" ] [ 模式:1 ] => 1 

4)決策樹

5)查看分類訓練和預測結果

6)生成SQL腳本

a) 生成模型后選擇生成SQL腳本  

*注:boosting默認不能生成SQL腳本

b) 接下來,將SQL腳本導入PL/SQL中:

文件—>打開—>SQL腳本

c) 將數據EXCEL表導入PL/SQL中:

對於數據集較小的表:

可以先在數據庫中建立一個表(CLASS)

最終顯示的結果為C0和C1兩列值,C0表示的是預測值,C1表示預測的准確率。

7)模型評估

提升圖:

 

圖形結果顯示,提升度隨RPP(正類預測比例)的提高呈降序分布,且提升度較高,說明模型的預測准確率較高,比隨機預測提升了較高的水平。

ROC曲線:

ROC曲線顯示預測模型對1的敏感度很高,說明模型的預測效果很好。

8)模型分析

 

 結果顯示模型的整體預測准去率達到了94.61%,而且模型的命中率為61.82%,模型的查全率為75.78%。

3、流失評分預測模型(神經網絡算法實現)

 

 1)缺失值處理

將空值取值為0

2)離散目標變量(churn)更改為連續目標變量(churncore)

將1取值為100

0取值為0

3)隨機抽取訓練集和測試集

 

4)建立神經網絡模型

 

5)模型分析和評估

 


免責聲明!

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



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