線(xiàn)下商場(chǎng)基于LBS的推薦系統(tǒng)方案設(shè)計(jì)

5 評(píng)論 14596 瀏覽 77 收藏 13 分鐘

編輯導(dǎo)讀:在現(xiàn)實(shí)生活中我們經(jīng)常會(huì)用淘寶、京東、百度等產(chǎn)品去搜索想要買(mǎi)的產(chǎn)品或者想要知道的訊息。在需求不明確的情況下,產(chǎn)品會(huì)對(duì)我們的需求進(jìn)行深度挖掘和匹配,這就是推薦系統(tǒng)在起作用。

本文從搭建推薦系統(tǒng)的意義出發(fā),對(duì)推薦系統(tǒng)的設(shè)計(jì)和過(guò)程中需要注意的問(wèn)題進(jìn)行了分析總結(jié),供大家一同參考學(xué)習(xí)。

一、搭建推薦系統(tǒng)的意義

1. 降低物品信息過(guò)載困擾,幫助用戶(hù)快速找到喜愛(ài)商品

當(dāng)前商場(chǎng)店鋪比較多,物品排列密密麻麻,對(duì)用戶(hù)的選擇造成一定的干擾,以至于無(wú)處下手,最后不了了之,而推薦系統(tǒng)的搭建一定程度上解決了信息過(guò)載問(wèn)題,直接將潛在物品推薦到用戶(hù)面前,縮短購(gòu)買(mǎi)路徑,提高下單量。

2. 深度挖掘商場(chǎng)內(nèi)長(zhǎng)尾商品,提高GMV

經(jīng)過(guò)一系列商品數(shù)據(jù)采集、分析、打標(biāo)操作,實(shí)現(xiàn)商品的統(tǒng)一化管理,深度挖掘長(zhǎng)尾商品,將該類(lèi)商品推送至目標(biāo)客戶(hù)面前,提高其曝光度,降低商品對(duì)貨柜、店鋪位置的依賴(lài),從而提高營(yíng)業(yè)額。

3. 對(duì)于無(wú)目的客戶(hù),推薦折扣商品、營(yíng)銷(xiāo)活動(dòng),刺激購(gòu)買(mǎi)欲望

針對(duì)對(duì)無(wú)購(gòu)物目的的人群,推薦系統(tǒng)自動(dòng)推薦低價(jià)好貨、熱門(mén)活動(dòng)和限量商品,吸引客戶(hù)注意力,達(dá)到營(yíng)銷(xiāo)和門(mén)店導(dǎo)流的目的,刺激客戶(hù)購(gòu)買(mǎi)欲,從而提高下單量。

4. 通過(guò)購(gòu)物車(chē)分析,推薦給客戶(hù)更多關(guān)聯(lián)商品,提高用戶(hù)的驚喜度和滿(mǎn)意度

針對(duì)老客戶(hù),通過(guò)購(gòu)物車(chē)分析,推薦給客戶(hù)性?xún)r(jià)比更高的類(lèi)似商品,提高用戶(hù)購(gòu)物體驗(yàn)的驚喜度和滿(mǎn)意度。

二、數(shù)據(jù)采集與數(shù)據(jù)準(zhǔn)備

針對(duì)上述需求,我們最終的目的是將人、貨、場(chǎng)進(jìn)行匹配,為此我們需要收集用戶(hù)、商場(chǎng)、商品的數(shù)據(jù)信息。包括:

商場(chǎng)信息:

物品信息:

三、推薦算法實(shí)現(xiàn)

整個(gè)推薦算法主要利用商場(chǎng)的用戶(hù)行為數(shù)據(jù),采用基于鄰域的用戶(hù)協(xié)同過(guò)濾和物品協(xié)同過(guò)濾。

1. 基于商場(chǎng)用戶(hù)的協(xié)同過(guò)濾算法

基于用戶(hù)的協(xié)同過(guò)濾算法基本上分成2步:

  1. 通過(guò)分析商場(chǎng)用戶(hù)歷史訂單信息,計(jì)算該用戶(hù)的行為向量,找到相似的用戶(hù)群體。
  2. 將相似群體所有購(gòu)買(mǎi)過(guò)的物品列表中,從中過(guò)濾掉已購(gòu)買(mǎi)的商品后,將未接觸的商品同步推送給用戶(hù)。

首先,計(jì)算用戶(hù)相似度,找到相似的人群,通過(guò)兩兩用戶(hù)對(duì)比,得出該對(duì)用戶(hù)的相似度。具體算法如下:

假設(shè)有A,B 2個(gè)用戶(hù),A用戶(hù)曾購(gòu)買(mǎi)過(guò){a,b,d},B 用戶(hù)曾購(gòu)買(mǎi){a,c},我們約定:

  • N(A):代表A用戶(hù)所購(gòu)買(mǎi)過(guò)的物品清單;
  • N(B):代表B用戶(hù)所購(gòu)買(mǎi)過(guò)的物品清單;
  • W(AB):代表A、B用戶(hù)的相似度值;

那么根據(jù)余弦相似度公式得出:

假設(shè)現(xiàn)在有一組這樣的用戶(hù)購(gòu)買(mǎi)記錄數(shù)據(jù),如下圖所示:

A用戶(hù)購(gòu)買(mǎi)了{(lán)a、b、d},B用戶(hù)購(gòu)買(mǎi)了{(lán)a、c},C用戶(hù)購(gòu)買(mǎi)了{(lán)b、e},D用戶(hù)購(gòu)買(mǎi)了{(lán)c、d、e},

我們可以得出:

W(AB)=0.409;

W(AC)=0.409;

W(AD)=0.333;

根據(jù)A用戶(hù)與所有其他用戶(hù)的相似度值從高到低排序,依次為B、C、D,一般情況下我們會(huì)選取與A用戶(hù)最相似的K個(gè)用戶(hù)用來(lái)做推薦,假設(shè)此時(shí)取k=3時(shí),那么就是將B、C、D用戶(hù)的所有物品減去A已經(jīng)購(gòu)買(mǎi)過(guò)的物品,從而得出可推薦列表,即{c,e}。

此時(shí)推薦列表是一個(gè)無(wú)序列表,為提高推薦的精準(zhǔn)度,我們需要計(jì)算出A對(duì)以上列表項(xiàng)中各個(gè)物品的喜愛(ài)程度,進(jìn)而把最符合A興趣的物品進(jìn)行推薦。

分別計(jì)算用戶(hù)A對(duì)c、A對(duì)e物品的喜愛(ài)程度:

根據(jù)公式:

w(uv)是指用戶(hù)u與用戶(hù)v的相似度,r(vi)是指用戶(hù)v對(duì)物品i的喜愛(ài)程度,此處默認(rèn) =1 得出:

p(A,c)=W(AB) +W(AD)=0.409+0.333=0.742;

P(A,e)=W(AC)+W(AD)= 0.409+0.333=0.742;

2. 基于物品的協(xié)同過(guò)濾算法

基于物品的協(xié)同過(guò)濾算法基本上分成2步:

  1. 計(jì)算該商場(chǎng)內(nèi)商品/店鋪的的相似物品/店鋪集;
  2. 根據(jù)商品/店鋪相似性以及用戶(hù)對(duì)該類(lèi)商品/店鋪的喜愛(ài)程度,將權(quán)重最高的商品/店鋪推送給用戶(hù)。

在這里我們做一個(gè)約定:商品/店鋪相似度的計(jì)算思路基于用戶(hù)對(duì)物品喜愛(ài)的人數(shù),我們默認(rèn):對(duì)物品a、物品b喜歡的人數(shù)越多,那么兩個(gè)物品之間的相似度越大。

我們約定:

  • N(a):代表喜歡物品a的用戶(hù)名單;
  • N(b):代表喜歡物品b用戶(hù)名單;
  • W(ab):代表a、b用戶(hù)的相似度值;

那么同樣利用余弦相似度:

假設(shè),在數(shù)據(jù)采集中,有這樣一組用戶(hù)數(shù)據(jù):

A:{a,b,d}

B:{b,c,e}

C:{c,d}

D:{b,c,d}

E:{a,d}

我們通過(guò)構(gòu)造矩陣來(lái)得出物品相似度矩陣:

那么物品a和b的相似度即:

W(ab)=0.409;

W(ac)=0;

W(ad)=0.707;

W(ae)=0;

W(bc)=0.667;

W(bd)=0.333;

W(be)=0.578;

W(ce)=0 ;

W(de)=0 ;

利用公式,計(jì)算出用戶(hù)u對(duì)一個(gè)物品j的興趣:

當(dāng)K=3時(shí),選出與a最相似的物品為b、c、d;與b最接近的物品為c、d、e;

3. 其他的混合推薦算法

選用基于用戶(hù)標(biāo)簽、基于上下文信息和基于社交數(shù)據(jù)作為用戶(hù)興趣擴(kuò)展推薦,從而豐富推薦系統(tǒng)的結(jié)果。

四、冷啟動(dòng)問(wèn)題處理

