數據中臺實戰:基于標簽的推薦系統必須要解決的4個核心問題
編輯導語:在推薦系統中,標簽的使用可以讓定位更精準,提升匹配的水平和效率。那么,在業務過程中,我們應當采用哪種標簽推薦方式?本篇文章里,作者結合實際經驗,總結了如何利用數據中臺解決問題、搭建符合實際業務的標簽推薦系統,一起來看一下。
最近公司開了個新的產品線叫:圓猿買手,大家都知道我公司搭了一個B2B的女裝批發平臺,主要服務的是全國做服裝批發生意的采購商、供應商。圓猿買手這個產品是從B2B平臺獨立出來專門服務二批采購商的產品。
一、什么是二批采購商?
簡單來說就是大客戶,他們一般在二級的服裝批發市場如鄭州銀基等有自己的檔口,主要去一級的批發市場(一級的批發市場如廣州十三行、杭州四季清等)拿貨,拿完貨后銷售給自己的所在城市的終端門店或者三批采購商。
作為二批采購商,他們每次拿貨(采購)的量都是非常大的,因為是我們的大客戶,所以我司配備專門的買手給二批采購商提供一對一的推款、找款、發貨的服務。
買手是活躍在批發市場的一類角色,他們的核心競爭力就是對市場的檔口、檔口的新款、爆款比較熟悉,而且他們是常駐在批發市場的,這樣二批采購商拿貨就不用每次都長途跑到一批市場,只用和我們的買手溝通,就能拿到市場的新款、爆款。
為什么圓猿買手這個業務能夠存在?我覺得有2點原因。
第一由于買手的存在,大大降低了采購商的交易成本。
交易成本就是買賣雙方所付出的時間和金錢成本,交易類產品是否能夠存在,都可以用這個交易成本這個理論來衡量,交易成本理論是諾貝爾獎獲得者科斯老爺子很多年前提出來的。
二批采購商一般都在二三線城市的批發市場,每次跑到如廣州十三行這種一級批發市場,來回都要很多的時間,路費也是一筆不少的錢,有了買手的存在大大節省了他們的時間和錢。
第二買手的存在讓人貨匹配更加精準,這里的人是指二批采購商,貨是指一級批發市場的商品。
電商產品的創新很重要的一點就是提高人貨匹配的效率,我提供的商品剛好是你需要的,這樣買賣雙方付出的時間成本最低。
一個經驗豐富的服裝買手對市場中的檔口和檔口的新款、爆款都是非常熟悉的,而且由于買手長期和采購商溝通,這樣他會非常清楚當前服務的這個采購商的偏好,這種情況下買手推的商品會更能命中二批采購商的口味。
由于買手的存在,交易模式從二批采購商到市場去找商品,到買手精準的推給采購商大致符合他口味的商品,采購商從買手推的商品中挑一個商品就好了,這種模式好像搭建了一個人肉的推薦系統。
這篇文章我們談的是基于標簽的推薦,那必定要解決以下幾個問題:
- 怎么給采購商和買手分別打上標簽?
- 標簽分為主觀標簽和客觀標簽,是用主觀的標簽去做推薦,還是用客觀的標簽去做推薦?
- 怎么通過標簽完成采購商與買手的匹配過程?
- 基于標簽的推薦具體的應用場景有哪些?
二、怎么分別給采購商和買手打上標簽
首先看一下數據情況,數據庫中有2類數據,一個是埋點的數據,一個是業務庫中的數據。埋點的數據記錄了采購商曾經訪問了那個買手的那個商品,也就是采購商的訪問行為數據。
業務數據分為兩種,一種是采購商詢盤了買手的那個商品(B2B批發類的產品因為訂單量大,每次下單前,采購商和買手要確認商品信息),另外一種是采購商支付了買手的那件商品。
通過這三類數據即可分別給買手和采購商打上相應的偏好標簽。因為無論是訪問、詢盤、下單,都是和商品綁定的,商品是有所屬店鋪、品類、風格、價格段的屬性的,通過這些屬性就可以給采購商打上偏好的店鋪、品類、風格、價格段的標簽,同時也可以給買手打上擅長的店鋪、品類、風格、價格段的標簽。
比如某個采購商A只有2條數據,分別是訪問了某個店鋪的商品B,詢盤了某個店鋪的商品C、下單了某個店鋪的商品D:
- 商品B是屬于店鋪1的商品,商品B的品類是牛仔褲,這個商品是買手1負責;
- 商品C是屬于店鋪2的商品,商品C的品類是毛衣,這個商品的買手2負責;
- 商品D是屬于店鋪3的商品,商品C的品類是T桖,這個商品也是買手1負責。
假設采購商訪問商品的權重是1分,詢盤3分,下單5分,那采購商A偏好的店鋪的排行就是店鋪3(5分)、店鋪2(3分)、店鋪1(1分),如果取分數前2名的標簽作為采購商的標簽,那么采購商A偏好的店鋪就是店鋪3(5分)和店鋪2(3分),同樣的采購商A偏好的品類就是T桖(5分)、毛衣(3分)。
假設買手1和買手2也只有這幾條數據,那么同樣可以給買手1和買手2打上同樣的標簽。
- 買手1擅長的店鋪排名是:店鋪3(5分)、店鋪1(1)分。
- 買手2擅長的店鋪排名是:店鋪2(3分)。
- 買手1擅長的品類是:T桖(5分)、牛仔褲(1分)。
- 買手2擅長的品類是:毛衣(3分)。
三、標簽分為主觀標簽和客觀標簽,應該用哪種標簽完成采購商與買手的推薦?
什么是主觀標簽?主觀標簽就是人為給采購商或者買手打上的標簽,比如你通過采購商填的一些信息,給他打上了偏好牛仔褲的標簽,或者這個采購商在注冊的時候自己填了自己喜歡牛仔褲這樣一個標簽,這類的標簽就是主觀標簽,同樣的買手也可以打上相應的主觀標簽。
主觀標簽的問題是標簽不一定可信,比如剛才那個例子,他選了牛仔褲這個標簽,但是他真的就喜歡牛仔褲嗎?每個人的興趣都是在不斷的變化的,誰也不能保證他這輩子都喜歡牛仔褲吧?
第一個問題中通過訪問、詢盤、下單數據給采購商和買手打上的標簽就是客觀標簽,是通過數據算出來的標簽。
現在的問題是這兩類標簽怎么結合完成采購商與買手的匹配,從數據層面來看,有些采購商同時有主觀標簽和客觀標簽,有些采購商只有主觀標簽沒有客觀標簽,還有些采購商只有客觀標簽沒有主觀標簽,買手的情況也是類似。
我們是采用單獨種類標簽推薦的方式,還是混合標簽推薦的方式呢?
單獨種類標簽推薦的方式是指通過買手的主觀標簽和采購商的主觀標簽完成采購商與買手的匹配,同時通過買手的客觀標簽和采購商的客觀標簽完成采購商與買手的匹配,采用這種方式會產生2種推薦結果,最后需要把主客觀標簽推薦的結果整合在一起,完成最終推薦結果的輸出。
混合標簽推薦的方式是指無論采購商買手打上了主觀、客觀的標簽,先做一層整合,保證采購商和買手分別只有一套標簽,再通過這套標簽完成采購商和買手的匹配,這種方式有2個問題:
- 怎么整合采購商的主客觀標簽,保證采購商只有一套標簽?
- 推薦系統上線后怎么判定那套標簽的推薦效果更好?
很明顯單獨種類標簽推薦的方式的推薦結果會更有優勢,前期可以分別上線主觀標簽推薦和客觀標簽推薦的結果進行單獨測試,先驗證那種方式的效果更好,后期可以給每種算法不同的權重,結合后給出最終的推薦結果。
比如通過主觀標簽給用戶A推薦出來買手1、買手2,通過客觀標簽給用戶A推薦出來買手2、買手3。
主觀標簽算法的權重是1分,客觀標簽算法的權重是3分,那么2種算法結合后給用戶A推薦出來的最終結果就是:買手2(4分)、買手3(3分)、買手1(1分)。
而混合標簽推薦的方式,不僅不利于后期的效果數據分析,而且因為提前將兩種標簽做了結合,很難判定那種算法推薦出來的結果更精準。
四、怎么通過標簽完成采購商與買手的匹配過程,這也是標簽推薦算法的核心
問題一中我們分別為采購商、買手打上了店鋪、品類的標簽:
- 采購商A偏好的店鋪是店鋪3(5分)和店鋪2(3分);
- 采購商A偏好的品類是T桖(5分)、毛衣(3分);
- 買手1擅長的店鋪排名是:店鋪3(5分)、店鋪1(1)分;
- 買手2擅長的店鋪排名是:店鋪2(3分);
- 買手1擅長的品類是:T桖(5分)、牛仔褲(1分);
- 買手2擅長的品類是:毛衣(3分)。
第一種方式是不看標簽的分數,只要采購商和買手的標簽匹配上就計1分,先從店鋪的角度來看因為采購商A偏好的店鋪是店鋪3和店鋪2,而買手1擅長店鋪3,買手2擅長店鋪2,買手1和買手2各得1分,再從品類來看因為采購商A偏好T桖和毛衣,買手1擅長T桖,買手二擅長毛衣1,買手1和買手2也各得1分,這種方式的最終結果是:
- 采購商A與買手1的匹配分數是2分;
- 采購商A與買手2的匹配分數是2分。
這種算法雖然簡單,但是明顯有些問題,沒有考慮采購商和買手針對標簽的得分,導致買手1,買手2的得分一致。
如果加入采購商與買手針對標簽的得分:
- 在店鋪的維度買手1的得分是:5*5=25分,買手2的得分是3*3=9分;
- 在品類的維度買手1的得分是:5*5=25分,買手2的得分是3*3=9分。
這樣買手1的總分是50分,買手2的總分是18分,優先推薦買手1給采購商A。
當然還可以考慮給標簽定義不同的權重,可以假設店鋪標簽的權重是大于品類的,這種算法考慮的就更加全面,但也會更加復雜。做推薦這塊我們的追求應該是簡單且有用,也就是說付出最低的成本,拿到最好的效果,從簡單到復雜、不斷優化的過程。
五、基于標簽的推薦具體的應用場景有哪些
基于標簽的推薦算法,最終一定要開放出去,用來服務采購商,但前期因為無法確定這套算法的效果,可以先開放給公司內部運營人員使用。
首先可以先開放查詢采購商/買手所打標簽功能給熟悉業務的運營人員,讓他們可以快速查看采購商/買手身上基于現有數據所打上的標簽:
如果經過驗證,所打標簽數據足夠準確,那這些標簽的數據也可以指導運營人員針對采購商/買手做更加精細化的運營,當然也可以將采購商的標簽開放到給他服務的買手,讓買手快速查看到他當前所服務采購商的特點,這樣可以做更加精準的服裝推薦。
接著可以讓運營人員提供一些典型的采購商/買手,將標簽算法匹配的最終結果(采購商與買手的匹配率),交給運營人員來驗證。
如果基于標簽的推薦匹配準確率達到人工匹配水平或者超過人工匹配水平,就可以考慮將算法的結果開放出去服務真實的采購商。
實際項目中我們也是花了3個月的時間不斷驗證和迭代,最后達到人工判斷超過80%的準確率(隨機輸出10個采購商的推薦算法結果,其中有8位采購商的結果,以人的判斷是準確的),才最終用到實際項目中:
最后留個小問題,比如你給一個采購商基于算法推薦出了一個合適的買手,但這個買手最近太忙了,實在不能抽身服務這個采購商,這個時候該怎么辦?歡迎留言討論。
#專欄作家#
Wilton董超華,微信公眾號:改變世界的產品經理,人人都是產品經理專欄作家。暢銷書《數據中臺實戰》作者,曾任職科大訊飛,現任富力環球商品貿易港數據中臺產品負責人。主要分享商業、產品、運營、數據中臺相關原創文章。
本文原創發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自 Unsplash,基于 CC0 協議
點個贊。還能堅持在人人上寫文章不容易,內容還這么詳實有學習價值,更不容易。加油。
“最后留個小問題,比如你給一個采購商基于算法推薦出了一個合適的買手,但這個買手最近太忙了,實在不能抽身服務這個采購商,這個時候該怎么辦?歡迎留言討論。”—系統有買手的服務情況,把閑忙系數也作為標簽,對么?
贊!