大數據

閒魚觸達系統背後——我想更懂你

作者:閒魚技術-之誠

背景

上週看完了閒魚 push 系統 Hermes 的“三生三世”,大家是不是一直等著“十里桃花”呢?Hermes 咋就這麼敏捷呢?她咋就這麼懂你呢?今天,小編我就帶領大家一起揭開她神祕的面紗。
觸達類業務,對用戶最重要的三個問題:

• When is Right? 什麼時候發給我最合適?

• Who is Right? 什麼樣的場景更適合我?

• What is Right? 發什麼內容更吸引我,我更感興趣,對我有幫助呢?

結合 3R 原則,如何快速的觸達用戶,更好的更優質的推送用戶感興趣的內容,是消息推送需要解決的關鍵問題。

思路

Hermes 的設計理念是將系統分為三部分,不同的組件實現不同的需求:

• 合理的選擇發送時機(When)通過任務中心完成。

• 不同場景選擇不同的用戶(Who)通過配置中心完成。

• 發送用戶最感興趣的內容(What)通過匹配中心完成。

首先,讓我們來了解一下 Hermes 的整體技術架構。

Hermes整體技術架

我們可以從架構圖中看出,配置中心負責維護平臺核心的數據模型,提供任務和素材的內容給匹配中心和任務中心;任務中心負責觸達的時機選擇和實際的觸達計劃,保證系統穩定性;匹配中心負責素材場景擇優,疲勞度控制以及實驗。
在具體討論各個部分的設計之前,讓我們先梳理一下 Hermes 在 push 整體觸達鏈路上的不同類型:

• 個性化觸發,通過洞察用戶感興趣的內容,有針對性的幫助閒魚用戶發現價值。舉例來說,通過算法,找到用戶最容易接受消息推送的時段(某用戶 A 喜歡在上午吃完早餐後打開手機),推送用戶感興趣的消息內容(用戶 A 最近喜歡瀏覽一些數碼產品),幫助他們更好的通過閒魚滿足個人需求(閒魚將最近有關數碼產品的一些促銷活動推送給用戶 A,用戶 A 找到了一個好 deal,很開心)

• 實時觸發,通過洞察用戶使用閒魚的實時行為,更好的幫助用戶實現個人需求,比如用戶瀏覽了某個商品 x,如果商品 x 降價了,我們會通過消息推送告知用戶曾經瀏覽過的商品降價了,這樣用戶就可以用更便宜的價格買到喜歡的商品。類似的還有關注賣家上新等場景。在觸達方式上,我們有 push、短信、popLayer 等不同的觸達方式,針對每種方式的特點,優化用戶接收消息的體驗。

結合上述兩種類型,我們來講解系統是如何通過各部分的配合實現上述鏈路的。

配置中心

配置中心是 Hermes 敏捷的重要一環,如何快速的發掘用戶感興趣的內容,快速的配置,快速的上線是影響用戶體驗的重要因素。首先需要明白配置中心的三個核心角色,任務、人群和素材。運營可以通過平臺配置不同的活動(就是任務),每個活動都可以創建多個素材,素材支持千人千面(個性化內容),運營同學針對各自負責的活動,圈選對應的人群(奧格用戶增長平臺【1】),所以任務和素材是一對多的關係,任務和人群是一對一的關係。

任務素材人群關係

Hermes 的配置中心對任務和素材進行分開管理,系統會把任務按照觸達目的進行分類,任務關聯素材。明確的分類管理,對運營同學管理當前的營銷活動,活動目的以及觸達形式一目瞭然,任務素材審核機制保證了推送給用戶的活動質量,數據大盤的報表便於後期做數據分析,更好的瞭解用戶對發送內容的反饋。

