從0到1搭建推薦策略產品的思考(二):如何搭建?
上一篇文章關于如何從0到1搭建推薦策略產品的思考(一)主要聊了聊搭建策略產品前關于其必要性和應具備的條件,這篇文章主要講一下如何實施策略產品的搭建。
一、明確目標,瞄準方向
如今再也不是移動互聯網剛興起的時候,隨便一個APP就能獲取百萬用戶,依靠用戶體驗即可取勝的時代了。當然不是說用戶體驗不重要,而是用戶體驗逐漸像電力一樣,越來越成為一個產品的基礎設施了。
好的產品用戶體驗一定好,不好的產品用戶體驗不一定差,這其中的唯一區別就是你的產品能否帶來價值。
價值,很虛,很空。具體一點,就是能不能切實的為用戶解決實實在在的問題,為業務帶來增長。
從推薦系統誕生的初衷就可以看出來,推薦策略是為了更加高效的,準確的為用戶提供內容。所以當你打算著手在一個業務上搭建策略的時候,想想到底是為了什么?
撇開業務談策略就是耍流氓。
推薦策略除了能夠給用戶解決實在的問題之外,能給業務帶來什么價值更是重中之重。說的俗點,產品該賺錢還得賺錢,不賺錢真的會死。
所謂的業務價值說到底,就是做了推薦策略能為業務增長帶來什么,最終的KPI繞不過的就是利潤。
生意,莫不過如此。
不過,即便是利潤,也可以拆解為若干指標來看。
- 比如流量類型:PV,UV,DAU,MAU
- 比如轉化率類型:CTR,CVR,UCTR,RCVR
- 比如和錢相關的類型:UV價值,RPM,GMV
每一步都可以轉化為對利潤的貢獻率。
重點解釋幾個常用指標:
至于如何制定推薦策略的核心指標?之前也談過,一般來說可以根據當前業務線的發展程度去設置:
- 對于新業務線暫不要以GMV為導向,可以從流量或轉化率的角度入手,選取CTR作為核心指標;
- 對于比較穩定的業務線則以GMV為導向,選取CVR,UV價值、RPM等作為核心指標。
二、工業級推薦系統架構
在聊具體的搭建流程之前,先簡單聊一下目前工業級推薦系統的整體架構,如下圖所示:
目前工業級推薦系統架構一般采用如下設計:多路召回、綜合排序、人工干預。
- 多路召回是指系統會按照預先制定的策略,從不同的維度到item池選擇符合策略的item進行召回,一方面是為了更精準的命中用戶感興趣的item,另一方面大大降低了候選item的數量;
- 綜合排序是指系統會采用算法,結合對應的排序策略對召回item進行排序,一般可分為粗排和精排,精排一般指添加了業務規則的排序;
- 人工干預則是對呈現給用戶最終的結果進行干預,通常是為了滿足特定的業務需求。
除了以上三個核心模塊之外,其實對于數據處理也是其中重要的一環,正是數據的流轉,推薦系統構成的一個完美的閉環。下面分別說一下以上幾個環節。
三、策略搭建,從這里開始
3.1 數據預處理
數據預處理一般是指從底層數據到feature的一個過程。
底層數據通常是指未經過任何加工,直接落到底層表中的數據,比較零散,且不成體系。比如:一個點擊瀏覽表,存放了平臺上所有用戶在何時何處點過什么東西,但是對于推薦系統來講通常無法直接使用這種原始數據,因為它依賴的是用戶的畫像。
畫像與原始數據的區別可以做這么一個比喻:原始數據是你買了一個什么物品,畫像則是你喜歡買什么物品。所以原始數據僅僅是一種事實,而畫像是可以用來做決策的依據。
一般來說,通過數據預處理可以把原始數據加工成數據模型,進而形成一個數據倉庫,這些都是加入了人為意圖的數據,是可以做決策的數據,從中提取作為推薦系統召回的feature。
目前數據預處理這一環節通常被標簽/畫像系統代替了,也就是推薦系統可以直接對接標簽系統。雖然系統架構上有所調整,但是標簽系統的工作本質仍然是基于數據提取用戶feature,進而生成用戶畫像。
3.2 召回策略
目前常見的商用推薦系統召回策略一般采用的都是多路召回策略,如下圖所示:
基本都會包含個性化標簽、熱門,協同過濾,個性化內容/活動穿插。
當然對于一些特殊業務線還有其他自定義的策略,比如:對于拍賣這種業務,撿漏是一個很常見的用戶心理,因此對于判斷撿漏物品并且進行召回就是一個很重要的召回策略。
每一路都會按照TopN的思路進行召回,具體N的值可以自定義,也可以用AB測試來決定。如果這個階段召回的item比較多,通常會加入一個粗排過程,進而把不是太符合召回策略的item剔除掉
一般來說召回策略的具體制定通常由業務形態以及推薦應用場景來決定,比如:
- 對于電商首頁的推薦,通常考慮的是用戶的長短期興趣標簽,對應的策略可能就是通過用戶近期的點擊,收藏,加購,下單等行為來召回其感興趣的物品;
- 對于中間過渡頁的推薦,通常會考慮用戶的實時興趣,對應的策略可能就是用戶的當下session內的瀏覽路徑,進而預測其下一步可能瀏覽的物品。
一般召回策略會分為兩種:實時召回和離線召回。
- 對于實時召回,通常基于用戶在平臺上的實時行為,實時抽取行為特征,并且召回符合其特征的item,近乎實時的更新推薦結果,這種的好處就是時效性高,能夠更準確的抓住用戶當下的意圖。
- 對于離線召回,主要是通過日志數據,周期性(比如T+1)的更新推薦結果,并返回給用戶。離線召回通常會應用于用戶長期興趣特征。
3.3 排序策略
排序通常來說是算法的事情了,具體可以稍微了解一下LR/FM/WDL/GBDT這些主流的排序算法,畢竟技多不壓身。關于模型的介紹,我之前的文章涉及過部分,可以參考一下:寫給產品經理的機器學習算法。
不過我是沒法講具體的算法優化之類,更想說的是排序中的后半段——page?placement。(PS:這個叫法不太確定,歡迎大家糾錯)
這個階段一般是指,通過一定的手段去干預呈現在用戶面前的最終排序結果。
算法是基于模型跑出來的排序結果,跑的過程完全自動化,而page placement則是在這個基礎上加入了對業務目標和應用場景因素的考量,比如:
- 為了扶持一些新業務,通常會在最終呈現給用戶的排序結果中穿插一些該業務的相關內容;
- 為了保證推薦結果的多樣性,多特征交替排序策略也是一種常見的手段;
- 比如為了盈利,加入廣告,一般還不少。
在這之后,最終的推薦結果才展示給用戶。其實這塊主要想表達的意思策略一定是基于業務制定的,有牛逼的算法不一定是牛逼的策略。
結合姊妹篇關于如何從0到1搭建推薦策略產品的思考(一),一個推薦策略產品的基本搭建流程基本完結了,是我個人的一些思考總結,肯定有不當之處,歡迎大家多多指正交流。
不過還有許多細小的問題待挖掘,比如:有時候推薦系統中可能用了不止一套算法,那我如何衡量兩套算法的好壞?做AB測試么?做一次AB測試成本有多高怕是只有做過的人才知道。
且聽下回分解。
作者:夏唬人,公眾號:夏唬人,某廠策略產品經理
本文由 @夏唬人 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
2021要結束了 求作者大大更新第三篇
2020都要結束了,三還沒出來
這么無情的么。。
等三等的好辛苦啊
辛苦辛苦
請教下,推薦產品經理在推薦系統中的角色,除了是業務的輸入以外,還有別的嗎。如何體現產品經理在其中的價值
推薦產品經理在推薦系統中最重要的角色就是明確推薦系統的業務目標,進而制定對應的策略,策略是基于業務出發的。算法這塊推薦產品經理可以依據業務目標來制定算法優化計劃,但是具體的執行是算法工程師上,嚴格來說推薦只是一種手段,最終還是為業務價值服務
產品流程
越來越不喜歡這種推薦了……別問為什么……
追求精準的確會讓用戶產生疲勞,到底還是策略不夠好,沒有做到新穎性,多樣性,給用戶驚喜