現在在許多產品中,我們都可以見到推薦機制的應用,比如抖音、淘寶等產品中的推薦頁面。那么作為一名運營,你了解推薦系統、或者個性化推薦嗎?你又是否能理解“推薦”和“流量”之間的關系?本文作者就對推薦一事做了詳細總結,一起來看。
推薦對于非技術同學而言更像是一個黑盒,越來越多產品都引入了推薦,而推薦又和流量緊緊掛鉤。此文獻給所有的運營同學。
這篇文章寫于1年前,希望可以系統又簡單地給業務、運營同學講清楚推薦的運轉邏輯、推薦可以做什么、以及如何掌握推薦的流量密碼。
本文比較長,大約 7000 字,我把目錄放在前面,大家可以先看是否有感興趣的部分,再決定是否往下看,節約時間。
我對推薦好奇,可以通過這個文檔了解什么?
?? 簡單理解推薦
- 什么是個性化推薦——直觀感受、產品參考,對推薦有個初步概念。
- 推薦系統解決什么問題——知道推薦這件事的價值是什么。
- 推薦怎么知道我對什么感興趣——推薦的原理,對推薦有更深入的了解。
- 推得不準我怎樣讓它推準點——推薦的原理,對推薦有更深入的了解。
- 推薦有目標嗎——我們對于推薦的預期是什么。
- 什么是推薦能做的——推薦擅長解決哪些問題。
- 什么是推薦做不來的——哪些問題不能依賴推薦解決。
?? 深入理解推薦
- 推薦是如何運作的?
- 推薦在咱們業務是如何運作的?
- 為什么要有召回、粗排、精排?
- 推薦模型是如何優化的?
- 推薦模型多久開一次實驗?
- 為什么上了新策略沒有效果?
- 為什么要做實驗?不能直接全量?
- 沒有收益的策略,一定不能上線嗎?
?? 我是一個運營,我希望能掌握一些流量密碼
- 沒有流量,是什么原因?
- 為什么點擊率很高,曝光不高?
- 這個內容很差,為什么曝光這么高?
- 推薦怎么給新用戶做推薦?
- 怎么多一些曝光機會?
?? and,最后,你可能會關心的問題是怎么給推薦提需求?
一、我對推薦好奇
1. 什么是個性化推薦?
你打開今日頭條、抖音時最先看到一個頁面,一般這個頁面也會命名為「推薦」。當然,我們不能因為它叫推薦我們就把它視為推薦。還有像淘寶這種,它叫做「猜你喜歡」。你會發現,你越看什么,就越容易刷到什么,這就是個性化推薦在起作用。
個性化推薦系統解決的是用戶和商品/內容中間的關聯關系,它是二者之間的橋梁。可能你會好奇,我有需求會用搜索,不會用推薦啊。你用過搜索,應該能感受到推薦和搜索的區別:搜索是人去找商品、推薦則是商品找人。推薦系統會根據你的興趣偏好,把你可能會感興趣的商品或內容推到你面前、提升。
哪里有海量信息,哪里就有推薦系統,我們每天最常用的APP都涉及到推薦功能:
- 資訊類:今日頭條、騰訊新聞等
- 電商類:淘寶、京東、拼多多、亞馬遜等
- 娛樂類:抖音、快手、愛奇藝等
- 活服務類:美團、大眾點評、攜程等
- 社交類:微信、陌陌、脈脈等
2. 推薦系統解決什么問題?
于用戶而言,推薦既要解決互聯網信息過載、用戶篩選信息乏力的問題,又要關注用戶沒有目標但想“隨便看看”的場景。
于平臺而言,推薦還需要減少馬太效應和長尾效應的影響,使商品/內容的利用率更高,盈利增長。簡單來說,推薦是為了不占用用戶太多時間的基礎上把商品賣給他/讓他消費內容。
推薦系統20世紀90年代就被提出來了,但真正進入大眾視野以及在各大互聯網公司中流行起來,還是最近幾年的事情。
隨著移動互聯網的發展,越來越多的信息開始在互聯網上傳播,產生了嚴重的信息過載。因此,如何從眾多信息中找到用戶感興趣的信息,這個便是推薦系統的價值。精準推薦解決了用戶痛點,提升了用戶體驗,最終便能留住用戶。
推薦系統本質上就是一個信息過濾系統,通常分為:召回、排序、重排序這3個環節,每個環節逐層過濾,最終從海量的物料庫中篩選出幾十個用戶可能感興趣的物品推薦給用戶。
3. 推薦怎么知道我對什么感興趣?
推薦系統會收集你的歷史行為數據,可能會有這些:
- 你買過的商品,推薦系統會獲取到價格、類目、風格/類型、機構/商家,并推薦相關的商品給你。
- 你瀏覽的商品,你點擊了、或沒有點擊,推薦會把點擊過的都標記為你感興趣,滑過去的暫時不感興趣。
- 你搜索的關鍵詞,推薦系統會認為與這個關鍵詞相關的商品你都可能會感興趣。
- 還有一些其他的行為,比如收藏、分享、評價……
4. 推得不準,我怎樣讓它推準點?
感覺推得不準可能有兩方面原因:一是推薦模型還不完善,二是你喂給推薦的數據不夠多。如果你想讓推薦推得更準,可以嘗試進行以下兩個操作:
- 主動表達興趣:點擊、收藏你喜歡的商品/內容;搜索你你感興趣的關鍵詞;設置你的興趣偏好。
- 主動反饋問題:通過 dislike 告訴推薦你不喜歡的商品/內容、類型,推薦就會少推這些。
注意,dislike 只能盡量過濾掉你不喜歡的內容,無法幫你找到喜歡的內容,所以如果想訓練你的推薦模型,盡量進行操作一 [主動表達興趣] 。
5. 推薦有目標嗎?
我們平臺推薦的目標是提升付費率,希望推得更準,用戶愿意點、愿意買。付費率是核心目標,拆解下來也會看點擊率、人均點擊數、人均瀏覽數等等,這些中間指標也能衡量推薦推的準不準。
為什么要拆中間指標?點擊率=你推給用戶他是否愿意點,更能代表推的是否準;人均點擊數=點得越多,越能證明推薦猜你喜好猜得準。用戶進入商品詳情頁后面的事情推薦管不到,所以用付費率不能完全代表推的是否準。
6. 什么是推薦能做的?
用更多的 [特征] 來訓練模型,讓模型猜得更準。特征值得是這個用戶的信息標簽,比如你的瀏覽信息、搜索信息、購買信息、分享信息、評價信息……這些都是特征,是區別給你推什么、給我推什么的關鍵信息。
除此之外,還可以通過一些 [策略] 來滿足業務其他訴求,如通過 boost 規則給指定商品/內容曝光(關于如何使用 boost 規則見本文第20條)。
7. 什么是推薦做不來的?
如果你在逛推薦時遇到一些問題,需要注意以下幾類問題不能依賴推薦解決:
1)畫風不好
畫風是一個主觀感知,用戶 A 覺得這個畫風不好(標題、文案、封面、音樂等使人不適),可能用戶 B 會覺得不錯,即便用戶 A 反饋了畫風不好的問題,也不意味著用戶 B 就不喜歡。
推薦不解決主觀感受,只解決“這個商品/內容本身你是否會感興趣,而不是這個畫風你是否會喜歡”。畫風問題依賴審核和推薦審核,同時我們也會通過 dislike 收集關于封面體驗不好的問題,并交給供給側去優化。
2)標題不好
不要試圖希望推薦推一些標題更好的商品/內容,因為它不知道什么是好標題。如果一個商品/內容的標題很差、但點擊、付費率很高,它在推薦里就會很容易被推出。審核和推薦審核是非常重要的。
3)質量不好
解決不了有一些盜版內容、分銷課程(在多個機構上傳)、換多個標題都是同一門課/內容的問題。從推薦來看,如果本身點擊率很高,推薦通過用戶歷史行為、預估這些課程都是用戶可能會感興趣的,都會展現,但對于用戶而言同一個商品/內容看到好多遍,體驗必然不好。這個還是需要審核去解決。
二、深入理解推薦
1. 推薦是如何運作的?
用戶打開App,刷新首頁(下拉刷新 or 重啟app刷新),客戶端會請求服務端(數據),服務端會請求推薦(模型),這個時候推薦會返回幾條數據給服務端,服務端傳給客戶端,最終在用戶的手機上展示。
那么,推薦是如何選擇內容的呢?為什么用戶最后看到的是這些?選擇-呈現過程是這樣的:
- 召回:運營從所有商品/內容里挑選出 {用戶可能感興趣} 且{質量符合平臺標準}的商品/內容放至{推薦池}。
- 粗排:用一個簡單的模型預測用戶有可能感興趣的內容、模擬每個商品/內容的得分,從高到低排序。
- 精排:在粗排的結果上,預估用戶的點擊率、付費率等,得出預估分,從高到低排序。
- 規則:考慮到用戶體驗 or 運營訴求,在精排的基礎上會應用一些規則,如打散、強插、boost 等。
- 收集反饋:把課程推給用戶后,基于用戶的點擊、購買、dislike 行為,會收集起來用于優化模型。
2. 推薦在咱們業務是怎么作業的?
這個部分是我原來業務的推薦運轉流程,保留這個部分是為了還原一個推薦應用場景,幫助大家理解后面的東西。
1)召回
運營同學建立《推薦課程審核標準》,從所有課程中按照推薦標準,將符合標準的課程審核召回至推薦池。即:在售課程池(全量)?推薦課程池(部分),能被推薦的只有推薦課程池的課程。
2)粗排
推薦取了所有召回課程的歷史點擊率、轉化率、銷量數據,盡可能的模擬精排模型的打分,在所有召回的課程中選出得分靠前的幾百個視頻送給精排。粗排是大數據結果,也就是根據所有用戶產生的數據做了一個預估,最終呈現給其他用戶的也是大數據的結果。
比如ABCD都買A課,那么XYZ來了我優先推A課、他的付費概率更高。粗排召回更適用于新用戶,因為新用戶沒有任何行為,推薦模型沒辦法預估他可能喜歡什么類型的課程,這個時候就用大數據的預估(大家都買什么、點什么)來推給用戶。一句話解釋:你可以理解為粗排相當于一個熱銷榜。
3)精排
對于已經有消費行為的用戶(付費、點擊、收藏等),我們會把他的這些行為特征收集起來,去預估他可能還會對什么課程感興趣。精排是在粗排的基礎上做的,粗排的作用是把得分靠前的課程遞給精排。一句話解釋:如果你有行為,最終推給你的課就跟推給我的不一樣。
4)規則
在精排的基礎上應用幾個規則,比如
- 5 分鐘 send 消重:5 分鐘內服務端下發過的數據不會下發第二次;
- 3 天 show 消重:客戶端展示過的課程3天內不會再展示;
- 打散策略:每一次請求數據,20~30個課程,同三級類目最多出 2 個。
把這些規則應用完之后,會把排在前面的課程展現給用戶。
打散策略是為了避免相同類型的課程扎堆,容易引發用戶不好的體驗:刷來刷去都是講學習音標的,平臺的內容會不會太少了些。
而 send 消重和 show 消重的區別是:
- send 消重是服務端下發了,只是用戶還沒刷到(服務端一次下發 20-30 條數據,用戶每屏只能看到5-6個課程)。下發了、用戶沒看到,5分鐘后依然可以推。
- show 消重是用戶在手機屏幕上看到了這個課,滑過去了沒有點擊,那么代表用戶不感興趣,一段時間內不再推。
5)收集反饋
你點擊了短視頻剪輯課程,推薦認為你對短視頻課程更感興趣,則后面短視頻剪輯的課程得分就更高,更容易優先展示給你。也就是你越用,推薦模型就可能預估得越精準,推給你的內容你越感興趣。
3. 為什么要有召回、粗排、精排?不能直接用精排嗎?
性能因素。直接用一個復雜的模型從大量數據中找幾十條內容速度會非常慢。所以先召回幾千條,再用粗排找到幾百條,再從幾百條里找到幾十個推給用戶。
4. 推薦模型是如何優化的?
推薦模型的優化由兩部分驅動:模型本身訓練、調優需求,業務側新需求。
模型訓練調優主要是指性能優化、新增用戶特征讓模型猜的更準,如模型結構的改進、增加更多用戶/商品特征、擴大候選集(召回)、提高數據反饋時效(模型更及時的得到數據反饋);業務側也會有控制價格出現比例、給精選課程增加 boost 等優化體驗需求和運營需求。
但,無論是模型調優需求還是業務需求,每一次修改(稱作一個策略)都需要遵循下述流程:
- 明確目標:這個動作的目標是什么?想要得到什么結果?
- 制定策略:根據目標,提出解決方案,一般會有多個策略可以達成目標,需要業務&推薦一起評估實驗成本、效果,最終排出優先級進行開發。
- 設計實驗:明確實驗開啟方式、觀測的核心指標和預期收益。
- 檢查實驗結果:如果符合預期,判斷是否全量上線;如果不符合預期,需要判斷放大流量繼續觀察或分析實驗,根據分析結果判斷是放棄該策略、還是優化該策略。
- 上線/關閉:如果符合預期,上線。繼續下一個策略。
5. 推薦模型多久開一次實驗?
推薦實驗是非常高頻的。并不是一個實驗/策略有了結果才可以開啟新實驗,可以多個實驗并行、同時驗證多個策略,最終選擇效果更好的策略全量上線。比如我們兩個月就開了 30 多組實驗。
6. 為什么上了新策略沒有效果?
推薦是一個長周期的事情,不是一朝一夕就訓練好的。推薦相信的是長期有收益,且模型的養成是需要數據喂養的,喂得越多就推得越準。
所以一個新的推薦策略上線,肯定不會馬上有效果。就像我們要增肥,不是今天吃一頓明天就能胖了,身體需要吸收、持續吸收。
7. 為什么要做實驗不能直接全量?
經驗上,預期的效果和實際的效果可能會有非常大的差異。不做AB實驗直接上線,可能會帶來嚴重的影響。不是每一個策略都是正向的,推薦模型只是預估用戶更可能喜歡什么,這不意味著用戶真的喜歡。所以新的策略上線后,有一定概率是負向的,也就是用戶覺得推得更不準了。
一般,實驗需要觀測 1-2 周來看數據是否穩定。如果有正向收益or損失不大,但相信長期有收益,即可上線。
8. 沒有收益的策略,一定不能上線嗎?
AB 實驗沒有顯著正向或略負向也可以上線。必須滿足以下大前提:
- 判斷需要長期迭代,必須在此基礎上疊加其他策略,可以接受短期無收益。
- 推薦需要逐步積累用戶數據,此策略才能發揮作用,數據越多,訓練周期越短。
三、我希望了解流量密碼
1. 課程沒有流量,是什么原因?
沒有流量的原因有很多。一般來說會有以下幾種可能,不僅僅是推薦的原因:
- 商品/內容已經上架,但未審入推薦池。
- 相似、同質的商品/內容比較多,大家數據都很好的情況下,展現的概率就更低。
- 商品歷史銷量、點擊、轉化率都不高,在推薦候選中的排序本身就比較靠后。
- dislike 較多反饋了標題、封面差等問題。
- 為什么有些商品/內容一開始曝光數很高,后面就沒有了?
推薦會把商品/內容推薦給可能對它感興趣的用戶。一開始推的多,是因為預估可能感興趣的用戶多,在推了1萬次之后,大家都不點擊,推薦就會認為這部分用戶對這個商品/內容不感興趣、該商品/內容的得分就會越來越低(推薦排序就會靠后),那么越往后就越推不出來了。
2. 為什么課程點擊率很高,曝光數不高?
點擊率高是因為推得比較準,推過去后用戶更愛點。曝光數不高的可能性有很多:
- 喜歡這個商品/內容的用戶是有限的。
- 相似、同質的商品/內容比較多,推薦時不一定能勝出。
- dislike 較多反饋了標題、封面差等問題。
3. 這個內容很差,為什么曝光這么高?
判斷比較主觀,推薦看的不是一個人的主觀判斷,而是用戶的行為選擇。
4. 推薦怎么給新用戶做推薦?
冷啟動包括新用戶冷啟動和商品冷啟動。新用戶冷啟動是當一個用戶沒有任何行為數據和輔助信息的情況下,如何給他做好推薦?商品的冷啟動即長尾問題——如何將新的物品快速推薦給可能對它感興趣的用戶?
- 一個新內容,推薦無法判斷誰可能會喜歡它。推薦會根據跟它相似的課程可能會被用戶喜歡來做嘗試。如果想要推得更準,就需要給內容增加更多特征、讓推薦可以猜測得更準一些。
- 一個新用戶,推薦無法判斷他可能會喜歡什么。會嘗試把“大家認為的好內容”推給用戶,如果想要推的更準就需要借助用戶主動選擇興趣、加快用戶動作反饋等方法來提高推薦對新用戶的作用效率。
新用戶是沒有歷史行為數據的,那個性化推薦模型就無法對其產生作用,我們如何做推薦呢?
一種方法是新用戶主動選擇興趣偏好,讓用戶自己去選自己對什么感興趣;另一種是先按照統計模型(Thompson 湯普森采樣 – 可以理解為按照一個標準)去推。也就是如果從第一天開始,所有新用戶看到的都是一樣的,但同時我加快動作的反饋,也就是當用戶一旦有了點擊、收藏、付費等行為,那么下一次請求數據的時候,推薦就可以起作用了。
5. 怎么給老師多一些曝光機會?
這個問題需要先理解另外兩個問題:為什么推薦不多給老師一些曝光機會?如何理解boost?
為什么不多給老師一些曝光機會?
推薦的目標是讓用戶滿意(買課的人),一般不會考慮老師的滿意度。當然,從平臺生態的角度來考慮,只有讓老師滿意,老師才會傳更多的課到平臺,平臺才有更多的課提供給用戶(推薦去推)。
所以,在讓用戶滿意的基礎上(推得更準),也會加一些規則去保證老師的利益。比如課程冷啟動規則(給一些新課固定的曝光資源)、運營精選boost(給一些優質課加權重)、已購老師boost(購買過的老師的課程加權重)。當然,后續可能也會有一些其他新策略,既讓推薦推的更準,也能給到老師一些資源保證。
如何理解 boost ?
從推薦視角來看,是反對 boost 的,因為任何 boost 都是人的主觀意愿:我認為用戶對這個更感興趣、我希望用戶能看到這個內容。實際上,boost 并不能讓推薦推得更準,過多的 boost 干擾還可能影響推薦的策略。
那為什么我們還會加一些 boost 的策略呢?
- 適當、合理的 boost 可能會提高推薦準確度,注意,只是可能。比如我們從數據發現,一半的用戶都第二次下單都是買的原來老師的課程,那我們就加了相同老師(已購老師)的 boost ,讓這個用戶購買過的老師的課更容易展現給你。
- 對于老師而言,適當的 boost 是為了平臺的老師生態,包括新課 boost 和精選 boost 。
如果運營側有給老師曝光的訴求、想用流量作為運營老師的激勵點,或者為了讓一些尾部但優質的課程有售出機會,需要在推薦模型的基礎上加干預規則,那么可以把你的訴求提給產品,產品和推薦同學會在不傷害用戶體驗、推薦仍然有作用空間、且能實現運營目標的基礎上共同制定策略。
四、我怎么給推薦提需求
可以以這樣的姿勢給推薦同學提需求:需求目的是什么?想要解決什么問題?預期效果是什么?對用戶會有什么影響?你要相信,推薦同學了解的推薦策略會比你多很多,把你的問題交給他,他們會選出更能幫你實現目標的策略。
? 錯誤的方式:我想在推薦強插某老師課程。
? 正確的方式:我們想要給優質課程更多的曝光機會,一方面是這些課程質量很好應該不會對用戶體驗造成損傷,另一方面也可以作為老師運營的抓手,能激勵老師產生更多優質課程。
? 錯誤的方式:我想在模型里加個特征。
? 正確的方式:我發現最近給我推的課程價格都偏高,調研了幾個用戶也是如此。如果我們持續推高于用戶消費水平的課程,付費率可能會越來越低。我們看下是通過推薦價格占比、還是引入用戶歷史/最近一次消費金額,來減少大量推高單價的情況。
? 錯誤的方式:能不能給新課加 boost。
? 正確的方式:老師拉新團隊最近拉了很多新老師入駐,但是這些老師的課程都沒有曝光量,這影響了老師傳課的積極性,長期來看我們會做大量的老師拉新工作、如果新老師的新課沒有流量會影響整個平臺的老師生態。有沒有什么方法,可以給這些老師/課程一些曝光的機會?
五、我為什么要寫這個
這篇文章不能說把推薦講得非常透徹、但也盡力從業務視角把一個技術邏輯講得更易懂。
我們是個平臺產品,既有C端用戶也有B端用戶。負責B端拓展的同學就希望流量有傾斜,運營同學對各項指標負責又希望基于他的目標做策略調整,產品考慮用戶體驗也會有體驗向的需求,不同角色的需求經常會相悖。而推薦本身也有自己的運轉邏輯,一定會有不能滿足、或者滿足的不好的地方。
想要取得好的溝通效果、達成目標,就要先了解對方的邏輯(推薦),以及如何利用資源(推薦機制),這篇文章原本是寫給我合作的運營同學,借此也獻給所有會關注推薦和流量的運營伙伴。
專欄作家
燒包鹿,微信公眾號:燒包鹿(hishaobaolu),所有的文字都為了傳遞如何思考,人人都是產品經理專欄作家。
本文原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自 Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
如若轉載,請注明出處:http://www.cananla.cn/15218.html