陳思亦, 何利力, 鄭軍紅
(浙江理工大學 信息學院,杭州 310018)
近年來,隨著電子商務的飛速發(fā)展,人們的傳統(tǒng)購物消費習慣受到了巨大沖擊,市場環(huán)境也因此變得更加錯綜復雜,線下銷售呈現(xiàn)出日漸萎靡的趨勢. 而伴隨著“智慧門店”、“智慧快閃”、“智慧商圈”等全渠道新零售模式的出現(xiàn),零售商戶的線下業(yè)務開始融合數(shù)字化技術,加速了零售模式的商業(yè)轉型,出現(xiàn)回暖. 由于“智慧商圈”、手機天貓中“逛商圈”等的營銷模式及商業(yè)活動的推出,商圈作為企業(yè)營銷過程中的基礎環(huán)節(jié),發(fā)揮了重要作用. 因此面對海量數(shù)據(jù)下的企業(yè)信息處理,本文提出將商圈與傳統(tǒng)個性化推薦相結合,以滿足互聯(lián)網(wǎng)用戶和大數(shù)據(jù)環(huán)境下個人用戶精準營銷的要求,挖掘用戶潛在需求,進行面向用戶的商品智能個性化推薦.
目前商品推薦領域的研究已經(jīng)較為成熟,并能得到一定的推薦效果. 如在個性化推薦中基于用戶協(xié)同過濾算法的優(yōu)化,通過預先計算用戶相似度函數(shù),取出匹配最高的n個用戶的數(shù)據(jù)生成推薦,在推薦的計算速度上有著顯著提高[1]. 對于用戶消費行為信息的分析,采用用戶聚類的方法能有效解決協(xié)同過濾推薦的“稀疏性”問題. 而在缺少用戶消費行為信息的情況下,基于商品領域知識的交互式推薦系統(tǒng)的研究,能一定程度上解決推薦系統(tǒng)的冷啟動問題和隱私保存問題[2].除了協(xié)同過濾算法與基于知識的商品推薦,常見的個性化推薦算法還有基于內容的推薦[3]、基于關聯(lián)規(guī)則的推薦和混合推薦等[4]. 而在目前云計算與人工智能的發(fā)展應用下,以深度學習和神經(jīng)網(wǎng)絡為基礎的基于模型的推薦算法[5-7]逐漸成為了研究的熱點,但目前尚未成熟.
為避免目前常規(guī)推薦算法推薦質量差、推薦效率低等問題,本文提出基于商圈位置區(qū)域模型的商品推薦算法,主要包含4方面的研究. 1)通過對全域數(shù)據(jù)采集下的商戶訂單數(shù)據(jù)的分析,以商圈這一商業(yè)集群模式進行商品推薦領域劃分,基于地理位置特征建立商圈位置區(qū)域模型. 2)針對現(xiàn)有推薦算法,結合位置區(qū)域特征,提出引入了商圈位置區(qū)域模型的面向流行度的推薦算法與面向相似度的改進協(xié)同過濾算法,建立起浙江范圍內某一行業(yè)的商圈商品推薦模型. 3)進行模型參數(shù)調整,通過實驗結果分析與對比,驗證了基于商圈位置區(qū)域模型的推薦算法相比傳統(tǒng)推薦算法在推薦質量與推薦效率上的優(yōu)化. 4)應用商圈位置模型,提出以商圈相似性協(xié)同過濾算法為基礎的新品投放策略,在一定程度上加強企業(yè)對市場環(huán)境的預判與掌控.
原始數(shù)據(jù):本文所用的實驗數(shù)據(jù)采集于某行業(yè)營銷業(yè)務系統(tǒng),通過相關ETL過程從系統(tǒng)數(shù)據(jù)庫采集得到2017年所有商戶基本數(shù)據(jù)、訂單交易數(shù)據(jù)及商品基本數(shù)據(jù),并部署到數(shù)據(jù)庫內進行后續(xù)的分析研究.
實驗數(shù)據(jù):選取交易數(shù)據(jù)中浙江地區(qū)的25萬戶商戶的交易記錄作為實驗主要數(shù)據(jù)集,以1-10月的交易數(shù)據(jù)作為訓練集,11-12月數(shù)據(jù)作為測試集. 對數(shù)據(jù)集中商戶位置數(shù)據(jù)及交易位置數(shù)據(jù)中的文本地址,采用百度地圖API進行地理位置文本與經(jīng)緯度的轉換,便于后續(xù)的位置區(qū)域劃分. 實驗用到的商圈數(shù)據(jù)來源于美團全國城市商圈數(shù)據(jù)中的浙江省商圈數(shù)據(jù)(含777個商圈),相關樣本數(shù)據(jù)示例如表1所示.
表1 商圈數(shù)據(jù)示例
商圈作為一種特殊的商業(yè)集群模式,與零售商戶相輔相成,一個合適的商圈,能夠增強商店吸引力,擴大客戶群,同時強化規(guī)模優(yōu)勢,提高經(jīng)濟效益. 因此,如何建立一個合理的商圈位置模型直接關系著推薦結果的好壞. 早期商圈測評模型主要以區(qū)域(或城市)為單元,結合人口、距離、零售面積、經(jīng)濟環(huán)境、消費比例等因素,并進行實地考察來劃分區(qū)域邊界,但具有較高的實施成本,且考慮因素眾多,劃分結果較差. 近幾年,有不少學者考慮將空間聚類算法加入到商圈劃分中去,然而,常見的幾種傳統(tǒng)聚類算法在一定程度上均存在聚類結果不夠準確、時間復雜度較大的問題. 因此,有學者考慮將空間自相關算法、核密度估計算法等方法納入聚類算法中,以實現(xiàn)商圈的劃分. 其中,較為典型的有郝斌等人[8]提出的多維特征融合的商圈劃分方法,將K-means空間聚類算法、空間自相關算法和核密度估計等算法融入商圈模型中,但由于Kmeans算法的聚類結果主要取決于聚類中心的選取,無法保證其聚類個數(shù)能收斂至全局最優(yōu),使得在商圈區(qū)域劃分時需要多次設定該值,并從中選取最好結果,具有一定的時間復雜度且隨機性較大,在很大程度上影響商圈劃分結果.
為減少初始聚類中心對聚類結果帶來的影響,本文主要采用基于分區(qū)的DBSCAN聚類算法,算法主要思想是:只要聚類空間中相鄰區(qū)域數(shù)據(jù)樣本點的密度不小于一定閾值就繼續(xù)聚類,可將密度足夠大的相鄰區(qū)域進行連接,具有聚類速度快、有效處理噪聲點和發(fā)現(xiàn)任意形狀的空間聚類的優(yōu)點. 由于傳統(tǒng)DBSCAN算法在參數(shù)Eps和MinPts的選擇上存在不足[9],本文將結合核密度估計方法[10]進行改進,以實現(xiàn)參數(shù)的自適應選取.
本文通過將交易數(shù)據(jù)進行地圖投影,研究地域偏好差異與消費水平、消費習慣方面的關系,發(fā)現(xiàn)其能呈現(xiàn)明顯的地理位置特征[11],以此對市場進行位置區(qū)域劃分,劃定商圈范圍,建立商圈位置區(qū)域模型,進行以商圈為主體的商品推薦.
將商戶位置數(shù)據(jù)與某商品A的訂單交易數(shù)據(jù)在地圖上進行投影,得到關于商品A的交易情況熱力圖,如圖1所示,以紅色氣泡標記表示商戶位置,色彩渲染區(qū)域的顏色深淺表示商品A的交易分布情況,其中顏色越深表示交易越多,越淺表示越少.
圖1 某商品交易熱力圖示例
對商圈這一點、線、面三部分構成的地理區(qū)域[12],本文采用圓形過濾與DBSCAN密度聚類算法、核密度估計算法相結合的方法進行范圍劃定,首先以預處理下的浙江省商圈數(shù)據(jù)中的經(jīng)緯度數(shù)據(jù)為圓心,以3 km為半徑,劃定該圓的外切正方形為商圈范圍,搜索出初步商戶集合,劃定商圈搜索范圍. 并獲得最小經(jīng)度,最大經(jīng)度,最小緯度,最大緯度的四個頂點坐標,用以判斷商戶位置與商圈的關系. 然后進行離圓心點距離大于3 km的商戶的過濾,得到圓形過濾下的商戶集合,即初始商圈.
根據(jù)訂單中的商戶位置數(shù)據(jù)和交易數(shù)據(jù),結合圓形過濾方式下的初始商圈,并通過改進的DBSCAN密度聚類算法對商戶位置數(shù)據(jù)集中每個商戶點的Eps鄰域進行簇搜索,即利用核密度估計方法來確定每個初始商圈內的Eps和MinPts參數(shù),導出最大密度相連的商戶集合,實現(xiàn)對圓形過濾方式下的商圈商戶進行進一步去噪,保證同一商圈下商戶的相似性. 對劃分商圈過程中浙江省全域范圍下25萬商戶中未被包含在任何所劃定的商圈內的近8千戶商戶,以距離該商戶最近商圈的推薦列表進行推薦. 建立起商圈與商戶間的商圈位置區(qū)域模型.
基于商圈位置區(qū)域模型,結合商圈流行度,以商圈為關鍵字進行對商戶商品交易數(shù)據(jù)的聚類,考慮到時間因素對商品流行度的影響,采用以交易時間計算權值的方法來統(tǒng)計衡量每個商品在各商圈內的流行度,距離現(xiàn)在越近的交易所統(tǒng)計出的權重越高,越遠的權重越低. 具體計算每次交易權值的公式如下:
上述公式中的α為時間衰減參數(shù),用來調控時間參數(shù)對商戶興趣變化的影響; k指的是某商品的一次交易記錄; tk表示該交易記錄的完成時間; T為當前時間.
針對商圈流行度,按商品對時間加權后的所有交易進行統(tǒng)計,得到各商品的總權重,即為當前商圈內各個商品的最終流行度,按流行度排序計入各商圈的推薦列表. 具體計算商圈內某商品流行度的公示如下:
其中,u表示某個商圈; i表示在商圈u內有交易記錄的一個商品; k表示商品i的一次交易記錄.
通過上述時間衰減參數(shù)與商品權重的排序計量,根據(jù)商品在商圈內部的權重隨時間變化的趨勢有效反饋商圈商品流行度變化,建立起面向流行度的商品推薦算法(Business-circle Popularity Based Algorithm,BPA).
在面向商圈流行度的推薦算法中,采用的是將流行商品在商圈內進行推薦的方法,容易造成長尾效應,使流行商品一直在推薦列表中,而新商品難以得到推薦,導致推薦的商品存在新穎性和驚喜度不足的問題.為了解決這一困境,考慮商圈相似度因素,通過計算不同商圈之間的相似度,為目標商圈即當前被推薦的商圈推薦相似商圈中較為流行的商品,并過濾掉目標商圈中已經(jīng)交易過的商品,建立起面向商圈相似度的協(xié)同過濾算法(Business-circle Similarity Based Collaborative Filtering,BSCF),主要進行如下操作:
統(tǒng)計篩選每個商圈內的商品交易數(shù)據(jù),考慮時間上的流行度,計算各商圈內商戶同時對一些商品感興趣的程度,即先通過商品交易記錄結合其流行度來計算商圈內各商品之間的相似度. 再由所交易過的商品的相似度來計算商圈之間的相似度,從而將被預測商品與商圈中共同交易過的商品之間的相似性作為權重,代入計算商圈相似度的公式中:
其中,u為目標商圈,i為被預測的商品,sim(u,v)表示商圈u和商圈v之間的相似性,N(u)和N(v)分別表示商圈u和商圈v中有過交易記錄的商品集合. 其中sim(i,j)表示商品i與在商圈u和商圈v中均有交易記錄的商品j之間的相似性,計算公式如下:
其中,x表示某個與商品i和商品j均有過交易的商圈,N(i)和N(j)分別表示與商品i和商品j的有過交易的商圈集合,p(i)和p(j)分別表示商圈x中商品i和商品j的流行度.
對于推薦算法性能,一般采用準確率P、召回率R進行評價,但本文在實驗過程中發(fā)現(xiàn),準確率和召回率并不是完全正線性相關的,二者互有高低且表現(xiàn)在不同方面,因此本文還將采用Pazzani提出的調和平均數(shù)F值(F-measure)[13].
其中準確率P是指推薦正確的商品數(shù)目在總的推薦數(shù)目中的占比[12],對于以RecommendSet表示推薦集合,PurchaseSet表示交易商品種類數(shù)目集合,準確率P的計算公式如下所示:
召回率R是指推薦正確數(shù)目占總的購買種類數(shù)目的百分比[12],計算公式如下:
結合準確率和召回率的F值,能進行更全面的評價,計算公式如下:
3.2.1 時間衰減參數(shù)調整
時間衰減參數(shù)α在交易權重weight的計算中起關鍵作用,并直接影響商品在各商圈內的流行度,但由于α沒有特定取值范圍,不同取值在不同數(shù)據(jù)集、系統(tǒng)中都會產(chǎn)生不一樣的推薦效果. 因此,實際應用中需通過反復試驗來得到最優(yōu)值. 通過對面向商圈流行度的推薦算法進行實驗,設定推薦數(shù)量N=15,α在[0,0.09]之間,具體結果如表2所示. 其中,α=0時,算法將不考慮時間因素的影響.
表2 推薦數(shù)量N=15時,不同α下的準確率和召回率
由上表可知,面向商圈流行度的推薦算法在結合時間衰減參數(shù)的前提下會有更好的推薦準確率和召回率. 同時,當α=0.03時,效果最佳. 因此,本文將選取時間衰減參數(shù)α為0.03來進行后續(xù)的對比實驗.
3.2.2 實驗對比算法
在對比實驗中,選擇3種傳統(tǒng)推薦算法與本文的兩種基于商圈位置區(qū)域模型的推薦算法來進行性能上的比較. 對比算法如下:1) 基于用戶的協(xié)同過濾算法[14](User Based Collaborative Filtering,UCF),根據(jù)商戶的商品交易次數(shù)矩陣來計算商戶之間興趣相似度,找出目標商戶的最鄰近商戶集合進行推薦,并通過單值分解和聚類實現(xiàn)矩陣的降維,來緩解稀疏性問題; 2) 基于關聯(lián)規(guī)則的推薦算法[15](Association Rules Based Algorithm,ARA),通過改進的Apriori算法,來挖掘出數(shù)據(jù)之間所隱藏的潛在關系,為商戶推薦與其交易記錄關聯(lián)程度較高的商品; 3) 基于熱門商品的推薦算法(Popular Products Based Algorithm,PPA),將全域范圍下商戶交易數(shù)量最多的商品作為熱門商品進行推薦.
3.2.3 算法穩(wěn)定性分析
考慮不同的推薦數(shù)量對算法推薦質量的影響,進行算法穩(wěn)定性的研究. 本文將推薦數(shù)N依次設定為5,10,15,20,25進行實驗,發(fā)現(xiàn)隨著N的增加,各算法的準確率呈現(xiàn)出先升高后下降趨勢,召回率則一直保持上升,且在后期趨于平緩,而F值變化曲線表明,當N=15時,各算法的準確率和召回率之間均開始出現(xiàn)失衡. 因此,本實驗將選定N=15作為平衡準確率和召回率的臨界值. 具體結果如圖2-圖4所示.
圖2 準確率隨推薦數(shù)量變化
圖3 召回率隨推薦數(shù)量變化
圖4 F值隨推薦數(shù)量變化
由實驗可知,本文所提出的面向商圈流行度的推薦算法具有較好的推薦準確性,但由于將流行商品進行推薦,存在長尾效應,即其召回率和F值均較低. 而面向商圈相似度的協(xié)同過濾算法充分利用商戶位置數(shù)據(jù),結合商圈,在一定程度上增加了可用的推薦信息,使推薦準確率和召回率明顯優(yōu)于其他幾種算法,具有良好的穩(wěn)定性. 并且該算法還緩解了冷啟動問題,針對可用信息較少,興趣特征難以提取的商戶也可提供較為準確的推薦,對比其他推薦算法,面向商圈相似度的協(xié)同過濾算法具有明顯的推薦優(yōu)勢.
3.2.4 算法應用與分析
企業(yè)3月份針對某款新品在浙江省內進行為期6個月的投放試驗,并在基于商圈位置區(qū)域模型的基礎上采用基于商圈相似度的協(xié)同過濾算法來改進傳統(tǒng)的新品投放策略,以增強該規(guī)格新品與目標群體、零售商戶所在商圈的消費群體匹配程度,從而提高新品在消費者中的關注度與接受度. 具體投放策略流程如下:
1) 按商品的品牌規(guī)格定位搜尋出與投放新品最為相似的商品;
2) 根據(jù)相似商品,找出5個具有該新品最高流行度的商圈,記為A組商圈;
3) 通過商圈相似度,搜尋出10個與A組商圈最為相似的商圈,記為B組商圈;
4) 為驗證A,B兩組商圈針對所投放的新品具有一定的投放意義,通過傳統(tǒng)投放策略,即通過銷量、結構或者檔位進行排序,擇優(yōu)選取50名零售戶,進行對比實驗,記為C組;
5) 分別從A、B兩組商圈中隨機選擇50個零售戶作為投放戶,與C組一起進行新品的等量投放試驗,統(tǒng)計各組商圈在每個月份針對所投放的新品的銷量,繪制銷量趨勢圖,如圖5所示.
圖5 新品投放效益對比圖
可以發(fā)現(xiàn),經(jīng)過6個月的新品投放試驗,A、B兩組商圈每個月的新品銷量明顯高于C組,因此,該新品投放方法具有較好的投放效果. 并且,該基于商圈相似度的新品投放策略已在今年8月在全國范圍內正式部署,具有較好的投放效益.
本文通過建立商圈位置區(qū)域模型,將地理位置信息作為重要特征數(shù)據(jù)納入推薦算法,有效彌補了傳統(tǒng)推薦算法中地理位置或區(qū)域信息因素缺失的缺陷. 相較于其他基于模型的推薦算法,引入商圈作為市場劃分的標準,并進行分區(qū)推薦,增強了市場擬合度,使得推薦更具有市場針對性和可靠性. 對于所提出的兩種基于商圈位置區(qū)域模型的推薦算法:面向商圈流行度的推薦算法和面向商圈相似度的協(xié)同過濾算法,本文在實驗過程中采用Spark進行算法計算效率加速[12,16,17].實驗結果表明,基于商圈位置區(qū)域模型的推薦算法相較于傳統(tǒng)推薦算法,具有較好的推薦準確率,可以一定程度地緩解冷啟動問題. 而面向商圈相似度的協(xié)同過濾算法通過推薦相似商圈中的流行商品,很好地提高了推薦結果的新穎性和驚喜度,避免了長尾效應的產(chǎn)生,在保證推薦準確率的前提下,具有良好的穩(wěn)定性.
下一階段,將繼續(xù)對基于商圈位置區(qū)域模型的推薦算法進行研究,并從商圈范圍劃分、數(shù)據(jù)指標的設定、計算效率的提升等幾方面改進算法及實驗,提高商品的推薦準確率,滿足用戶個性化商品推薦的需求.