顧 強(qiáng)
(中國(guó)移動(dòng)通信集團(tuán)江蘇有限公司,江蘇 南京 210000)
隨著移動(dòng)通信技術(shù)的發(fā)展和移動(dòng)終端的普及,越來(lái)越多的人選擇線上購(gòu)買商品。一些大型線上購(gòu)物平臺(tái)不斷涌現(xiàn),如淘寶、京東、蘇寧易購(gòu)等,電子商務(wù)模式也多種多樣。這些平臺(tái)不僅給人們提供了舒適便捷的購(gòu)物體驗(yàn),促進(jìn)了線上消費(fèi)模式等周邊行業(yè)的發(fā)展,更是對(duì)計(jì)算機(jī)和互聯(lián)網(wǎng)技術(shù)的發(fā)展起到了推動(dòng)作用。在2020 年初新冠肺炎疫情爆發(fā)的一段時(shí)間,線上購(gòu)物成為很多人購(gòu)買商品的必須途徑。
線上購(gòu)物平臺(tái)中的客戶關(guān)系管理已經(jīng)成為了電商平臺(tái)極為重視的業(yè)務(wù)。良好的客戶關(guān)系管理可以指導(dǎo)電商平臺(tái)及時(shí)調(diào)整營(yíng)銷策略,根據(jù)不同用戶精準(zhǔn)的推送商品,顯著提高消費(fèi)者的消費(fèi)體驗(yàn),增加客戶粘連性。為了實(shí)現(xiàn)良好的客戶關(guān)系管理,很多專家和學(xué)者對(duì)如何將客戶精準(zhǔn)細(xì)分進(jìn)行了研究。
在商城管理系統(tǒng)中,對(duì)客戶細(xì)分常用的特征數(shù)據(jù)有:消費(fèi)間隔、消費(fèi)次數(shù)、消費(fèi)金額、加購(gòu)次數(shù)和收藏次數(shù)等。常用的分析技術(shù)是:聚類算法和分類算法。
聚類算法是一種“無(wú)監(jiān)督”的數(shù)據(jù)挖掘算法,用類標(biāo)號(hào)創(chuàng)建對(duì)象的標(biāo)記,可以發(fā)現(xiàn)數(shù)據(jù)集中的潛在規(guī)律,算法執(zhí)行開始時(shí)所有的數(shù)據(jù)是沒有標(biāo)記的。分類算法則是一種“監(jiān)督”算法,是用類標(biāo)記已知的對(duì)象標(biāo)記訓(xùn)練而成的模型,并對(duì)新的無(wú)標(biāo)記數(shù)據(jù)賦予標(biāo)記。
由于在商城管理系統(tǒng)中,營(yíng)業(yè)數(shù)據(jù)的分析是至關(guān)重要的。用戶對(duì)于商品的購(gòu)買信息都記錄在數(shù)據(jù)庫(kù)中,在這些大量的訂單數(shù)據(jù)中就有很多值得挖掘的信息,因此用聚類分析非常適合。聚類分析在商城管理系統(tǒng)的運(yùn)用場(chǎng)景主要是用戶群體劃分,通過對(duì)用戶的購(gòu)買行為進(jìn)行聚類,劃分出多個(gè)用戶群體,一個(gè)用戶群體中的用戶往往具有相似的購(gòu)買偏好,利于在后續(xù)環(huán)節(jié)根據(jù)用戶的購(gòu)買偏好為用戶精準(zhǔn)推送商品信息,也可以調(diào)整商城的商品結(jié)構(gòu),使之適合用戶的需求,實(shí)現(xiàn)利益最大化。
因此,本文提出一種基于購(gòu)買次數(shù)的用戶群體聚類分析算法,該算法可以對(duì)用戶的購(gòu)買行為進(jìn)行分析,指導(dǎo)商家及時(shí)調(diào)整營(yíng)銷策略,以適應(yīng)消費(fèi)者的多種需求。
本文的聚類分析算法主要基于訂單數(shù)據(jù)表存儲(chǔ)的信息,通過數(shù)據(jù)導(dǎo)入、數(shù)據(jù)標(biāo)準(zhǔn)化、算法求解和結(jié)果呈現(xiàn)四個(gè)模塊實(shí)現(xiàn)。如圖1所示。
圖1 基于購(gòu)買次數(shù)的用戶群體的聚類分析總體設(shè)計(jì)圖
⑴數(shù)據(jù)導(dǎo)入模塊:利用多表查詢導(dǎo)入每個(gè)用戶購(gòu)買各種類商品的次數(shù),以一個(gè)三元組表存儲(chǔ),字段分別是用戶編號(hào)、商品類別編號(hào)和購(gòu)買次數(shù)。如果用戶沒有購(gòu)買過任何商品,那么該信息不會(huì)被查詢,這避免了空數(shù)據(jù)對(duì)聚類結(jié)果的干擾。
⑵數(shù)據(jù)標(biāo)準(zhǔn)化模塊:隨著系統(tǒng)業(yè)務(wù)量的增長(zhǎng),用戶對(duì)于各種商品都產(chǎn)生了購(gòu)買行為,數(shù)據(jù)存儲(chǔ)操作比較頻繁,二維數(shù)組比三元組表更有優(yōu)勢(shì),因此在數(shù)據(jù)標(biāo)準(zhǔn)化中,將查詢結(jié)果轉(zhuǎn)化為二維數(shù)組形式,以簡(jiǎn)化后續(xù)的計(jì)算。
⑶算法求解模塊:本文采用基于購(gòu)買次數(shù)的用戶群體聚類分析算法,其中聚類中心的選擇,是個(gè)亟待解決的問題。本文首先通過優(yōu)化的K-means++算法完成聚類中心的選取,然后再進(jìn)行具體的聚類分析,從而極大地提高效率和準(zhǔn)確度。
⑷結(jié)果呈現(xiàn)模塊:根據(jù)計(jì)算結(jié)果生成數(shù)據(jù)源并通過數(shù)據(jù)綁定的方式,呈現(xiàn)每個(gè)用戶被分配的群體和每個(gè)群體的中心。通過對(duì)聚類結(jié)果分析,商家可以直觀看到地每個(gè)群體中用戶的具體購(gòu)買偏好,有針對(duì)性地調(diào)整營(yíng)銷策略,實(shí)現(xiàn)利益最大化。
在數(shù)據(jù)訪問中,將數(shù)據(jù)庫(kù)中的每張表(例如此處的訂單數(shù)據(jù)表)涉及的操作封裝成一個(gè)對(duì)應(yīng)的類,每個(gè)類中提供了數(shù)據(jù)庫(kù)連接的開閉以及對(duì)數(shù)據(jù)表的存取操作,數(shù)據(jù)訪問層直接與數(shù)據(jù)庫(kù)進(jìn)行交互并對(duì)上層屏蔽底層細(xì)節(jié),對(duì)于業(yè)務(wù)邏輯層來(lái)說(shuō),只要調(diào)用相關(guān)類中的方法即可對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,而無(wú)需了解底層細(xì)節(jié),有利于保證整個(gè)系統(tǒng)的數(shù)據(jù)安全。
在基于購(gòu)買次數(shù)的用戶群體聚類分析算法中,算法的輸入?yún)?shù)有:=[x]和。是聚類的用戶數(shù)據(jù)矩陣,其中x表示聚類數(shù)據(jù)中第個(gè)用戶對(duì)第類商品的購(gòu)買次數(shù),是實(shí)際參與聚類的用戶數(shù)量,是商品類別的數(shù)量,是聚類生成用戶群體的個(gè)數(shù)。算法的輸出參數(shù)有:=(idx)和=[c]。是簇索引,idx表示第個(gè)用戶被分配到的用戶群體的編號(hào),是群體中心位置,c表示編號(hào)為的用戶群體對(duì)第類商品的購(gòu)買次數(shù)的平均數(shù)。
由于聚類算法對(duì)初始選擇的群體中心較為敏感,本文使用優(yōu)化的K-means++算法對(duì)于初始群體中心的選擇進(jìn)行改進(jìn)。K-means++算法通過啟發(fā)式方法找到K-means 算法的初始群體中心,可以改進(jìn)K-means算法的運(yùn)行時(shí)間和最終解的質(zhì)量。具體實(shí)現(xiàn)步驟如下:
從中隨機(jī)均勻選擇一個(gè)用戶數(shù)據(jù),作為第一個(gè)群體中心,記為。
計(jì)算所有用戶數(shù)據(jù)到各群體中心的距離平方,并將其分配給最近的群體中心。
這里的距離使用歐氏距離。
對(duì)于=1,2,…和=1,2,…-1,通過輪盤賭的方法,在中選擇一個(gè)用戶數(shù)據(jù)作為第個(gè)群體中心,每個(gè)用戶數(shù)據(jù)被選中的概率為:
其中,C表示第個(gè)用戶群體,x∈C,也就是說(shuō)選中概率和用戶數(shù)據(jù)到當(dāng)前分配的群體中心的距離平方成正比。
根據(jù)分配結(jié)果計(jì)算每個(gè)群體中的數(shù)據(jù)平均值,并以此更新群體中心位置。
重復(fù)Step2 至Step4,直至群體分配不變或達(dá)到了最大迭代次數(shù),此時(shí)選中了個(gè)初始群體中心。在這個(gè)算法中,第一次執(zhí)行Step2時(shí),由于只存在第一個(gè)群體中心,所有的用戶數(shù)據(jù)會(huì)被分配至第一個(gè)群體,在執(zhí)行Step3 時(shí),由于已被選為群體中心的用戶數(shù)據(jù)必然被分配在自己所在的群體中且至群體中心的距離為0,所以在Step3 中不會(huì)出現(xiàn)重復(fù)選擇群體中心的現(xiàn)象。
通過優(yōu)化的K-means++算法選擇個(gè)初始群體中心后,就可以進(jìn)行聚類了。在聚類算法的執(zhí)行過程中,由于數(shù)據(jù)的分布,可能會(huì)出現(xiàn)空群體的現(xiàn)象,即某一次迭代后用戶群體的數(shù)量不足個(gè)。一種可行的解決辦法是不斷選擇當(dāng)前群體中用戶數(shù)據(jù)量最多的群體,用其中距離群體中心最遠(yuǎn)的用戶數(shù)據(jù)作為一個(gè)新群體,直至當(dāng)前群體數(shù)量為。同時(shí),為了避免算法陷入局部最優(yōu)解,可以多執(zhí)行幾次算法,通過比較所有用戶數(shù)據(jù)到被分配的群體中心距離平方和,得出最好質(zhì)量的解?;谫?gòu)買次數(shù)的用戶群體聚類算法的流程如圖2所示。
圖2 基于購(gòu)買次數(shù)的用戶群體聚類算法
算法求解結(jié)束后,根據(jù)計(jì)算結(jié)果生成數(shù)據(jù)源,并通過數(shù)據(jù)綁定的方式,可以呈現(xiàn)出每個(gè)用戶被分配的群體和每個(gè)群體的中心。通過聚類分析,商家可以直接觀察每個(gè)群體中用戶的具體購(gòu)買偏好,有針對(duì)性地調(diào)整營(yíng)銷策略,實(shí)現(xiàn)利益最大化。
⑴有效性驗(yàn)證
本文在基于購(gòu)買次數(shù)的用戶群體聚類分析中,對(duì)傳統(tǒng)K-means 算法中出現(xiàn)空群體的情況進(jìn)行了處理。為了驗(yàn)證算法的有效性,本文進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)的數(shù)據(jù)集如表1 所示。其中,群體的數(shù)量為3 個(gè),最大迭代次數(shù)設(shè)置為500次。
表1 仿真實(shí)驗(yàn)測(cè)試數(shù)據(jù)
使用上述聚類算法對(duì)實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行20次聚類,共產(chǎn)生三種分類,其聚類結(jié)果如圖3所示。
圖3 基于購(gòu)買次數(shù)的用戶群體聚類算法實(shí)驗(yàn)結(jié)果圖
根據(jù)可視化的結(jié)果,算法的聚類結(jié)果是正確的,每個(gè)觀測(cè)值都分配到了最近中心所屬的群體。同時(shí),仿真實(shí)驗(yàn)匯總20 次算法執(zhí)行結(jié)果都是3 類,沒有出現(xiàn)空群體的情況,這表明對(duì)空群體情況的處理是有效的,而且結(jié)果的距離平方和標(biāo)準(zhǔn)差較小,算法的求解性能較好。
⑵性能比較
將本文將基于購(gòu)買次數(shù)的用戶群體聚類算法與傳統(tǒng)Keams算法進(jìn)行了性能比較。本文對(duì)3組不同數(shù)據(jù)進(jìn)行了聚類處理,并根據(jù)評(píng)價(jià)指標(biāo)進(jìn)行對(duì)比,其結(jié)果如表2所示。
從表2 中數(shù)據(jù)可以看出,本文基于購(gòu)買次數(shù)的用戶群體聚類算法在處理商城客戶購(gòu)買商品數(shù)據(jù)時(shí),在準(zhǔn)確度ACC 和標(biāo)準(zhǔn)互信息NMI 方面都優(yōu)于傳統(tǒng)的Keams算法。
表2 算法性能比較
以上結(jié)果表明,聚類分析算法的有效性和性能都得到驗(yàn)證,可以應(yīng)用于商城管理系統(tǒng)的用戶群體聚類分析中。
本文提出了一種基于購(gòu)買次數(shù)的用戶群體聚類分析方法。通過數(shù)據(jù)庫(kù)查詢,得到每個(gè)用戶對(duì)各個(gè)類別商品的購(gòu)買次數(shù),對(duì)查詢結(jié)果進(jìn)行聚類分析,可顯示每個(gè)用戶的群體劃分以及不同群體用戶的購(gòu)買偏好。這項(xiàng)技術(shù)可以讓后臺(tái)管理員直接看到商城的客戶細(xì)分,便于及時(shí)調(diào)整營(yíng)銷策略以保持良好的客戶關(guān)系。