顧 強
(中國移動通信集團(tuán)江蘇有限公司,江蘇 南京 210000)
隨著移動通信技術(shù)的發(fā)展和移動終端的普及,越來越多的人選擇線上購買商品。一些大型線上購物平臺不斷涌現(xiàn),如淘寶、京東、蘇寧易購等,電子商務(wù)模式也多種多樣。這些平臺不僅給人們提供了舒適便捷的購物體驗,促進(jìn)了線上消費模式等周邊行業(yè)的發(fā)展,更是對計算機(jī)和互聯(lián)網(wǎng)技術(shù)的發(fā)展起到了推動作用。在2020 年初新冠肺炎疫情爆發(fā)的一段時間,線上購物成為很多人購買商品的必須途徑。
線上購物平臺中的客戶關(guān)系管理已經(jīng)成為了電商平臺極為重視的業(yè)務(wù)。良好的客戶關(guān)系管理可以指導(dǎo)電商平臺及時調(diào)整營銷策略,根據(jù)不同用戶精準(zhǔn)的推送商品,顯著提高消費者的消費體驗,增加客戶粘連性。為了實現(xiàn)良好的客戶關(guān)系管理,很多專家和學(xué)者對如何將客戶精準(zhǔn)細(xì)分進(jìn)行了研究。
在商城管理系統(tǒng)中,對客戶細(xì)分常用的特征數(shù)據(jù)有:消費間隔、消費次數(shù)、消費金額、加購次數(shù)和收藏次數(shù)等。常用的分析技術(shù)是:聚類算法和分類算法。
聚類算法是一種“無監(jiān)督”的數(shù)據(jù)挖掘算法,用類標(biāo)號創(chuàng)建對象的標(biāo)記,可以發(fā)現(xiàn)數(shù)據(jù)集中的潛在規(guī)律,算法執(zhí)行開始時所有的數(shù)據(jù)是沒有標(biāo)記的。分類算法則是一種“監(jiān)督”算法,是用類標(biāo)記已知的對象標(biāo)記訓(xùn)練而成的模型,并對新的無標(biāo)記數(shù)據(jù)賦予標(biāo)記。
由于在商城管理系統(tǒng)中,營業(yè)數(shù)據(jù)的分析是至關(guān)重要的。用戶對于商品的購買信息都記錄在數(shù)據(jù)庫中,在這些大量的訂單數(shù)據(jù)中就有很多值得挖掘的信息,因此用聚類分析非常適合。聚類分析在商城管理系統(tǒng)的運用場景主要是用戶群體劃分,通過對用戶的購買行為進(jìn)行聚類,劃分出多個用戶群體,一個用戶群體中的用戶往往具有相似的購買偏好,利于在后續(xù)環(huán)節(jié)根據(jù)用戶的購買偏好為用戶精準(zhǔn)推送商品信息,也可以調(diào)整商城的商品結(jié)構(gòu),使之適合用戶的需求,實現(xiàn)利益最大化。
因此,本文提出一種基于購買次數(shù)的用戶群體聚類分析算法,該算法可以對用戶的購買行為進(jìn)行分析,指導(dǎo)商家及時調(diào)整營銷策略,以適應(yīng)消費者的多種需求。
本文的聚類分析算法主要基于訂單數(shù)據(jù)表存儲的信息,通過數(shù)據(jù)導(dǎo)入、數(shù)據(jù)標(biāo)準(zhǔn)化、算法求解和結(jié)果呈現(xiàn)四個模塊實現(xiàn)。如圖1所示。

