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