導(dǎo)讀:用戶增長一直是各類應(yīng)用關(guān)注的熱門議題,虎牙公司作為國內(nèi)知名的直播平臺,除了在直播游戲化技術(shù)、虛實融合等領(lǐng)域持續(xù)積累,也在用戶增長方面投入了大量的實踐,用外部信息流廣告做有效投放進(jìn)行平臺的拉活、拉新。今天請到了虎牙直播用戶增長的算法組負(fù)責(zé)人郭楷揚老師和架構(gòu)負(fù)責(zé)人葉士銘老師,分享《虎牙直播用戶增長中臺算法與工程實踐》,主要分為以下三部分:
- 背景介紹:用戶增長和投放
- 用戶增長算法實踐
- 用戶增長工程實踐
—
01
背景介紹:用戶增長和投放
首先和大家分享下用戶增長和投放的背景介紹。
1. 用戶增長全流程

首先簡單介紹一下用戶增長的全流程鏈路,分別是用戶獲取、激活用戶、提高留存和增加收入。今天主要介紹用戶獲取中的廣告拉新和提高留存中的廣告拉活。
接下來是廣告投放的流程:
- 首先,是投放前的目標(biāo)人群圈定。譬如:拉活的目標(biāo)人群就是最近N天沉默的人群。
- 隨后,在廣告平臺進(jìn)行投放并出價。
- 接著,用戶對展示廣告點擊,進(jìn)而進(jìn)行APP的拉起或者下載激活。
- 最后,我們會對用戶質(zhì)量進(jìn)行監(jiān)測。譬如:次日留存率、觀看率等,進(jìn)行用戶質(zhì)量跟蹤。
2. 廣告投放業(yè)務(wù)背景

廣告投放中的具體流程如圖,首先在抖音、QQ空間、手機百度等外部渠道展示虎牙的廣告素材。用戶點擊對應(yīng)的廣告,如果用戶已經(jīng)下載過虎牙app,那么則會跳轉(zhuǎn)至虎牙APP的承接頁面,否則跳轉(zhuǎn)至下載頁面。
以上就是用戶增長的廣告投放業(yè)務(wù)背景的介紹。
—
02
用戶增長算法實踐

算法實踐按廣告投放的幾個主要節(jié)點分為四大部分:人群定向、素材優(yōu)選、出價策略和用戶承接策略。
3. 人群定向

首先是人群定向,也就是保證廣告曝光給了我們的目標(biāo)用戶。這塊在過往,我們迭代過三個不同的階段。
第一個階段:離線白名單。
- 做法:就是通過離線計算目標(biāo)人群的白名單。按天傳給廣告平臺進(jìn)行投放。
- 效果:實現(xiàn)人群定向的基本訴求。
- 不足:由于離線延遲比較大,人群的更新不及時,進(jìn)而導(dǎo)致用戶誤拉率比較高。
第二階段:離線白名單+黑名單。
- 做法:上傳非目標(biāo)人群黑名單。
- 效果:對已經(jīng)轉(zhuǎn)化為非目標(biāo)用戶的群體進(jìn)行處理,解決了部分誤拉問題。
- 不足:如果目標(biāo)用戶安裝了虎牙app,但在最近三天未打開虎牙,在投放當(dāng)天,如果用戶自主打開虎牙或者點擊廣告打開虎牙,即轉(zhuǎn)化為非目標(biāo)用戶,當(dāng)前離線策略仍舊無法解決。
第三階段:RTA控制策略。
- 做法:在廣告平臺投放前,平臺會實時發(fā)送RTA廣告請求,其中包含了用戶的設(shè)備信息,我們就可以依此判斷回復(fù)是否投放,來實現(xiàn)實時屏蔽掉當(dāng)天已打開APP用戶。
- 效果:RTA策略在人群誤拉和用戶首啟率上都有不同程度的優(yōu)化,此外,結(jié)合用戶差異化出價,客單價上也有百分之十五的成本下降。