圖1 基于購買次數(shù)的用戶群體的聚類分析總體設(shè)計圖
⑴數(shù)據(jù)導(dǎo)入模塊:利用多表查詢導(dǎo)入每個用戶購買各種類商品的次數(shù),以一個三元組表存儲,字段分別是用戶編號、商品類別編號和購買次數(shù)。如果用戶沒有購買過任何商品,那么該信息不會被查詢,這避免了空數(shù)據(jù)對聚類結(jié)果的干擾。
⑵數(shù)據(jù)標(biāo)準(zhǔn)化模塊:隨著系統(tǒng)業(yè)務(wù)量的增長,用戶對于各種商品都產(chǎn)生了購買行為,數(shù)據(jù)存儲操作比較頻繁,二維數(shù)組比三元組表更有優(yōu)勢,因此在數(shù)據(jù)標(biāo)準(zhǔn)化中,將查詢結(jié)果轉(zhuǎn)化為二維數(shù)組形式,以簡化后續(xù)的計算。
⑶算法求解模塊:本文采用基于購買次數(shù)的用戶群體聚類分析算法,其中聚類中心的選擇,是個亟待解決的問題。本文首先通過優(yōu)化的K-means++算法完成聚類中心的選取,然后再進(jìn)行具體的聚類分析,從而極大地提高效率和準(zhǔn)確度。
⑷結(jié)果呈現(xiàn)模塊:根據(jù)計算結(jié)果生成數(shù)據(jù)源并通過數(shù)據(jù)綁定的方式,呈現(xiàn)每個用戶被分配的群體和每個群體的中心。通過對聚類結(jié)果分析,商家可以直觀看到地每個群體中用戶的具體購買偏好,有針對性地調(diào)整營銷策略,實現(xiàn)利益最大化。
在數(shù)據(jù)訪問中,將數(shù)據(jù)庫中的每張表(例如此處的訂單數(shù)據(jù)表)涉及的操作封裝成一個對應(yīng)的類,每個類中提供了數(shù)據(jù)庫連接的開閉以及對數(shù)據(jù)表的存取操作,數(shù)據(jù)訪問層直接與數(shù)據(jù)庫進(jìn)行交互并對上層屏蔽底層細(xì)節(jié),對于業(yè)務(wù)邏輯層來說,只要調(diào)用相關(guān)類中的方法即可對數(shù)據(jù)庫進(jìn)行操作,而無需了解底層細(xì)節(jié),有利于保證整個系統(tǒng)的數(shù)據(jù)安全。
在基于購買次數(shù)的用戶群體聚類分析算法中,算法的輸入?yún)?shù)有:=[x]和。是聚類的用戶數(shù)據(jù)矩陣,其中x表示聚類數(shù)據(jù)中第個用戶對第類商品的購買次數(shù),是實際參與聚類的用戶數(shù)量,是商品類別的數(shù)量,是聚類生成用戶群體的個數(shù)。算法的輸出參數(shù)有:=(idx)和=[c]。是簇索引,idx表示第個用戶被分配到的用戶群體的編號,是群體中心位置,c表示編號為的用戶群體對第類商品的購買次數(shù)的平均數(shù)。
由于聚類算法對初始選擇的群體中心較為敏感,本文使用優(yōu)化的K-means++算法對于初始群體中心的選擇進(jìn)行改進(jìn)。K-means++算法通過啟發(fā)式方法找到K-means 算法的初始群體中心,可以改進(jìn)K-means算法的運行時間和最終解的質(zhì)量。具體實現(xiàn)步驟如下:
從中隨機(jī)均勻選擇一個用戶數(shù)據(jù),作為第一個群體中心,記為。
計算所有用戶數(shù)據(jù)到各群體中心的距離平方,并將其分配給最近的群體中心。

這里的距離使用歐氏距離。
對于=1,2,…和=1,2,…-1,通過輪盤賭的方法,在中選擇一個用戶數(shù)據(jù)作為第個群體中心,每個用戶數(shù)據(jù)被選中的概率為:

其中,C表示第個用戶群體,x∈C,也就是說選中概率和用戶數(shù)據(jù)到當(dāng)前分配的群體中心的距離平方成正比。
根據(jù)分配結(jié)果計算每個群體中的數(shù)據(jù)平均值,并以此更新群體中心位置。
重復(fù)Step2 至Step4,直至群體分配不變或達(dá)到了最大迭代次數(shù),此時選中了個初始群體中心。在這個算法中,第一次執(zhí)行Step2時,由于只存在第一個群體中心,所有的用戶數(shù)據(jù)會被分配至第一個群體,在執(zhí)行Step3 時,由于已被選為群體中心的用戶數(shù)據(jù)必然被分配在自己所在的群體中且至群體中心的距離為0,所以在Step3 中不會出現(xiàn)重復(fù)選擇群體中心的現(xiàn)象。
通過優(yōu)化的K-means++算法選擇個初始群體中心后,就可以進(jìn)行聚類了。在聚類算法的執(zhí)行過程中,由于數(shù)據(jù)的分布,可能會出現(xiàn)空群體的現(xiàn)象,即某一次迭代后用戶群體的數(shù)量不足個。一種可行的解決辦法是不斷選擇當(dāng)前群體中用戶數(shù)據(jù)量最多的群體,用其中距離群體中心最遠(yuǎn)的用戶數(shù)據(jù)作為一個新群體,直至當(dāng)前群體數(shù)量為。同時,為了避免算法陷入局部最優(yōu)解,可以多執(zhí)行幾次算法,通過比較所有用戶數(shù)據(jù)到被分配的群體中心距離平方和,得出最好質(zhì)量的解。基于購買次數(shù)的用戶群體聚類算法的流程如圖2所示。

圖2 基于購買次數(shù)的用戶群體聚類算法
算法求解結(jié)束后,根據(jù)計算結(jié)果生成數(shù)據(jù)源,并通過數(shù)據(jù)綁定的方式,可以呈現(xiàn)出每個用戶被分配的群體和每個群體的中心。通過聚類分析,商家可以直接觀察每個群體中用戶的具體購買偏好,有針對性地調(diào)整營銷策略,實現(xiàn)利益最大化。
⑴有效性驗證
本文在基于購買次數(shù)的用戶群體聚類分析中,對傳統(tǒng)K-means 算法中出現(xiàn)空群體的情況進(jìn)行了處理。為了驗證算法的有效性,本文進(jìn)行了仿真實驗,實驗的數(shù)據(jù)集如表1 所示。其中,群體的數(shù)量為3 個,最大迭代次數(shù)設(shè)置為500次。

表1 仿真實驗測試數(shù)據(jù)
使用上述聚類算法對實驗數(shù)據(jù)集進(jìn)行20次聚類,共產(chǎn)生三種分類,其聚類結(jié)果如圖3所示。

圖3 基于購買次數(shù)的用戶群體聚類算法實驗結(jié)果圖
根據(jù)可視化的結(jié)果,算法的聚類結(jié)果是正確的,每個觀測值都分配到了最近中心所屬的群體。同時,仿真實驗匯總20 次算法執(zhí)行結(jié)果都是3 類,沒有出現(xiàn)空群體的情況,這表明對空群體情況的處理是有效的,而且結(jié)果的距離平方和標(biāo)準(zhǔn)差較小,算法的求解性能較好。
⑵性能比較
將本文將基于購買次數(shù)的用戶群體聚類算法與傳統(tǒng)Keams算法進(jìn)行了性能比較。本文對3組不同數(shù)據(jù)進(jìn)行了聚類處理,并根據(jù)評價指標(biāo)進(jìn)行對比,其結(jié)果如表2所示。
從表2 中數(shù)據(jù)可以看出,本文基于購買次數(shù)的用戶群體聚類算法在處理商城客戶購買商品數(shù)據(jù)時,在準(zhǔn)確度ACC 和標(biāo)準(zhǔn)互信息NMI 方面都優(yōu)于傳統(tǒng)的Keams算法。

表2 算法性能比較
以上結(jié)果表明,聚類分析算法的有效性和性能都得到驗證,可以應(yīng)用于商城管理系統(tǒng)的用戶群體聚類分析中。
本文提出了一種基于購買次數(shù)的用戶群體聚類分析方法。通過數(shù)據(jù)庫查詢,得到每個用戶對各個類別商品的購買次數(shù),對查詢結(jié)果進(jìn)行聚類分析,可顯示每個用戶的群體劃分以及不同群體用戶的購買偏好。這項技術(shù)可以讓后臺管理員直接看到商城的客戶細(xì)分,便于及時調(diào)整營銷策略以保持良好的客戶關(guān)系。