危婷,張宏海,藺小麗,張蕾蕾,王妍,賈金峰
中國科學(xué)院計算機網(wǎng)絡(luò)信息中心,北京 100083
與一般的電商網(wǎng)站類似,用戶在利用科技云網(wǎng)站進行瀏覽、下載、操作以及購買資源服務(wù)時會產(chǎn)生海量的數(shù)據(jù),從這些海量的數(shù)據(jù)中可以挖掘出用戶行為的潛在價值,并對用戶未來訪問和購買行為進行預(yù)測。對于可能復(fù)訪或復(fù)購的用戶,結(jié)合其前期訪問偏好進行精準的推薦并制定個性化的運營策略,這有利于優(yōu)化用戶購買體驗,實現(xiàn)忠誠用戶留存、新用戶增加和潛在用戶的挖掘,促進平臺的可持續(xù)發(fā)展。
用戶瀏覽、訪問、操作資源服務(wù)的行為數(shù)據(jù)以日志文件的形式存儲在后臺服務(wù)器。如何高效地利用這些在線行為數(shù)據(jù)分析用戶偏好,預(yù)測用戶復(fù)訪或者復(fù)購行為是非常有意義的。
在電商環(huán)境下對用戶行為的預(yù)測主要包括用戶購買行為、點擊行為和活躍度的預(yù)測等,關(guān)注最多的主要是購買行為預(yù)測,因為這一行為直接為電商帶來收益。用戶的購買行為與點擊行為、活躍度是高度相關(guān)的,而這些因素極大地反映了用戶的復(fù)訪概率。由于復(fù)訪的用戶發(fā)生購買行為的概率比較高,本文主要通過研究預(yù)測用戶的復(fù)訪行為來反映用戶的購買意愿。
傳統(tǒng)的購買行為預(yù)測模型主要有 SMC 模型、RFM 模型和 BG/NBD 模型。多數(shù)研究都是基于這些模型的改進。其中,RFM 模型是從市場營銷領(lǐng)域延伸而來,少量研究將其應(yīng)用在其他領(lǐng)域進行用戶分類,如通信和電商領(lǐng)域[1-2]。大數(shù)據(jù)、機器學(xué)習(xí)興起之后,大量學(xué)者結(jié)合機器學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)等算法構(gòu)建模型,以提升模型的預(yù)測準確性。Silahtaroglu G 等人從用戶點擊數(shù)據(jù)中提取信息,使用決策樹和多層神經(jīng)網(wǎng)絡(luò)構(gòu)建消費者購買行為預(yù)測模型[3]。J Qiu 等人從商品角度出發(fā),通過分析商品之間的關(guān)聯(lián),建立候選商品集,通過用戶對商品特征的偏好訓(xùn)練模型COREL,預(yù)測用戶可能購買的商品集。這一模型可以直接應(yīng)用于商品推薦[4]。周成驥等人基于交互行為數(shù)據(jù),提出一種基于時序的數(shù)據(jù)預(yù)處理方法和基于 SSP 特征選擇方法,并構(gòu)建Bagging 和XGBoost 混合模型提升模型的預(yù)測精確度[5]。顧海斌等人從數(shù)學(xué)角度、貝葉斯方法和神經(jīng)網(wǎng)絡(luò)對用戶消費行為建模[6]。李美其等人基于大眾點評網(wǎng)的用戶數(shù)據(jù),構(gòu)建Pareto/NBD 預(yù)測模型,并通過引入?yún)f(xié)變量改進預(yù)測效果[7]。
用戶的購買行為,不論是直接購買,還是重復(fù)購買,產(chǎn)生購買行為決策一般經(jīng)過需求識別、信息搜索、選擇評估。正是因為以上這些過程,用戶大多數(shù)是重復(fù)購買,而重復(fù)購買行為的影響因素融合了多種領(lǐng)域的知識[8],包括主觀的[9-10]和客觀的,形象的和抽象的。由于影響因素本身的復(fù)雜性,研究者的角度也復(fù)雜多樣,如感知服務(wù)質(zhì)量理論[11]、感知價值理論[12]、感知價值成本理論[13]、消費者主管決策等。
重復(fù)購買行為的一個關(guān)鍵前提是對網(wǎng)站的重復(fù)訪問。如果用戶對商品感興趣,購買意愿大,重復(fù)訪問網(wǎng)站了解商品的次數(shù)就會多,所以如果用戶復(fù)訪概率大,復(fù)購的概率也比較大。因此本文強調(diào)對用戶復(fù)訪行為的預(yù)測。以上研究大多采用的用戶行為數(shù)據(jù)包括用戶加購物車、購買和購后評價,以期望用更加全面的用戶行為數(shù)據(jù)獲得更為準確的預(yù)測。本文認為復(fù)訪行為預(yù)測不需要太多用戶行為類型。用戶在購買興趣商品之前,包括加購物車之前,會有大量的點擊和瀏覽商品詳情頁的行為,本文在后續(xù)的特征構(gòu)建和模型構(gòu)建過程中,只考慮點擊和瀏覽行為,并分析基于這些行為特征構(gòu)建模型的準確性。
為了獲取用戶準確、實時的行為信息,在科技云門戶多個服務(wù)器節(jié)點上部署了數(shù)據(jù)采集腳本。采集的數(shù)據(jù)涵蓋了用戶瀏覽數(shù)據(jù)、用戶屬性數(shù)據(jù)、用戶行為數(shù)據(jù)、訪問深度數(shù)據(jù)等,如表1所示。數(shù)據(jù)采集頻率設(shè)置為5 秒,按照其所記錄的信息分類存于30 個數(shù)據(jù)庫表,涉及280 多個字段和若干個擴展字段。所采集的數(shù)據(jù)全部來源于真實的對外提供服務(wù)的科技云門戶,且數(shù)據(jù)能夠完整記錄一次訪問的所有瀏覽操作軌跡。數(shù)據(jù)記錄的信息實時、全面,能夠真實地反映用戶的行為特點。
表1 用戶訪問數(shù)據(jù)解析表Table 1 Data of users visiting
本文采用的數(shù)據(jù)時間跨度為2018年8月到2019年9月,共13 個月。數(shù)據(jù)涉及3,786 個不同的用戶ID,包括38,468 次完整的訪問。
令數(shù)據(jù)集表示為D,訓(xùn)練集表示為S,測試集表示為T。將2018年8月至2019年6月的樣本數(shù)據(jù)以每兩個月為一個單元設(shè)為一個數(shù)據(jù)集D。每一個數(shù)據(jù)集隨機選70%的樣本用戶為S,30%的樣本用戶為T。用后兩個月用戶的return 行為來標記前兩個月的樣本數(shù)據(jù),如圖1所示。最后將測試結(jié)果進行平均。本文的兩個模型均按上述方式利用數(shù)據(jù)集。
圖1 訓(xùn)練集與測試集Fig.1 Training set and test set
邏輯回歸模型簡單卻又有豐富的變化,是最經(jīng)典的分類預(yù)測模型,是本文采用的模型之一。本文的目標是要根據(jù)用戶訪問行為的特征來預(yù)測用戶return 的概率,以此預(yù)測用戶的回訪行為。
根據(jù)采集到數(shù)據(jù)的特點,定義用戶訪問行為具有以下5 個屬性,分別是:visit days since last(距離上次訪問的天數(shù)),visit counts(訪問次數(shù)),visit total actions(訪問操作數(shù)),visit total time(訪問停留時間),visit pages(訪問頁面數(shù))。
多元線性回歸試圖學(xué)得一個模型以盡可能學(xué)得實值輸出:
y也寫成向量形式:
則有:
對求導(dǎo)得到:
對此模型再利用logistic 函數(shù)進行變換,即可得到多維向量邏輯回歸模型。此模型對分類的可能性進行建模,不需要事先假設(shè)數(shù)據(jù)分布,可以避免假設(shè)分布不準確帶來的問題。此外,它不僅可以預(yù)測類別,還可以得到近似概率預(yù)測,對于需要利用概率輔助決策的任務(wù)有很大用處。例如,我們可以預(yù)測科技云用戶復(fù)訪或者回購的概率。
決策樹是機器學(xué)習(xí)領(lǐng)域最為重要的分類模型,在提高模型的準確率上有巨大威力的XGBoost 也是基于樹模型的。XGBoost 模型中的基學(xué)習(xí)器除了可以是線性分類器,也可以是 CART 樹,對于數(shù)據(jù)中類別特征或連續(xù)特征的處理要求不高且效果較好。這也是本文采用的第二個模型。
XGBoost 預(yù)測模型如下:
是基學(xué)習(xí)器。目標函數(shù)為損失函數(shù)再增加一個正則項,如下:
正則項由L1 正則項和L2 正則項組成。T 表示葉子節(jié)點的個數(shù),為第i 個葉子節(jié)點的權(quán)重。
損失函數(shù)對求偏導(dǎo),令導(dǎo)數(shù)為0,求得:
為了防止訓(xùn)練出的 XGBoost 模型過擬合數(shù)據(jù),需要找到最佳的切分:
IL和IR表示分裂后形成的兩撥樣本。有了節(jié)點分裂的依據(jù),就可以在基學(xué)習(xí)器中生成樹的結(jié)構(gòu)。
我們將如下 對樣本進行標記,由圖1,對前2個月訪問網(wǎng)站的用戶,記錄他們在后2 個月是否再次訪問網(wǎng)站。如果訪問了,記錄為“1”,如果沒有訪問,記錄為“0”。對數(shù)據(jù)樣本進行清洗處理,尋找缺失值。由于缺失值對模型的影響較大,對于缺失率比較大的特征,進行刪除。使用基于Scikit-learn(針對Python 語言的免費機器學(xué)習(xí)算法庫)接口的分類模型對數(shù)據(jù)集進行訓(xùn)練,并對模型進行評估。
經(jīng)過調(diào)參,獲得XGBoost 與LR 模型的ROC 曲線(Receiver Operating Characteristic Curve曲線,即“受試者工作特征曲線”,在正負樣本數(shù)量不均衡的場景下,ROC 曲線是一個能穩(wěn)定反映模型好壞的指標),如圖2、圖3所示。XGBoost 模型參數(shù)調(diào)優(yōu),首先按照默認值選擇學(xué)習(xí)速率learning rate 和決策樹數(shù)目,接著對max_depth 和 min_weight 這兩項參數(shù)進行調(diào)優(yōu),使得AUC 值盡可能大,最后降低學(xué)習(xí)速率和增加決策樹數(shù)目。
圖2 XGBoost 模型的ROC 曲線Fig.2 ROC curve of XGBoost
圖3 LR 模型的ROC 曲線Fig.3 ROC curve of LR
表2是模型對應(yīng)的評價指標。從圖中可知,LR模型的擬合度較高,AUC(Area under roc Curve 指ROC 曲線下的面積大小,介于0.1 和1 之間,AUC作為數(shù)值可以直觀地評價模型的好壞)達到84%,且LR 模型對樣本分類預(yù)測正確的比例accuracy 比XGBoost 模型高,為95%,LR 模型對正例的預(yù)測能力precision 也比XGBoost 模型高,約為75%。可見在本文的數(shù)據(jù)場景下,XGBoost 模型對反例的預(yù)測能力更好。對于云服務(wù)網(wǎng)站的運營來說,更加關(guān)注正例,即那些預(yù)測到下個月復(fù)訪的用戶,這些用戶是忠誠度高的用戶群體[14],可以針對這些群體制定個性化的運營策略。使用何種評價指標,取決于應(yīng)用場景及分析人員的關(guān)注點,不同評價指標之間側(cè)重反映的信息不同。
表2 模型指標對比Table 2 Indicator of models
本文以真實的網(wǎng)站數(shù)據(jù)為驅(qū)動,對科技云門戶用戶的復(fù)訪行為進行預(yù)測研究。與其他相關(guān)研究中利用大量購物和評價數(shù)據(jù)不同,本文僅以商品添加入購物車之前大量的點擊和瀏覽商品行為構(gòu)建特征,并采用經(jīng)典的LR 模型和在提高模型的準確率上有巨大威力的XGBoost 模型對科技云用戶的行為數(shù)據(jù)進行訓(xùn)練。通過對比發(fā)現(xiàn),LR 模型在模型擬合度、預(yù)測樣本分類準確率、正例的預(yù)測能力上都優(yōu)于XGBoost 模型。
本文采用真實的網(wǎng)站數(shù)據(jù),其復(fù)訪用戶標簽數(shù)要少于不復(fù)訪用戶,這個數(shù)據(jù)特點,導(dǎo)致XGBoost模型的擬合度和預(yù)測能力不如LR 模型。但如果數(shù)據(jù)特點變化,結(jié)果也可能發(fā)生變化,因此下一階段可結(jié)合數(shù)據(jù)階段性的特點,采用模型融合的方法來解決單一模型可能的數(shù)據(jù)敏感問題,以實現(xiàn)對復(fù)訪用戶更準確的預(yù)測,以便進行更加精準的營銷,提高用戶留存率,提升網(wǎng)站運營收益。
利益沖突聲明
所有作者聲明不存在利益沖突關(guān)系。