《微博廣告分層實(shí)驗(yàn)平臺(tái)(Faraday)架構(gòu)實(shí)踐》要點(diǎn):
本文介紹了微博廣告分層實(shí)驗(yàn)平臺(tái)(Faraday)架構(gòu)實(shí)踐,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
移動(dòng)互聯(lián)網(wǎng)廣告基于大數(shù)據(jù),實(shí)現(xiàn)廣告的精準(zhǔn)人群定向投放和效果評(píng)估,并借助于不可勝數(shù)的廣告策略,控制著廣告的實(shí)時(shí)投放,讓數(shù)據(jù)驅(qū)動(dòng)型的移動(dòng)互聯(lián)網(wǎng)廣告沿著站方、用戶、廣告主三者共贏的目標(biāo)不斷前進(jìn).
大數(shù)據(jù)驅(qū)動(dòng)使得效果指標(biāo)的量化評(píng)估成為了可能.為了實(shí)現(xiàn)好的廣告投放效率,線上運(yùn)行的每一個(gè)廣告策略需要相應(yīng)的實(shí)驗(yàn)和效果分析,通過(guò)量化分析來(lái)評(píng)估該廣告策略效果的好壞.策略可能需要不斷地嘗試,并進(jìn)行合理地流量均勻分流,經(jīng)過(guò)多輪線上 A/B test 實(shí)驗(yàn)迭代,才能形成最終的決策值.另外,廣告平臺(tái)上許許多多的策略,有的相互獨(dú)立,有的相互影響,如何高效地進(jìn)行大規(guī)模的并行策略實(shí)驗(yàn),是個(gè)不小的挑戰(zhàn).
在廣告為核心業(yè)務(wù)的移動(dòng)互聯(lián)網(wǎng)公司,從 Google,Facebook,到騰訊,阿里,百度,都有著一套支持廣告策略快速迭代和支持大規(guī)模并行實(shí)驗(yàn)的廣告實(shí)驗(yàn)平臺(tái).
近期微博廣告正式推出了微博廣告法拉第(Faraday)全流量分層實(shí)驗(yàn)平臺(tái).該實(shí)驗(yàn)平臺(tái)支持大規(guī)模廣告策略并發(fā)實(shí)驗(yàn),提供了多種流量均勻分流模式,全面的廣告指標(biāo)跟蹤評(píng)估,實(shí)驗(yàn)效果實(shí)時(shí)反饋等.
該實(shí)驗(yàn)平臺(tái)借鑒了 google 的論文 [備注一] 關(guān)于分層實(shí)驗(yàn)的設(shè)計(jì)思想,并結(jié)合微博廣告平臺(tái)的應(yīng)用場(chǎng)景進(jìn)行了大量的簡(jiǎn)化.
該分層模型的主要思想為:
該分層模式簡(jiǎn)單明了,可以滿足大部分的應(yīng)用場(chǎng)景.另外,還有明顯的好處:
流量的均勻劃分是實(shí)驗(yàn)具有可對(duì)比性的前提.根據(jù)策略實(shí)驗(yàn)的需求和應(yīng)用場(chǎng)景,系統(tǒng)提供以下不同均勻強(qiáng)度的流量劃分類型:
對(duì)于涉及用戶體驗(yàn)層面的實(shí)驗(yàn),比如廣告渲染的樣式類型等,還會(huì)存在這樣的需求,進(jìn)行實(shí)驗(yàn)時(shí),需要指定若干個(gè)用戶命中指定的實(shí)驗(yàn).這時(shí),實(shí)驗(yàn)平臺(tái)輔以白名單的方式,為流量劃分類型提供補(bǔ)充.
具體進(jìn)行流量劃分時(shí),為了實(shí)現(xiàn)實(shí)驗(yàn)層之間流量劃分的正交性,會(huì)將流量標(biāo)識(shí)信息和實(shí)驗(yàn)層標(biāo)識(shí)一起進(jìn)行實(shí)驗(yàn)流量 bucket 劃分, 實(shí)驗(yàn)層標(biāo)識(shí) layer_id 稱為離散因子.如基于用戶標(biāo)識(shí)的流量劃分:
理論上,通過(guò)以上幾種流量劃分類型,可以實(shí)現(xiàn)對(duì)應(yīng)均勻強(qiáng)度的流量劃分;但是,總會(huì)出現(xiàn)一些情況,發(fā)現(xiàn)最終劃分的流量可能是不均勻的,從而影響到實(shí)驗(yàn)的可對(duì)比性.
對(duì)此,實(shí)驗(yàn)平臺(tái)提供了一種流量劃分的均勻性驗(yàn)證工具.基本思路為: 在廣告系統(tǒng)中,用戶是通過(guò)多維的畫像向量(a,b,c,…,n)來(lái)進(jìn)行刻畫的,如果流量劃分是均勻的,意味著用戶的每一個(gè)畫像向量分量在該流量劃分條件下是均勻,更進(jìn)一步,多個(gè)畫像向量分量的組合在該流量劃分條件下也是均勻的.通過(guò)進(jìn)行用戶畫像向量單個(gè)分量和若干個(gè)畫像向量分量的組合的均勻性驗(yàn)證,即可來(lái)反映該流量的劃分的均勻性.
實(shí)驗(yàn)平臺(tái)整體架構(gòu)圖如下:
實(shí)驗(yàn)平臺(tái)架構(gòu)主要包括幾個(gè)重要部分: 法拉第工作臺(tái),實(shí)驗(yàn)配置管理與決策中心,線上系統(tǒng)策略分發(fā)和控制,實(shí)驗(yàn)數(shù)據(jù)實(shí)時(shí)流和離線批處理,實(shí)驗(yàn)效果 dashboard 展示.下面對(duì)其中的關(guān)鍵特性予以介紹.
法拉第工作臺(tái)供實(shí)驗(yàn)人員進(jìn)行操作的入口.界面功能包括廣告策略錄入,實(shí)驗(yàn)創(chuàng)建與控制,擴(kuò)量和全量發(fā)布,實(shí)驗(yàn)效果跟蹤,實(shí)驗(yàn)平臺(tái)前端界面大大降低了實(shí)驗(yàn)操作人員的門檻.
所有的實(shí)驗(yàn)策略配置信息都會(huì)持久化落地到配置中心(mysql 等),包括當(dāng)前正在進(jìn)行的實(shí)驗(yàn)的策略配置情況,也包括已經(jīng)完成的實(shí)驗(yàn)配置情況.同時(shí),實(shí)驗(yàn)策略配置會(huì)保存當(dāng)前實(shí)驗(yàn)上下文的全局快照信息,可以進(jìn)行指定版本的實(shí)驗(yàn)上下文的回滾.由于線上系統(tǒng)的策略配置決策信息完全依賴于實(shí)驗(yàn)平臺(tái)和實(shí)驗(yàn)策略配置中心,實(shí)驗(yàn)策略配置中心本身的安全性,數(shù)據(jù)完整性,可用性,就變得極為重要.便于進(jìn)行實(shí)驗(yàn)策略的回滾就是確保的系統(tǒng)穩(wěn)定性和策略決策正確性的關(guān)鍵措施之一.
實(shí)驗(yàn)的策略配置信息通過(guò)策略分發(fā)機(jī)制來(lái)應(yīng)用到線上生產(chǎn)環(huán)境. 為了最大程度地減少實(shí)驗(yàn)平臺(tái)對(duì)生產(chǎn)環(huán)境的侵入性,這里采用了策略全局統(tǒng)一分發(fā)的方式來(lái)完成.生產(chǎn)環(huán)境只用在流量接入層請(qǐng)求實(shí)驗(yàn)平臺(tái),確定實(shí)驗(yàn)策略參數(shù)的取值,然后將確定的策略參數(shù)信息作為廣告請(qǐng)求體的一部分,攜帶在廣告請(qǐng)求參數(shù)中,一同下發(fā)給上游的各個(gè)服務(wù)器,每個(gè)服務(wù)器模塊根據(jù)自己的需求情況進(jìn)行獲取對(duì)應(yīng)的策略參數(shù)信息,進(jìn)行廣告精準(zhǔn)投放計(jì)算.
實(shí)驗(yàn)環(huán)境供生產(chǎn)環(huán)境請(qǐng)求調(diào)用的模塊稱為法拉第實(shí)驗(yàn) CORE.具體地,在廣告請(qǐng)求的接入層 Router,由 Router 去請(qǐng)求法拉第 CORE.對(duì)于線上環(huán)境來(lái)說(shuō),策略實(shí)驗(yàn)的細(xì)節(jié)是透明的.換句話說(shuō),線上生產(chǎn)環(huán)境實(shí)際上是不關(guān)心當(dāng)前是否正在進(jìn)行著實(shí)驗(yàn),以及正在進(jìn)行著哪些實(shí)驗(yàn);線上生產(chǎn)環(huán)境只關(guān)心從實(shí)驗(yàn)策略控制中心獲取到所有托管于實(shí)驗(yàn)平臺(tái)的策略參數(shù)的決策值.
法拉第實(shí)驗(yàn) CORE 包括兩種實(shí)現(xiàn)形式.一種是原生動(dòng)態(tài)庫(kù).so 形式,這種嵌入到宿主服務(wù)內(nèi)部,可以節(jié)約 I/O 通信消耗;另一種是 HTTP API 形式,這種提供了跨語(yǔ)言方式的支持.
在法拉第實(shí)驗(yàn) CORE 內(nèi)部,需要對(duì)本次請(qǐng)求標(biāo)識(shí)信息和全局的實(shí)時(shí)實(shí)驗(yàn)配置信息,依次對(duì)每個(gè)托管于實(shí)驗(yàn)平臺(tái)的策略參數(shù)進(jìn)行決策.對(duì)于正在進(jìn)行實(shí)驗(yàn)的策略參數(shù),根據(jù)實(shí)驗(yàn)層中每層選用的實(shí)驗(yàn)分流類型和分流配比,確定實(shí)驗(yàn)的命中情況,從而確定策略參數(shù)取值;對(duì)于當(dāng)前沒(méi)有進(jìn)行實(shí)驗(yàn)的策略參數(shù),則取其默認(rèn)策略參數(shù)值. 最終,全部的參數(shù)都確定其取值,形成 k-v 對(duì),連同當(dāng)前流量的實(shí)驗(yàn)命中信息情況,反饋給生產(chǎn)環(huán)境 router 模塊.
請(qǐng)求的實(shí)驗(yàn)信息會(huì)以 tag 的形式記錄在生產(chǎn)環(huán)境的請(qǐng)求日志中,形如: layer1_layer2layer3…_layerN. 請(qǐng)求日志會(huì)落地到廣告數(shù)據(jù)總線系統(tǒng),再由廣告實(shí)時(shí)流系統(tǒng)進(jìn)行消費(fèi)、數(shù)據(jù)清洗、實(shí)驗(yàn)效果指標(biāo)計(jì)算等工作.由于廣告系統(tǒng)是多業(yè)務(wù)指標(biāo)系統(tǒng),包括售賣率,ECPM, CTR, ACPE,負(fù)反饋率、財(cái)務(wù)消耗計(jì)算等.廣告實(shí)時(shí)流系統(tǒng)還需要日志的關(guān)聯(lián)工作,比如關(guān)聯(lián)廣告互動(dòng)日志,廣告負(fù)反饋日志.實(shí)時(shí)流的計(jì)算的結(jié)果,會(huì)落地到 druid 系統(tǒng),方便實(shí)驗(yàn)效果數(shù)據(jù)的快速檢索和二度加工.實(shí)驗(yàn)效果實(shí)時(shí)指標(biāo)數(shù)據(jù)計(jì)算延遲控制在一定的范圍內(nèi)(5 分鐘).
由于實(shí)時(shí)日志可能會(huì)存在日志延遲、重復(fù)、丟失等情況,實(shí)時(shí)流系統(tǒng)的計(jì)算指標(biāo)的準(zhǔn)確性會(huì)難以保證.因此,對(duì)于非實(shí)時(shí)的指標(biāo)數(shù)據(jù),會(huì)啟動(dòng)離線批處理計(jì)算進(jìn)行實(shí)驗(yàn)指標(biāo)的校正,特別是對(duì)于非當(dāng)天的歷史實(shí)驗(yàn)指標(biāo)數(shù)據(jù),離線批處理會(huì)進(jìn)行重新計(jì)算,形成最終準(zhǔn)確的實(shí)驗(yàn)指標(biāo)數(shù)據(jù)體系.
實(shí)驗(yàn)效果 dashboard 展示采用了量化分析的方式,精確衡量實(shí)驗(yàn)間的效果對(duì)比情況.
實(shí)驗(yàn)間的對(duì)比,提供兩種對(duì)比維度:一個(gè)是橫向?qū)Ρ?這個(gè)進(jìn)行同一個(gè)實(shí)驗(yàn)層中所有對(duì)比實(shí)驗(yàn)和基準(zhǔn)實(shí)驗(yàn)間的各個(gè)指標(biāo)的對(duì)比,以發(fā)現(xiàn)同時(shí)間區(qū)間各個(gè)實(shí)驗(yàn)的策略的對(duì)生產(chǎn)環(huán)境的影響;一個(gè)是縱向?qū)Ρ?是指定的對(duì)比實(shí)驗(yàn)和基準(zhǔn)實(shí)驗(yàn)在時(shí)間縱向維度的效果對(duì)比,以發(fā)現(xiàn)該對(duì)比實(shí)驗(yàn)是否具體持續(xù)的效果提升 / 下降效果.實(shí)驗(yàn)效果跟蹤橫向?qū)Ρ葓D表和縱向?qū)Ρ葓D表展示效果如下:
有時(shí),為了更加詳盡地洞察實(shí)驗(yàn)效果指標(biāo)的更多細(xì)節(jié),需要對(duì)實(shí)驗(yàn)指標(biāo)按某一個(gè)維度進(jìn)行分解,達(dá)到更小觀測(cè)粒度.比如,微博用戶在不同的設(shè)備平臺(tái)(PC,安卓平臺(tái),IOS 平臺(tái))不一樣的操作習(xí)慣和興趣習(xí)慣,可以分平臺(tái)粒度查看該對(duì)比實(shí)驗(yàn)在各個(gè)設(shè)備平臺(tái)的實(shí)驗(yàn)指標(biāo)變化情況;微博不同場(chǎng)景信息(關(guān)系信息流,興趣信息流,熱門搜索流等)的屬性存在天然差別,部分策略在分場(chǎng)景流去分析時(shí)可能回更有意義;另外,也提供了分廣告競(jìng)價(jià)類型的實(shí)驗(yàn)效果跟蹤分析.
最后需要提的是,實(shí)驗(yàn)平臺(tái)在效果跟蹤決策方面是有一定的局限性的.實(shí)驗(yàn)平臺(tái)可以進(jìn)行實(shí)驗(yàn)效果的快速跟蹤,但是卻很難進(jìn)行實(shí)驗(yàn)效果好壞的決策.比如:如果對(duì)比實(shí)驗(yàn)效果指標(biāo)值全部提高或下降了,可以簡(jiǎn)單認(rèn)為對(duì)比實(shí)驗(yàn)的策略調(diào)整起正向作用或者反向作用;如果對(duì)比實(shí)驗(yàn)的實(shí)驗(yàn)效果指標(biāo)值部分提高了,部分下降了,就不太好認(rèn)定了.還有,實(shí)驗(yàn)效果的短期效應(yīng)和長(zhǎng)期效應(yīng)也可能是不一致,這將大大增加了實(shí)驗(yàn)效果好壞的決策難度.
因此,實(shí)驗(yàn)平臺(tái)是可以快速提升廣告業(yè)務(wù)策略迭代效率的工具,但是要想進(jìn)行實(shí)驗(yàn)好壞評(píng)定的決策,還需要很長(zhǎng)的路要走.
為了彌補(bǔ)這個(gè)不足,可以成立一個(gè)實(shí)驗(yàn)平臺(tái)評(píng)審委員會(huì).通過(guò)非技術(shù)手段進(jìn)行線下決策,包括實(shí)驗(yàn)的效果好壞評(píng)定,是否進(jìn)行實(shí)驗(yàn)的發(fā)布,對(duì)生產(chǎn)環(huán)境的長(zhǎng)期效應(yīng)等一些列的決策.
李鐵牛,目前就職于新浪微博廣告平臺(tái)部,粉絲通廣告平臺(tái)技術(shù)負(fù)責(zé)人.2011 年畢業(yè)于中國(guó)科學(xué)院大學(xué),2012 年加入新浪微博,參與并主導(dǎo)了粉絲通,品牌速遞,應(yīng)用家,超級(jí)粉絲通等多個(gè)核心廣告產(chǎn)品迭代開發(fā)和投放平臺(tái)的架構(gòu)設(shè)計(jì)工作,完成粉絲通廣告架構(gòu)由產(chǎn)品線型向平臺(tái)型架構(gòu)的轉(zhuǎn)型, 主導(dǎo)開發(fā)了 Faraday 分層實(shí)驗(yàn)平臺(tái). 目前,本人從事關(guān)于高并發(fā)、高性能、高可用的廣告平臺(tái)架構(gòu)設(shè)計(jì),以及廣告投放策略研究和團(tuán)隊(duì)管理等工作.
文章來(lái)自微信公眾號(hào):細(xì)說(shuō)云計(jì)算
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/2742.html