作者:閒魚技術——之誠
講講上下文
如果你是公眾號《閒魚技術》的老粉,也許你還記得,在去年的那個春天,我們給大家介紹了閒魚PUSH的前世今生,給大家帶來了Hermes-愛馬仕,它是一個基於PUSH的用戶運營系統。在接下來的一年裡,我們的Hermes也發生了很多改變,它收到了很多很多熱心用戶的建議、吐槽還有寶貴的誇讚,我們也基於這些信息做了很多的優化,還有很多正在陸續上線。今天我想借這個機會和大傢伙嘮嘮我們今年的進展(愛馬仕升級啦!)
<img src="https://gw.alicdn.com/imgextra/i4/O1CN01bPW8ib21AOyF9kgtb_!!6000000006944-0-tps-1024-680.jpg" width="500">
過去這一年
作為一個技術同學,我想從三個視角給大家介紹一下目前閒魚的推送還有哪些地方需要加把勁兒:
用戶寶寶們:推送的內容相關性需要再提升,“有些時候推給我的東西感覺還是沒啥興趣”,“有些時候推送是不是發的有點多了,我其實最近不太想看推送,你說我關通知吧,我還想收到私聊或者訂單的通知,不關吧,有些推送我真的不想收到啊”
業務大大們:“現在的閒魚業務這麼豐富,潮品、同城、社區....,但我們和目標用戶連接不穩定啊(因為我們的Hermes系統是選擇最好的內容給用戶,每次推送可能都不一樣,並沒有穩定的通道直接連接用戶和行業),這樣推送帶來的轉化不夠啊;而且我們希望用戶的長留要好,不能光看短期點擊的”。
頭禿的我:作為Hermes平臺的技術owner,我發現系統確實需要升級了,隨著觸達業務不斷複雜,技術架構無法完美支持豐富的業務場景,而且當問題出現時,現有的技術鏈路無法全鏈路復現當時的問題。
So!這些問題怎麼解?
打仗得有戰略
我們要做的是:
To 用戶寶寶:
• 只關注自己感興趣的推送,不開心隨時取關,免打擾,刪除,怎麼都可以。
• 推送的疲勞度全局管控,你喜歡多看就多發給你,不喜歡就不發給你。
To 業務大大:
• 有沒有一種產品形態可以建立業務和用戶穩定的連接和轉化呢
To 自己:
• 技術如何幫助業務提效
• 如何更快更全面的排查問題
• 如何靈活的支持更復雜的業務
總結一下:我們需要探索一種新的推送形態,保證與用戶的有效連接,基於這種連接推送用戶感興趣的內容,並且要優化發送頻率和時機,只有這樣,用戶才會更喜歡看我們推送的內容。
所以,我們今年建立了閒魚的服務號體系
<img src="https://gw.alicdn.com/imgextra/i1/O1CN015BwRKG1Rtu9mGcNsj_!!6000000002170-0-tps-592-1280.jpg" width="200"><img src="https://gw.alicdn.com/imgextra/i2/O1CN01oIjpNc1aEWuvMRIj3_!!6000000003298-2-tps-209-452.png" width="200">
它的特點是:
• 基於用戶興趣的推送
• 基於行業的私域運營
• 免打擾全局管控機制
服務號推送的粒度更細,按照用戶興趣和行業之間的關係進行了重新的映射,產生了多種多樣的服務號,大多數服務號只給自己的粉絲推送消息,你喜歡就關注,不喜歡就bye bye。
接下來,讓我們一起走進服務號背後的大殺器,HermesX-閒魚一站式用戶觸達系統。
這是《HermesX一站式閒魚用戶觸達》系列文章的開篇,更多的是承上啟下,給大家介紹一下各個方面的概況,在接下來的日子裡,我們會通過其他文章詳細介紹一些關鍵的技術實現細節。
戰術佈置
戰術1:整合目前閒魚所有觸達邏輯
去年的Hermes在觸達時機,觸達內容上已經做了很多優化,但依然無法有效的串聯所有的觸達系統(由於歷史原因和業務訴求,閒魚現存了多個觸達平臺),所以HermesX做的第一件事,就是整合所有平臺,將鏈路進行歸一,這樣做最重要的目的是,對所有觸達用戶的內容進行統一管控,不光是內容上的擇優,還包括了頻次的控制和策略的下發。
<img src="https://gw.alicdn.com/imgextra/i3/O1CN01ESXanf1c1MlVGrdFk_!!6000000003540-2-tps-219-223.png" width="130"> <img src="https://gw.alicdn.com/imgextra/i1/O1CN01Dd5MGo28hYxbeFUmp_!!6000000007964-2-tps-339-225.png" width="200">
這裡面技術的挑戰在於如何抽象出統一的模型,定製統一的協議,以及對不同的推送類型做集中邏輯處理。由於推送的業務模型天然拆分為五個要素(who、when、what、how and where),如下圖:
<img src="https://gw.alicdn.com/imgextra/i2/O1CN0109ZLQh272yF92gRBG_!!6000000007740-2-tps-649-441.png" width="500">
可以把串聯五個要素的服務抽象為HermesXFlowService,每個要素作為一個HermesXFlowPoint的實例,HermesXFlowPoint明確知道執行邏輯的先決條件,具體執行邏輯以及執行後的檢查工作。
<img src="https://gw.alicdn.com/imgextra/i3/O1CN01Uk35rK1gvw9Hr3mHk_!!6000000004205-0-tps-986-832.jpg" width="500">
這樣的設計解耦了每一個觸達要素,HermesXFlowService可以動態加載各個要素,根據推送的類型,不同的推送可以在各個要素節點有自己的實現邏輯,靈活實現但依然受到整體控制。
同時,由於觸達策略和觸達規則是一對多的關係,在觸達規則這個模塊,我們把多個規則進行動態的串聯,通過FIlterChain的方式來進行規則的判斷,使得代碼結構非常清晰,排查鏈路簡單明瞭。
<img src="https://gw.alicdn.com/imgextra/i1/O1CN01peohOQ1FqRm57Svsm_!!6000000000538-0-tps-506-454.jpg" width="500">
在觸達通道側我們對不同的通道進行了協議的抽象,可以根據配置信息靈活調度。
最後送上HermesX的架構大圖,有興趣的朋友們可以和我進行深入交流:
<img src="https://gw.alicdn.com/imgextra/i3/O1CN01o7qTbM1NWJI2EMEf4_!!6000000001577-2-tps-4459-1944.png" width="700">
戰術2:內容召回優化,提升內容相關性
搭建好了工程鏈路的底子,現在可以把豐富的信息送到算法的嘴邊了,先別急,藉著這次重構,算法的小夥伴們也進行了基礎建設能力的增強,之前由於熱點時刻發送請求量巨大,導致算法的實時計算服務(TPP)經常超時。通過一系列的代碼優化以及配置優化,並且對用戶觸達時間進行削峰,算法性能取得了顯著的優化:
• 全天異常量降低35%
• 非高峰期異常降低90%
• 計算資源消耗減少65%
• 峰值接口耗時減少69%
基建優化之後,開始著手提升內容的相關性,發掘一些好玩的素材,擴充內容池。這裡算法首先0-1建立了多體系內容投放系統,將用戶在閒魚端內的行為數據進行特徵歸類,分為多個場景,融入到模型中學習。舉例來說,如果用戶A喜歡逛社區,那A很有可能會有大量的帖子相關的內容,但哪個帖子用戶A更感興趣,需要算法根據帖子的特徵進行大量的樣本學習,從而算出該用戶和他喜歡的帖子之間的匹配程度;其次,算法在內容的生產上,也嘗試了通過熱門搜索詞匹配感興趣的潛在用戶群體,並通過自動化的鏈路將內容素材給到業務同學,業務同學根據該素材的相關數據,來進行進一步的修訂和校驗。(智能化文案的生產和全自動化推送需要更精準的匹配和文案的打磨,目前機器學習的推薦依然需要人工校驗,確保沒有負向風險)
在召回側,從端內行為利用不足、trigger較單一、X2I覆蓋不足,到構造11路X2I召回、補充數十億x2i關係,算法極大的補充了內容召回的不足,為更充裕的內容擇優提供了堅實的保障。
戰術3:用戶體驗優化,客戶端算法齊發力
HermesX整合的最重要的意義之一,就是對推送的發送頻率進行統一控制,也就是疲勞度。系統設計了四層疲勞度,分別為用戶級別的疲勞度、策略維度、素材維度和實際內容的疲勞度。進行全局收口後,工程側統一把每天要給用戶發送的不同類型推送統一給到算法側,算法側會預測該用戶每日接收推送的個人喜好以及興趣度,如果預測發現該用戶不適合多條推送,算法會在產品推送的基礎上不發送營銷內容給用戶,降低用戶被打擾的次數;如果用戶對服務號的內容感興趣,算法可能會推送多於普通用戶的條數。同時,工程側也將發送PUSH和發送端內消息進行了分離,算法決策的粒度變為了主要發端內消息,PUSH為輔的策略,因為PUSH對用戶是一種相對較強的通知方式,當算法預測該用戶大概率今日會訪問閒魚的時候,發送消息就可以觸達到用戶。
我們還對N天不點擊推送的用戶添加了靜默期功能,當用戶長時間不點擊推送內容,我們會在一定時間內不發送任何營銷類推送給該用戶,保持最低限度對用戶的打擾。其次,如果算法發現某個發送內容點擊和用戶行為效果不好(點擊率低,落地頁用戶行為少),說明這個內容對用戶幫助少,那麼我們會對這些內容進行降權甚至不發送相關的內容。
在端側體驗方面,客戶端小夥伴將會話模型進行了重構,按照服務號粒度進行了拆分,支持更細粒度的運營訂閱服務,用戶可以隨時取關或者靜音某個服務號的推送,這樣的設計方便後續我們更靈活的組裝眾多的服務號會話類型。
<img src="https://gw.alicdn.com/imgextra/i2/O1CN01a1WPdf1P6mRW02VUc_!!6000000001792-2-tps-1170-2532.png" width="200"> <img src="https://gw.alicdn.com/imgextra/i3/O1CN01NBW7MG21a39Xy1oYF_!!6000000007000-2-tps-1170-2532.png" width="200">
同時,為了豐富端上信息展示的樣式,我們跟隨服務號一期項目,同時新開發了多種消息卡片樣式,這些卡片支持DX卡片動態下發內容,不需要跟版本發佈,提升了需求迭代的效率,提升了用戶獲取內容的效率和體驗。
<img src="https://gw.alicdn.com/imgextra/i4/O1CN01YyXdD91dBjLNPqESC_!!6000000003698-2-tps-752-453.png" width="500">
最後,悄悄地說,如果你點擊進入了服務號,你會看到更多菜單內容以及和服務號聊天的功能,這個功能希望業務同學作為服務號的owner,可以給他們一個直面用戶的通道,可以在自己的私域內和自己的粉絲進行交流,收穫建議或者回答問題,多傾聽用戶的聲音,反覆打磨優化自己的服務號內容。(這麼好的功能我們還在緊鑼密鼓的開發中,不久就會上線,大家敬請期待呀)
戰術4:全新交互的管理後臺,運營效率槓槓的
說完了HermesX對用戶側的改進後,讓我們也來討論一下HermesX的另外一個”用戶“-業務小夥伴們。如何幫助業務小夥伴們提升策略的配置效率,洞察更多的機會,是技術平臺義不容辭的責任。HermesX天然的基於觸達五要素的設計,從管理後臺角度,也按照了自然思維配置觸達策略和觸達內容,如下圖:
對比之前,配置一個策略多個內容要跳2-N個頁面不等,現在在HermesX上面一個頁面就可以全部搞定,業務同學可以看到策略相關的所有內容和策略對應的元數據信息,交互體驗非常順暢。
同時,新的管理後天對策略進行聚合,新增了場景的概念,這樣的設計正好映射了服務號的產品理念,將相關的策略進行分組,不同的場景目標不同,所以設定場景目標,將轉化目標和具體的每一個策略掛鉤,據此來評估策略的效果,方便同行業的同學直接查看相關素材,有些時候自己創建的內容不好了,抄抄作業獲取一下靈感也是極好的。
我前面提到了,HermesX管理後臺不光全面升級了交互流程,還設計了豐富的數據看板,業務同學可以通過首頁的dashboard 看到自己管理的策略的多維度表現情況,還可以和大盤的基本面進行比較,發現自己策略所處的位置,舉例說明:我們給業務提供了大盤策略點擊率、落地頁、最終轉化等排名,大家可以看到對用戶效果好的策略都是什麼樣子;同時我們會對owner管轄的策略對用戶的各項數據進行可視化展示,讓業務知曉自己的策略覆蓋了多少用戶,不同用戶的策略交互效果如何。後續我們計劃引入對用戶的更加細緻的分層,幫助業務分析自己策略的特點,更好的幫助到不同維度的用戶。
整套交互後臺的技術方案,前端小夥伴都是基於一套中後臺方案快速搭建起來的,數據和交互解耦,完全的數據模型驅動,交互組件高度可複用,這樣的設計方便了以後內部運營系統的開發,可以實現多租戶,高效解決同質需求。
階段性總結
說了這麼多,總結一下,今年HermesX系統的搭建:
• 營配置效率提升至少一倍
• 長期留存目前AB實驗效果都有超過30%的提升
• 通知推送關閉的降低,APP卸載的下降有明顯的收益
希望大家對今年的HermesX有更多的期待,現在有些功能還在開發中,陸陸續續會和用戶見面。推送業務很不好做,我們一直在努力做的更好,希望今天介紹的這些小功能,有真的可以幫助到我們的用戶,讓他們獲取更及時,更有效的內容。
前方的路
這僅僅是開始,今年的戰役我們打響了第一槍,後面道阻且長,下一步的計劃是:
• 進一步優化內容供給池,擴充內容的供給,並且細粒度的拆分內容場
• 更多維度的人群特徵預測,精細化運營推送人群
• 服務號我們會進行更多更好玩的功能迭代,這裡我先賣個關子,到時候大家就看到了。
我們的用戶如今規模龐大,大家有著各自的興趣和用戶習慣,作為和用戶連接的直接通到,服務號體系需要承擔更多的使命和責任,作為支持服務號背後的技術平臺HermesX,會不斷沉澱自己,和業務一起服務好我們的用戶。還是那句話,服務好我們的用戶,是閒魚觸達的唯一願景。