個人 O2O 優(yōu)惠券預(yù)測分析
DOI:10.16667/j.issn.2095-1302.2019.12.020
引 言
本課題基于商業(yè) O2O 優(yōu)惠券發(fā)放問題與機器學(xué)習(xí)相結(jié)合,使用經(jīng)過特征提取的往期數(shù)據(jù)訓(xùn)練數(shù)學(xué)模型,通過訓(xùn)練好的數(shù)學(xué)模型對優(yōu)惠券核銷二分類問題進(jìn)行精準(zhǔn)預(yù)測。隨機投放優(yōu)惠券這種行為方式不僅會對無需求的用戶造成無意義的干擾,還可能致使商家品牌聲譽降低、營銷成本增高。個性化投放是提高優(yōu)惠券核銷率的重要技術(shù) [1],利用該技術(shù)不僅可以讓具有一定偏好的消費者從中獲利,同時還可以使商家獲得更好的營銷效果。數(shù)據(jù)來源于天池大數(shù)據(jù)比賽《生活大實惠 :O2O 優(yōu)惠券使用預(yù)測》,比賽提供 O2O 相關(guān)場景的豐富數(shù)據(jù),通過分析建模,精準(zhǔn)預(yù)測用戶是否會在規(guī)定時間內(nèi)使用相應(yīng)優(yōu)惠券。
1 研究背景及意義
O2O 是 Online To Offline(在線離線 / 線上線下)的簡稱,是將線下商業(yè)機會與線上平臺相結(jié)合的一種電商發(fā)展方式 [2],將線上平臺作為線下消費的前站。為了吸引互聯(lián)網(wǎng)用戶在線上瀏覽商業(yè)信息,商家采取發(fā)送優(yōu)惠券(團(tuán)購,如GroupOn)、提供優(yōu)惠信息、服務(wù)(預(yù)定,如 Opentable)等方式吸引顧客 [3]。線下商店推送的消息會被互聯(lián)網(wǎng)用戶收到,從而增大網(wǎng)民轉(zhuǎn)化為自家店鋪線下消費者的幾率。同時店鋪的線下服務(wù)可以用于線上攬客,消費者又可以從線上平臺篩選線下服務(wù),并在線結(jié)算,店鋪能夠很快達(dá)到規(guī)模 [4]。該模式最重要的特點是推廣效果可觀,交易流水可跟蹤。O2O 作為下一代新興電子商務(wù)模式,其使命是把電子商務(wù)的效力引入目前消費中占比 90% 以上的本地消費中去 [5-6]。除此之外,線上與線下的對接將打破電商、店商擠兌份額的競爭格局,兩者將化敵為友,相互彌補、相互促進(jìn),并且使整體消費市場迎來一個全新發(fā)展的局面。
2 研究現(xiàn)狀
很多學(xué)者對消費預(yù)測問題進(jìn)行了研究, 例如 Zhu Zhenfeng等(2018)基 于 傳 統(tǒng) GBDT(GradientBoosting DecisionTree)算法,提出了一種具有層次化集成的改進(jìn)預(yù)測模型(HGBDT)。該模型通過分析往期商品數(shù)據(jù)來預(yù)測商品未來的銷售趨勢 [7]。Jain(2017)等通過使用 XGBoost(eXtremeGradientBoosting)模型來預(yù)測和估計歐洲主要藥店的零售額。與傳統(tǒng)的回歸算法相比,XGBoost模型算法性能優(yōu)于傳統(tǒng)的建模方法 [8]。國內(nèi)學(xué)者郭倩(2018)對農(nóng)村人均生活消費進(jìn)行預(yù)測,運用 BP神經(jīng)網(wǎng)絡(luò)對農(nóng)村居民的人均消費支出進(jìn)行分析,結(jié)合數(shù)據(jù)擬合和精度檢驗,對農(nóng)村居民未來三年的生活消費支出進(jìn)行預(yù)測 [9]。學(xué)者魏艷華(2015) 通過對甘肅省農(nóng)村居民在 1978~2011年中支出與收入的數(shù)據(jù)進(jìn)行分析,建立以 ARIMAX模型為基礎(chǔ)的消費支出預(yù)測模型,通過此模型對甘肅省農(nóng)村居民未來一年的消費支出進(jìn)行了預(yù)測研究 [10]。Qiumei Pu 使用 XGBoost 模型對陜西省氣象干旱情況進(jìn)行預(yù)測,分別以人工神經(jīng)網(wǎng)絡(luò)算法和 XGBoost算法構(gòu)建數(shù)學(xué)模型,預(yù)測結(jié)果表明 XGBoost 模型比 DLNM和人工神經(jīng)網(wǎng)絡(luò)能更精確地預(yù)測 SPEI[11]。Junqi Guo 等學(xué)者在研究青少年身體體質(zhì)情況時,使用 XGBoost 算法對每個青年的身體健康水平進(jìn)行分類,并通過貝葉斯優(yōu)化自適應(yīng)調(diào)整參數(shù)。實驗結(jié)果表明,該模型不僅比現(xiàn)有參考模型具有更高的評估精度,相較于傳統(tǒng)的經(jīng)驗?zāi)P?,通過 XGBoost 模型可以更好地為未來青少年的體質(zhì)評估提供有效的解決方案 [12]。
由上述論述可知,邏輯回歸、GBDT 及 XGBoost 模型早已被用于實際應(yīng)用中,很多學(xué)者在各領(lǐng)域中的研究均使用了這幾種模型和兩兩融合后的模型,預(yù)測效果得到顯著提升。在商品預(yù)測領(lǐng)域,這些模型在顧客行為和數(shù)據(jù)挖掘競賽中得到了深度使用 [13]。將數(shù)學(xué)模型引入實際問題進(jìn)行分析研究已成為預(yù)測產(chǎn)業(yè)發(fā)展走向的一種新的研究方式,并且在實際預(yù)測中得到了驗證[14]。
3 研究路線
本文利用天池大數(shù)據(jù)眾智平臺賽題《生活大實惠 :O2O 優(yōu)惠券使用預(yù)測》中的真實消費者行為數(shù)據(jù)進(jìn)行研究的步驟如下 :
(1)對原始數(shù)據(jù)集中的字段進(jìn)行解釋、數(shù)據(jù)探查、數(shù)據(jù)處理等操作。
(2)利用特征工程對線下消費和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集構(gòu)造提取出用戶(User)、商家(Merchan)、優(yōu)惠券(Coupon)、用戶 - 商家(User-Merchan)、其他特征(Other)等五大特征群,共 96個特征值的線下特征集,再利用特征工程對用戶線上點擊 / 消費和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集構(gòu)造提取出 13 個用戶(User)特征值的線上特征集。
(3)通過線下特征集共 96個特征值及線上和線下特征集共 109 個特征值,構(gòu)建兩組不同的預(yù)測模型。
研究流程如圖 1 所示。
4 數(shù)據(jù)處理
4.1 數(shù)據(jù)介紹
根據(jù)天池大數(shù)據(jù)眾智平臺賽題《生活大實惠 :O2O優(yōu)惠券使用預(yù)測》提供的相關(guān)真實消費數(shù)據(jù) :2016年 1月 1日至 2016年 6月 30日,O2O場景相關(guān)的消費者線上和線下發(fā)生行為數(shù)據(jù),通過訓(xùn)練模型預(yù)測 2016 年 7 月 1 日至 2016 年7 月 31 日消費者領(lǐng)取優(yōu)惠券后 15 天內(nèi)優(yōu)惠券的核銷情況。
模型預(yù)測結(jié)果的評判標(biāo)準(zhǔn) :使用數(shù)學(xué)模型對優(yōu)惠券預(yù)測的概率值取平均 AUC 值。
賽題共提供 4 個數(shù)據(jù)集,分別對 4 個數(shù)據(jù)集進(jìn)行數(shù)據(jù)分析。
用戶線下消費和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集(后面稱為線下數(shù)據(jù)集)中共有 1 754 884 條消費者行為數(shù)據(jù),其中1 053 282 條數(shù)據(jù)對優(yōu)惠券有操作行為,包含 539 438 個用戶,8 415 個商家,9 738 種優(yōu)惠券,消費者領(lǐng)取優(yōu)惠券的日期為2016 年 1 月 1 日至 2016 年 6 月 15 日,消費者的消費日期為2016 年 1 月 1 日至 2016 年 6 月 30 日。
用戶線上點擊 / 消費和優(yōu)惠券領(lǐng)取行為數(shù)據(jù)集(后面稱為線上數(shù)據(jù)集)中共有 11 429 826 條數(shù)據(jù),其中 872 357 條數(shù)據(jù)有優(yōu)惠券 ID,表明消費者對優(yōu)惠券有操作行為,線上數(shù)據(jù)集中含 762 858 個用戶(其中 267 448 用戶在線下集)。
用戶 O2O 線下優(yōu)惠券使用預(yù)測集(后面稱為預(yù)測集)中包含 2 050 種優(yōu)惠券,領(lǐng)取日期為 2016 年 7 月 1 日至2016 年 7 月 31 日,有 76 309 個用戶(其中 76 307 個在線下數(shù)據(jù)集,35 965 個在線上數(shù)據(jù)集,線上與線下數(shù)據(jù)集中存在用戶交叉),1 559 家商鋪(其中 1 558 家在用戶線下數(shù)據(jù)集)。
預(yù)測集提交字段和字段說明,選手提交文件字段。其 中 use_id,coupon_id 與 date_received 均來自數(shù)據(jù)集,Probability 字段為通過機器學(xué)習(xí)建立數(shù)學(xué)模型預(yù)測得到的預(yù)測值。
4.2 特征工程
“數(shù)據(jù)決定了機器學(xué)習(xí)的上限,而算法只是盡可能逼近這個上限”[15],這句話中數(shù)據(jù)的含義是對原始數(shù)據(jù)經(jīng)特征工程轉(zhuǎn)換和處理等一系列操作而得到的數(shù)據(jù)。特征工程流程如圖 2 所示。
圖 3 所示為特征群分布情況。
5 算法介紹
本文所使用的算法為邏輯規(guī)模,GBDT,XGBoost。
5.1 邏輯回歸
Logistic回歸是一種廣義線性回歸(GeneralizedLinear Model),它是一個分類算法而不是回歸算法[16]。其核心思想是 :線性回歸的輸出結(jié)果是一個連續(xù)且范圍無法確定的值,如果 出現(xiàn)需要利用結(jié)果值映射為判斷結(jié)果的情況,并且輸出結(jié)果 是一個概率值,則可通過 Sigmoid 函數(shù)確定,所以 Logistic 函數(shù)又稱 Sigmoid 函數(shù)。Sigmoid函數(shù)曲線如圖 4所示。
圖 4 Sigmoid 函數(shù)曲線
通常情況下,將一個已知的自變量預(yù)測成一個離散型因變量的值(如二進(jìn)制值 0/1,對 / 錯,男 / 女)??煽紤]利用邏輯函數(shù)(logit fuction)建立的數(shù)學(xué)模型對事件發(fā)生的概率進(jìn)行計算,得到一個預(yù)估值。而該預(yù)估值一般為概率值,因此輸出結(jié)果值在 0 ~ 1 范圍內(nèi)。
5.2 GBDT
GBDT(Gradient Boosting Decision Tree)是一種基于迭代構(gòu)造的決策樹算法,該算法是將決策樹賦予集成算法思想得到的一種數(shù)學(xué)模型?;貧w決策樹、Gradient Boosting 與縮減共同組成了 GBDT 模型 [1]。
5.2.1 回歸決策樹
GBDT 模型中的決策樹為回歸決策樹,而非分類決策樹。回歸決策樹可預(yù)測數(shù)值,如員工薪金、大樹高度等,對回歸樹得到的數(shù)值進(jìn)行加減計算是有意義的,例如 12 歲 +4 歲 -4 歲 =12 歲,而這也是回歸樹區(qū)別于分類樹的一個顯著特征。GBDT 正是利用回歸樹得到數(shù)值的性質(zhì),匯總所有樹的結(jié)果, 從而輸出最終結(jié)果。
5.2.2 梯度上升
“Boosting”意為迭代,迭代多棵樹對結(jié)果值進(jìn)行共同決策 [17]。采用弱學(xué)習(xí)器的結(jié)論進(jìn)行綜合評判,進(jìn)而得到 GBDT模型。整個過程采用增量思想對每個弱學(xué)習(xí)器進(jìn)行累加。
5.2.3 縮減
縮減(Shrinkage)的思想 :逐漸逼近實際結(jié)果值,該操作方式比快速逼近結(jié)果值的方式更容易降低出現(xiàn)過擬合的概率。因為每一個殘差弱學(xué)習(xí)器只學(xué)到了真理的一小部分,并且都有可能出現(xiàn)過擬合現(xiàn)象,但在這個學(xué)習(xí)過程中增加弱學(xué)習(xí)器的數(shù)量,使用多個弱學(xué)習(xí)器進(jìn)行學(xué)習(xí)可以彌補上述不足。
5.3 XGBoost
GBDT 算法的運行往往要生成一定數(shù)量的樹才能達(dá)到令人滿意的準(zhǔn)確率。當(dāng)面對的數(shù)據(jù)集結(jié)果較為龐大且復(fù)雜時, 可能需要進(jìn)行上千次迭代運算,還會造成一定的計算瓶頸, 并增加計算空間的消耗。華盛頓大學(xué)的陳天奇博士研發(fā)出的XGBoost(eXtreme Gradient Boosting)解決了這一技術(shù)難點, 此算法基于Gradient Boosting Machine 框架,并使用c++ 實現(xiàn), 從而極大地提升了模型訓(xùn)練速度和預(yù)測精度 [18]。
XGBoost 是一個優(yōu)化的分布式梯度增強庫,作為 GBDT 模型的升級版,集高效性、靈活性和便攜性等特點于一身。利用 XGBoost 模型可以在較短周期內(nèi)解決數(shù)據(jù)科學(xué)問題,得到較高精度的實驗結(jié)果。利用 XGBoost 算法構(gòu)建的數(shù)學(xué)模型單臺機運行速度比當(dāng)下使用的數(shù)學(xué)模型訓(xùn)練速度快十倍以上,并且當(dāng)分布式模式或內(nèi)存設(shè)置需要限制時仍可獲得較為準(zhǔn)確的實驗結(jié)果。
6 實驗結(jié)果6 實驗結(jié)果
6.1 評判標(biāo)準(zhǔn)
在一些二分類問題中給出預(yù)測結(jié)果的同時也會給出相應(yīng)的預(yù)測概率,例如假定 0.6 為正確的判定閾值,那么若預(yù)測概率大于 0.7,則判定為正確值,否則為錯誤值 ;若閾值降低到 0.5,則可以判斷出更多的正確值。數(shù)據(jù)中正確數(shù)占比提高的同時,也導(dǎo)致實際為真實值但判定為錯誤值的數(shù)量的升高。為了直觀表示該變化,引入 ROC(Receiver Operating Characteristic Curve)。ROC 曲線的橫坐標(biāo)為 FPR,縱坐標(biāo)為 TPR,ROC 曲線下的面積即為 AUC[19]。
6.2 實驗結(jié)果分析
通過提取特征數(shù)量和不同模型兩個角度總結(jié)實驗。
6.2.1 從特征數(shù)量分析實驗結(jié)果
通過圖 5 可以看到,邏輯回歸、GBDT+ 邏輯回歸融合模型、XGBoost 單模型僅含受線下特征集訓(xùn)練后的預(yù)測效果, 沒有經(jīng)線下和線上特征訓(xùn)練后模型的預(yù)測效果好。說明特征數(shù)量適量增加可以提升數(shù)學(xué)模型的預(yù)測能力和實驗效果。
6.2.2 從模型的角度分析實驗結(jié)果
經(jīng)過線上和線下特征模型訓(xùn)練,XGBoost 模型的預(yù)測效果最好,GBDT+ 邏輯回歸模型的效果次之,邏輯回歸模型的預(yù)測效果相對較差。在經(jīng)線下模型的特征模型訓(xùn)練后,GBDT+ 邏輯回歸模型的預(yù)測效果最好,XGBoost 模型的預(yù)測效果次之,邏輯回歸模型的預(yù)測效果相比較差。說明先利用訓(xùn)練完成的 GBDT 模型輸出邏輯回歸模型訓(xùn)練所需要的實驗結(jié)果和實驗結(jié)果值,再將這些實驗結(jié)果和實驗結(jié)果值作為訓(xùn)練邏輯回歸模型的特征值輸入到邏輯回歸模型中進(jìn)行學(xué)習(xí)后,預(yù)測效率得到明顯提高。但總體來說,GBDT+ 邏輯回歸,XGBoost 模型對此課題的預(yù)測有較好的準(zhǔn)確性和穩(wěn)定性。并且使用 GBDT+ 邏輯回歸模型比傳統(tǒng)邏輯回歸模型有更好的預(yù)測效果、更高的預(yù)測精度。GBDT+ 邏輯回歸,XGBoost模型是比較理想的消費預(yù)測研究模型。圖 6 所示為不同模型對比預(yù)測集提交測試 AUC 值。
7 結(jié) 語
本論文研究基于簡單的集成模型,以 O2O 優(yōu)惠券為數(shù)據(jù)載體對消費者領(lǐng)取優(yōu)惠券(15 天內(nèi))后對優(yōu)惠券是否核銷進(jìn)行了精確預(yù)測。采用簡單的集成學(xué)習(xí)模型預(yù)測用戶在領(lǐng)取優(yōu)惠券后 15 天內(nèi)的使用情況。
除此之外,對于大量往期數(shù)據(jù),實際數(shù)據(jù)中無實際特征可直接使用,但這些數(shù)據(jù)中含有大量可以提取的特征,所以如何科學(xué)合理地利用應(yīng)用特征工程是一個重點問題。如果沒有合理的特征工程,將極大地限制數(shù)學(xué)模型預(yù)測精度的提高。
在科技越來越發(fā)達(dá)的今天,數(shù)學(xué)模型已被大量用于醫(yī)療、餐飲、工業(yè)等領(lǐng)域,比如在醫(yī)學(xué)中使用數(shù)學(xué)模型對人體檢測數(shù)據(jù)進(jìn)行掃描,使用數(shù)學(xué)模型預(yù)測餐飲店中的消費人數(shù)等。通過這種方式,精確預(yù)測行業(yè)運營及行業(yè)日常的管理對于后期事物的良性發(fā)展具有重要意義。