在第一部分確保我們目標(biāo)用戶被準(zhǔn)確投放到,第二部分主要解決如何確定目標(biāo)用戶,也就是uplift增益模型的工作了。
左上圖是營銷人群四象限:
- 營銷敏感人群:就是只有投放廣告用戶才會回到虎牙進(jìn)行活躍,就是廣告敏感人群,也就是我們投放的目標(biāo)群體。
- 自然轉(zhuǎn)化人群:就是無論我們是否對他投放廣告,他都會自主活躍。成本考慮,我們就不投放此類群體。
- 無動于衷人群:就是無論是否投放廣告,這類用戶都難以促使回到虎牙活躍,這部分也是直接放棄。
- 反作用人群:就是對廣告是比較反感,不投放廣告活躍,投放了廣告,反而會因為反感去不會回到虎牙,也不做投放。
傳統(tǒng)點擊率模型是指看過廣告后購買的概率,而uplift模型的核心是要去找出圖中的營銷敏感人群。最后我們實驗了不同建模策略,并在廣告拉活業(yè)務(wù)上進(jìn)行了一個ABTest,選取營銷敏感人群進(jìn)行廣告投放。最終在DAU和DAU轉(zhuǎn)化率上都有明顯提升。

第三部分在拉新廣告中會用到的虛擬回調(diào)技術(shù)。
目前市場上拉新廣告投放的都是OCPX廣告原理,也就是通過回傳廣告平臺的深度轉(zhuǎn)化行為(譬如次日留存),來提升廣告平臺篩選有價值人群的能力。
假設(shè)我們拉新標(biāo)準(zhǔn)是用戶的次日留存大于40%,且觀看時長大于30分鐘。那么回傳真實留存的傳統(tǒng)方案,會存在以下三個問題:
- 定向只考慮了次日留存,沒有觀看時長。
- 轉(zhuǎn)化事件回傳慢,留存由于天然的限制最早也要次日回傳。
- 轉(zhuǎn)化事件回傳少,廣告學(xué)習(xí)期通過率低。
因此我們探索性的提出了虛擬回調(diào)的方案來解決上述問題。

廣告ECPM是每千次展示可以獲得的廣告收入。公式如圖,也就是點擊率、轉(zhuǎn)化率和出價的乘積再乘1000。廣告?zhèn)饶苤苯痈深A(yù)的主要兩部分,CPA(出價)和CVR(廣告轉(zhuǎn)化率)。

基于上面介紹,虛擬回調(diào)針對前面三個問題做了一一處理。
- 用戶定向:通過在真實留存中剔除時長不達(dá)標(biāo)的用戶來保證用戶觀看時長的要求。
- 轉(zhuǎn)化回傳少:通過對觀看時長較長的用戶進(jìn)行加量的回傳。
- 轉(zhuǎn)化事件回傳慢:通過對用戶激活當(dāng)日的行為,通過模型對其次日是否會留存進(jìn)行預(yù)判,對大概率次日留存的用戶在當(dāng)日就進(jìn)行提前回調(diào)。
這三種技術(shù)方案里面的核心思想其實是有兩點:
- 一是通過回傳不同的人群來影響廣告平臺的人群定向。
- 二是通過轉(zhuǎn)化事件的回傳來干預(yù)廣告的轉(zhuǎn)化率(CVR),進(jìn)而影響廣告的ECPM,提升廣告競爭力。
最后對兩種方案進(jìn)行了對比,虛擬回調(diào)在時長優(yōu)化上、轉(zhuǎn)化回傳速度和回傳量都有明顯的優(yōu)勢。

