吳 濤
(1.中國科學技術大學,安徽 合肥230026;2.安徽工業職業技術學院,安徽 銅陵244061)
2019年全國電子商務交易額達34.81萬億元,相比于上年增長6.7%。預計到2020年,中國電子商務交易額可達40萬億元[1]。隨著互聯網技術的普及,電子商務發展得如火如荼,但同時電商市場競爭也日趨激烈。為維持市場競爭力,企業需要分析顧客特征,對其進行細分后采取針對性營銷策略,提供個性化服務,來滿足各類別顧客的需求,提升顧客的滿意度與忠誠度。對于顧客細分問題,眾多學者已經開展了大量研究。黃飛杰[2]等先采用Clara算法隨機生成初始聚類中心,再利用K-means算法對客戶進行細分。陳子璐[3]在RFM模型的基礎上,通過K-means聚類分析與四分位法對電子客戶進行細分。本文以某電商在線銷售數據為例,基于RFM模型采用RFM分析、K-means++、K-means三種方法進行顧客細分,同時采用輪廓系數法客觀選取聚類中心數目,最后對三種方法進行評估。
RFM模型是經典的客戶分類模型,被廣泛應用于客戶關系管理領域。它通過三個變量R(Recency)、F(Frequency)、M(monetary)的值來判斷客戶的類型[4]。R表示客戶最后購買日期與當前日期的間隔,F表示顧客在某時段內的購買次數。M表示顧客在某時段內的消費總金額,M值越大表示顧客對公司的利潤貢獻度越高。本文基于RFM模型的電子商務顧客細分的基本思想是通過數學方法將顧客最后購買日期與當前日期的間隔、顧客在某時段內的購買次數、顧客在某時段內的消費總金額3個顧客行為指標進行合理的分類,然后再針對每個顧客類別進行指標特征分析,從而得出不同客戶群的價值,最終實現電子商務顧客細分的目的。
k-means算法原理簡單并且易于實現,在各種聚類劃分場景下被廣泛使用[5]。但是k-means算法在應用過程中存在兩大缺陷。一是K-means算法的聚類中心個數K需預先指定,而事先不明確數據集分類類別,預估合適的K值就非常困難。二是K-means算法對初始聚類中心非常敏感,不同的初始聚類中心可能得到不同的聚類結果,甚至會產生算法收斂速度慢、聚類結果錯誤的問題[6-7]。對于缺陷一,輪廓系數法(Silhouette Coefficient)可以客觀的確定聚類中心數目K。輪廓系數的大小可以度量簇中樣本的緊密程度,對于現有的分類數,求出平均輪廓系數(即當前聚類整體輪廓系數的平均值)的最大值,與之對應的K值則為最佳聚類數[8]。平均輪廓系數的定義為:

其中n為樣本總數,a(j)為樣本點j與同簇中其他樣本點間的平均距離,用于量化同簇內的凝聚度;b(j)為樣本點j與非本簇的其他簇中樣本點間的最小平均距離,用于量化非同簇間分離度。sa的取值范圍在[-1,1]之間,sa越大,表明聚類的效果越好[9]。
對于缺陷二,K-means++算法可以有效地解決問題。此算法對k-means算法中選取初始聚類中心的方法進行了優化,它的基本思想是初始聚類中心中距離中心越遠的點會有更高的概率被選為聚類中心,因此聚類中心分布得更加均勻,克服了起始聚類中心不同帶來的聚類偏差,改善了聚類結果誤差[10]。K-means++聚類算法的步驟:
1.隨機選取一個樣本點作為首個聚類中心c1=(x1,y1,z1);
2.計算每個樣本點與當前聚類中心點的最短距離D(x),再根據計算每個樣本點被選為下個聚類中心的概率,通過輪盤法選取第二個聚類中心c2=(x2,y2,z2);
3.重復步驟二、三直到預設的第k個聚類中心被選出ck=(xk,yk,zk);
4.計算每個樣本點X到k個聚類中心的距離,并將其劃分到距離最短的聚類中心所對應的類中;本文距離計算方法為歐幾里得(Euclidean)法,公式如下所示:

