天天看點

資料政策案例

什麼是推薦政策

推薦政策是通過使用者屬性和使用者行為,找到每個使用者的興趣偏好,進而達到個性化推薦的目的。如果你嘗試在抖音和快手上看一些短視訊,會發現,看的越多,推薦的短視訊就越符合我們的興趣,即,抖音、快手的推薦政策通過使用者曆史的觀看行為,為使用者推薦其喜歡的視訊。本文将以抖音、快手為例,介紹資料分析在推薦政策上的運用。也就是我們說的政策分析。

在此之前,我們需要先揭開推薦系統的面紗,了解它的内部資料流,在此基礎上探索資料分析和推薦可能的合作方式。以下是我基于對推薦系統的認知,整合了對抖音快手的業務了解,畫出的推薦系統架構。

資料政策案例

使用者請求服務後,一般系統先判斷使用者屬性,在相應的召回層中撈出一批視訊,召回層打撈的視訊量級通常會大一些,視 App 請求量級和計算資源而定,可能為萬也可能為千級别。這些視訊進入粗排層,粗排層會制定一些規則,快速對召回層的視訊進行排序,選取一部分視訊進入精排層。進入精排層的視訊可能就隻剩百級别的數量了。精排層對視訊排序的準确性要求更高,通過視訊精排,選取排名前幾的視訊傳回給使用者,就是我們在 App 上看到的視訊。使用者繼續請求服務,推薦系統再次給使用者傳回推薦的視訊内容,如此反複。

使用者請求服務

使用者請求服務,在抖音的場景裡,可以了解為打開 App、下拉重新整理頁面、向上滑動視訊看下一個視訊等,這些都是一次使用者請求。Server(服務端)收到請求後,進入推薦流,通常情況下,Server 會判斷使用者屬性,傳回不同的召回源。不同類型的使用者,召回層的視訊池(也叫候選池)很可能是不同的,比如,對新使用者是否不出廣告。當然,這種屬于比較成熟的推薦系統,很多中小型平台的 Server 收到請求後,直接進入召回層,在後續的粗排層再将使用者屬性作為一個 Label(推薦特征),來幹預視訊排序。

召回層

召回層,簡單來說,就是從全量視訊池中召回(打撈)盡可能多比對使用者興趣的視訊。像抖音、快手日活級别的産品,每天使用者上傳的作品量上百萬,甚至上千萬。伺服器資源不允許計算使用者對所有視訊的感興趣程度,使用者更不可能給推薦系統太多時間去計算(之前流行說法是,網際網路使用者最多 3s 耐心,現在更短)。是以,需要在召回層,通過一些召回規則,每種規則下召回(打撈)一定量級的視訊。這裡可以簡單了解,基于某一種規則篩選的視訊為一種召回源。是以召回源的視訊總和構成了召回層。

召回源的來源通常有多種,比如對站内已經有熱度的視訊作為一個召回源,把它們推薦給更多使用者,打造站内、甚至全網爆款,這種在抖音上比較常見;比如營運建構“長尾優質”召回源,通過篩選優質内容,給予流量傾斜,扶持 KOL、同時保證站内内容的多樣性,這種在快手可能更常見。那麼,在召回層,資料分析師也可以提供一批視訊作為召回源,以達到某種目的。根據站内使用者請求量和計算資源,召回層撈回的視訊可能為萬級别、千級别,也不排除僅為百級别。

粗排層對召回層提供的視訊,快速排出使用者興趣低的視訊,撈出百級别量級的視訊進入精排層。可能你會疑惑,粗排層的 Ranking(排序)算法應該是推薦主導,資料分析師又能如何參與進來呢,後面我們會舉例說明。

粗排和精排

精排層對視訊排序的準确性要求更高,排序結果直接影響到呈現給使用者的視訊内容,也是很重要的一環。與粗排層一樣,資料分析師可以給予 Ranking 算法的建議。

至此,我們花了大量的篇幅來介紹推薦系統,我們的分析也是基于推薦流上的優化。相信敏銳的資料分析師,可能已經能發掘我們在政策分析上可以做哪些事情了。

可以與推薦進行的合作

召回層合作:增加召回源