留存事件提前回調(diào),是通過次日留存預(yù)測模型來實現(xiàn)的。該模型主要是利用戶在激活后N小時內(nèi)的行為特征來對用戶次日是否留存進(jìn)行預(yù)測,再提前回調(diào)給廣告平臺。
首先是模型目標(biāo)的確認(rèn)。雖然我們模型追求的目標(biāo)是時長較長而且次日留存的用戶,但是我們是以次日留存用戶為label去建模的。原因有兩點:
- 一是模型的正負(fù)樣本差距會過大,模型學(xué)習(xí)的難度大。
- 二是用戶的次日留存率與觀看時長相關(guān)性比較大,強化次日留存可以進(jìn)而提升時長。
其次是時間窗口的選擇。一方面,特征時間窗口越大,特征用戶特征越豐富,模型理論上越準(zhǔn)確。另一方面,時間窗口越小,特征預(yù)測回傳速度則更快。
面對這種平衡問題,我們通過激活后特征從1到6小時分別做訓(xùn)練,發(fā)現(xiàn)AUC 在3小時之后增長是非常緩慢的。所以選擇了3小時作為用戶特征時間窗。

最后看下我們這個項目的一個成果。我們通過構(gòu)造三種不同的回調(diào)策略,形成了虛擬回調(diào)方案與傳統(tǒng)的激活留存做了雙出價的ABTest。發(fā)現(xiàn)不管是量級消耗還是用戶質(zhì)量都有非常明顯的提升,此外作為完整的技術(shù)輸出也應(yīng)用到其他部門的業(yè)務(wù)上。
4. 素材優(yōu)選

接下來,算法的第二部分是廣告素材優(yōu)選工作。廣告素材方面,我們主要是有四大策略:熱門內(nèi)容,優(yōu)質(zhì)素材檢索、低質(zhì)素材下線,還有人工精選素材(詳見上圖)。
5. 出價策略

第三部分是廣告出價策略工作,在廣告投放過程中非常重要的環(huán)節(jié)就是廣告出價。
之前的方案就是在各個廣告渠道的投放中根據(jù)拉活目標(biāo)價格統(tǒng)一出價。這種方式存在兩大弊端:
- 一是用戶質(zhì)量是比較差的,統(tǒng)一出價導(dǎo)致優(yōu)質(zhì)客戶占比較少。
- 二是成本不易控制,市場價格變動比較頻繁,人工去維護(hù)上不同渠道百個賬號的調(diào)價的工作量也是非常大的。
因此提出了智能出價方案來解決上述問題:
- 通過PID 算法計算基準(zhǔn)出價,達(dá)到成本可控的目的。
- 通過用戶分層策略對不同用戶質(zhì)量賦予不同的出價權(quán)重,來達(dá)到整體質(zhì)量提升的目的。

由于我們是差異化出價來提升用戶質(zhì)量,那重點就是如何對用戶質(zhì)量進(jìn)行有效劃分了。
通過數(shù)據(jù)分析可知,用戶在沉默前的活躍天數(shù)分布是對用戶質(zhì)量一種簡單而有效劃分,統(tǒng)計基本成線性關(guān)系。因此,策略步驟大致如下:
① 通過活躍天數(shù)對用戶做大致劃分分層;
② 通過各層的轉(zhuǎn)化率來控制出價權(quán)重之間的差距;
③ 將每層的權(quán)重控制在-1到1之間,對質(zhì)量低的用戶進(jìn)行降價,對質(zhì)量高的提高,最終結(jié)合基準(zhǔn)出價合成最終的差異化出價。

但由于分層相對粗粒度,存在不夠精準(zhǔn)的局限性,因此這里我們提出用戶價值模型策略,來給用戶做價值打分。而且,通過歷史數(shù)據(jù)驗證,發(fā)現(xiàn)用戶價值得分越高,用戶質(zhì)量越好。
首先,是模型選型問題。我們測試了多種模型,包括邏輯回歸、隨機森林等,隨后發(fā)現(xiàn)邏輯回歸和隨機森林都存在擬合能力不足的問題。尤其是我們這種沉默用戶,他在歷史的行為特征是非常稀疏的,非常容易過擬合。所以我們選用了XGB加邏輯回歸的模型融合策略。
① 首先將原始特征進(jìn)行了非線性的變化得到樹的葉子節(jié)點。
② 再通過One-Hot編碼將其構(gòu)造成新的特征向量。
③ 最后將原始特征和新特征一起放入邏輯回歸進(jìn)行訓(xùn)練。
最終,智能出價策略在成本控制和用戶質(zhì)量上都取得了不錯的效果。
6. 承接策略