i=1、2、…、m,j=1、2、…、n
5.針對每個類別C,重新計算類內質心

6.重復步驟四、五直到類內質心位置不再變化,K-means聚類算法的步驟:
Step1:從數據中隨機選取K個樣本作為初始聚類中心。
Step2:與k-means++算法Step4相同,不再贅述。
Step3:與k-means++算法Step5相同。
Step4:與k-means++算法Step6相同。
本文利用The UCI Machine Learning Repository提供的某電商公司從2010年12月1日到2011年12月9日的541910個訂單數據。原始數據存在大量重復或缺失數據,為減少數據冗余,剔除無效數據,先將原始數據進行預處理。下面是數據預處理步驟:
1.刪除重復數據。原有數據有541,910條,刪除重復值后,還剩536,642條;
2.刪除缺失值。將數據中顧客編號為空的訂單數據刪除;
3.計算每筆訂單金額。每筆訂單總額=產品單價X購買數量;
4.異常數據處理。每筆訂單只能為一名顧客所有,而一名顧客可以擁有多筆訂單,其中包括訂單編號以“C”開頭的取消訂單。如表1所示,顧客編號12346購買產品后又取消訂單。統計每位顧客的消費總額,即計算顧客每筆訂單(包括取消訂單)的金額總和,將消費總額小于等于0的顧客數據刪除。

表1某顧客交易訂單
5.利用SPSS進行數據分析,最終得到4,317名顧客的有效信息,并統計出每位顧客的最后購買日期、購買頻率、消費總金額。
將R、F、M值作為分類指標,采用RFM分析算法對數據進行分析。
1.R、F、M指標離散化處理
計算最后購買日期與當前日期相距的天數R(Recency),將2011年12月9日設為當前日期。統計顧客消費頻率F(Frequency),顧客消費總金額M(monetary)。將R、F、M三個指標按照優先級依次分類離散化,即先按時間間隔R的先后順序對顧客進行離散化,再按頻率F對每個時間間隔先后塊中的客戶進行離散化,最后再按消費總金額M對時間間隔、頻率塊中的客戶進行離散化。部分離散化結果如表2所示。

表2 R、F、M離散化結果
2.RFM分析分類實施方法
本文使用自組織特征映射網絡對顧客的RFM值進行分類,首先求出顧客時間間隔R(Recency)、消費頻率F(Frequency)、消費總金額M(monetary)離散化結果的均值分別為2.99、2.99、3。將R、F、M離散化結果與均值比較,高于均值的定義為“2”,低于均值的定義為“1”,共可得到8種分類結果,具體分類結果如表3所示。

表3顧客類型
通過上述計算后,得到顧客分類結果,由圖1所示。其中優質顧客有274名,占所有顧客的6%,這類顧客的消費時間間隔短,消費頻率高、消費金額大,這類顧客為公司創造的利潤大,應該是重點關注對象。重點保持顧客、重點發展顧客、重點挽留顧客共有1450名,占所有顧客的33.58%。這類顧客的消費頻率、金額高,但是消費時間間隔長,公司可以通過短信問候,引起此類顧客注意。 一般價值、一般保持、一般發展顧客共有1647名,占所有顧客的38%。這類顧客消費時間間隔短,消費頻率高,但是消費金額較少,此類顧客可能感覺產品價格過高,公司可以采取降價促銷來吸引顧客增加消費金額。流失客戶有946名,占所有顧客的22%。這類顧客消費時間間隔長,消費頻率低、消費金額少,為節省人力、財力,公司可無須特別關注這類顧客。

圖1基于RFM分析的顧客分類結果
將R、F、M值作為聚類指標,采用K-means聚類算法對數據進行分析。
1.聚類指標歸一化
由于指標間量綱差異較大,為了消除量綱差異對聚類分析結果帶來的不合理影響。首先將聚類指標歸一化,計算公式為:

其中x為樣本數據矩陣,x'為歸一化后數據,xmin、xmax為樣本數據矩陣中的最小、最大值。
隧道管片的受力比較接近于單向受力狀態,管片的疲勞壽命是由其拉、壓狀態共同決定的。因此,采用單軸受拉疲勞經驗公式(7)[29]來對管片進行受力計算,采用單軸受壓疲勞經驗公式(8)[30]對管片的疲勞壽命進行驗算,其計算公式如下:
2.K值的選取
本文K-means算法中對K值的選取使用輪廓系數法。找出K分類下數據集中所有樣本點輪廓系數平均值的最大值,與之對應的K值則為最佳聚類數。K分類下樣本點的平均輪廓系數如圖2所示。從圖中可以看出,K=2時,輪廓系數最大為0.72,算法聚類效果最優。當K=4時,輪廓系數為0.71,其聚類效果僅次于K=2。為了樣本劃分得更加精細,在平均輪廓系數相差不大的情況下,本文的K值選4。

圖2 K分類下樣本點平均輪廓系數
3.K-means算法聚類結果分析
圖3為K-means算法在兩種不同初始聚類中心下的聚類結果,不同顏色代表不同的顧客分類。從圖中可以看出兩次聚類結果不同,這說明K-means算法對初始聚類中心非常敏感。同時圖中的顧客被分為4類,各類的特征不明顯,可解釋性較差,不能達到顧客細分的目的。
將R、F、M值作為聚類指標,采用K-means++聚類算法對數據進行分析。同樣將聚類指標進行歸一化處理,不再贅述,K值依然取2。下面是K-means++算法聚類結果分析:

圖3 K-means聚類算法可視化結果
K-means++聚類算法可視化結果如圖4所示。其中,X軸坐標為時間間隔R,Y軸坐標為消費頻率F,Z軸坐標為消費總金額M。圖中K-means++聚類算法選取K=4,將顧客劃分為4類,不同類別的顧客以不同顏色與形狀表現出來,聚類中心以黑色叉號表示。分析圖4可以獲取以下信息:

圖4 K-means++聚類算法可視化結果
第2類顧客數量為5,其消費時間間隔短,頻率相對較高,金額最大;對于此類顧客企業可以推送更多優質商品廣告,刺激顧客消費,提高購買頻率,讓顧客為企業創造更多利潤。
第3類顧客數量為4,其消費時間間隔短,頻率最高,金額相對較大,這類顧客為企業創造的利潤較大,應該是重點關注對象。公司可以采取積分兌換禮品等活動來維持此類顧客的忠誠度,讓此類顧客為企業持續創造利潤。
第4類顧客數量為1061,相比于2、3類顧客,其消費時間間隔相對較長,頻率相對較低,金額相對較低,但高于1類顧客,此類顧客時是企業的潛在顧客,可以采取廣告推送、促銷打折等相應措施促進顧客產生更多交易。
RFM分析將顧客分為8類,分類更加精細。但是相較于RFM分析中的指標離散化分類法,Kmeans++聚類算法通過原始數據與聚類中心間的距離來劃分顧客類型,更具科學性,分類結果更加準確。同時通過輪廓系數法選取聚類中心數目的Kmeans++聚類算法以初始聚類中心距離最大化的分類思想,彌補了K-means算法聚類中心數目難以確定以及對初始聚類中心敏感的不足。最終經過Kmeans++算法劃分的每類顧客,不僅分類準確,而且特征明顯,更易于企業制定相應的營銷策略。
本文基于RFM模型采用RFM分析、K-means++、K-means三種方法對顧客進行細分,旨在幫助企業準確識別顧客價值。K-means++算法通過輪廓系數法,客觀合理地找到聚類中心數K,消除了K-means算法聚類中心數目難以確定以及對初始聚類中心敏感的不足,同時相較于RFM分析也更加科學。最后K-means++聚類結果可視化,可使企業人員可以快速直觀地判斷每個顧客分類代表的意義,進而采取精準的營銷策略,提升企業核心競爭力。