我們知道,推薦系統的準确性是建立在有大量使用者行為資料的基礎上的,但是對于新使用者,他們的行為是缺失的,我們能拿到的新使用者屬性也是少之又少的,除了使用者機型、地域、安裝管道等,其他資訊基本為零。這就導緻新使用者的推薦特征稀疏,針對新使用者的個性化推薦,很難取得較好的效果。這種情況,我們可以針對新使用者建立單獨的召回源,通過分析之前的新增使用者在哪些視訊上的觀看表現較好,把這些視訊作為一個召回源,以幫助提升新使用者的視訊觀看時長,進而達到提升新使用者留存的目的(我們知道,通過 AARRR 模型,此時使用者處于“激活”階段,下一步重要的轉化階段就是要實作使用者留存)。

召回層合作:優化現有召回源

增加召回源是一種方式,但是實際中使用的并不多,主要是因為新增召回源後,還需要持續更新召回源的算法,維護成本較高。同時也會增加 Reco(推薦)的管理成本(召回層有大量的召回源,也是需要管理的)。是以,我們更多的是通過分析現有召回源的視訊表現,将它們作為優化、甚至是下線某些召回源的依據。以短視訊為例,評價視訊表現的名額有完播率、平均播放時長、視訊的點贊率、評論率、轉發率等。其中,完播率是指視訊被看完的比例;平均播放時長是視訊被多次觀看的平均時長;視訊點贊率是指視訊播放時,被點贊的比例。如果某些召回源的少數名額表現較差,我們可以幫助優化召回源的篩選規則,提高該召回源的視訊品質;如果某個召回源的多個名額都表現較差,也可以建議 Reco下線召回源。另外,我們也可以整體分析所有召回源的流量分布,如果流量分布極度不均衡,可能會造成平台内容過于單一,長遠看對使用者留存可能有損,Reco 也是需要優化的(相信大部分使用者是不願意在一個泛娛樂的平台上,看到過于單一的内容)。

粗排層和精排層的 Ranking(排序)優化

在上一部分我們提到,評價視訊表現優劣的名額是多元的,完播率、點贊率、評論率等,而不同名額的權重有大有小,如何确定名額的權重呢?我們假設目前視訊點贊率的平均水準為 7% 左右、評論率為 2% 左右、分享率 1% 左右。那麼我們可以合理推斷,使用者一次分享的價值高于一次點贊(分享率 1% < 點贊率 7%)。或者說,使用者分享行為是使用者給予推薦系統更強的一個正回報,“我可能喜歡這個視訊”,那麼,Ranking 算法中,分享率這個名額可能需要被提權,進而讓好的視訊被篩選出來,推給更多使用者。

當然,實際中,業務場景可能更複雜。因為商業化因素的考慮,是以需要出廣告;因為要保持站内内容的多樣性、維持健康的生态,是以需要對長尾内容進行流量扶持;因為要給予中小生産者漲粉的通道,是以需要給予他們冷啟流量等等。這些地方,資料分析師都可以發揮作用。

以廣告的 Adload 為例來說。廣告的 Adload,是指使用者消費的視訊流(含廣告)中廣告的數量占比。Adload 越高,平台的商業化收入越高,但是對使用者的體驗傷害也越大。部分使用者甚至不再活躍,長期看是不可持續的。而 Adload 越小,雖然使用者體驗會變好,但是平台收入也少了,就不能持續營運下去。是以廣告的 Adload 應該限定在一個合理的範圍内。這個合理範圍需要通過 A/B 實驗,分析不同 Adload 帶來的商業變現,及相應的日活損失。以此計算出既能保證平台持續營運的最小商業化變現要求的範圍。同時,盡量使得單次廣告展現導緻的日活損失值最小。(單次廣告如何達到最高的變現效率是另一個問題,此處不展開讨論。)

另外,還可以更精細化的管理使用者的 Adload——不同使用者對廣告的忍耐度是不同的。我們以使用者生命周期來說,對于穩定期的使用者,他們對平台的黏性最高,對廣告 Adload 的容忍度也相對更高;相反,對于衰退期的使用者,他們本身的流失風險就很高,此時如果再向他們推薦廣告,很可能會加速他們在平台上的流失。是以,合理的做法是,針對不同的使用者,加載不同的廣告 Adload。在此過程中,資料分析師承擔了使用者分群的職責,通過合理定義使用者所在的生命周期,幫助平台最小限度的減少流失使用者、最大限度的實作商業化變現。

繼續閱讀