如何發掘用戶個性化的內容呢?每個業務場景都會根據不同用戶的歷史行為產出一張個性化 ODPS 表,這裡面算法會根據不同用戶的特點產出不同的內容。此外,時效性也非常關鍵,計算出來的個性化內容如果幾天後才發給用戶,可能用戶已經不感興趣或者有新的關注點,如何快速同步產出的結果來及時發送給用戶呢?在數據流轉的設計架構中,配置中心的任務素材內容我們存儲在 mysql 和 ODPS(阿里海量數據離線處理平臺【2】)中,通過離線同步和實時同步兩種方式輸入到匹配中心(算法中心):任務素材的配置信息存儲在 mysql 中,離線通過 ODPS 同步機制,實時通過監聽 binlog 機制,同步發送 MQ 消息給匹配中心;素材千人千面的內容我們存儲在 ODPS 表中,離線同步我們採用了 ODPS 同步機制,實時同步我們利用 Blink(阿里海量數據實時流計算平臺【3】)來完成,具體的方式通過 Blink 監聽 ODPS 表的內容變更,然後將內容同步到匹配中心對應的數據存儲中(IGraph 數據庫,下文會有介紹)。通過實時的數據同步,我們可以做到內容快速配置上線,這也體現了 Hermes 的敏捷。結合個性化內容的生成,我們可以給匹配中心提供充足的素材供匹配中心找尋用戶最感興趣的內容,發掘用戶的興趣點。

個性化內容同步

任務素材配置同步

任務中心

任務中心主要負責觸達時機的確定,用戶校驗,計算任務素材匹配列表,調用匹配中心來判定是否對用戶進行觸達,業務校驗,數據埋點,消息觸達,整體鏈路如下圖:

任務中心主體鏈路

在觸達時機上,根據不同類型的消息特點,我們把觸達時機分為兩類:個性化觸發是算法通過離線 T-1 日算出每個用戶最有可能接受觸達的時間(個性化時間),產生一張 ODPS 表,任務中心通過 SchedulerX(阿里分佈式調度系統)調度這張個性化時間表,查找符合條件的用戶列表,將用戶列表封裝為消息發送(MetaQ,阿里自研分佈式消息隊列),接收到消息的服務針對每個用戶,進行上述的鏈路傳遞;實時觸發是通過端智能的用戶行為採集,上報,根據用戶目前所在的場景,挑選適合該場景的信息發送給用戶。這其中,感知用戶行為和決策下發是 Omega 系統實現的,Hermes 通過與 Omega 系統配合,獲得觸發時機以及對應場景,關於 Omega 系統的介紹,我們公眾號之前的系列文章《端智能系列》會給你詳細的闡述(傳送門)。

Omega&Hermes 智慧與速度的結合

當整條鏈路觸發之後,系統首先校驗用戶是否符合系統要求,如果符合的話系統會根據用戶去查詢用戶命中的任務(其實是查詢用戶是否在某個人群中,還記得一個任務對應著一個人群嗎?),根據用戶命中的任務,通過配置中心找到對應的符合這個用戶的所有的素材,然後將這個素材列表結合一些配置信息發送給匹配中心,匹配中心具體的功能下個段落會有仔細講解,匹配中心返回決策”是否發送消息“給當前請求用戶,如果發送,發什麼素材以及發送什麼內容;如果不發送,不發送的原因,便於做後期分析統計。如果發送的話,任務中心會進行業務參數校驗,千人千面校驗等一系列校驗內容確保素材合理合法,然後記錄數據埋點以及後期日誌,最後通過閒魚自研的消息下發渠道 Heracles 推送給用戶,參見下圖:

任務中心主鏈路

這裡需要單獨說明一下實時觸發的場景,由於實時觸發的場景多樣,系統會根據用戶行為推送給用戶不同的消息內容。但系統又不能對用戶造成騷擾,這就需要匹配中心需要區分這些場景,有針對性的選擇最合適的內容,針對複雜的場景,需要進行場景隔離。這就需要不同的匹配中心,因此係統要對匹配中心靈活配置,這裡我們通過傳入匹配中心的 id 靈活選擇對應的匹配中心,解耦了任務中心和匹配中心,對未來更多類型的場景,提供了可能。

解耦匹配中心

匹配中心

