高榮 孫忱
[摘 要]為實(shí)現(xiàn)針對(duì)具體規(guī)格產(chǎn)品和具體零售戶的細(xì)粒度的精準(zhǔn)投放,提出了一種基于協(xié)同過濾推薦系統(tǒng)技術(shù)的面向零售戶的分規(guī)格銷量預(yù)測(cè)模型——SPM-CF模型,創(chuàng)新了將推薦系統(tǒng)技術(shù)應(yīng)用于傳統(tǒng)零售領(lǐng)域而非電商領(lǐng)域的方法,研究了銷量-評(píng)分變換的算法以解決不同規(guī)模的零售戶之間如何比較分析的問題。使用本地零售戶訂單數(shù)據(jù)進(jìn)行離線測(cè)試,驗(yàn)證了該模型的有效性,闡述了該模型適用于已在部分地區(qū)充分推廣的規(guī)格,在新的地區(qū)投放的選點(diǎn)策略問題,并分析了下一步的研究方向。
[關(guān)鍵詞]精準(zhǔn)營銷;推薦系統(tǒng);預(yù)測(cè)
1 引言
隨著互聯(lián)網(wǎng)的迅速發(fā)展,個(gè)性化推薦系統(tǒng)被越來越多地運(yùn)用到各種網(wǎng)站和電子商務(wù)系統(tǒng)中,它不需要用戶提出明確的需求,而是通過分析用戶的歷史行為給用戶的興趣建模,從而主動(dòng)給用戶推薦能夠滿足他們興趣和需求的信息[1]。推薦系統(tǒng)主要有推薦和預(yù)測(cè)兩類應(yīng)用,協(xié)同過濾算法是最重要推薦系統(tǒng)技術(shù)之一,其原理是根據(jù)用戶或項(xiàng)目的相似性來推薦或預(yù)測(cè)當(dāng)前用戶沒有過行為的但是很可能會(huì)感興趣的信息[2]。
推薦系統(tǒng)這種針對(duì)用戶個(gè)性來進(jìn)行推薦營銷的模式就是一種非常成功的精準(zhǔn)營銷,例如亞馬遜利用其商品到商品的協(xié)同過濾推薦系統(tǒng)[3]獲得了20%~30%的銷售[2]。但是目前推薦系統(tǒng)的主要應(yīng)用集中在電子商務(wù)、電影和視頻、音樂、社交網(wǎng)絡(luò)、閱讀、基于位置的服務(wù)、個(gè)性化郵件和廣告等互聯(lián)網(wǎng)相關(guān)領(lǐng)域[1],對(duì)于主要通過實(shí)體零售點(diǎn)來與客戶打交道的傳統(tǒng)渠道銷售來說,就目前所知,推薦系統(tǒng)技術(shù)還基本沒有涉足。
2 問題定義和相關(guān)研究
2.1 針對(duì)零售點(diǎn)的精準(zhǔn)營銷預(yù)測(cè)問題
精準(zhǔn)營銷是通過定量和定性相結(jié)合的方法對(duì)目標(biāo)市場(chǎng)的不同消費(fèi)者進(jìn)行細(xì)致分析,根據(jù)他們不同的消費(fèi)心理和行為特征,企業(yè)采用有針對(duì)性的現(xiàn)代技術(shù)、方法和指向明確的策略,實(shí)現(xiàn)對(duì)目標(biāo)市場(chǎng)不同消費(fèi)者群體強(qiáng)有效性、高投資回報(bào)的營銷溝通[3]。即使在互聯(lián)網(wǎng)極速發(fā)展的今天,絕大部分生產(chǎn)企業(yè)依然是依靠傳統(tǒng)零售渠道作為其主要營銷方式。不同的零售點(diǎn)由于地理位置、環(huán)境的不同,其面向的消費(fèi)人群和消費(fèi)特性也必然不同。若能預(yù)測(cè)出每個(gè)零售點(diǎn)面向的客戶群對(duì)不同產(chǎn)品系列的喜好和需求程度,企業(yè)就可以針對(duì)性地開展產(chǎn)品推廣或促銷等營銷活動(dòng),以滿足不同客戶群的特征需要,同時(shí)也有助于做出更精準(zhǔn)的產(chǎn)品計(jì)劃。
2.2 協(xié)同過濾
推薦系統(tǒng)要解決的問題一般有TopN推薦問題和評(píng)分預(yù)測(cè)問題[1],兩者的基本原理和方法是類似的,這里主要討論評(píng)分預(yù)測(cè)問題,用戶對(duì)自己接觸過的項(xiàng)目按照喜好程度進(jìn)行了評(píng)分,推薦系統(tǒng)需要預(yù)測(cè)出用戶對(duì)那些他還未接觸過的項(xiàng)目的可能評(píng)分,協(xié)同過濾技術(shù)被用來解決這個(gè)問題。
協(xié)同過濾已經(jīng)成為推薦系統(tǒng)研究和應(yīng)用最廣泛的技術(shù),其中最常用的是基于鄰域的算法,最早提出的是基于用戶的協(xié)同過濾,其原理是當(dāng)兩個(gè)用戶在共同評(píng)價(jià)的項(xiàng)目上具有相同或相近的評(píng)分時(shí),就認(rèn)為兩者具有相似的興趣,把與某用戶具有相似興趣的用戶群稱為該用戶的領(lǐng)域,在預(yù)測(cè)該用戶對(duì)某未評(píng)分項(xiàng)目的評(píng)分時(shí),使用其領(lǐng)域用戶對(duì)該項(xiàng)目的評(píng)分來進(jìn)行推薦[4]。但是由于在實(shí)際中,項(xiàng)目數(shù)往往遠(yuǎn)低于用戶數(shù),且比較穩(wěn)定,故提出了基于項(xiàng)目的協(xié)同過濾(記為Item-CF)并得到了更多應(yīng)用[3][5-6]?;陧?xiàng)目的算法通過找出與某項(xiàng)目最相似的K個(gè)項(xiàng)目(稱為kNN鄰域)來估計(jì)沒有對(duì)該項(xiàng)目做過評(píng)分的用戶的可能評(píng)分。
3 基于協(xié)同過濾的精準(zhǔn)營銷預(yù)測(cè)模型SPM-CF
3.1 SPM-CF模型概述
SPM-CF模型將零售點(diǎn)的產(chǎn)品銷量對(duì)應(yīng)于推薦問題的評(píng)分。由于零售點(diǎn)是根據(jù)產(chǎn)品的銷售效果采購貨物的,所以從企業(yè)易于獲取數(shù)據(jù)的角度考慮,也可以使用零售點(diǎn)采購產(chǎn)品的訂單數(shù)量看作產(chǎn)品的銷量。由于不同零售點(diǎn)的銷售規(guī)模有很大差別,其原始銷量數(shù)據(jù)沒有一個(gè)統(tǒng)一的基準(zhǔn),而推薦評(píng)分是需要一個(gè)一致的評(píng)分標(biāo)準(zhǔn),即不同用戶的評(píng)分區(qū)間是相同的(例如MovieLens數(shù)據(jù)集的評(píng)分區(qū)間為1~5分的整數(shù)),因此SPM-CF模型需要處理的最重要的一個(gè)問題就是定義一個(gè)變換(稱為銷量-評(píng)分變換),將銷量映射至統(tǒng)一的評(píng)分區(qū)間。使用協(xié)同過濾算法計(jì)算出評(píng)分估計(jì)后,再通過評(píng)分-銷量逆變換得到銷售問題所需的銷量預(yù)測(cè)。SPM-CF模型如圖1所示。
由于開展?fàn)I銷活動(dòng)需要大量成本,選擇最合適的零售點(diǎn)-產(chǎn)品來針對(duì)性進(jìn)行產(chǎn)品推廣部署,就可以在節(jié)約成本的同時(shí)取得更好的營銷效果。于是,使用SPM-CF模型解決銷售預(yù)測(cè)問題的意義在于,通過訓(xùn)練成熟零售點(diǎn)得到協(xié)同過濾推薦模型,來計(jì)算不成熟零售點(diǎn)對(duì)產(chǎn)品的銷售預(yù)測(cè),從而選擇銷售成績可能更好的零售點(diǎn)來開展?fàn)I銷活動(dòng),實(shí)現(xiàn)精準(zhǔn)營銷。
3.2 銷量-評(píng)分變換與評(píng)分-銷量逆變換
銷量-評(píng)分變換的目的是將不同零售點(diǎn)數(shù)額大小不等的產(chǎn)品銷量映射至一個(gè)相同的評(píng)分區(qū)間,或者擁有相同的評(píng)分分布,以使其相互之間具有可度量的性質(zhì)。設(shè)計(jì)相對(duì)總銷量百分比的變換、相對(duì)最大銷量百分比的變換和標(biāo)準(zhǔn)正態(tài)變換三類變換,每類變換又可分為基于產(chǎn)品的變換和基于零售點(diǎn)的變換兩種。
設(shè)零售點(diǎn)u對(duì)已銷售產(chǎn)品i的銷量為sui,零售點(diǎn)v對(duì)未銷售產(chǎn)品j的銷量預(yù)測(cè)為s^vj,則幾種變換和逆變換的詳細(xì)說明如下。
3.2.1 相對(duì)總銷量百分比的變換
零售點(diǎn)u對(duì)已銷售產(chǎn)品i的基于產(chǎn)品的評(píng)分變換(記為ITotal)取值為該零售點(diǎn)對(duì)該產(chǎn)品的銷量在該產(chǎn)品總銷量中的百分比,即
3.2.2 相對(duì)最大銷量百分比的變換
零售點(diǎn)u對(duì)已銷售產(chǎn)品i的基于產(chǎn)品的評(píng)分變換(記為IMax)取值為該零售點(diǎn)對(duì)該產(chǎn)品的銷量在該產(chǎn)品最大單點(diǎn)銷量中的百分比,變換和銷量預(yù)測(cè)的逆變換如下所示:
rui=suimaxv∈U{svi}×100%,s^vj=(r^vjmaxu∈U{suj})/100%(4)
同理,基于零售點(diǎn)的最大銷量百分比變換(記為UMax)和逆變換如下:
rui=suimaxj∈I{suj}×100%,s^vj=(r^vjmaxi∈I{svi})/100%(5)
3.3 銷量預(yù)測(cè)算法流程和評(píng)價(jià)標(biāo)準(zhǔn)
計(jì)算零售點(diǎn)v對(duì)產(chǎn)品j的銷量預(yù)測(cè)的算法流程描述如下:
(1)選擇一種銷量-評(píng)分變換,對(duì)所有已知銷量的零售點(diǎn)-產(chǎn)品對(duì)計(jì)算其相應(yīng)的評(píng)分;
(2)選擇一種協(xié)同過濾算法,根據(jù)內(nèi)容(1)計(jì)算出來的已知評(píng)分,計(jì)算v對(duì)j的評(píng)分估計(jì);
(3)對(duì)內(nèi)容(2)所計(jì)算出來的評(píng)分估計(jì),使用內(nèi)容(1)選擇的銷量-評(píng)分變換的逆變換,得到v對(duì)j的銷量預(yù)測(cè)。
SPM-CF模型定義一個(gè)銷量絕對(duì)平均誤差SMAE作為銷量預(yù)測(cè)問題的評(píng)價(jià)標(biāo)準(zhǔn),SMAE的定義如下:
SMAE的值越小,預(yù)測(cè)模型的效果越好。
4 實(shí)驗(yàn)結(jié)果及分析
對(duì)不同的模型和數(shù)據(jù)集,不同協(xié)同過濾算法的效果也有所不同。在MovieLens數(shù)據(jù)集[7]上獲得的效果,在其他類型數(shù)據(jù)集上可能不一樣,甚至完全相反[8]。因此,對(duì)于本文定義的銷售預(yù)測(cè)模型,需要使用一組真實(shí)的營銷數(shù)據(jù)來進(jìn)行離線實(shí)驗(yàn),以測(cè)試采用不同的變換和協(xié)同過濾算法的實(shí)際效果。
4.1 實(shí)驗(yàn)數(shù)據(jù)集
本文使用某年南寧市(地區(qū))某產(chǎn)品零售戶的訂單數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)集。訂單數(shù)量可以直接反映出產(chǎn)品銷量,故訂單數(shù)據(jù)可以作為精準(zhǔn)營銷預(yù)測(cè)問題的典型實(shí)驗(yàn)數(shù)據(jù)。
為使實(shí)驗(yàn)數(shù)據(jù)體現(xiàn)成熟零售點(diǎn)的預(yù)測(cè)效果,對(duì)原始數(shù)據(jù)集進(jìn)行一定處理篩選,篩選后的數(shù)據(jù)集每零售戶至少銷售20種牌號(hào),每牌號(hào)至少有100個(gè)零售戶銷售,則數(shù)據(jù)集中還有23522個(gè)零售戶,166個(gè)牌號(hào),共1087215條銷售記錄,平均每戶每牌號(hào)銷量54.6,最大單戶單牌號(hào)銷量44816,數(shù)據(jù)稀疏度為72.2%。
通過隨機(jī)選擇將數(shù)據(jù)集劃分為相互正交的訓(xùn)練集和測(cè)試集,訓(xùn)練集包含80%的數(shù)據(jù),測(cè)試集包含20%的數(shù)據(jù),為防止過擬合,劃分了5組訓(xùn)練集和測(cè)試集來進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果是5組分別實(shí)驗(yàn)的平均值。
4.2 實(shí)驗(yàn)結(jié)果
為與SPM-CF模型的預(yù)測(cè)結(jié)果作比較,首先考慮另外兩個(gè)常用的簡(jiǎn)單模型,即基于產(chǎn)品的平均值預(yù)測(cè)(記為IAvg)和基于零售點(diǎn)的平均值預(yù)測(cè)(記為UAvg),預(yù)測(cè)值分別取為某產(chǎn)品在所有對(duì)其銷售的零售點(diǎn)的銷量平均值和某零售點(diǎn)銷售的所有產(chǎn)品的銷量平均值。
首先使用基于產(chǎn)品的算法進(jìn)行模型訓(xùn)練,并計(jì)算其在測(cè)試集上的SMAE值,結(jié)果如圖2所示。
從圖中可以看出,對(duì)基于產(chǎn)品的算法而言,平均值預(yù)測(cè)模型IAvg的銷量平均誤差SMAE為41.6,這說明常用的簡(jiǎn)單模型也具有不錯(cuò)的效果。最大銷量百分比變換效果很不好,初始值較高,在K=5時(shí),使用皮爾遜相似度的預(yù)測(cè)IMax-Pearson誤差達(dá)到34.5,而使用余弦相似度的預(yù)測(cè)IMax-Cos誤差達(dá)到54.2,且隨著鄰域K的增加而迅速發(fā)散。總銷量百分比變換的效果很好,在K=25時(shí),ITotal-Pearson方法獲得最小誤差27.5;ITotal-Cos方法更是在K=5時(shí)就取得最好成績24.8。標(biāo)準(zhǔn)正態(tài)變換方法則在K=10時(shí)取得最小值25.7。
使用基于零售點(diǎn)算法的測(cè)試結(jié)果見圖3,可以看到,在使用Item-CF協(xié)同過濾時(shí),基于零售點(diǎn)的算法效果不如基于產(chǎn)品的算法。平均值模型的計(jì)算有56.6的誤差。使用余弦相似度的協(xié)同過濾誤差比使用皮爾遜系數(shù)的大,其中標(biāo)準(zhǔn)正態(tài)變換模型的誤差最大,K=5時(shí)達(dá)到124.5,隨著K增大逐漸減小,K=30時(shí)減小到71.4,總銷量百分比模型和最大銷量百分比模型的誤差則均與平均值模型相近。使用皮爾遜系數(shù)的計(jì)算誤差較小,其中最大銷量百分比模型的誤差最小,在K=10時(shí)得最小值為30.5;標(biāo)準(zhǔn)正態(tài)變換模型和總銷量百分比模型均在K=30時(shí)誤差為33.5。
4.3 結(jié)果分析
從實(shí)驗(yàn)結(jié)果可以看出,SPM-CF模型可以有效的實(shí)現(xiàn)零售戶對(duì)產(chǎn)品的銷售預(yù)測(cè),但是必須選擇合適的銷量-評(píng)分變換以及協(xié)同過濾所使用的相似度。
使用Item-CF協(xié)同過濾時(shí),基于產(chǎn)品的總銷量百分比變換和標(biāo)準(zhǔn)正態(tài)變換都有很好的結(jié)果,其原因是這兩種變換能夠比較好的反映出對(duì)產(chǎn)品銷量的一致性度量。類似的,基于產(chǎn)品的標(biāo)準(zhǔn)正態(tài)變換模型,由于產(chǎn)品在每個(gè)零售點(diǎn)的銷量近似于正態(tài)分布,所以這種變換很好的反映了產(chǎn)品的特性,故而也有較好的預(yù)測(cè)結(jié)果。
與基于產(chǎn)品的算法相對(duì),基于零售點(diǎn)的算法效果較差,這是因?yàn)槊總€(gè)零售點(diǎn)對(duì)不同產(chǎn)品的銷量不太具有可度量的規(guī)律性(例如零售點(diǎn)對(duì)不同產(chǎn)品的銷量不近似于正態(tài)分布),所以把產(chǎn)品映射成其在零售點(diǎn)內(nèi)的銷售特性來使用Item-CF協(xié)同過濾不能取得更有意義的結(jié)果。
總體來說,對(duì)于本實(shí)驗(yàn)數(shù)據(jù)集而言,最優(yōu)選擇是基于產(chǎn)品總銷量百分比模型,使用余弦相似度的Item-CF協(xié)同過濾來實(shí)現(xiàn)銷售預(yù)測(cè),此算法在K=5時(shí)即可取得最小誤差,既有最好的預(yù)測(cè)精度,又有最小的計(jì)算量。
5 結(jié)論
把零售戶當(dāng)作代表某客戶群體的用戶,通過對(duì)零售戶的銷量或訂單量進(jìn)行標(biāo)準(zhǔn)正態(tài)變換來計(jì)算評(píng)分?jǐn)?shù)據(jù),利用推薦系統(tǒng)技術(shù)預(yù)測(cè)零售戶對(duì)某未銷售或未推廣過規(guī)格的銷量,預(yù)測(cè)準(zhǔn)確率相比傳統(tǒng)的平均值預(yù)測(cè)、分布預(yù)測(cè)等方式均有提升。
但是協(xié)同過濾的方法不支持全新的零售戶和全新的規(guī)格,因此SPM-CF模型主要適用于某規(guī)格已在一個(gè)地區(qū)進(jìn)行了充分的推廣和銷售,并準(zhǔn)備投放新的地區(qū)時(shí),如何在新地區(qū)的選點(diǎn)投放的問題。
參考文獻(xiàn):
[1]項(xiàng)亮.推薦系統(tǒng)實(shí)踐[M].北京:人民郵電出版社,2012.
[2]吳湖,王永吉,王哲,等.兩階段聯(lián)合聚類協(xié)同過濾算法[J].軟件學(xué)報(bào),2010, 21(5):1042-1054.
[3]LINDEN G,SMITH B,YORK J. Amazon. com recommendations: Item-to-item collaborative filtering[J].Internet Computing, IEEE, 2003, 7(1): 76-80.
[4]ASANOV D.Algorithms and methods in recommender systems[D].Berlin:Berlin Institute of Technology,2011.
[5] 羅辛, 歐陽元新, 熊璋, 等. 通過相似度支持度優(yōu)化基于 K 近鄰的協(xié)同過濾算法 [J].計(jì)算機(jī)學(xué)報(bào), 2010, 33(8): 1437-1445.
[6] SARWAR B, KARYPIS G, KONSTAN J, et al. Item-based collaborative filtering recommendation algorithms[C]//Proceedings of the 10th international conference on World Wide Web. ACM, 2001: 285-295.
[7] J RIEDL,J KONSTAN. Movielens dataset[EB].http://www.cs.umn.edu/Research/Group Lens.
[8]伍青生,余穎,鄭興山.精準(zhǔn)營銷的思想和方法[J].市場(chǎng)營銷導(dǎo)刊,2006(5): 14
[基金項(xiàng)目]廣西高校中青年教師基礎(chǔ)能力提升項(xiàng)目“基于時(shí)移和標(biāo)簽的電子商務(wù)用戶刻畫研究” (項(xiàng)目編號(hào):KY2016YB403)資助。
[作者簡(jiǎn)介]高榮,男,講師,研究方向:云計(jì)算、數(shù)據(jù)挖掘;通訊作者:孫忱,女,廣西中煙工業(yè)有限責(zé)任公司信息中心,博士,研究方向:人工智能與大數(shù)據(jù)。