當(dāng)系統(tǒng)剛剛發(fā)布上線(xiàn),數(shù)據(jù)準(zhǔn)備不充分,想做精細(xì)化的個(gè)性化推薦就面臨很大挑戰(zhàn),這時(shí)就需要尋找合適的方法解決系統(tǒng)啟動(dòng)后無(wú)推薦數(shù)據(jù)的問(wèn)題,一般針對(duì)這些問(wèn)題我們可以從幾個(gè)方面入手:

  • 利用用戶(hù)注冊(cè)信息,給用戶(hù)推薦相應(yīng)物品;
  • 利用社交數(shù)據(jù),推薦給用戶(hù)其好友購(gòu)買(mǎi)過(guò)和感興趣的物品;
  • 讓用戶(hù)自行選擇自己感興趣的品類(lèi),根據(jù)品類(lèi)信息推薦相應(yīng)數(shù)據(jù);
  • 推薦熱門(mén)物品;

五、推薦系統(tǒng)的評(píng)估與迭代

一個(gè)商業(yè)推薦系統(tǒng)的評(píng)估一般是從用戶(hù)滿(mǎn)意度、預(yù)測(cè)準(zhǔn)確度、覆蓋率、多樣性、新穎性、驚喜度、信任度、實(shí)時(shí)性、健壯性、商業(yè)目標(biāo)幾個(gè)維度來(lái)考慮。

1. 用戶(hù)滿(mǎn)意度

用戶(hù)是推薦系統(tǒng)的重要參與者,用戶(hù)滿(mǎn)意是推薦系統(tǒng)優(yōu)化的追求的目標(biāo)。判斷用戶(hù)是否滿(mǎn)意,我們可以從以下幾個(gè)方面著手:

  1. 用戶(hù)問(wèn)卷調(diào)查,通過(guò)問(wèn)卷的形式直接獲得用戶(hù)的感受;
  2. 數(shù)據(jù)統(tǒng)計(jì),我們可以統(tǒng)計(jì)用戶(hù)購(gòu)買(mǎi)推薦商品的比率,如果用戶(hù)購(gòu)買(mǎi)了推薦的商品,那么就表示在一定程度上用戶(hù)是滿(mǎn)意的。

2. 預(yù)測(cè)準(zhǔn)確度

推薦系統(tǒng)的準(zhǔn)確度衡量是離線(xiàn)實(shí)驗(yàn)計(jì)算,在計(jì)算該指標(biāo)時(shí)需要有一個(gè)離線(xiàn)的數(shù)據(jù)集,該數(shù)據(jù)集包含了用戶(hù)的歷史行為記錄,然后將這個(gè)數(shù)據(jù)集分成訓(xùn)練集和測(cè)試集。最后將訓(xùn)練集的模型計(jì)算結(jié)果與測(cè)試集進(jìn)行對(duì)比,將預(yù)測(cè)行為與測(cè)試集行為的重合度作為預(yù)測(cè)準(zhǔn)確度。

例如在TopN推薦中,一般通過(guò)準(zhǔn)確率和召回率來(lái)度量。令,R(u)表示在訓(xùn)練集中給用戶(hù)推薦列表;T(u)是測(cè)試集上行為列表。

那么召回率(Recall)=

而準(zhǔn)確率(Precision)=

3. 覆蓋率

覆蓋率是考核推薦系統(tǒng)對(duì)物品長(zhǎng)尾的發(fā)掘能力。即推薦的物品集占總物品集合的比例?;蛘吒?xì)致一點(diǎn)就是統(tǒng)計(jì)推薦不同物品出現(xiàn)的次數(shù)分布,如果所有物品都曾出現(xiàn)在推薦列表,并且出現(xiàn)的次數(shù)差不多,那么就說(shuō)明該系統(tǒng)覆蓋率比較高。

4. 多樣性

多樣性要求推薦列表需要覆蓋用戶(hù)不同興趣領(lǐng)域,既要考慮用戶(hù)的主興趣點(diǎn)又要照顧到用戶(hù)其他的興趣,從而擴(kuò)大用戶(hù)瀏覽量,提高訂單量。

5.? 新穎性

一般推薦結(jié)果的平均流行度度量新穎性比較粗略,如果要提高新穎性的準(zhǔn)確度需要做用戶(hù)調(diào)查。

6. 驚喜度

驚喜度對(duì)推薦系統(tǒng)是更高的要求,它是基本意思是如果推薦結(jié)果和用戶(hù)的歷史興趣不相似但卻讓用戶(hù)覺(jué)得滿(mǎn)意。

7. 信任度