Hermes 除了快,還很懂你,奧妙就在匹配中心。她不光幫助 Hermes 回答了“ 是發 or 還是不發,That is a question"(致敬著名英國文豪莎士比亞),還解答了發送什麼內容對用戶最有用,才是用戶最感興趣的,最能幫助到用戶。咋做的呢?匹配中心來自阿里算法平臺 TPP,結合配置中心準備好的個性化內容信息,算法小姐姐會根據場景建模,根據用戶的歷史數據,實時行為進行模型訓練,對素材進行預估打分,匹配召回,素材之間的 AB 實驗和賽馬【4】,最終決定哪個素材以及內容是最適合用戶的。當然,在此之前,還有非常重要的一步,就是消息觸達不能對用戶造成騷擾,所以根據用戶、任務、素材、內容疲勞度來綜合判斷到底發還是不發,以及什麼素材和內容滿足疲勞度控制,在實時場景中,匹配中心相對個性化觸發更為複雜,這裡除了單場景的素材擇優,還需要考慮到多個場景下如何進行場景擇優的問題,比如用戶進入 app 首頁這個場景,可能會觸發多個場景,每個場景都有對應的消息觸達,那麼匹配中心如何選擇最優場景,再根據場景中的不同素材進行素材擇優,這裡的模型設計會更為複雜。在平臺上,算法使用了阿里自研的推薦平臺 TPP,內部使用到的數據存儲是 IGraph,一種阿里自研的高性能圖數據庫。

匹配中心架構

小結一下,結合上述的具體闡述,通過配置中心,任務中心和匹配中心的聯動,Hermes 可以快速發掘用戶感興趣的內容,並且在用戶易於接受的時機把內容傳播給用戶,同學們,你們聽明白了嗎?有啥問題嗎?有問題的話就留言吧,卡爾.薩根說過:"世上沒有傻問題" (順便點個"在看", 小哥哥晚餐就給自己加個雞腿了)

業務效果

Hermes 平臺上線之後效果非常顯著,用戶點擊率提升兩位數,說明用戶對消息推送的時間相較於老系統更容易接受,消息內容更感興趣;用戶場景的覆蓋量直接翻倍,這為用戶提供了更豐富的場景,給用戶帶來了更有趣的內容,所以通過 push 激活的閒魚 DAU 也超過了歷史最高水平。
除了業務效果,其實 Hermes 讓運營效率也得到了顯著提升,為什麼想聊一下這個呢?因為這個其實對用戶關係密切,我們身處在一個信息量爆炸的時代,每天都有很多的時事熱點,運營同學需要根據時事熱點第一時間創建實時性高的活動,將熱點與閒魚與用戶有機的結合在一起,推送給用戶當下最感興趣的內容,這就要求 Hermes 在運營配置上必須快,配置要簡單,過程要清晰,速度要快。
在 Hermes 還未誕生的時候,老系統配置,測試,審核往往需要三天以上的時間,而現在所有的流程全部在管理後天配置完成,實時生效,數據大盤統計,歸納整理一站式全部搞定,誰用誰知道,用了都說好!

總結與展望

本文從技術角度講解了 Hermes 在用戶觸達方面敏捷,瞭解用戶的特點,深入解釋了閒魚觸達平臺中 push 的技術架構和主體流程,在阿里內部平臺以及團隊自研應用的支持下,實現了千人千面,精準快速觸達的用戶體驗。Hermes 作為閒魚觸達的統一收口平臺,不光是 push,短信,未來也會接入 open page 等更豐富的觸達形式,通過不同的觸達方式,優化用戶體驗;在閒魚觸達的整體架構設計中,未來我們會對場景擇優和內容選擇上進行深度的優化,針對不同的業務目標,匹配出最適合用戶的場景以及消息內容。為了用戶,沒有最懂你,只有更懂你。希望通過觸達聯通我們的用戶,為用戶提供最及時最想看到的閒魚消息。希望大家持續關注我們的最新進展,對消息觸達感興趣的同學歡迎和我們一起討論你感興趣的問題,希望我們的平臺可以幫助到更多的用戶!

備註

備註 1:奧格 -淘系用戶生命週期全鏈路管理平臺

備註 2:ODPS -阿里海量數據離線處理平臺

備註 3:Blink - 基於 Flink 的阿里海量數據實時流計算平臺

備註 4:賽馬-素材競爭,一種自然的實驗方式,通過素材自身內容進行競爭,優勝略汰

Leave a Reply

Your email address will not be published. Required fields are marked *