本發(fā)明涉及數(shù)據(jù)挖掘領(lǐng)域,尤其涉及一種基于交易數(shù)據(jù)的客戶分類方法及其系統(tǒng)。
背景技術(shù):
基于交易數(shù)據(jù)的客戶分類在零售行業(yè)有著重要的運用,它通過客戶所購買的商品來分析客戶的購買行為進(jìn)而為零售企業(yè)提供商業(yè)決策營銷戰(zhàn)略??蛻粼谫徺I商品的過程中通常會一次購買多個商品,不同的客戶購買的商品中有可能有不同的商品,但也有可能有都購買的商品。所以,基于交易數(shù)據(jù)的客戶分類目的是找出有相似購買行為的客戶,從零售記錄中分析出這些客戶經(jīng)常購買的商品的組合,從而有利于商品的擺架搭配、提供促銷、物流等。
在現(xiàn)有技術(shù)中,當(dāng)前客戶的分類方法有基于客戶的地理位置和人口學(xué)特征信息以及基于交易數(shù)據(jù)的層次聚類,其中基于交易數(shù)據(jù)的層次聚類是主要方法。但是,傳統(tǒng)的基于客戶的地理位置和人口學(xué)特征信息的聚類方法存在著這些指標(biāo)數(shù)據(jù)具有私有性不容易獲取的問題,同時基于這些靜態(tài)特征屬性聚類的結(jié)果不一定有相同的購買行為,基于交易數(shù)據(jù)的層次聚類在距離計算的時候需要兩兩之間進(jìn)行計算,平方級的時間復(fù)雜度,不能有效處理當(dāng)前大數(shù)據(jù)時代下的海量數(shù)據(jù),同時在面對維度較高的數(shù)據(jù)時,處理效率也會迅速下降。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種基于交易數(shù)據(jù)的客戶分類方法及其系統(tǒng),旨在解決傳統(tǒng)方法因為計算復(fù)雜度太高而不能處理當(dāng)前大數(shù)據(jù)的問題。
本發(fā)明提出一種基于交易數(shù)據(jù)的客戶分類方法,所述方法包括:
從零售企業(yè)交易數(shù)據(jù)庫中采集交易數(shù)據(jù);
將采集到的交易數(shù)據(jù)進(jìn)行預(yù)處理,并將經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別按層進(jìn)行編碼;
根據(jù)編碼后的層次信息為每個客戶創(chuàng)建客戶購買樹;
對創(chuàng)建的所有客戶購買樹進(jìn)行聚類,直到聚類中心不再改變或者變化小于預(yù)設(shè)的閾值為止,以獲取客戶分類的結(jié)果。
優(yōu)選的,所述交易數(shù)據(jù)包括:會員卡號、交易日期、交易時間、商品名稱、商品類別名稱以及銷售額。
優(yōu)選的,所述預(yù)處理包括對信息缺失的交易數(shù)據(jù)進(jìn)行忽略處理和對信息沖突的交易數(shù)據(jù)進(jìn)行唯一性處理,其中,所述將經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別按層進(jìn)行編碼的步驟具體包括:
對經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別對商品名稱、商品類別名稱按層進(jìn)行編碼,且編碼方式為按數(shù)字從1開始從小到大依次進(jìn)行編碼,層與層之間相互獨立。
優(yōu)選的,所述根據(jù)編碼后的層次信息為每個客戶創(chuàng)建客戶購買樹的步驟具體包括:
對交易數(shù)據(jù)按會員卡號聚合分組,統(tǒng)計每個商品的消費頻率、消費金額、最近一次消費時間,以形成每個商品的RFM值;
將每個客戶購買的商品根據(jù)商品類別構(gòu)建出購買樹,其中,所述購買樹的節(jié)點包括根節(jié)點、葉子節(jié)點和內(nèi)部節(jié)點,所述葉子節(jié)點為商品名稱節(jié)點,所述內(nèi)部節(jié)點為商品類別名稱節(jié)點;
依次掃描交易數(shù)據(jù),將獲取的商品名稱、商品類別名稱與購買樹做匹配;
將不在購買樹中的該筆交易數(shù)據(jù)加入購買樹中。
優(yōu)選的,所述對創(chuàng)建的所有客戶購買樹進(jìn)行聚類,直到聚類中心不再改變或者變化小于預(yù)設(shè)的閾值為止,以獲取客戶分類的結(jié)果的步驟具體包括:
a、從購買樹中隨機選擇k顆購買樹作為初始中心;
b、初始化權(quán)重樹;
c、依次計算購買樹中節(jié)點的RFM值;
d、依次計算購買樹和每個中心距離的加權(quán)和,并將該購買樹劃分到加權(quán)和最小中心所在的簇;
e、更新初始中心,將劃分到同一個簇的購買樹對應(yīng)結(jié)點的值相加后取均值作為新中心對應(yīng)結(jié)點的RFM值;
f、重復(fù)上述過程c、d和e,直到聚類中心不再發(fā)生變化或變化小于預(yù)設(shè)的閾值為止。
另一方面,本發(fā)明還提供一種基于交易數(shù)據(jù)的客戶分類系統(tǒng),所述系統(tǒng)包括:
數(shù)據(jù)采集模塊,用于從零售企業(yè)交易數(shù)據(jù)庫中采集交易數(shù)據(jù);
數(shù)據(jù)預(yù)處理模塊,用于將采集到的交易數(shù)據(jù)進(jìn)行預(yù)處理,并將經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別按層進(jìn)行編碼;
購買樹生成模塊,用于根據(jù)編碼后的層次信息為每個客戶創(chuàng)建客戶購買樹;
客戶分類模塊,用于對創(chuàng)建的所有客戶購買樹進(jìn)行聚類,直到聚類中心不再改變或者變化小于預(yù)設(shè)的閾值為止,以獲取客戶分類的結(jié)果。
優(yōu)選的,所述交易數(shù)據(jù)包括:會員卡號、交易日期、交易時間、商品名稱、商品類別名稱以及銷售額。
優(yōu)選的,所述預(yù)處理包括對信息缺失的交易數(shù)據(jù)進(jìn)行忽略處理和對信息沖突的交易數(shù)據(jù)進(jìn)行唯一性處理,其中,所述數(shù)據(jù)預(yù)處理模塊具體用于:
對經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別對商品名稱、商品類別名稱按層進(jìn)行編碼,且編碼方式為按數(shù)字從1開始從小到大依次進(jìn)行編碼,層與層之間相互獨立。
優(yōu)選的,所述購買樹生成模塊具體用于:
對交易數(shù)據(jù)按會員卡號聚合分組,統(tǒng)計每個商品的消費頻率、消費金額、最近一次消費時間,以形成每個商品的RFM值;
將每個客戶購買的商品根據(jù)商品類別構(gòu)建出購買樹,其中,所述購買樹的節(jié)點包括根節(jié)點、葉子節(jié)點和內(nèi)部節(jié)點,所述葉子節(jié)點為商品名稱節(jié)點,所述內(nèi)部節(jié)點為商品類別名稱節(jié)點;
依次掃描交易數(shù)據(jù),將獲取的商品名稱、商品類別名稱與購買樹做匹配;
將不在購買樹中的該筆交易數(shù)據(jù)加入購買樹中。
優(yōu)選的,所述客戶分類模塊具體用于:
a、從購買樹中隨機選擇k顆購買樹作為初始中心;
b、初始化權(quán)重樹;
c、依次計算購買樹中節(jié)點的RFM值;
d、依次計算購買樹和每個中心距離的加權(quán)和,并將該購買樹劃分到加權(quán)和最小中心所在的簇;
e、更新初始中心,將劃分到同一個簇的購買樹對應(yīng)結(jié)點的值相加后取均值作為新中心對應(yīng)結(jié)點的RFM值;
f、重復(fù)上述過程c、d和e,直到聚類中心不再發(fā)生變化或變化小于預(yù)設(shè)的閾值為止。
本發(fā)明提供的技術(shù)方案可以提高聚類的效果,充分利用商品的RFM信息和攜帶的層次信息,大大提高實際使用價值。同時在客戶購買樹的分類過程中,利用k-means原理,能夠高效快速的處理大規(guī)模數(shù)據(jù),解決了傳統(tǒng)方法因為計算復(fù)雜度太高而不能處理當(dāng)前大數(shù)據(jù)的情況。
附圖說明
圖1為本發(fā)明一實施方式中基于交易數(shù)據(jù)的客戶分類方法流程圖;
圖2為本發(fā)明一實施方式中有二義性商品結(jié)構(gòu)圖;
圖3為本發(fā)明一實施方式中購買樹示例圖;
圖4為本發(fā)明一實施方式中基于交易數(shù)據(jù)的客戶分類系統(tǒng)10的內(nèi)部結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
以下將對本發(fā)明所提供的一種基于交易數(shù)據(jù)的客戶分類方法進(jìn)行詳細(xì)說明。
請參閱圖1,為本發(fā)明一實施方式中基于交易數(shù)據(jù)的客戶分類方法流程圖。
在步驟S1中,從零售企業(yè)交易數(shù)據(jù)庫中采集交易數(shù)據(jù)。
在本實施方式中,所述交易數(shù)據(jù)包括:會員卡號、交易日期、交易時間、商品名稱、商品類別名稱以及銷售額。
在本實施方式中,零售企業(yè)提供的交易數(shù)據(jù)信息中有些信息是我們需要的,有些信息是我們不需要的。我們只需要從中提取有用的交易數(shù)據(jù)信息,包括會員卡號、交易日期、交易時間、商品名稱、商品類別名稱以及銷售額。
其中,會員卡號:零售企業(yè)為客戶辦理會員卡的標(biāo)識號,同一個會員卡號購買的商品即認(rèn)為是同一個客戶購買的商品,本方案根據(jù)會員卡號區(qū)分不同的客戶;
交易日期:購買商品時的具體日期,包含年月日信息;
交易時間:購買商品時的具體時間,包含時分秒信息;
商品名稱:購買商品的名稱;
商品類別名稱:商品所屬的小類、中類和大類等類別信息;
銷售額:客戶所購買商品的總的金額。
在步驟S2中,將采集到的交易數(shù)據(jù)進(jìn)行預(yù)處理,并將經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別按層進(jìn)行編碼。
在本實施方式中,所述預(yù)處理包括對信息缺失的交易數(shù)據(jù)進(jìn)行忽略處理和對信息沖突的交易數(shù)據(jù)進(jìn)行唯一性處理,其中,所述將經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別按層進(jìn)行編碼的步驟具體包括:
對經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別對商品名稱、商品類別名稱按層進(jìn)行編碼,且編碼方式為按數(shù)字從1開始從小到大依次進(jìn)行編碼,層與層之間相互獨立。
在本實施方式中,信息缺失的交易數(shù)據(jù),例如包括會員卡號缺失的交易數(shù)據(jù)、交易日期缺失的交易數(shù)據(jù)、交易時間缺失的交易數(shù)據(jù)、商品名稱缺失的交易數(shù)據(jù)、商品類別名稱缺失的交易數(shù)據(jù)、銷售額缺失的交易數(shù)據(jù)等等多種情況。信息沖突的交易數(shù)據(jù),例如包括有二義性以及多義性的交易數(shù)據(jù)等多種情況。其中,對交易數(shù)據(jù)中有些商品有二義性的問題,如圖2所示,商品盤子既屬于商品小類廚房又屬于瓷器,這里進(jìn)行唯一性處理,去掉屬于瓷器,僅保留屬于廚房。為了節(jié)省存儲空間和提高計算效率,對所有的商品名稱和所屬的層次類別名稱進(jìn)行分層獨立全局編碼。
在步驟S3中,根據(jù)編碼后的層次信息為每個客戶創(chuàng)建客戶購買樹。
在本實施方式中,所述根據(jù)編碼后的層次信息為每個客戶創(chuàng)建客戶購買樹的步驟S3具體包括:
對交易數(shù)據(jù)按會員卡號聚合分組,統(tǒng)計每個商品的消費頻率、消費金額、最近一次消費時間,以形成每個商品的RFM值;
將每個客戶購買的商品根據(jù)商品類別構(gòu)建出購買樹,其中,所述購買樹的節(jié)點包括根節(jié)點、葉子節(jié)點和內(nèi)部節(jié)點,所述葉子節(jié)點為商品名稱節(jié)點,所述內(nèi)部節(jié)點為商品類別名稱節(jié)點;
依次掃描交易數(shù)據(jù),將獲取的商品名稱、商品類別名稱與購買樹做匹配;
將不在購買樹中的該筆交易數(shù)據(jù)加入購買樹中。
在本實施方式中,基于交易數(shù)據(jù),利用廣泛使用的RFM模型,提取出每個客戶的RFM信息,同時保留數(shù)據(jù)的層次信息,根據(jù)每個客戶的購買信息用樹形結(jié)構(gòu)表示。其中RFM模型是客戶關(guān)系管理(CRM)方面的分析模型,被廣泛應(yīng)用,它是衡量客戶價值和客戶創(chuàng)利能力的重要工具和手段,該模型通過一個客戶的近期購買行為、購買的總體頻率以及花了多少錢三項指標(biāo)來描述該客戶的價值狀況。
在本實施方式中,零售企業(yè)的交易數(shù)據(jù)是交易記錄的全集,從該交易記錄中抽取出無重復(fù)無遺漏的商品,依據(jù)其帶有的層次信息建立一顆商品樹,對所有的交易數(shù)據(jù)按會員卡號劃分成組,以月為時間片設(shè)置滑動窗口,統(tǒng)計出FRM值即為購買樹葉子節(jié)點的RFM值,然后對葉子節(jié)點的RFM值根據(jù)最大最小值進(jìn)行歸一化處理,內(nèi)部節(jié)點的RFM為其孩子節(jié)點的線性和分別除以商品樹中對應(yīng)節(jié)點的孩子節(jié)點的數(shù)量,這樣自底向上建立每個用戶的購買樹。其中,對交易數(shù)據(jù)按會員卡號聚合分組,統(tǒng)計每個商品的消費頻率、消費金額、最近一次消費時間,即每個商品的RFM值。每個客戶購買的商品可以根據(jù)商品類別構(gòu)造出購買樹,如圖3所示,購買樹的根節(jié)點為root節(jié)點,葉子節(jié)點為商品名稱節(jié)點,內(nèi)部節(jié)點為類別節(jié)點,每個節(jié)點含有RFM值。購買樹的具體構(gòu)建方法為,依次掃描交易數(shù)據(jù),將獲取的商品類別信息、商品名稱和購買樹做匹配,如果不在購買樹中,將其加入購買樹,如果在則不加入,這樣掃描完后,購買樹的葉子節(jié)點都含有RFM值信息,內(nèi)部節(jié)點的RFM值根據(jù)孩子節(jié)點的RFM進(jìn)行線性求解得到。
在步驟S4中,對創(chuàng)建的所有客戶購買樹進(jìn)行聚類,直到聚類中心不再改變或者變化小于預(yù)設(shè)的閾值為止,以獲取客戶分類的結(jié)果。
在本實施方式中,所述對創(chuàng)建的所有客戶購買樹進(jìn)行聚類,直到聚類中心不再改變或者變化小于預(yù)設(shè)的閾值為止,以獲取客戶分類的結(jié)果的步驟S4具體包括:
a、從購買樹中隨機選擇k顆購買樹作為初始中心;
b、初始化權(quán)重樹;
c、依次計算購買樹中節(jié)點的RFM值;
d、依次計算購買樹和每個中心距離的加權(quán)和,并將該購買樹劃分到加權(quán)和最小中心所在的簇;
e、更新初始中心,將劃分到同一個簇的購買樹對應(yīng)結(jié)點的值相加后取均值作為新中心對應(yīng)結(jié)點的RFM值;
f、重復(fù)上述過程c、d和e,直到聚類中心不再發(fā)生變化或變化小于預(yù)設(shè)的閾值為止。
在本實施方式中,對全部的N顆購買樹劃分成k個類,可以得到k個類的用戶,依次計算購買樹和所述初始中心距離,計算購買樹中葉子結(jié)點的值,對購買樹中的每個結(jié)點計算完成后,得到的購買樹除了root結(jié)點以外的其他結(jié)點都有了距離值,更新初始中心,將劃分到同一個簇的購買樹,對應(yīng)結(jié)點的值相加后取均值作為新中心對應(yīng)結(jié)點的RFM值,如果相應(yīng)的節(jié)點不存在,則賦值一個最小值給它。
在本實施方式中,在客戶購買樹的分類過程中,利用k-means原理,能夠高效快速的處理大規(guī)模數(shù)據(jù),解決了傳統(tǒng)方法因為計算復(fù)雜度太高而不能處理當(dāng)前大數(shù)據(jù)的情況。根據(jù)Bregman信息熵計算購買樹與中心的距離,通過不斷迭代計算購買樹與中心的距離直到中心不再發(fā)生變化或變化低于一定的閥值結(jié)束,最后得到用戶分類的結(jié)果。
本發(fā)明提供的一種基于交易數(shù)據(jù)的客戶分類方法,根據(jù)零售企業(yè)的交易數(shù)據(jù),利用RFM模型,提取客戶的交易信息,同時根據(jù)數(shù)據(jù)的層次信息,創(chuàng)建客戶購買樹,然后使用k-means對創(chuàng)建的客戶購買樹進(jìn)行聚類。與傳統(tǒng)的方法相比,本發(fā)明提供的技術(shù)方案可以提高聚類的效果,充分利用商品的RFM信息和攜帶的層次信息,大大提高實際使用價值,同時在客戶購買樹的分類過程中,利用k-means原理,能夠高效快速的處理大規(guī)模數(shù)據(jù),解決了傳統(tǒng)方法因為計算復(fù)雜度太高而不能處理當(dāng)前大數(shù)據(jù)的情況。
請參閱圖2,所示為本發(fā)明一實施方式中基于交易數(shù)據(jù)的客戶分類系統(tǒng)10的結(jié)構(gòu)示意圖。在本實施方式中,基于交易數(shù)據(jù)的客戶分類系統(tǒng)10主要包括數(shù)據(jù)采集模塊11、數(shù)據(jù)預(yù)處理模塊12、購買樹生成模塊13以及客戶分類模塊14。
數(shù)據(jù)采集模塊11,用于從零售企業(yè)交易數(shù)據(jù)庫中采集交易數(shù)據(jù)。
在本實施方式中,所述交易數(shù)據(jù)包括:會員卡號、交易日期、交易時間、商品名稱、商品類別名稱以及銷售額。
在本實施方式中,零售企業(yè)提供的交易數(shù)據(jù)信息中有些信息是我們需要的,有些信息是我們不需要的。我們只需要從中提取有用的交易數(shù)據(jù)信息,包括會員卡號、交易日期、交易時間、商品名稱、商品類別名稱以及銷售額。
其中,會員卡號:零售企業(yè)為客戶辦理會員卡的標(biāo)識號,同一個會員卡號購買的商品即認(rèn)為是同一個客戶購買的商品,本方案根據(jù)會員卡號區(qū)分不同的客戶;
交易日期:購買商品時的具體日期,包含年月日信息;
交易時間:購買商品時的具體時間,包含時分秒信息;
商品名稱:購買商品的名稱;
商品類別名稱:商品所屬的小類、中類和大類等類別信息;
銷售額:客戶所購買商品的總的金額。
數(shù)據(jù)預(yù)處理模塊12,用于將采集到的交易數(shù)據(jù)進(jìn)行預(yù)處理,并將經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別按層進(jìn)行編碼。
在本實施方式中,所述預(yù)處理包括對信息缺失的交易數(shù)據(jù)進(jìn)行忽略處理和對信息沖突的交易數(shù)據(jù)進(jìn)行唯一性處理,其中,所述數(shù)據(jù)預(yù)處理模塊12具體用于:
對經(jīng)過預(yù)處理后的交易數(shù)據(jù)分別對商品名稱、商品類別名稱按層進(jìn)行編碼,且編碼方式為按數(shù)字從1開始從小到大依次進(jìn)行編碼,層與層之間相互獨立。
在本實施方式中,信息缺失的交易數(shù)據(jù),例如包括會員卡號缺失的交易數(shù)據(jù)、交易日期缺失的交易數(shù)據(jù)、交易時間缺失的交易數(shù)據(jù)、商品名稱缺失的交易數(shù)據(jù)、商品類別名稱缺失的交易數(shù)據(jù)、銷售額缺失的交易數(shù)據(jù)等等多種情況。信息沖突的交易數(shù)據(jù),例如包括有二義性以及多義性的交易數(shù)據(jù)等多種情況。其中,對交易數(shù)據(jù)中有些商品有二義性的問題,如圖2所示,商品盤子既屬于商品小類廚房又屬于瓷器,這里進(jìn)行唯一性處理,去掉屬于瓷器,僅保留屬于廚房。為了節(jié)省存儲空間和提高計算效率,對所有的商品名稱和所屬的層次類別名稱進(jìn)行分層獨立全局編碼。
購買樹生成模塊13,用于根據(jù)編碼后的層次信息為每個客戶創(chuàng)建客戶購買樹。
在本實施方式中,所述購買樹生成模塊13具體用于:
對交易數(shù)據(jù)按會員卡號聚合分組,統(tǒng)計每個商品的消費頻率、消費金額、最近一次消費時間,以形成每個商品的RFM值;
將每個客戶購買的商品根據(jù)商品類別構(gòu)建出購買樹,其中,所述購買樹的節(jié)點包括根節(jié)點、葉子節(jié)點和內(nèi)部節(jié)點,所述葉子節(jié)點為商品名稱節(jié)點,所述內(nèi)部節(jié)點為商品類別名稱節(jié)點;
依次掃描交易數(shù)據(jù),將獲取的商品名稱、商品類別名稱與購買樹做匹配;
將不在購買樹中的該筆交易數(shù)據(jù)加入購買樹中。
在本實施方式中,基于交易數(shù)據(jù),利用廣泛使用的RFM模型,提取出每個客戶的RFM信息,同時保留數(shù)據(jù)的層次信息,根據(jù)每個客戶的購買信息用樹形結(jié)構(gòu)表示。其中RFM模型是客戶關(guān)系管理(CRM)方面的分析模型,被廣泛應(yīng)用,它是衡量客戶價值和客戶創(chuàng)利能力的重要工具和手段,該模型通過一個客戶的近期購買行為、購買的總體頻率以及花了多少錢三項指標(biāo)來描述該客戶的價值狀況。
在本實施方式中,零售企業(yè)的交易數(shù)據(jù)是交易記錄的全集,從該交易記錄中抽取出無重復(fù)無遺漏的商品,依據(jù)其帶有的層次信息建立一顆商品樹,對所有的交易數(shù)據(jù)按會員卡號劃分成組,以月為時間片設(shè)置滑動窗口,統(tǒng)計出FRM值即為購買樹葉子節(jié)點的RFM值,然后對葉子節(jié)點的RFM值根據(jù)最大最小值進(jìn)行歸一化處理,內(nèi)部節(jié)點的RFM為其孩子節(jié)點的線性和分別除以商品樹中對應(yīng)節(jié)點的孩子節(jié)點的數(shù)量,這樣自底向上建立每個用戶的購買樹。其中,對交易數(shù)據(jù)按會員卡號聚合分組,統(tǒng)計每個商品的消費頻率、消費金額、最近一次消費時間,即每個商品的RFM值。每個客戶購買的商品可以根據(jù)商品類別構(gòu)造出購買樹,如圖3所示,購買樹的根節(jié)點為root節(jié)點,葉子節(jié)點為商品名稱節(jié)點,內(nèi)部節(jié)點為類別節(jié)點,每個節(jié)點含有RFM值。購買樹的具體構(gòu)建方法為,依次掃描交易數(shù)據(jù),將獲取的商品類別信息、商品名稱和購買樹做匹配,如果不在購買樹中,將其加入購買樹,如果在則不加入,這樣掃描完后,購買樹的葉子節(jié)點都含有RFM值信息,內(nèi)部節(jié)點的RFM值根據(jù)孩子節(jié)點的RFM進(jìn)行線性求解得到。
客戶分類模塊14,用于對創(chuàng)建的所有客戶購買樹進(jìn)行聚類,直到聚類中心不再改變或者變化小于預(yù)設(shè)的閾值為止,以獲取客戶分類的結(jié)果。
在本實施方式中,所述客戶分類模塊14具體用于:
a、從購買樹中隨機選擇k顆購買樹作為初始中心;
b、初始化權(quán)重樹;
c、依次計算購買樹中節(jié)點的RFM值;
d、依次計算購買樹和每個中心距離的加權(quán)和,并將該購買樹劃分到加權(quán)和最小中心所在的簇;
e、更新初始中心,將劃分到同一個簇的購買樹對應(yīng)結(jié)點的值相加后取均值作為新中心對應(yīng)結(jié)點的RFM值;
f、重復(fù)上述過程c、d和e,直到聚類中心不再發(fā)生變化或變化小于預(yù)設(shè)的閾值為止。
在本實施方式中,對全部的N顆購買樹劃分成k個類,可以得到k個類的用戶,依次計算購買樹和所述初始中心距離,計算購買樹中葉子結(jié)點的值,對購買樹中的每個結(jié)點計算完成后,得到的購買樹除了root結(jié)點以外的其他結(jié)點都有了距離值,更新初始中心,將劃分到同一個簇的購買樹,對應(yīng)結(jié)點的值相加后取均值作為新中心對應(yīng)結(jié)點的RFM值,如果相應(yīng)的節(jié)點不存在,則賦值一個最小值給它。
在本實施方式中,在客戶購買樹的分類過程中,利用k-means原理,能夠高效快速的處理大規(guī)模數(shù)據(jù),解決了傳統(tǒng)方法因為計算復(fù)雜度太高而不能處理當(dāng)前大數(shù)據(jù)的情況。根據(jù)Bregman信息熵計算購買樹與中心的距離,通過不斷迭代計算購買樹與中心的距離直到中心不再發(fā)生變化或變化低于一定的閥值結(jié)束,最后得到用戶分類的結(jié)果。
本發(fā)明提供的一種基于交易數(shù)據(jù)的客戶分類系統(tǒng)10,根據(jù)零售企業(yè)的交易數(shù)據(jù),利用RFM模型,提取客戶的交易信息,同時根據(jù)數(shù)據(jù)的層次信息,創(chuàng)建客戶購買樹,然后使用k-means對創(chuàng)建的客戶購買樹進(jìn)行聚類。與傳統(tǒng)的方法相比,本發(fā)明提供的技術(shù)方案可以提高聚類的效果,充分利用商品的RFM信息和攜帶的層次信息,大大提高實際使用價值,同時在客戶購買樹的分類過程中,利用k-means原理,能夠高效快速的處理大規(guī)模數(shù)據(jù),解決了傳統(tǒng)方法因為計算復(fù)雜度太高而不能處理當(dāng)前大數(shù)據(jù)的情況。
本發(fā)明的實驗數(shù)據(jù)集為某大型連鎖超市的實際交易記錄數(shù)據(jù),共有1997636條記錄,79852顆購買樹。通過對比傳統(tǒng)的層次聚類算法,本發(fā)明技術(shù)方案的運行時間比傳統(tǒng)的層次聚類算法減少40%以上。
另外,本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,相應(yīng)的程序可以存儲于一計算機可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如ROM/RAM、磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。