如果推薦結(jié)果的可解釋性能提高用戶(hù)的信任度,比如提示用戶(hù),你的xx好友曾購(gòu)買(mǎi)過(guò)該商品,這樣更能讓用戶(hù)對(duì)推薦的商品感興趣。

8. 實(shí)時(shí)性

如果推薦結(jié)果能夠根據(jù)用戶(hù)的行為實(shí)時(shí)發(fā)生變化,那么就說(shuō)明該系統(tǒng)實(shí)時(shí)性比較好,當(dāng)前很多公司采用流式計(jì)算來(lái)提高系統(tǒng)的實(shí)時(shí)響應(yīng)度。

9. 健壯性

眾所周知,絕大部分的推薦系統(tǒng)都是通過(guò)分析用戶(hù)的行為實(shí)現(xiàn)推薦算法的,那么如果有人惡意注入行為攻擊,很容易導(dǎo)致推薦結(jié)果的不準(zhǔn)確,所以一個(gè)好的推薦系統(tǒng)需要有較強(qiáng)抵抗噪聲數(shù)據(jù)的能力。

10. 商業(yè)目標(biāo)

推薦系統(tǒng)的結(jié)果要時(shí)時(shí)關(guān)注與商業(yè)目標(biāo)是否一致,技術(shù)的驅(qū)動(dòng)離不開(kāi)業(yè)務(wù)的支持,一個(gè)能給公司帶來(lái)盈利的系統(tǒng)才能更加長(zhǎng)久。

 

本文由 @alentain 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自 Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 一直覺(jué)得推薦系統(tǒng)在線(xiàn)上還有點(diǎn)用武之地,至于線(xiàn)下不說(shuō)實(shí)施難度,就說(shuō)這個(gè)必要性都有待商榷。我們逛線(xiàn)下商場(chǎng)一個(gè)重點(diǎn)就是逛,不在乎要買(mǎi)什么,就是漫無(wú)目的的逛,沒(méi)有人一進(jìn)商城留瞅準(zhǔn)目標(biāo),然后買(mǎi)完就走人,這類(lèi)人少之又少

    回復(fù)
    1. 用戶(hù)場(chǎng)景:
      1.商場(chǎng)一定距離,目標(biāo)非消費(fèi)
      2.商場(chǎng)購(gòu)物,按照當(dāng)下時(shí)間推薦,例如改到飯點(diǎn)了或者可以去看場(chǎng)電影
      3.根據(jù)用戶(hù)路線(xiàn)(一般商場(chǎng)分類(lèi)都是按照樓層的),推薦熱門(mén)商店

      來(lái)自上海 回復(fù)
  2. 這個(gè)線(xiàn)下推薦系統(tǒng)的業(yè)務(wù)場(chǎng)景是啥?有請(qǐng)作者給我們描述一個(gè)完整的用戶(hù)故事

    來(lái)自北京 回復(fù)
  3. 幾個(gè)問(wèn)題1.線(xiàn)下商場(chǎng)場(chǎng)景下,用戶(hù)通過(guò)什么場(chǎng)景來(lái)為你提供數(shù)據(jù)。(進(jìn)商場(chǎng)提示下載關(guān)注等誘導(dǎo)前提條件得考慮,不然你這個(gè)方案沒(méi)法實(shí)現(xiàn))2.線(xiàn)下商場(chǎng)的物品做協(xié)同過(guò)濾算法和線(xiàn)上無(wú)差別。但是問(wèn)題來(lái)了,實(shí)際上并不是每一個(gè)商戶(hù)都把商品數(shù)據(jù)共享給商場(chǎng),也就是說(shuō)沒(méi)法打通商場(chǎng)所有(大部分)商品數(shù)據(jù),然后就沒(méi)法滿(mǎn)足你的推薦場(chǎng)景3.線(xiàn)下商場(chǎng)設(shè)計(jì)商鋪位置是根據(jù)客流來(lái)進(jìn)行調(diào)整以及品牌關(guān)聯(lián)度來(lái)設(shè)計(jì)。你這個(gè)推薦應(yīng)該考慮客流數(shù)據(jù)(可以理解為行為數(shù)據(jù)應(yīng)用但是這里的數(shù)據(jù)是通過(guò)啥來(lái)獲取)和推薦的相關(guān)性~~最后線(xiàn)下商場(chǎng)的用戶(hù)行為數(shù)據(jù)和商場(chǎng)打通確實(shí)不容易,敢情實(shí)現(xiàn)起來(lái)還是很難~純感想

    回復(fù)
  4. 核心還是協(xié)同過(guò)濾,lbs只是一個(gè)緯度的數(shù)據(jù)呀

    回復(fù)