最后一部分是用戶承接策略,就是如何使得用戶點擊廣告后跳轉(zhuǎn)至合適的落地頁提升用戶在虎牙內(nèi)的觀看、留存等行為。策略主要有以下幾個方式:
- 用戶興趣承接:根據(jù)用戶歷史觀看、訂閱等等行為來去計算用戶承接主播的召回列表,進(jìn)而通過不同行為特征計算出用戶感興趣主播排序,將用戶點擊承接至其最感興趣的主播直播間。
- 多場景承接:主要根據(jù)主播的開播狀態(tài)進(jìn)行跳轉(zhuǎn)。將用戶引導(dǎo)至正在開播的主播的熱門視頻流,來提升用戶的體驗。
- 上下文承接:根據(jù)用戶點擊的廣告素材進(jìn)行呈現(xiàn),保證場景一致性,實現(xiàn)所見即所得。譬如用戶在抖音上看到的廣告是王者榮耀張大仙的素材,那么點擊廣告跳轉(zhuǎn)也是到張大仙的直播間或者張大仙的熱門視頻流中。

最后是算法部分的總結(jié)和展望,后續(xù)我們希望打造用戶定向、智能出價,自動化投放的三種能力。
總的來說,2020年我們打通了外部廣告投放的增長能力,在2021年通過內(nèi)部平臺的打造,提升了投放效率。那么在未來我們希望打造增長產(chǎn)品的服務(wù)化或者是體系化,能夠更多地為虎牙內(nèi)部的產(chǎn)品進(jìn)行服務(wù)。
—
03
用戶增長工程實踐

工程部分,主要介紹三部分,是和我們投放的流程順序相關(guān)的。
首先我們會把素材庫里面的素材提交到外部的媒體來創(chuàng)建對應(yīng)廣告。當(dāng)普通用戶瀏覽那個媒體的時候,會請求到我們RTA模塊過濾和出價。當(dāng)廣告得到展示之后,我們就收到媒體的這個點擊。用戶后續(xù)APP的行為會回傳給媒體使得媒體根據(jù)歸因結(jié)果優(yōu)化投放。接下來我們按照以上的順序進(jìn)行介紹。
1. 素材自動化

首先介紹素材自動化和素材優(yōu)選。素材庫后臺的目標(biāo)是:打通設(shè)計師創(chuàng)作和效果反饋閉環(huán),提高物料的質(zhì)量。
當(dāng)設(shè)計師完成物料制作,系統(tǒng)會將物料投放到各個媒體平臺,系統(tǒng)會自動把投放后效果數(shù)據(jù)拉取下來,并根據(jù)規(guī)則對素材進(jìn)行智能評級。設(shè)計師就可以根據(jù)以上反饋做物料的質(zhì)量優(yōu)化了。

接著再來看下物料庫的數(shù)量優(yōu)化,這里列舉流程中兩個需要工程自動化的部分:
- 自動裁剪功能:素材投放前,圖片素材需要自動裁剪功能,來匹配不同的廣告位。
- 自動廣告配置和投放:視頻和圖片在審核完成后也是通過規(guī)則庫來自動進(jìn)行廣告配置,并通過API自動投放到多個平臺多個賬號上。
2. RTA流量篩選

接下來介紹RTA流量過濾,這里對應(yīng)算法側(cè)的人群定向和出價。
因為RTA是對實時流量過濾,所以對接口響應(yīng)要求很高,通常響應(yīng)要求是跨機房在95%情況下控制在10毫秒內(nèi),用戶在頁面加載過程,無明顯延遲感知。
另外,媒體只傳遞用戶的設(shè)備號,我們則需要根據(jù)設(shè)備號查到用戶標(biāo)簽來做過濾和出價。

