0 引言
隨著電子商務(wù)的發(fā)展,企業(yè)的產(chǎn)品越來越趨向于同質(zhì)化,僅僅依靠產(chǎn)品本身很難在日趨激烈的競爭中取勝,所以愈來愈多的先進(jìn)企業(yè)將重點從“以產(chǎn)品為中心”向“以客戶為中心”的新型商業(yè)模式轉(zhuǎn)移,客戶關(guān)系管理也就應(yīng)運而生。客戶關(guān)系管理為企業(yè)經(jīng)營、決策和管理提供了一種新型商業(yè)模式。
當(dāng)今許多企業(yè)的數(shù)據(jù)庫或數(shù)據(jù)倉庫中都搜集和存儲了大量關(guān)于客戶的寶貴數(shù)據(jù),這些數(shù)據(jù)涵蓋了從客戶基本數(shù)據(jù)、購買記錄及客戶反饋的各個環(huán)節(jié)。充分利用這些數(shù)據(jù),深入分析、挖掘隱含在這些數(shù)據(jù)中的有用信息,將有助于企業(yè)更好地管理客戶關(guān)系,實現(xiàn)CRM的功能和目標(biāo)。數(shù)據(jù)挖掘技術(shù)的目的是對這些數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、分析和模型化處理,從中提取輔助商業(yè)決策的關(guān)鍵性數(shù)據(jù)律。客戶關(guān)系管理是數(shù)據(jù)挖掘技術(shù)在企業(yè)決策支持系統(tǒng)中的重要應(yīng)用領(lǐng)域。
1 CRM與數(shù)據(jù)挖掘的基本理論
1.1 CRM的概念
客戶關(guān)系管理(Customer Relationship Management,簡稱CRM)是指對企業(yè)和客戶之間的交互活動進(jìn)行管理的過程。它是企業(yè)為了提高核心競爭力,通過改進(jìn)對客戶的服務(wù)水平,提高客戶滿意度和忠誠度所樹立起來的以客戶為核心的經(jīng)營理念;是通過開展系統(tǒng)化的理論研究,優(yōu)化企業(yè)組織體系和業(yè)務(wù)流程,實施于企業(yè)的市場營銷、銷售、服務(wù)、技術(shù)支持等與客戶相關(guān)的領(lǐng)域,旨在改善企業(yè)與客戶之間關(guān)系的新型機(jī)制;也是企業(yè)通過技術(shù)投資,建立能搜集、跟蹤和分析客戶信息的系統(tǒng),創(chuàng)造并使用先進(jìn)的信息技術(shù)、軟硬件,以及優(yōu)化的管理方法和解決方案的總和。
1.2 數(shù)據(jù)挖掘的定義
數(shù)據(jù)挖掘(或KDD)是從大量數(shù)據(jù)中提取出可信的、新穎的、有效的并能被人理解的模式的處理過程,這種處理過程是非平凡的過程。
數(shù)據(jù)挖掘從數(shù)據(jù)集中識別出的模式來表示的知識的處理過程是一個多步驟的處理過程,多步驟之間相互影響,反復(fù)調(diào)整,形成一種螺旋式上升過程,挖掘的知識表示為概念(Concepts)、規(guī)則(Rules)、規(guī)律(Regularities)等形式。
1.3 數(shù)據(jù)挖掘技術(shù)在CRM中的應(yīng)用
隨著信息技術(shù)的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)和計算機(jī)網(wǎng)絡(luò)的廣泛應(yīng)用,企業(yè)擁有的數(shù)據(jù)量急劇增大。在大量的數(shù)據(jù)與信息中,蘊藏著企業(yè)運作的利弊得失。若能夠?qū)@種海量的數(shù)據(jù)與信息進(jìn)行快速有效地深入分析和處理,就能從中找出規(guī)律和模式,獲取所需知識,幫助企業(yè)更好地進(jìn)行企業(yè)運籌決策。數(shù)據(jù)挖掘技術(shù)和產(chǎn)品在這種市場需求中逐漸發(fā)展成熟,并使企業(yè)獲得極高的投資回報。在企業(yè)管理客戶生命周期的各個階段都會用到數(shù)據(jù)挖掘技術(shù)。數(shù)據(jù)挖掘能夠幫助企業(yè)確定客戶的特點,從而可以為客戶提供有針對性的服務(wù)。
2 數(shù)據(jù)挖掘中的決策樹算法
2.1 決策樹的基本理論
所謂決策樹就是一個類似流程圖的樹型結(jié)構(gòu),其中樹的每個內(nèi)部結(jié)點代表對一個屬性(取值)的測試,其分支就代表測試的每個結(jié)果;而樹的每個葉結(jié)點就代表一個類別。樹的最高層結(jié)點就是根結(jié)點。為了對未知數(shù)據(jù)對象進(jìn)行分類識別,可以根據(jù)決策樹的結(jié)構(gòu)對數(shù)據(jù)集中的屬性值進(jìn)行測試,從決策樹的根結(jié)點到葉結(jié)點的一條路徑就形成了對相應(yīng)對象的類別預(yù)測。
2.2 決策樹的生成
決策樹的生成的基本算法是貪心算法。它以自頂向下遞歸的各個擊破方式構(gòu)造決策樹。建立一棵決策樹通常分為兩個階段:建樹(Tree Building)和剪枝(Tree Pruning)。
2.3 決策樹算法
SPRINT算法吸取了SLIQ算法的預(yù)排序技術(shù),但它使用不同的數(shù)據(jù)結(jié)構(gòu),消除了所有的內(nèi)存限制,且易于并行化,進(jìn)一步增強(qiáng)了可伸縮性。所采用的剪枝算法與SLIQ相同。因為決策樹算法中的關(guān)鍵問題是建樹,而建樹階段與剪枝階段相比,其所需時間遠(yuǎn)遠(yuǎn)大于剪枝所需時間。下面對SPRINT算法中的幾個關(guān)鍵步驟加以闡明。
2.3.1 數(shù)據(jù)結(jié)構(gòu)
屬性表(Attribute List):SPRINT算法使用一種新的屬性表數(shù)據(jù)結(jié)構(gòu),存放類和rid(index of the record)信息。每個屬性具有一個屬性表,表中每條記錄由屬性值、類標(biāo)號和rid組成。初始狀態(tài)下,對數(shù)值型屬性按其屬性值進(jìn)行排序。如果內(nèi)存不夠,屬性表可以駐留磁盤。最初的根據(jù)訓(xùn)練集所創(chuàng)建的屬性表均指向樹根,隨著樹的生長,當(dāng)節(jié)點分裂時,屬性表被劃分,并在結(jié)果子女節(jié)點分布,當(dāng)表劃分時,表中記錄的次序維持不變,因此,劃分表不需要重新排序。
直方圖(Histograms):SPRINT算法中的直方圖是用于計算每一種分裂方案的gini指數(shù)值。對于數(shù)值型屬性,每一個節(jié)點,對應(yīng)兩個直方圖,分別用Cabove,和Cbelow表示。它們表示屬性記錄在給定節(jié)點上的類分布情況。遍歷屬性表時,直方圖也隨之改變,其中:Cabove表示未掃描過的屬性記錄的類分布情況。Cbelow表示己掃描過的屬性記錄的類分布情況。對于離散屬性,每個節(jié)點對應(yīng)有一個直方圖,它包含給定屬性上每一個值的類分布情況。
2.3.2 節(jié)點的分裂方法
計算最佳分裂:在SPRINT算法中,采用gini指數(shù)作為評價節(jié)點分裂質(zhì)量的參數(shù)。尋找最佳分裂的方法是:遍歷每一個節(jié)點的屬性表,同時評價每個屬性表的分裂價值,完成遍歷后,包含gini索引最低的分裂點的屬性作為最佳分裂方案。
執(zhí)行節(jié)點分裂:創(chuàng)建節(jié)點,執(zhí)行節(jié)點分裂這一步的主要任務(wù)是對節(jié)點的每一個屬性表進(jìn)行劃分。包含分裂屬性的屬性表的劃分十分容易。即通過遍歷屬性表,應(yīng)用分裂條件去測試,然后根據(jù)測試的結(jié)果將記錄分別放入每一個子節(jié)點的屬性表中。
2.3.3 算法的剪枝
SPRINT的剪枝算法MDL屬于事后修剪(post pruning)算法。通常的事后剪枝的數(shù)據(jù)源采用一個Training Set的一個子集或者與Training Set獨立的數(shù)據(jù)集進(jìn)行操作。MDL(Minimum Description Length)的目標(biāo)是生成一棵描述長度最小的決策樹。MDL原理認(rèn)為:最優(yōu)的編碼模型是描述數(shù)據(jù)代價最小的模型。如果模型M對數(shù)據(jù)集D進(jìn)行編碼,那么描述代價:cost(DIM)=cost(D|M)+cost(M)
其中:cost(M|D)表示表示編碼的總代價;cost(D|M)表示用模型M對數(shù)據(jù)D編碼的編碼代價,單位bits,cost(M)表示描述模型本身所需的編碼長度。
2.3.4 SPRINT算法的評價
SPRINT算法的優(yōu)點是明顯的,它總能夠生成一棵最好的樹。但是,這種算法在處理數(shù)值型屬性的時候也有明顯的不足:1)它需要對整個訓(xùn)練集進(jìn)行預(yù)先排序;2)對所有的數(shù)值型屬性的不同值都要進(jìn)行g(shù)ini指數(shù)的評估。
這種方法工作量很大,特別是對于超大數(shù)據(jù)集,當(dāng)屬性含有大量的不同取值時,效率非常低。為了減少SPRINT算法的計算量,提高算法的效率,我們的算法主要從處理數(shù)值型屬性方面對SPRINT算法進(jìn)行改進(jìn)。
3 SPRINT算法的改進(jìn)
3.1 改進(jìn)算法的描述
在改進(jìn)的算法中,采用寬度優(yōu)先的策略來構(gòu)建決策樹和使用gini指數(shù)來評估數(shù)值型屬性。我們改進(jìn)的主要部分就是在決策樹的構(gòu)建階段對數(shù)值型屬性的處理部分,采用了上述提出的純區(qū)間歸約的方法來處理數(shù)值型屬性。改進(jìn)算法的詳細(xì)描述如算法3.1所示。
算法3.1改進(jìn)的SPRINT算法的描述
在算法3.1中,集合T、T1、T2分別代表樹中的結(jié)點,其中T1和T2是T的兩個分支結(jié)點。最后生成的決策樹是一棵二叉樹。
3.2 兩種算法的比較分析
由于改進(jìn)的算法和SPRINT算法的不同之處主要是在構(gòu)建決策樹階段對數(shù)值型屬性的處理方法,算法的分析主要是比較兩種算法在樹的構(gòu)建階段的I/O需求和時間代價。我們的比較分為預(yù)處理階段和決策樹中每個結(jié)點的構(gòu)建階段。
在改進(jìn)的算法中,估算每一個區(qū)間邊界的gini值的時間代價為O(qc);決定每個非純區(qū)間的記錄,建立臨時區(qū)間屬性表需要一次讀和一次寫操作的時間代價為O(n);對每個非純區(qū)間排序和計算每個非純區(qū)間中的精確gini值的時間代價
在SPRINT算法中,對屬性表的全部記錄進(jìn)行排序是整個處理過程的主要時間花銷。在改進(jìn)的算法中有效地避免了全局排序,只是對非純區(qū)間進(jìn)行局部排序;同時,純區(qū)間進(jìn)行歸約,減小了gini值的計算量。
4 客戶分類模型的建立
4.1 建立數(shù)據(jù)挖掘模型的基本理論
在實施數(shù)據(jù)挖掘之前,先制定采取什么樣的步驟,每一步都做什么,達(dá)到什么樣的目標(biāo)是必要的。很多軟件供應(yīng)商和數(shù)據(jù)挖掘公司都提供了一些數(shù)據(jù)挖掘過程模型,CRISP-DM(Cross Industry Standard Process for Data Mining)是公認(rèn)的、最有影響的數(shù)據(jù)挖掘方法論之一。CRISP-DM將整個挖掘過程分為以下六個階段:商業(yè)理解(Business Understanding),數(shù)據(jù)理解(Data Understanding),數(shù)據(jù)準(zhǔn)備(Data Preparation),建立模型(Modeling),模型評估(Evaluation)和模型發(fā)布(Deployment)。如圖1所示。
圖1 CRISP-DM數(shù)據(jù)挖掘過程
在實際項目中,CRISP-DM模型中的數(shù)據(jù)理解、數(shù)據(jù)準(zhǔn)備、建模、評估并不是單向運作的,而是一個多次反復(fù)、多次調(diào)整、不斷修訂完善的過程。
4.2 建立客戶分類的模型
按照CRISP-DM的數(shù)據(jù)挖掘的一般過程模型,對一個客戶數(shù)據(jù)集按照客戶持有的客戶會員卡進(jìn)行分類。
4.2.1 商業(yè)理解
用作測試分析的數(shù)據(jù)集Food Mart 2000,是Micro Soft產(chǎn)品SQL Server 2000 Analysis Services提供的示例數(shù)據(jù)庫。在Food Mart 2000數(shù)據(jù)庫中提供了24個表,每一個表都有一定數(shù)據(jù)量。其中,Customer表中多達(dá)27個屬性,共有10281個不同客戶的記錄,每個客戶數(shù)據(jù)記錄包含有客戶數(shù)據(jù):客戶姓名、性別、住址、電話、婚姻狀況、客戶持有的會員卡類型等個人信息。如圖2所示。
圖2 Customer數(shù)據(jù)表
4.2.2 數(shù)據(jù)準(zhǔn)備
客戶表Customer有多達(dá)27個屬性,如果全用來進(jìn)行客戶分類,將使所建立的決策樹過大、不好理解,并且有些屬性明顯對客戶選用會員卡沒有任何貢獻(xiàn)。比如姓名、電話號碼等。在開始數(shù)據(jù)挖掘前,用戶會可以根據(jù)常識、經(jīng)驗等因素通過初選,選出一些主觀上認(rèn)為與分類屬性有關(guān)的、會比較明顯影響分類屬性取值的候選屬性,也可以用數(shù)據(jù)挖掘工具提供的相關(guān)分析技術(shù),篩選出適合用來進(jìn)行建模的屬性。
下面我們選用Microsoft SQL Server 2005中的Analysis Services工具對Customer表的數(shù)據(jù)進(jìn)行相關(guān)分析。其中member_card是我們所要的分類屬性。相關(guān)分析的結(jié)果如圖3所示:
圖3 屬性相關(guān)分析結(jié)果
從圖3所示的相關(guān)分析的結(jié)果可以看到,要進(jìn)行基于會員卡的分類,我們選擇如下的屬性:yearly_income、education、Bum_cars_owned、num_children_at_home、occupation等五個屬性進(jìn)行分析。
4.2.3 建立模型和評估
用改進(jìn)的SPRINT算法解決本章定義的客戶分類問題,分兩步:第一步,用訓(xùn)練數(shù)據(jù)集建立決策樹模型;第二步,對模型的準(zhǔn)確率用測試數(shù)據(jù)進(jìn)行測試。
由于模型過分適合訓(xùn)練數(shù)據(jù),若使用訓(xùn)練數(shù)據(jù)評估分類模型,可能導(dǎo)致過于樂觀的估計。保持和k-折交叉驗證是兩種基于給定數(shù)據(jù)隨機(jī)取樣劃分的、常用的評估分類模型準(zhǔn)確率的技術(shù)。這里采用保持方法。
在保持方法中,給定數(shù)據(jù)集被隨機(jī)劃分成兩個獨立的集合:訓(xùn)練集和測試集。通常,三分之二的數(shù)據(jù)分配到訓(xùn)練集,其他三分之一分配到測試集。從給定數(shù)據(jù)集中取樣,構(gòu)成訓(xùn)練數(shù)據(jù)集。訓(xùn)練數(shù)據(jù)集大小:10281×2/3=6854,測試數(shù)據(jù)集大小10281×1/3=3427。用某一次隨機(jī)取樣方法得到的訓(xùn)練集和改進(jìn)的SPRINT算法建立決策樹模型。
1)模型的建立
在改進(jìn)的SPRINT算法中,只考慮了yearly_income(年收入)屬性和child_Bum_at_home(在家子女?dāng)?shù))屬性作為數(shù)值型屬性,我們在決策樹的構(gòu)建過程中,將yearly_income屬性分為8個區(qū)間,分別是(0,2]、(2,4]、(4,6]、(6,8]、(8,10]、(10,12]、(12,14]、(14,16]。決策樹算法通過剪枝后可以得到如下模型,如圖4所示。
圖4 決策樹圖示
2)模型的評估
用包含3427條記錄的測試數(shù)據(jù)集對模型進(jìn)行測試:對每條客戶記錄,從圖4中決策樹根節(jié)點0開始,首先用客戶yearly-income(年收入)進(jìn)行屬性測試,如果客戶的年收入少于“2”,在決策樹中到達(dá)節(jié)點1,如果客戶本來持有的會員卡就是Normal,那么模型對該客戶分類正確,否則發(fā)生分類錯誤;如果客戶的年收入大于等“2”,到達(dá)節(jié)點2,因為節(jié)點2不是葉節(jié)點,還要用child_num_at_home(在家子女?dāng)?shù))屬性繼續(xù)測試,客戶在該屬性上的不同取值而到達(dá)節(jié)點3或節(jié)點4,然后對節(jié)點3用yearly_income(年收入)進(jìn)行屬性測試,客戶在該屬性上的不同取值而到達(dá)節(jié)點5或節(jié)點6,最后再用child_Bum_at_home(在家子女?dāng)?shù))屬性對節(jié)點6繼續(xù)測試,客戶在該屬性上的不同取值而到達(dá)節(jié)點7或節(jié)點8。
再對原數(shù)據(jù)集進(jìn)行四次取樣,分別用獲得的訓(xùn)練集和測試集建立決策樹模型并對模型作測試,每次建立的模型的結(jié)構(gòu)一致、各節(jié)點所屬類別沒有發(fā)生變化。
4.2.4 模型發(fā)布
模型的發(fā)布就是在一個數(shù)據(jù)挖掘模型建立好以后,將數(shù)據(jù)挖掘所獲得的知識用一種用戶可以使用的方式來組織和表示出來。預(yù)言模型標(biāo)記語言PMML(Predictive Model Markup Language)是利用XML描述和存儲數(shù)據(jù)挖掘模型的一種標(biāo)準(zhǔn)。
作為數(shù)據(jù)挖掘領(lǐng)域事實上的行業(yè)標(biāo)準(zhǔn),為不同數(shù)據(jù)挖掘系統(tǒng)之間共享模型提供了標(biāo)準(zhǔn)的表示規(guī)范,是數(shù)據(jù)挖掘平臺所遵循的模型表示格式,該規(guī)范的內(nèi)容是一份XML DTD文檔。
5 結(jié)論
隨著信息技術(shù)的發(fā)展和數(shù)據(jù)挖掘技術(shù)的成熟,數(shù)據(jù)挖掘的研究重點逐漸從算法的研究轉(zhuǎn)向了算法的應(yīng)用,數(shù)據(jù)挖掘技術(shù)在CRM中的應(yīng)用是當(dāng)前的研究熱點,基于決策樹技術(shù)在CRM中有著廣泛的應(yīng)用。
企業(yè)通過對客戶的分類模型,采取相應(yīng)的客戶服務(wù)和客戶銷售的策略,最大程度地提高客戶的價值及客戶的忠誠度,使客戶管理的資源為整個企業(yè)的發(fā)展動向和服務(wù)策略提供有利的指導(dǎo)。經(jīng)營決策者一方面可以通過對客戶的分類和評估,指導(dǎo)企業(yè)決策;另一方面,也可以挖掘潛在的客戶和發(fā)現(xiàn)客戶行為的分類規(guī)則,由此達(dá)到保持和擴(kuò)大客戶群。從這兩方面來看,數(shù)據(jù)挖掘?qū)ζ髽I(yè)的經(jīng)營決策和客戶關(guān)系管理都具有相當(dāng)重要的作用和意義。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.guhuozai8.cn/
本文標(biāo)題:數(shù)據(jù)挖掘技術(shù)在CRM中的應(yīng)用和研究
本文網(wǎng)址:http://www.guhuozai8.cn/html/consultation/1083935014.html