摘 要: 結合市場細分和數據挖掘技術等相關理論,針對電信行業客戶細分領域存在的問題,以某市電信公司提供的二十多萬客戶數據作為研究對象,基于CRISP?DM數據挖掘模型,通過數據挖掘工具中提供的K?means聚類算法完成對電信市場客戶準確、有效的聚類細分,為管理和營銷人員初步提供了制定管理或營銷計劃的依據。在完成客戶細分模型的基礎上,設計和實現了電信客戶細分系統,并編碼實現該系統功能的主要模塊,將客戶細分的整個流程通過自動化的過程描述出來。
關鍵詞: 數據挖掘; 客戶細分; SPSSModeler; K?means算法
中圖分類號: TN911?34; TM417 文獻標識碼: A 文章編號: 1004?373X(2016)15?0095?04
Abstract: According to the market segmentation, data mining technology and correlation theories, and aiming at the problem existing in customer classification field of telecom industry, more than 200 000 customers′ data provided by the telecom company of a certain city is taken as the research object. On the basis of CRISP?DM data mining model, the K?means clustering algorithm in data mining tool is used for achievement of accurate and effective clustering classification of the telecom customers, which provides a basis of making a preliminary management plan or marketing plan for the management and marketing staff. On the basis of the customer classification model, the telecom customer classification system was designed and implemented, and the main module of the system function was realized with encoding. The whole process of customer classification is described by means of automation process.
Keywords: data mining; customer classification; SPSSModeler; K?means algorithm
目前,通信信息產業迅速發展,移動通信已經成為國內最具發展潛力和活力的支柱產業[1]。隨著手機、電腦的普及以及無線物聯網技術的應用,通信行業的高速發展不斷地改善人類的生活方式,技術和市場的創新為提供商產生了豐厚的利潤,同時也帶來了激烈的市場競爭。WAP,GPRS,3G等信息技術在描述美好前景的同時,更是加劇了電信市場的競爭,對電信運營商提出了更加嚴酷的要求[2]。
1 關于CRISP?DM數據挖掘模型
目前,許多數據挖掘系統的開發商為其用戶提出了應用數據挖掘技術的過程參考模型。例如CRISP?DM,作為目前業界權威的標準流程方法,提供了一個數據挖掘項目生命周期的全面描述。CRISP?DM數據模型流程標準把數據挖掘劃分為6個階段:分別為商業和數據理解、數據準備、數據處理、模型建立和評估以及部署結果,通過上述6個階段最終構成一個統一的循環周期[3]。CRISP?DM模型在實際應用過程中,數據處理、準備和建模以及評估是一個多次修正、重復調整、回饋和完善的過程,不是簡單的單向運作。CRISP?DM數據挖掘模型闡述了整個項目的工作流程[4]。
2 基于CRISP?DM的電信客戶細分模型
2.1 電信客戶細分的需求分析
具有足夠可靠的數據源是進行數據挖掘的必要前提。課題中,某市級電信公司的計費賬務系統為本次數據挖掘研究提供了真實、可信的數據。
(1) 客戶賬單匯總信息表:描述電信運營商為其客戶定期進行費用匯總得到的費用結算數據,見表1。
(3) 客戶通話詳單信息表:描述電信客戶詳細的通話信息,包括主(被)叫、主(被)叫號碼、通話起始時間、通話終止時間等。
(4) 測試卡用戶表 :描述電信測試卡用戶的信息。
在數據挖掘建立客戶細分模型的過程中,使用一臺PC機同時作為數據挖掘的服務器和客戶端,數據庫使用Oracle,建模軟件使用IBMSPSSModeler,并使用輔助工具IBMDataStage。
2.2 數據收集與寬表設計
(1) 數據的收集
對客戶的消費行為特征數據進行聚類分析,將消費行為相似的人群聚為一類[5]。結合電信運營商提供的原始數據,研究的主要數據內容由多方面數據組成:語音網內通話信息、客戶賬戶和賬單信息、語音網間通話信息、短信網內使用信息、短信網間使用信息、IP電話使用信息、其他業務使用信息、客戶通話詳細信息、客戶套餐使用信息、客戶撥打10000和10001熱線信息、測試卡用戶信息[6]。
(2) 寬表的設計
本次客戶細分根據細分主題需要,確定與客戶行為特征有關的屬性(通話行為、短信、數據業務使用情況等)作為細分變量。最重要的挖掘數據是電信客戶2013年1月~7月的客戶消費行為數據。在ETL過程中,利用輔助軟件IBMDataStage將賬單匯總信息表數據生成客戶行為屬性寬表view_srv_mobileamount_hor_t,作為細分模型的主要輸入樣本數據,生成的寬表數據中每一個“用戶ID”字段和“計費月份”字段對應一條記錄。
2.3 數據信息預處理
從不同的系統和渠道中獲取數據挖掘所需的大量原始真實信息數據[7]。由于受到人為或物理因素等的影響,為了給數據挖掘算法提供準確、干凈、更有針對性的數據,必須對數據進行預處理。
(1) 原始數據中缺失值處理
對于原始數據中出現缺失值數據的情況,進行如下方法處理:元組數據舍棄;人工填寫空缺值;使用一個全局常量填充缺失值;采用類似樣本組平均值代替給定元組;使用近似值填入空缺值。
由于本次客戶細分的原始數據不存在缺失值問題,在實際的數據準備過程中沒有進行缺失值的處理。
(2) 過期、無效信息處理
實際過程中會因為業務問題在原始數據的采集過程中收錄了過期、無效的數據信息,因此需要將無效和過期數據過濾掉。選擇正常數據,保證數據的有效性。將view_srv_mobileamount_hor_t_mg表與cmn_userphone_ info表通過“用戶ID”字段關聯合并,依次過濾掉“今年開通用戶當月數據”、“今年停機用戶當月及停機后數據”和“今年開通今年停機用戶數據”,生成新的view_srv_mobileamount_hor_ t_mg_f表。
(3) 異常數據處理
在樣本數據中存在少量的測試卡用戶,這些測試卡用戶的行為不能代表普通用戶的行為,也會對細分結果形成噪音,需過濾。如圖1所示,將view_srv_mobileamount_hor_t_mg_f表與“測試卡USER_ID02”表通過“用戶ID”字段關聯合并,過濾掉測試卡用戶,生成新的view_srv_mobileamount_hor_t_mg_ff表。
(4) 構建數據
對view_srv_mobileamount_hor_t表的數據進行分析,發現有不少字段存在全部為0值,或者幾乎全部為0值[8]。這些字段屬于無效字段或者極少有效(這里取0.1%)的字段,不適合作為細分變量,需要對其進行過濾舍棄。對view_srv_mobileamount_ hor_t表中722個字段進行“去除無效項目”和“去除極少有效項目”處理之后,剩余232個有效字段輸出到新表view_srv_mobileamount_hor_t_mg中。如圖2所示。
2.4 K?means聚類算法建立模型
通過采用數據挖掘工具SPSSModeler中的K?means聚類算法進行相關建模工作,針對前期得到電信公司的計費賬務系統的正常組用戶數據,輸入到K?means聚類算法模型中[9]。K?means算法流程如圖3所示。為避免數據變量直接輸入后對結果產生影響,防止自然語言無法描述客戶群組特性,基于系統聚類質量平均輪廓值的考量,本文通過分箱聚類的方法完成客戶細分模型的建立。
3 電信客戶細分系統的設計與實現
3.1 系統概述
本系統在實現上主要采用Client/Sever模式。本系統基于電信客戶CRISP?DM細分模型,將相應的CRISP?DM數據準備、建立模型和結果統一部署起來,將客戶細分流程通過計算機半自動化描述出來。在Windows系統下,采用SQLServer2005作為后臺數據庫,采用Microsoft Visual Studio 2005作為前臺應用開發工具,數據庫連接采用ADO技術。設計和實現操作簡單、性能可靠、界面友好的電信客戶細分系統。
3.2 系統的功能結構設計
本文采用軟件設計的概念和原理,設計了電信客戶細分系統的功能,為系統的實現做好前期準備。根據系統的需求分析,基于之前得到的電信客戶細分模型,將客戶細分的整個流程通過自動化的過程描述出來。系統功能結構圖如圖4所示。
3.3 系統主要模塊的實現
(1) 數據庫的連接
本系統采用ADO技術訪問SQLServer數據庫。VisualC++應用ADO接口訪問SQLServer,首先要引入ADO庫文件,用直接引入符號“#import”引入ADO庫文件;接著,需要提供COM環境,即初始化COM庫環境。在MFC應用程序里,一個簡單又比較好的方法就是在應用程序類的InitInstance()成員函數里使用AfxOleInit()初始化COM庫環境;采用Connection對象的Open方法連接數據[10]。
(2) 登陸窗體的設計
在窗體上布置兩個文本框以及“Login”和“Exit”按鈕,文本框用來輸入用戶名和密碼。為了提高系統的安全性,用戶只有使用合法的用戶名、密碼和用戶權限才能進入到系統主界面,否則,系統提示錯誤,不能正常登陸。并且,系統會通過判別登陸用戶的權限,顯示不同的功能按鈕。
(3) 系統主窗體的設計
為系統開發友好的用戶界面,對主窗體進行窗口分割,按照系統需求分割成三部分,分別用不同的FormView進行填充。CTitleFormView,CMenuFormView,CClientFormView均繼承于CFormView,用來填充主窗體的三個部分。
(4) 系統管理模塊
系統管理模塊由用戶刪除、用戶添加、用戶修改密碼、日志管理等功能組成。
用戶權限說明:為保證系統的安全,系統中為普通用戶和管理員設置了不同的使用和操作權限,其中普通用戶的權限有限,只能修改自己的密碼,系統管理員擁有添加、刪除普通用戶和管理員的權限,而普通用戶沒有創建和刪除任何用戶的權限。同時,系統管理員有查看和刪除日志的權限,而普通用戶沒有。
添加新的用戶,添加之前會對用戶名是否存在以及操作權限進行判斷。刪除用戶,刪除之前同樣會對用戶名是否存在以及操作權限進行判斷。修改用戶密碼,修改之前會對密碼匹配以及操作權限進行判斷。
(5) 客戶細分模塊的設計
客戶細分模塊主要包括“數據準備”、“建立模型”、“評估”功能。客戶細分功能模塊利用數據挖掘算法,借助后臺數據挖掘工具,通過對電信客戶消費行為進行分析,建立客戶細分模型。實現該模塊中的數據源是電信運營商提供的原始數據,經過簡單的轉置形成本系統所需要的數據格式。客戶細分模塊以新生成的數據為基礎,經過數據準備、數據挖掘和評估操作,生成最終的分組數據。
用戶權限說明:該模塊只有系統管理員的權限才能操作,普通用戶不能進行客戶細分的功能操作。
依據之前所做的客戶細分工作,此次客戶細分的流程主要包括:原始數據項目區分;過濾當月開卡和停機用戶;過濾測試卡用戶;生成語音業務數據;生成非語音業務數據;生成費用數據;生成最終的聚類數據;數據挖掘建立聚類模型;聚類分組合并;生成最終聚類分組。
(6) 細分結果模塊的設計
細分結果模塊主要完成對客戶細分結果的描述,便于管理員和用戶直觀地看到客戶分組結果以及查詢電信個人客戶分類結果。細分結果運行效果圖如圖5所示。
該模塊顯示聚類各分組的基本信息、分組客戶的套餐信息以及客戶指標對比信息。用戶還可以對某一個電信客戶進行查詢,了解該客戶的具體分組情況以及相應的營銷策略。
3.4 系統測試
系統測試作為系統開發過程中必不可少的一個環節,其目的是測試開發系統的主要功能與性能是否與需求分析中的一致。本次在完成系統開發和配置之后,主要做的測試任務有:
(1) 測試系統的正常運行情況。主要任務是檢測程序代碼的編寫是否規范,代碼是否具有可讀性和易維護性。
(2) 測試系統的排錯能力。主要任務是輸入不合理的數據,檢測系統的排錯能力。
(3) 測試系統的運行速度和穩定性。主要任務是通過測試保證系統能夠在長時間穩定運行。
首先,對系統各個功能模塊進行功能測試,反復測試、調整和修改之后,對系統進行總體測試。最終,測試的結果表明系統的各個功能都基本達到設計需求,各個功能模塊運行正常無誤。
4 結 論
在客戶細分理論和數據挖掘理論研究的基礎上,系統地研究了數據挖掘技術在電信客戶細分領域的應用和實現。在理論上為數據挖掘的具體應用打下了基礎,同時,結合某市電信公司提供的原始數據,參照數據挖掘CRISP?DM標準,使用數據挖掘聚類分析中的K?means算法,應用數據挖掘工具SPSSModeler嘗試建立了電信客戶細分模型,并在該模型的基礎上設計和實現了電信客戶細分系統。
參考文獻
[1] HO T K, HULL J J, SRIHARI S N. Decision combination in multiple classifier systems [J]. IEEE transactions on pattern analysis and machine intelligence, 1994, 16(1): 66?75.
[2] 陳明亮.客戶關系管理基礎理論體系框架探討[J].管理工程學報,2012,20(4):36?41.
[3] 羅紀寧.市場細分研究綜述:回顧與展望[J].山東大學學報(哲學社會科學版),2010(6):44?48.
[4] KIM J, WEI S, RUYS H. Segmenting the market of west Australian senior tourists using an artificial neural network [J]. Tourism management, 2003, 24(1): 25?34.
[5] 郭秋萍,余建國,劉雙紅.企業數據挖掘理論與實踐[M].鄭州:黃河水利出版社,2010:12?14.
[6] 廖里,余英澤.數據挖掘和數據倉庫及其在電信業中的應用[J].重慶郵電學院學報,2013,37(4):31?34.
[7] 李益強,漆晨曦.基于數據挖掘的電信客戶細分研究分析[J].廣東通信技術,2013:12?15.
[8] 周世兵,徐振源,唐旭清.K?means算法最佳聚類數確定方法[J].計算機應用,2010,30(8):145?148.
[9] XIANG P S. Survey of clustering algorithm [J]. Journal of Southwest University for Nationalities, 2009(3): 145?178.
[10] 宋才華,王永才,藍源娟,等.基于數據挖掘的電力行業客戶細分模型分析[J].現代電子技術,2014,37(14):21?23.