由于需要在保障延時的前提下進(jìn)行以上的查詢,所以需要對存儲進(jìn)行本地化,即把用戶標(biāo)簽載入到本地內(nèi)存。其中主要有兩類數(shù)據(jù):
- 黑名單:單純過濾使用,采用布隆過濾器存儲,節(jié)省90%以上內(nèi)存。
- 白名單:額外的策略和出價信息,要存儲較多信息,使用FlattBuffers存儲。
關(guān)于白名單存儲,每個用戶共占用128位。但設(shè)備號MD5已經(jīng)占了128位,所以這邊只取前64位做key。驗證基本不發(fā)生碰撞。另外64位存儲出價和用戶標(biāo)簽的編碼。
另外,基于生效速度考慮,我們采用增量和全量相結(jié)合的方案,增量更新實時設(shè)備號黑名單,全量更新離線白名單。
- 增量更新:從Flink清洗后存放于Kafka,然后順序插入到內(nèi)存,存在最新的實時布隆過濾器分片里。分片按環(huán)形隊列來存儲,每個分片最高千分之一的假陽性。每個分片填滿后順序?qū)ο乱粋€位置上的分片進(jìn)行覆蓋來實現(xiàn)淘汰。
- 全量更新:數(shù)據(jù)從Spark計算出來,根據(jù)Hash存到對應(yīng)對象存儲分片。然后每個RTA進(jìn)程對對象存儲輪詢,獲取最新的全量數(shù)據(jù)。
通過上述存儲本地本地化方案,既實現(xiàn)了節(jié)省機器資源、降低響應(yīng)時間,也滿足了用戶標(biāo)簽的存儲和實時更新的要求。

有了以上數(shù)據(jù)之后,RTA的策略投放主要通過動態(tài)算子來實現(xiàn)。動態(tài)算子的好處是支持算法和優(yōu)化師同時在后臺進(jìn)行靈活配置,方便日常調(diào)整來加快實驗和迭代速度。
我們一般同時會有幾套策略算子,如圖所示展示了兩個樣例:
- 拉新策略算子
- 拉活策略算子
通過兩套策略算子過濾后,對結(jié)果取并集,就產(chǎn)生了RTA服務(wù)的回復(fù)響應(yīng)。
最后因為對接較多的平臺,流量和機器資源也會影響廣告投放成本,調(diào)整白名單算子和緩存算子,我們節(jié)省超過90%的資源。
3. 點擊歸因

點擊歸因?qū)?yīng)算法側(cè)的虛擬回調(diào)部分。
經(jīng)過RTA過濾、競價成功,媒體做廣告曝光后,用戶就會產(chǎn)生點擊。媒體發(fā)點擊監(jiān)測過來。當(dāng)用戶進(jìn)入我們APP并產(chǎn)生了我們感興趣的事件,我們就用渠道號、Oaid等信息進(jìn)行關(guān)聯(lián),關(guān)聯(lián)成功后做時間歸因回傳給媒體,協(xié)助媒體側(cè)投放模型的優(yōu)化。
以上就是開發(fā)實踐的幾個要點。
今天的分享就到這里,謝謝大家。
分享嘉賓:郭楷揚 & 葉士銘 虎牙直播
DataFun:專注于大數(shù)據(jù)、人工智能技術(shù)應(yīng)用的分享與交流。發(fā)起于2017年,在北京、上海、深圳、杭州等城市舉辦超過100+線下和100+線上沙龍、論壇及峰會,已邀請超過2000位專家和學(xué)者參與分享。其公眾號 DataFunTalk 累計生產(chǎn)原創(chuàng)文章700+,百萬+閱讀,14萬+精準(zhǔn)粉絲。
本文經(jīng)授權(quán)發(fā)布,不代表增長黑客立場,如若轉(zhuǎn)載,請注明出處:http://m.allfloridahomeinspectors.com/cgo/user/76546.html