摘 要: 結(jié)合市場細(xì)分和數(shù)據(jù)挖掘技術(shù)等相關(guān)理論,針對電信行業(yè)客戶細(xì)分領(lǐng)域存在的問題,以某市電信公司提供的二十多萬客戶數(shù)據(jù)作為研究對象,基于CRISP?DM數(shù)據(jù)挖掘模型,通過數(shù)據(jù)挖掘工具中提供的K?means聚類算法完成對電信市場客戶準(zhǔn)確、有效的聚類細(xì)分,為管理和營銷人員初步提供了制定管理或營銷計劃的依據(jù)。在完成客戶細(xì)分模型的基礎(chǔ)上,設(shè)計和實現(xiàn)了電信客戶細(xì)分系統(tǒng),并編碼實現(xiàn)該系統(tǒng)功能的主要模塊,將客戶細(xì)分的整個流程通過自動化的過程描述出來。
關(guān)鍵詞: 數(shù)據(jù)挖掘; 客戶細(xì)分; SPSSModeler; K?means算法
中圖分類號: TN911?34; TM417 文獻(xiàn)標(biāo)識碼: 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
目前,通信信息產(chǎn)業(yè)迅速發(fā)展,移動通信已經(jīng)成為國內(nèi)最具發(fā)展?jié)摿突盍Φ闹еa(chǎn)業(yè)[1]。隨著手機(jī)、電腦的普及以及無線物聯(lián)網(wǎng)技術(shù)的應(yīng)用,通信行業(yè)的高速發(fā)展不斷地改善人類的生活方式,技術(shù)和市場的創(chuàng)新為提供商產(chǎn)生了豐厚的利潤,同時也帶來了激烈的市場競爭。WAP,GPRS,3G等信息技術(shù)在描述美好前景的同時,更是加劇了電信市場的競爭,對電信運營商提出了更加嚴(yán)酷的要求[2]。
1 關(guān)于CRISP?DM數(shù)據(jù)挖掘模型
目前,許多數(shù)據(jù)挖掘系統(tǒng)的開發(fā)商為其用戶提出了應(yīng)用數(shù)據(jù)挖掘技術(shù)的過程參考模型。例如CRISP?DM,作為目前業(yè)界權(quán)威的標(biāo)準(zhǔn)流程方法,提供了一個數(shù)據(jù)挖掘項目生命周期的全面描述。CRISP?DM數(shù)據(jù)模型流程標(biāo)準(zhǔn)把數(shù)據(jù)挖掘劃分為6個階段:分別為商業(yè)和數(shù)據(jù)理解、數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)處理、模型建立和評估以及部署結(jié)果,通過上述6個階段最終構(gòu)成一個統(tǒng)一的循環(huán)周期[3]。CRISP?DM模型在實際應(yīng)用過程中,數(shù)據(jù)處理、準(zhǔn)備和建模以及評估是一個多次修正、重復(fù)調(diào)整、回饋和完善的過程,不是簡單的單向運作。CRISP?DM數(shù)據(jù)挖掘模型闡述了整個項目的工作流程[4]。
2 基于CRISP?DM的電信客戶細(xì)分模型
2.1 電信客戶細(xì)分的需求分析
具有足夠可靠的數(shù)據(jù)源是進(jìn)行數(shù)據(jù)挖掘的必要前提。課題中,某市級電信公司的計費賬務(wù)系統(tǒng)為本次數(shù)據(jù)挖掘研究提供了真實、可信的數(shù)據(jù)。
(1) 客戶賬單匯總信息表:描述電信運營商為其客戶定期進(jìn)行費用匯總得到的費用結(jié)算數(shù)據(jù),見表1。
(3) 客戶通話詳單信息表:描述電信客戶詳細(xì)的通話信息,包括主(被)叫、主(被)叫號碼、通話起始時間、通話終止時間等。
(4) 測試卡用戶表 :描述電信測試卡用戶的信息。
在數(shù)據(jù)挖掘建立客戶細(xì)分模型的過程中,使用一臺PC機(jī)同時作為數(shù)據(jù)挖掘的服務(wù)器和客戶端,數(shù)據(jù)庫使用Oracle,建模軟件使用IBMSPSSModeler,并使用輔助工具IBMDataStage。
2.2 數(shù)據(jù)收集與寬表設(shè)計
(1) 數(shù)據(jù)的收集
對客戶的消費行為特征數(shù)據(jù)進(jìn)行聚類分析,將消費行為相似的人群聚為一類[5]。結(jié)合電信運營商提供的原始數(shù)據(jù),研究的主要數(shù)據(jù)內(nèi)容由多方面數(shù)據(jù)組成:語音網(wǎng)內(nèi)通話信息、客戶賬戶和賬單信息、語音網(wǎng)間通話信息、短信網(wǎng)內(nèi)使用信息、短信網(wǎng)間使用信息、IP電話使用信息、其他業(yè)務(wù)使用信息、客戶通話詳細(xì)信息、客戶套餐使用信息、客戶撥打10000和10001熱線信息、測試卡用戶信息[6]。
(2) 寬表的設(shè)計
本次客戶細(xì)分根據(jù)細(xì)分主題需要,確定與客戶行為特征有關(guān)的屬性(通話行為、短信、數(shù)據(jù)業(yè)務(wù)使用情況等)作為細(xì)分變量。最重要的挖掘數(shù)據(jù)是電信客戶2013年1月~7月的客戶消費行為數(shù)據(jù)。在ETL過程中,利用輔助軟件IBMDataStage將賬單匯總信息表數(shù)據(jù)生成客戶行為屬性寬表view_srv_mobileamount_hor_t,作為細(xì)分模型的主要輸入樣本數(shù)據(jù),生成的寬表數(shù)據(jù)中每一個“用戶ID”字段和“計費月份”字段對應(yīng)一條記錄。
2.3 數(shù)據(jù)信息預(yù)處理
從不同的系統(tǒng)和渠道中獲取數(shù)據(jù)挖掘所需的大量原始真實信息數(shù)據(jù)[7]。由于受到人為或物理因素等的影響,為了給數(shù)據(jù)挖掘算法提供準(zhǔn)確、干凈、更有針對性的數(shù)據(jù),必須對數(shù)據(jù)進(jìn)行預(yù)處理。
(1) 原始數(shù)據(jù)中缺失值處理
對于原始數(shù)據(jù)中出現(xiàn)缺失值數(shù)據(jù)的情況,進(jìn)行如下方法處理:元組數(shù)據(jù)舍棄;人工填寫空缺值;使用一個全局常量填充缺失值;采用類似樣本組平均值代替給定元組;使用近似值填入空缺值。
由于本次客戶細(xì)分的原始數(shù)據(jù)不存在缺失值問題,在實際的數(shù)據(jù)準(zhǔn)備過程中沒有進(jìn)行缺失值的處理。
(2) 過期、無效信息處理
實際過程中會因為業(yè)務(wù)問題在原始數(shù)據(jù)的采集過程中收錄了過期、無效的數(shù)據(jù)信息,因此需要將無效和過期數(shù)據(jù)過濾掉。選擇正常數(shù)據(jù),保證數(shù)據(jù)的有效性。將view_srv_mobileamount_hor_t_mg表與cmn_userphone_ info表通過“用戶ID”字段關(guān)聯(lián)合并,依次過濾掉“今年開通用戶當(dāng)月數(shù)據(jù)”、“今年停機(jī)用戶當(dāng)月及停機(jī)后數(shù)據(jù)”和“今年開通今年停機(jī)用戶數(shù)據(jù)”,生成新的view_srv_mobileamount_hor_ t_mg_f表。
(3) 異常數(shù)據(jù)處理
在樣本數(shù)據(jù)中存在少量的測試卡用戶,這些測試卡用戶的行為不能代表普通用戶的行為,也會對細(xì)分結(jié)果形成噪音,需過濾。如圖1所示,將view_srv_mobileamount_hor_t_mg_f表與“測試卡USER_ID02”表通過“用戶ID”字段關(guān)聯(lián)合并,過濾掉測試卡用戶,生成新的view_srv_mobileamount_hor_t_mg_ff表。
(4) 構(gòu)建數(shù)據(jù)
對view_srv_mobileamount_hor_t表的數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)有不少字段存在全部為0值,或者幾乎全部為0值[8]。這些字段屬于無效字段或者極少有效(這里取0.1%)的字段,不適合作為細(xì)分變量,需要對其進(jìn)行過濾舍棄。對view_srv_mobileamount_ hor_t表中722個字段進(jìn)行“去除無效項目”和“去除極少有效項目”處理之后,剩余232個有效字段輸出到新表view_srv_mobileamount_hor_t_mg中。如圖2所示。
2.4 K?means聚類算法建立模型
通過采用數(shù)據(jù)挖掘工具SPSSModeler中的K?means聚類算法進(jìn)行相關(guān)建模工作,針對前期得到電信公司的計費賬務(wù)系統(tǒng)的正常組用戶數(shù)據(jù),輸入到K?means聚類算法模型中[9]。K?means算法流程如圖3所示。為避免數(shù)據(jù)變量直接輸入后對結(jié)果產(chǎn)生影響,防止自然語言無法描述客戶群組特性,基于系統(tǒng)聚類質(zhì)量平均輪廓值的考量,本文通過分箱聚類的方法完成客戶細(xì)分模型的建立。
3 電信客戶細(xì)分系統(tǒng)的設(shè)計與實現(xiàn)
3.1 系統(tǒng)概述
本系統(tǒng)在實現(xiàn)上主要采用Client/Sever模式。本系統(tǒng)基于電信客戶CRISP?DM細(xì)分模型,將相應(yīng)的CRISP?DM數(shù)據(jù)準(zhǔn)備、建立模型和結(jié)果統(tǒng)一部署起來,將客戶細(xì)分流程通過計算機(jī)半自動化描述出來。在Windows系統(tǒng)下,采用SQLServer2005作為后臺數(shù)據(jù)庫,采用Microsoft Visual Studio 2005作為前臺應(yīng)用開發(fā)工具,數(shù)據(jù)庫連接采用ADO技術(shù)。設(shè)計和實現(xiàn)操作簡單、性能可靠、界面友好的電信客戶細(xì)分系統(tǒng)。
3.2 系統(tǒng)的功能結(jié)構(gòu)設(shè)計
本文采用軟件設(shè)計的概念和原理,設(shè)計了電信客戶細(xì)分系統(tǒng)的功能,為系統(tǒng)的實現(xiàn)做好前期準(zhǔn)備。根據(jù)系統(tǒng)的需求分析,基于之前得到的電信客戶細(xì)分模型,將客戶細(xì)分的整個流程通過自動化的過程描述出來。系統(tǒng)功能結(jié)構(gòu)圖如圖4所示。
3.3 系統(tǒng)主要模塊的實現(xiàn)
(1) 數(shù)據(jù)庫的連接
本系統(tǒng)采用ADO技術(shù)訪問SQLServer數(shù)據(jù)庫。VisualC++應(yīng)用ADO接口訪問SQLServer,首先要引入ADO庫文件,用直接引入符號“#import”引入ADO庫文件;接著,需要提供COM環(huán)境,即初始化COM庫環(huán)境。在MFC應(yīng)用程序里,一個簡單又比較好的方法就是在應(yīng)用程序類的InitInstance()成員函數(shù)里使用AfxOleInit()初始化COM庫環(huán)境;采用Connection對象的Open方法連接數(shù)據(jù)[10]。
(2) 登陸窗體的設(shè)計
在窗體上布置兩個文本框以及“Login”和“Exit”按鈕,文本框用來輸入用戶名和密碼。為了提高系統(tǒng)的安全性,用戶只有使用合法的用戶名、密碼和用戶權(quán)限才能進(jìn)入到系統(tǒng)主界面,否則,系統(tǒng)提示錯誤,不能正常登陸。并且,系統(tǒng)會通過判別登陸用戶的權(quán)限,顯示不同的功能按鈕。
(3) 系統(tǒng)主窗體的設(shè)計
為系統(tǒng)開發(fā)友好的用戶界面,對主窗體進(jìn)行窗口分割,按照系統(tǒng)需求分割成三部分,分別用不同的FormView進(jìn)行填充。CTitleFormView,CMenuFormView,CClientFormView均繼承于CFormView,用來填充主窗體的三個部分。
(4) 系統(tǒng)管理模塊
系統(tǒng)管理模塊由用戶刪除、用戶添加、用戶修改密碼、日志管理等功能組成。
用戶權(quán)限說明:為保證系統(tǒng)的安全,系統(tǒng)中為普通用戶和管理員設(shè)置了不同的使用和操作權(quán)限,其中普通用戶的權(quán)限有限,只能修改自己的密碼,系統(tǒng)管理員擁有添加、刪除普通用戶和管理員的權(quán)限,而普通用戶沒有創(chuàng)建和刪除任何用戶的權(quán)限。同時,系統(tǒng)管理員有查看和刪除日志的權(quán)限,而普通用戶沒有。
添加新的用戶,添加之前會對用戶名是否存在以及操作權(quán)限進(jìn)行判斷。刪除用戶,刪除之前同樣會對用戶名是否存在以及操作權(quán)限進(jìn)行判斷。修改用戶密碼,修改之前會對密碼匹配以及操作權(quán)限進(jìn)行判斷。
(5) 客戶細(xì)分模塊的設(shè)計
客戶細(xì)分模塊主要包括“數(shù)據(jù)準(zhǔn)備”、“建立模型”、“評估”功能??蛻艏?xì)分功能模塊利用數(shù)據(jù)挖掘算法,借助后臺數(shù)據(jù)挖掘工具,通過對電信客戶消費行為進(jìn)行分析,建立客戶細(xì)分模型。實現(xiàn)該模塊中的數(shù)據(jù)源是電信運營商提供的原始數(shù)據(jù),經(jīng)過簡單的轉(zhuǎn)置形成本系統(tǒng)所需要的數(shù)據(jù)格式??蛻艏?xì)分模塊以新生成的數(shù)據(jù)為基礎(chǔ),經(jīng)過數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘和評估操作,生成最終的分組數(shù)據(jù)。
用戶權(quán)限說明:該模塊只有系統(tǒng)管理員的權(quán)限才能操作,普通用戶不能進(jìn)行客戶細(xì)分的功能操作。
依據(jù)之前所做的客戶細(xì)分工作,此次客戶細(xì)分的流程主要包括:原始數(shù)據(jù)項目區(qū)分;過濾當(dāng)月開卡和停機(jī)用戶;過濾測試卡用戶;生成語音業(yè)務(wù)數(shù)據(jù);生成非語音業(yè)務(wù)數(shù)據(jù);生成費用數(shù)據(jù);生成最終的聚類數(shù)據(jù);數(shù)據(jù)挖掘建立聚類模型;聚類分組合并;生成最終聚類分組。
(6) 細(xì)分結(jié)果模塊的設(shè)計
細(xì)分結(jié)果模塊主要完成對客戶細(xì)分結(jié)果的描述,便于管理員和用戶直觀地看到客戶分組結(jié)果以及查詢電信個人客戶分類結(jié)果。細(xì)分結(jié)果運行效果圖如圖5所示。
該模塊顯示聚類各分組的基本信息、分組客戶的套餐信息以及客戶指標(biāo)對比信息。用戶還可以對某一個電信客戶進(jìn)行查詢,了解該客戶的具體分組情況以及相應(yīng)的營銷策略。
3.4 系統(tǒng)測試
系統(tǒng)測試作為系統(tǒng)開發(fā)過程中必不可少的一個環(huán)節(jié),其目的是測試開發(fā)系統(tǒng)的主要功能與性能是否與需求分析中的一致。本次在完成系統(tǒng)開發(fā)和配置之后,主要做的測試任務(wù)有:
(1) 測試系統(tǒng)的正常運行情況。主要任務(wù)是檢測程序代碼的編寫是否規(guī)范,代碼是否具有可讀性和易維護(hù)性。
(2) 測試系統(tǒng)的排錯能力。主要任務(wù)是輸入不合理的數(shù)據(jù),檢測系統(tǒng)的排錯能力。
(3) 測試系統(tǒng)的運行速度和穩(wěn)定性。主要任務(wù)是通過測試保證系統(tǒng)能夠在長時間穩(wěn)定運行。
首先,對系統(tǒng)各個功能模塊進(jìn)行功能測試,反復(fù)測試、調(diào)整和修改之后,對系統(tǒng)進(jìn)行總體測試。最終,測試的結(jié)果表明系統(tǒng)的各個功能都基本達(dá)到設(shè)計需求,各個功能模塊運行正常無誤。
4 結(jié) 論
在客戶細(xì)分理論和數(shù)據(jù)挖掘理論研究的基礎(chǔ)上,系統(tǒng)地研究了數(shù)據(jù)挖掘技術(shù)在電信客戶細(xì)分領(lǐng)域的應(yīng)用和實現(xiàn)。在理論上為數(shù)據(jù)挖掘的具體應(yīng)用打下了基礎(chǔ),同時,結(jié)合某市電信公司提供的原始數(shù)據(jù),參照數(shù)據(jù)挖掘CRISP?DM標(biāo)準(zhǔn),使用數(shù)據(jù)挖掘聚類分析中的K?means算法,應(yīng)用數(shù)據(jù)挖掘工具SPSSModeler嘗試建立了電信客戶細(xì)分模型,并在該模型的基礎(chǔ)上設(shè)計和實現(xiàn)了電信客戶細(xì)分系統(tǒng)。
參考文獻(xiàn)
[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] 陳明亮.客戶關(guān)系管理基礎(chǔ)理論體系框架探討[J].管理工程學(xué)報,2012,20(4):36?41.
[3] 羅紀(jì)寧.市場細(xì)分研究綜述:回顧與展望[J].山東大學(xué)學(xué)報(哲學(xué)社會科學(xué)版),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] 郭秋萍,余建國,劉雙紅.企業(yè)數(shù)據(jù)挖掘理論與實踐[M].鄭州:黃河水利出版社,2010:12?14.
[6] 廖里,余英澤.數(shù)據(jù)挖掘和數(shù)據(jù)倉庫及其在電信業(yè)中的應(yīng)用[J].重慶郵電學(xué)院學(xué)報,2013,37(4):31?34.
[7] 李益強(qiáng),漆晨曦.基于數(shù)據(jù)挖掘的電信客戶細(xì)分研究分析[J].廣東通信技術(shù),2013:12?15.
[8] 周世兵,徐振源,唐旭清.K?means算法最佳聚類數(shù)確定方法[J].計算機(jī)應(yīng)用,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] 宋才華,王永才,藍(lán)源娟,等.基于數(shù)據(jù)挖掘的電力行業(yè)客戶細(xì)分模型分析[J].現(xiàn)代電子技術(shù),2014,37(14):21?23.