© 2025 上海(hai)天擎天拓(tuo)信息技術股份有限公司 版權所(suo)有
概述
1. 廣告樣式與場景上圖是微博廣告目前商業場景流,“一屏四大流”。“一屏”指打開微博的 Fashion,“四大流”指占據微博商業化的主體,包括關系信息流、熱門流、評論流和熱搜流。右圖為廣告投放的后臺。
2. 廣告參與方如上圖,做計算廣告首先面臨這些概念,根據不同的廣告主的規模和對公司的重要程度分為 KA 類和中小類。KA 類往往是進行廣量式的購買。中小類,常規的客戶會進行競價。
常見的計費方式有(you):CPE,CPM,CPD。
目前在互聯(lian)網市場在大規模推(tui)廣 OCPX,OCPX 作為一種(zhong)需(xu)要很高的(de)(de)技術含量(liang),也(ye)是一種(zhong)很好的(de)(de)降低廣告主(zhu)投放風險的(de)(de)售(shou)賣方式(shi)。
3. 計算廣告核心問題這是廣告涉及到的三方:平臺(站方)、用戶、廣告主,在計算廣告設計時的核心問題是如何追求三方之間均衡的、整體的利益最大化。
4. 廣告投放流程以上是一般的廣告的投放流程。這是從廣告主的視角、平臺的視角以及從用戶的視角來公共完成三方“相向而行”的活動:
廣(guang)(guang)告(gao)營銷(xiao)策(ce)劃的流程:創建推廣(guang)(guang)計劃 -> 選擇人群受(shou)眾(zhong)定向 -> 設置(zhi)廣(guang)(guang)告(gao)預算 -> 設定廣(guang)(guang)告(gao)創意(yi) -> 啟動廣(guang)(guang)告(gao)投放 -> 查看(kan)廣(guang)(guang)告(gao)效果 -> 下一步(bu)營銷(xiao)決策(ce)。
精(jing)準(zhun)廣告(gao)(gao)投放:針(zhen)對(dui)廣告(gao)(gao)庫存(cun)請求,會對(dui)用(yong)戶進行精(jing)準(zhun)用(yong)戶畫像刻畫,然后(hou)做廣告(gao)(gao)的召回,對(dui)廣告(gao)(gao)進行粗排和精(jing)排,挑(tiao)選廣告(gao)(gao),根據不同平臺進行廣告(gao)(gao)創意(yi)渲(xuan)染(ran)工(gong)作,最后(hou)展示給用(yong)戶。
用戶內容消費,比較(jiao)簡(jian)單請看圖中流程。
微博廣告(gao)策略(lve)工程(cheng)架(jia)構體系(xi)演進(jin)
1. 微博廣告工程架構發展史微博商業化進程不斷的發展,支撐商業化的工程架構會隨著具體的業務需求做改變。
剛開始做的是非信息流的廣告,按照傳統的方式會試投一些 banner 在微博,目前 banner 在微博的移動端已經沒有了。從1.0版本簡單彈窗式的廣告系統,到2.0版本以粉絲通為代表的產品線陸續的孵化出來,這時候微博開始進行信息流廣告的研發。微博是國內信息流廣告的第一家,在探索中孵化出一系列的廣告產品矩陣,為了產品的快速上線,復制了大量的廣告系統,為了改變這一狀況,隨著17年底超級粉絲通的上線,對廣告系統進行了整體重構,從此微博廣告工程架構進入了4.0時代。
2. 投放系統架構4.0上圖是17年的工程架構圖,是隨著微博廣告產品線的探索演化出的工程架構4.0版本,當時處于流量的藍海階段,所以通過配合廣告客戶和廣告預算的不斷增加,不斷提升廣告系統的穩定性、高可用性、高并發來不斷的實現廣告收入的增長。因此我們也對系統進行了分層化的梳理,圖中藍色的區域是線上廣告投放系統最核心的鏈路。通過廣告請求,流量統一接入,接入包括微博多個產品矩陣,廣告的請求會對多個產品矩陣進行請求分發,通過統一流量價格評估,對用戶的請求進行響應。整體上這樣一個引擎結構是為了不斷的滿足產品提出的面對客戶的需求來進行的架構設定。
其(qi)基本流程是(shi)廣(guang)告(gao)請(qing)求,廣(guang)告(gao)庫存接(jie)入(ru),到(dao)總體(ti)流量的分發(fa)(fa),請(qing)求用戶的畫(hua)像(xiang),經(jing)過(guo)競價服務,會(hui)(hui)進行廣(guang)告(gao)觸發(fa)(fa),會(hui)(hui)請(qing)求在線索(suo)引(yin)服務,形成比較完善的行為定向體(ti)系(xi),包括(kuo):
1. 用戶(hu)的(de)行(xing)為(wei)定向。在微博上的行為定向,比如,對話題的互動,熱門微博的互動,熱搜人群的互動等。
2. 社交關系定向。比如關注的大 V 信息,如果在某個大 V 信息下用戶的群體能理解為自然形成的社會群體,那么這個大 V 信息下面的粉絲群是可以進行選擇投放的。
3. 精準人群定向。是由平臺方或第三方的數據加工,或廣告主根據一次投放效果進行的召回,或已有的客戶信息形成的用戶粒度聚合后的數據包,這個就是精準用戶的集合。
4. 用戶(hu)屬(shu)性定向。包括用戶畫像,年齡、地域等。
以(yi)上是整體的(de)(de)在線投(tou)放(fang)流(liu)程,但是投(tou)放(fang)流(liu)程僅僅有(you)以(yi)上這些是不夠的(de)(de),還包括個性化庫存策略(lve)(lve),廣告的(de)(de)負反饋的(de)(de)策略(lve)(lve),智能(neng)頻次控(kong)制策略(lve)(lve)等,以(yi)及配套的(de)(de) A/B Test 系統,這樣就(jiu)形成了廣告投(tou)放(fang)的(de)(de)在線服務(wu)群。
由(you)于(yu)流(liu)量(liang)來(lai)自于(yu)微(wei)博站方,所以(yi)微(wei)博廣告請求是(shi)無需(xu)流(liu)量(liang)反(fan)作弊(bi)(bi)的(de)(de)。存在的(de)(de)反(fan)作弊(bi)(bi)主(zhu)要(yao)(yao)是(shi)針對互動回傳,也(ye)就是(shi)說(shuo)廣告投后(hou)的(de)(de)后(hou)鏈(lian)路數據(ju)的(de)(de)回傳會有大規模的(de)(de)反(fan)作弊(bi)(bi)策略(lve),當(dang)然(ran)也(ye)包括社交互動。然(ran)后(hou)會有一個實(shi)時(shi)的(de)(de)結(jie)算中心—結(jie)算系統(tong),提供給廣告主(zhu)需(xu)要(yao)(yao)的(de)(de)報(bao)表(biao),以(yi)及與廣告主(zhu)密切相(xiang)關的(de)(de)賬戶(hu)系統(tong),總體(ti)上形成了(le)投后(hou)鏈(lian)路在線服務群(qun)。
之下是屬于近線(xian)的數(shu)據(ju)訪問,按照數(shu)據(ju)分類:用戶(hu)基礎數(shu)據(ju)、廣(guang)告(gao)定(ding)向數(shu)據(ju)、廣(guang)告(gao)實時(shi)流數(shu)據(ju)、算法模型訓練數(shu)據(ju)、廣(guang)告(gao)創意庫數(shu)據(ju)來制定(ding)線(xian)上(shang)這種(zhong)實時(shi)訪問的需(xu)求。
最下(xia)面(mian)屬于線下(xia)的(de)數據倉(cang)庫(ku)。線上(shang)投放完的(de)數據會進入數據倉(cang)庫(ku)落地。
這就是廣告數(shu)據(ju)總線,實現(xian)數(shu)據(ju)流的(de)方(fang)式一般通過 kafka 機(ji)制等實現(xian),然后(hou)匯(hui)聚(ju)到數(shu)據(ju)倉庫里,對數(shu)據(ju)進行分門別類。
圖中(zhong)(zhong)最左邊廣(guang)告的(de)(de)監控系統,會(hui)從(cong)系統的(de)(de)各個(ge)層(ceng)面對系統進行(xing)業(ye)(ye)務(wu)(wu)運行(xing)狀況的(de)(de)監控以及服務(wu)(wu)穩(wen)定性的(de)(de)監控、可用性的(de)(de)監控。這些就是業(ye)(ye)務(wu)(wu)層(ceng)面完(wan)整的(de)(de)一個(ge)工具鏈(lian)。原來多個(ge)產品線(xian)就逐漸(jian)聚合到這樣(yang)的(de)(de)一個(ge)系統當中(zhong)(zhong)。
4.0時代(dai)的(de)(de)架(jia)構(gou)(gou)在整(zheng)體(ti)(ti)上是(shi)為了“粗放(fang)式增(zeng)長(chang)”而設定的(de)(de)工程架(jia)構(gou)(gou)體(ti)(ti)系。這(zhe)種粗放(fang)增(zeng)長(chang)的(de)(de)客觀(guan)現(xian)實(shi)(shi)是(shi),廣告(gao)預(yu)算(suan)(suan)供應的(de)(de)持續提(ti)升和微博不斷供給的(de)(de)流量(liang)變現(xian)規(gui)模,以(yi)及不斷增(zeng)加廣告(gao)主的(de)(de)數量(liang)、預(yu)算(suan)(suan)和規(gui)模,來實(shi)(shi)現(xian)廣告(gao)數的(de)(de)增(zeng)長(chang)。這(zhe)時對系統最大的(de)(de)考驗(yan)是(shi)系統的(de)(de)高可(ke)用性(xing),以(yi)及做業務需求時,對研發(fa)效率的(de)(de)保(bao)證,這(zhe)樣(yang)的(de)(de)架(jia)構(gou)(gou)就是(shi)“粗放(fang)增(zeng)長(chang)之下的(de)(de)產(chan)物”。
這(zhe)個(ge)架構體系(xi)是(shi)(shi)存在一些問題的(de)(即(ji)紅(hong)(hong)框中的(de)):相(xiang)(xiang)對(dui)來說(shuo)對(dui)策略模型(xing)是(shi)(shi)相(xiang)(xiang)當(dang)淡化的(de),也就是(shi)(shi)從功能架構層面對(dui)算法模型(xing)的(de)迭(die)代是(shi)(shi)比(bi)較簡單(dan)的(de)。比(bi)如 A/B Test 使用的(de)是(shi)(shi)非常原始(shi)的(de) A/B Test,在這(zhe)種在人口紅(hong)(hong)利的(de)情況(kuang)下能夠快速支撐廣(guang)(guang)告業(ye)務的(de)增長,但(dan)是(shi)(shi)隨著人口紅(hong)(hong)利的(de)消失,已經不能很好的(de)支撐廣(guang)(guang)告業(ye)務的(de)增長,這(zhe)時系(xi)統對(dui)策略模型(xing)的(de)支持(chi)顯得異常重要。
3. 系統如何支持廣告增長的轉型如何支撐廣告增長的轉型,會通過粗放型增長(擴流、擴廣告主、擴預算)轉型到精細化的增長,不斷的提升投放效果來促進收入的增長。這時對應的系統需要進行轉型,在系統不斷完善的基礎上,實現策略模型的良好驅動。在這種情況下隨著算法不斷引入新的深度學習模型,整體的工程架構也不斷的深耕細作,從原來的業務劃分方式(Target、Filter、Rank)轉型成面向算法策略(召回、模型、機制、排序)的劃分方式。
4. 流量漏斗模型廣告系統常用的模型:流量漏斗模型。對其重新進行思考和定義:開始是對廣告進行召回,完成基于精準的最大概率展現,到相關性的挑選,再到以模型為核心的競價排序機制。
本(ben)文不會從算法角度(du)去講(jiang)解如何召(zhao)回和相關性(xing)的機制等(deng),主要是介紹工程是如何支持(chi)算法模(mo)型迭代的。
5. 面向策略的下一代投放架構在架構系統4.0中的基礎上對在線投放引擎進行業務分級,以滿足新的流量漏斗模型。有以下關鍵點:
① 觸發(fa)、模(mo)型、策(ce)略機制向獨立縱深發(fa)展
系統在支持觸發(fa)、模型、策略迭代上能夠實現很好(hao)的(de)(de)各(ge)自的(de)(de)獨立縱深發(fa)展,能夠做到各(ge)自的(de)(de)快速迭代,互不影(ying)響。
② 引入精益驅動思(si)想,系統(tong)雙核驅動,釋(shi)放算法(fa)迭代效率
在(zai)(zai)做整(zheng)體的(de)(de)(de)(de)精(jing)細化轉(zhuan)型的(de)(de)(de)(de)時(shi)候,系(xi)統(tong)需要(yao)不(bu)斷的(de)(de)(de)(de)進行嘗試,而嘗試要(yao)有一(yi)個很(hen)好的(de)(de)(de)(de)嘗試平(ping)臺,所以引入了精(jing)益(yi)驅(qu)動的(de)(de)(de)(de)思想(xiang)。在(zai)(zai)線精(jing)益(yi)平(ping)臺包(bao)括:法拉第實(shi)驗平(ping)臺和法拉第精(jing)益(yi)洞察,這是一(yi)個比較好的(de)(de)(de)(de)促進業務(wu)模型迭代的(de)(de)(de)(de)工具鏈,更加注重數據的(de)(de)(de)(de)實(shi)時(shi)性和數據的(de)(de)(de)(de)密度。
系統架構總(zong)體(ti)上分為(wei):在線精益工具(ju)平(ping)臺(tai)(tai)、在線投(tou)放(fang)系統、近(jin)線數(shu)(shu)據(ju)(ju)訪問、數(shu)(shu)據(ju)(ju)模型加(jia)工(曝(pu)光機器學習平(ping)臺(tai)(tai)和在線實時流(liu)的機制)和離線數(shu)(shu)據(ju)(ju)平(ping)臺(tai)(tai)
③ 特(te)征數據(ju)的實時性和密(mi)度,模型獨立化(hua)發展
重點(dian)說下在線投放服(fu)務(wu),在服(fu)務(wu)中,會(hui)有(you)流(liu)量(liang)接入,會(hui)有(you)流(liu)量(liang)的觸(chu)(chu)發,會(hui)有(you)觸(chu)(chu)發機制,包括(kuo)多路觸(chu)(chu)發,通過多路觸(chu)(chu)發體(ti)制后,會(hui)有(you)機制策略,包括(kuo)模(mo)型預(yu)估(gu)(gu)服(fu)務(wu),模(mo)型預(yu)估(gu)(gu)服(fu)務(wu)是聚(ju)合服(fu)務(wu),會(hui)進(jin)行粗排、對數據進(jin)行裁剪(jian),會(hui)在大規模(mo)分布式預(yu)估(gu)(gu)服(fu)務(wu)中完成,Ranker 也會(hui)基(ji)于預(yu)估(gu)(gu)進(jin)行精排。
特別說明(ming)一下,為(wei)(wei)什(shen)么(me)進行粗(cu)(cu)排(pai)(pai)(pai)(pai)和精(jing)排(pai)(pai)(pai)(pai),粗(cu)(cu)排(pai)(pai)(pai)(pai)我(wo)的(de)理解是為(wei)(wei)了精(jing)排(pai)(pai)(pai)(pai)的(de)性(xing)能(neng)(neng)考慮(lv)的(de),因為(wei)(wei)精(jing)排(pai)(pai)(pai)(pai)會(hui)涉及到大規(gui)模的(de)精(jing)細計算,性(xing)能(neng)(neng)有可能(neng)(neng)會(hui)扛不住,所以需要粗(cu)(cu)排(pai)(pai)(pai)(pai),而且在(zai)保證效果的(de)情況下,為(wei)(wei)了性(xing)能(neng)(neng)的(de)保證會(hui)有多(duo)級粗(cu)(cu)排(pai)(pai)(pai)(pai)。
最上面是法(fa)拉(la)第(di)實驗平臺和法(fa)拉(la)第(di)精益(yi)(yi)洞察。整體上會形成雙核引(yin)擎(qing):一個(ge)良好的(de)工(gong)程架構體系和精益(yi)(yi)驅(qu)動的(de)工(gong)具平臺。
6. 如何支持廣告物料的精準召回從微博廣告的召回機制來看會有用戶標簽觸發、社交傳播觸發、精準人群觸發、內容觸發、DNN 向量式觸發,經過5路觸發,會進行 MIXER 廣告召回級的匯總,匯總后會有粗排策略、精排策略。
這(zhe)里用到(dao)的信(xin)息,包括流量側和(he)廣告側。
流(liu)量策:
用(yong)戶畫(hua)像、請求上下文、歷史互動行為
廣告側:
廣告主信息(xi)(xi)、計(ji)劃信息(xi)(xi)、創意信息(xi)(xi)
7. DNN 向量觸發模型這里介紹下深度向量觸發模型,用到的是雙塔模型,包括用戶側和廣告側。用戶側根據用戶信息進行訓練生成用戶側的向量,用到了三層的神經網絡,廣告側也是一樣,整體來說訓練都是采用離線的方式完成的,接下來會做實時的向量預估。進而在雙塔匯合點進行相關性的判定,使用了簡單的 cos 和 sigmoid 進行相關性的判定。
8. 觸發工程架構觸發工程體系在如何更好的支持觸發角度來說,研發了對應的服務體系。請求在請求召回時會觸發 Agent 進行五路召回,包括雙塔的召回、內容定向的召回、用戶畫像的召回、精準人群的召回、微博社交關系的召回,召回之后進行 Mixer,會結合質量預估服務進行裁剪。然后,線上會有實時的廣告計劃庫數據和離線數據會對線上的五路觸發分別根據需求進行訪問,這樣會形成一個整體的廣告觸發工程架構。
精益渠道思想工具:“兩翼計劃”隨著超級粉絲通在17年上線,考慮到微博廣告從粗放式增長到精細化增長的轉型,需要有一個比較好的實驗平臺和一種線上運行洞察的方式和思想,這樣就構成了精益驅動思想的來源。包括兩部分:一是進行線上策略的實驗和調控,一個是用于線上策略運行的精益洞察,與在線投放系統一起,構成一體兩翼策略工程架構體系。
1. 法拉第(di)實驗平臺
① 法拉第分層實驗(yan)模(mo)型
法拉(la)第實驗(yan)(yan)采用(yong)正(zheng)交分層(ceng)(ceng)模型(xing),這種模型(xing)在(zai)互聯網(wang)行(xing)業一般都(dou)會使(shi)用(yong),包括(kuo)百度的愛(ai)迪生、阿里的特斯拉(la)等。微博法拉(la)第模型(xing)思想來自于 Google 流(liu)量正(zheng)交分解(jie)模型(xing)的經典(dian)論(lun)文,為多(duo)層(ceng)(ceng)的獨立實驗(yan)(yan)提供了(le)(le)理論(lun)基(ji)礎,當然實驗(yan)(yan)也結合(he)了(le)(le)微博廣告的實際情況(kuang),包括(kuo)剛(gang)開始解(jie)決(jue)從無到有的問題,對(dui)論(lun)文中的模型(xing)進行(xing)了(le)(le)簡化(hua)。最開始是(shi)沒有域的概念,整體上(shang)每一層(ceng)(ceng)都(dou)會使(shi)用(yong) hash 函數。
② 實驗分桶雖然每個實驗層共享 hash 函數,但是 hash 函數參數不同,參數包括流量標識和實驗 id 標識,呈現出的是不同層的流量分桶劃分是正交的。另外,也引入 Google 論文中提到的分配條件,場景應用很經典,例如做一個實驗,會考慮流量的重用或者實驗的一些特征,包括實驗的地域、性別等,這樣的話,使用圈定或限定下的流量而不是使用全部的流量;如果使用全部流量的話會造成實驗效果不顯著,實驗效果被稀釋,容易引起不置信。這樣可以使流量重復復用,并且能很好的觀測到策略所產生的實驗效果。這就是流量分桶類型和進行流量圈定的分配條件。
③ 法拉第實驗平臺這個是法拉第實驗平臺的整體架構圖。采用全程自動化的機制。通過法拉第的 Web 入口,進行實驗信息的記錄,在線上流量入口處進行實驗的下發和解析,根據實驗的數據信息,進行線上策略的調控,會對實驗命中數據進行解析,進行實驗的埋點,然后進入實時的分析引擎,統計實驗效果。
實驗的下發(fa)和解析有兩種(zhong)方式:
一種是在流量的總入口處統一進行實驗的下發和解析,一步到位,然后請求信息一塊下發,隨著請求鏈路走,最后返回,命中那些策略會有對應的標識。如果實驗數比較少時,解析無壓力,實驗相關性解析比較小,實驗消耗帶寬不大,此時是合適的。但是隨著實驗規模的增大,由于現在的廣告系統是分布式的系統,如果完整的實驗信息一直隨著請求下發的話帶寬消耗會非常嚴重,造成返回結果超時,可用性下降,實驗時間就會變得很長。因此出現了另一種方式,由對應的服務分別對對應策略的實驗情況進行解析,而其他策略的實驗情況則不需要解析,這樣就只獲取自己感興趣的信息,避免了信息的冗余。為什么剛開始沒有進行這樣的設計,因為系統剛開始是解決從無到有的問題而不是一到多的問題。第一步是實驗平臺的創建,采用第一種方式比較簡單,可以很快的將實驗下發。
④ 廣告側 A/B 實驗常用的 A/B 實驗是關于流量側的分桶實驗,根據流量的不同配比進行不同實驗的對比。但是這種流量側的分桶實驗不能滿足廣告的一些需求。在實際的廣告系統中,會出現針對某些廣告行業或者廣告主,進行嘗試性的策略,關注的實驗效果也是被關注的廣告行業或者廣告主的效果。如果用流量側實驗的話也不是不行,但是在進行實驗效果分析時候,數據分析需要具體到廣告主粒度,會給統計分析引擎帶來極大的挑戰;如果不這么做,仍然只看整體的效果,實驗分析效果必定是被稀釋的,無法準確的反映出策略的意義。這樣就需要進行廣告側實驗的機制設計:
首先會進行實驗對象的圈定,包括:廣(guang)告(gao)(gao)主 、廣(guang)告(gao)(gao)類別、廣(guang)告(gao)(gao)計劃、廣(guang)告(gao)(gao)創意等。
然后進行同質(zhi)或非同質(zhi)實驗(yan):
同(tong)(tong)質實驗(即對(dui)(dui)一個(ge)(ge)(ge)推(tui)廣(guang)計(ji)(ji)劃(hua)的(de)(de)受眾(zhong)進(jin)(jin)行隨(sui)機的(de)(de)劃(hua)分,一分為(wei)(wei)二(er),在一分為(wei)(wei)二(er)的(de)(de)基礎上作用不同(tong)(tong)的(de)(de)策(ce)略進(jin)(jin)行對(dui)(dui)比),一個(ge)(ge)(ge)計(ji)(ji)劃(hua),可能會創建兩個(ge)(ge)(ge)類似于“偽計(ji)(ji)劃(hua)”的(de)(de)概念,然后(hou)對(dui)(dui)偽計(ji)(ji)劃(hua)同(tong)(tong)時進(jin)(jin)行系統投放。進(jin)(jin)入兩個(ge)(ge)(ge)人群的(de)(de)劃(hua)分當中,然后(hou)進(jin)(jin)行效果(guo)對(dui)(dui)比。
非同質實(shi)驗(yan),這個是嘗試性的(de)(de)圈定(ding)一波人去進行(xing)(xing)實(shi)驗(yan),這種(zhong)往往是沒有對照的(de)(de)是根據實(shi)驗(yan)效果(guo)(guo)進行(xing)(xing)縱向(xiang)的(de)(de)對比(bi)判(pan)定(ding),也就是當前的(de)(de)策(ce)略(lve)實(shi)驗(yan)效果(guo)(guo)與之前沒有進行(xing)(xing)的(de)(de)實(shi)驗(yan)的(de)(de)策(ce)略(lve)運行(xing)(xing)效果(guo)(guo)進行(xing)(xing)對比(bi)判(pan)斷(duan)。
⑤ 廣告預算獨立 A/B 實驗廣告實驗平臺在具體的廣告實驗中會遇到的問題,這種問題在非廣告業務中是沒有的。因為在廣告領域涉及到 A、U、C 這三方,這三方是個有效的完整回路,一個簡單的回路就考慮到計劃的投放->花錢->廣告下線,這里會涉及預算,預算沒有了就會下線。這里會涉及個問題,如果在進行這種簡單的流量分桶實驗的話,一分為二,上不同的策略,這兩個策略的結果對廣告主預算的消耗速度是不一樣的,帶來的結果是,假如某個分桶(五五分),一段時間會發現 A 桶消耗的快,如果沒有進行預算的獨立,會把 B 桶的預算拉過去,具體表現就是廣告主的錢,在 A 桶花費的更多,如果流量小的時候效果可能非常好,但是隨著流量的不斷的放大會發現策略的實驗效果會變的很小。所以廣告預算的獨立性會在廣告主側實驗的時候就考慮到,比如說計劃的一分為二,預算平均分配,各自獨立,互不影響。最后會考慮將預算獨立實驗應用在流量側分桶,目前沒有做但是經過論證是可行的。
⑥ 實驗檢驗與效果評估實驗檢驗與效果評估,是實時的效果評估,能夠做到5分鐘(保守的)內的數據延遲,如果1分鐘也可以,但是問題點在于涉及廣告效果衡量時,比如 ctr=互動/曝光,互動可能會有延遲,會造成計算出的結果飄忽不定,所以為了讓實驗效果趨于穩定會5分鐘計算一次。
對于(yu)跨多天的(de)(de)(de)(de)(de)(de)實(shi)(shi)驗效果(guo)(guo)(guo)分析采取的(de)(de)(de)(de)(de)(de)機(ji)制是離(li)線跨天+實(shi)(shi)時(shi)流(liu)分析引擎(qing)。由于(yu)實(shi)(shi)時(shi)流(liu)機(ji)制的(de)(de)(de)(de)(de)(de)效果(guo)(guo)(guo)不如(ru)離(li)線的(de)(de)(de)(de)(de)(de),這里又(you)進(jin)(jin)行(xing)了優化,比(bi)如(ru)幾(ji)個小(xiao)時(shi)之前的(de)(de)(de)(de)(de)(de),如(ru)果(guo)(guo)(guo)離(li)線進(jin)(jin)行(xing)這種任務的(de)(de)(de)(de)(de)(de)調度都能跑出來的(de)(de)(de)(de)(de)(de)話,也會用離(li)線的(de)(de)(de)(de)(de)(de)方式(shi)進(jin)(jin)行(xing)批量的(de)(de)(de)(de)(de)(de)處(chu)理來替換今天早些時(shi)候的(de)(de)(de)(de)(de)(de)實(shi)(shi)時(shi)流(liu)分析數(shu)據(ju),實(shi)(shi)時(shi)流(liu)會傾向于(yu)用最近(jin)比(bi)如(ru)一(yi)個小(xiao)時(shi)或(huo)兩個小(xiao)時(shi)的(de)(de)(de)(de)(de)(de)數(shu)據(ju)。在實(shi)(shi)驗決策角度來說(shuo),實(shi)(shi)時(shi)流(liu)主(zhu)要是看實(shi)(shi)驗效果(guo)(guo)(guo)會不會帶來嚴重的(de)(de)(de)(de)(de)(de)缺陷,以便進(jin)(jin)行(xing)實(shi)(shi)驗的(de)(de)(de)(de)(de)(de)及時(shi)終止,離(li)線的(de)(de)(de)(de)(de)(de)數(shu)據(ju)處(chu)理帶來的(de)(de)(de)(de)(de)(de)實(shi)(shi)時(shi)報表主(zhu)要作(zuo)為實(shi)(shi)驗效果(guo)(guo)(guo)的(de)(de)(de)(de)(de)(de)評(ping)定。
整體的(de)(de)實驗效(xiao)果會有(you)可用(yong)性(xing)(xing)的(de)(de)監控(例如(ru)對流量分(fen)桶的(de)(de)監控,不(bu)同策略對流量層面的(de)(de)可用(yong)性(xing)(xing)是不(bu)一樣的(de)(de)),保證(zheng)兩個(ge)實驗分(fen)桶的(de)(de)可用(yong)性(xing)(xing)在同一個(ge)水(shui)平上的(de)(de)。
實(shi)驗(yan)平臺(tai)支持(chi)(chi)的(de)業務指標(biao)將(jiang)近4000萬(wan)~1億的(de)規模(mo),而且支持(chi)(chi)自定義指標(biao)的(de)方式。同時(shi)實(shi)驗(yan)支持(chi)(chi)版(ban)本的(de)跟蹤,也支持(chi)(chi) nodiff 的(de)對照實(shi)驗(yan)等(deng)。
2. 廣告精益洞察精益洞察想解決的問題是:由于線上的策略很多,怎樣讓策略運行的時候,在系統之外能很好的看到系統的運行狀態,使得策略運行的像水一樣透明,后來提出了精益矩陣的描述方法,整體上的業務分為多層次的業務階段,每個階段都會有完整的洞察。
上圖是系統的架構圖。數據落地,進入到實時流機制,實時流機制中的數據類別是分類的,之間是通過 key 進行關聯,將日志構建組件化,包括線上的調試日志,用戶的信息日志、線上跑策略跑模型的日志、廣告日志等等,再往上會進行日志處理存儲,分為離線存儲和在線存儲,在線存儲會用到 PG 和 clickHouse 這種列式存儲,以便在線即時訪問。
整體(ti)的(de)(de)呈現效(xiao)果(guo)是:每(mei)(mei)一層是一個(ge)業務策略階段;請求訪問或(huo)者廣告召回集(ji)的(de)(de)處理,整體(ti)看(kan)(kan)是一個(ge)漏(lou)斗(dou),從廣告數量來看(kan)(kan)是二維的(de)(de),一個(ge)廣告召回集(ji)的(de)(de)數量,隨著策略的(de)(de)運行,數量在不斷的(de)(de)減少。每(mei)(mei)個(ge)層面上都可以(yi)更細粒度(du)看(kan)(kan),例如不同的(de)(de)競價類型占(zhan)比(bi)的(de)(de)分布情況以(yi)及(ji)整體(ti)的(de)(de)出價水平都可以(yi)細粒度(du)的(de)(de)查看(kan)(kan),分辨出在不同策略層之間的(de)(de)表現差異,洞察策略的(de)(de)具體(ti)影(ying)響效(xiao)果(guo)。
本文圖片全部來源于(yu):DataFunTalk
概述(shu)
1. 廣告樣式與場景上圖是微博廣告目前商業場景流,“一屏四大流”。“一屏”指打開微博的 Fashion,“四大流”指占據微博商業化的主體,包括關系信息流、熱門流、評論流和熱搜流。右圖為廣告投放的后臺。
2. 廣告參與方如上圖,做計算廣告首先面臨這些概念,根據不同的廣告主的規模和對公司的重要程度分為 KA 類和中小類。KA 類往往是進行廣量式的購買。中小類,常規的客戶會進行競價。
常見的(de)計(ji)費方式有:CPE,CPM,CPD。
目前在互(hu)聯網(wang)市場(chang)在大規模推廣 OCPX,OCPX 作為一種(zhong)需(xu)要很高的技術(shu)含量,也是一種(zhong)很好的降低廣告主投放風險的售賣方式。
3. 計算廣告核心問題這是廣告涉及到的三方:平臺(站方)、用戶、廣告主,在計算廣告設計時的核心問題是如何追求三方之間均衡的、整體的利益最大化。
4. 廣告投放流程以上是一般的廣告的投放流程。這是從廣告主的視角、平臺的視角以及從用戶的視角來公共完成三方“相向而行”的活動:
廣(guang)(guang)告(gao)營(ying)銷策劃(hua)的流程(cheng):創(chuang)建推廣(guang)(guang)計劃(hua) -> 選擇人群受眾定(ding)向 -> 設置廣(guang)(guang)告(gao)預(yu)算 -> 設定(ding)廣(guang)(guang)告(gao)創(chuang)意 -> 啟(qi)動廣(guang)(guang)告(gao)投放 -> 查(cha)看廣(guang)(guang)告(gao)效果 -> 下(xia)一(yi)步營(ying)銷決策。
精(jing)準(zhun)(zhun)廣(guang)告投放:針對(dui)廣(guang)告庫存請求,會(hui)對(dui)用戶(hu)進(jin)(jin)行精(jing)準(zhun)(zhun)用戶(hu)畫像刻畫,然后做廣(guang)告的(de)召(zhao)回,對(dui)廣(guang)告進(jin)(jin)行粗排(pai)和精(jing)排(pai),挑選廣(guang)告,根(gen)據不同平臺(tai)進(jin)(jin)行廣(guang)告創意渲染工(gong)作,最后展示給(gei)用戶(hu)。
用戶內容消費,比較簡單請看圖(tu)中流(liu)程。
微博廣告策略(lve)工程架構(gou)體系演進
1. 微博廣告工程架構發展史微博商業化進程不斷的發展,支撐商業化的工程架構會隨著具體的業務需求做改變。
剛開始做的是非信息流的廣告,按照傳統的方式會試投一些 banner 在微博,目前 banner 在微博的移動端已經沒有了。從1.0版本簡單彈窗式的廣告系統,到2.0版本以粉絲通為代表的產品線陸續的孵化出來,這時候微博開始進行信息流廣告的研發。微博是國內信息流廣告的第一家,在探索中孵化出一系列的廣告產品矩陣,為了產品的快速上線,復制了大量的廣告系統,為了改變這一狀況,隨著17年底超級粉絲通的上線,對廣告系統進行了整體重構,從此微博廣告工程架構進入了4.0時代。
2. 投放系統架構4.0上圖是17年的工程架構圖,是隨著微博廣告產品線的探索演化出的工程架構4.0版本,當時處于流量的藍海階段,所以通過配合廣告客戶和廣告預算的不斷增加,不斷提升廣告系統的穩定性、高可用性、高并發來不斷的實現廣告收入的增長。因此我們也對系統進行了分層化的梳理,圖中藍色的區域是線上廣告投放系統最核心的鏈路。通過廣告請求,流量統一接入,接入包括微博多個產品矩陣,廣告的請求會對多個產品矩陣進行請求分發,通過統一流量價格評估,對用戶的請求進行響應。整體上這樣一個引擎結構是為了不斷的滿足產品提出的面對客戶的需求來進行的架構設定。
其基本(ben)流(liu)程是廣(guang)告(gao)(gao)請(qing)求(qiu),廣(guang)告(gao)(gao)庫存(cun)接入(ru),到總體流(liu)量的分發(fa),請(qing)求(qiu)用(yong)戶的畫像(xiang),經過競價服務,會(hui)(hui)進行(xing)廣(guang)告(gao)(gao)觸發(fa),會(hui)(hui)請(qing)求(qiu)在線索引服務,形成比較完善的行(xing)為定向體系,包括(kuo):
1. 用戶的行為定(ding)向。在微博上的行為定向,比如,對話題的互動,熱門微博的互動,熱搜人群的互動等。
2. 社交關(guan)系定向(xiang)。比如關注的大 V 信息,如果在某個大 V 信息下用戶的群體能理解為自然形成的社會群體,那么這個大 V 信息下面的粉絲群是可以進行選擇投放的。
3. 精(jing)準人群定向(xiang)。是由平臺方或第三方的數據加工,或廣告主根據一次投放效果進行的召回,或已有的客戶信息形成的用戶粒度聚合后的數據包,這個就是精準用戶的集合。
4. 用戶屬性定(ding)向(xiang)。包括用戶畫像,年齡、地域等。
以(yi)上是整體的(de)在(zai)線(xian)投放流程(cheng),但(dan)是投放流程(cheng)僅僅有以(yi)上這些是不夠的(de),還包括個性(xing)化庫存策(ce)略,廣告的(de)負反(fan)饋的(de)策(ce)略,智能頻(pin)次控制策(ce)略等,以(yi)及配套的(de) A/B Test 系統,這樣(yang)就(jiu)形成(cheng)了廣告投放的(de)在(zai)線(xian)服(fu)務群。
由于流(liu)量(liang)(liang)來自于微(wei)博站方,所以(yi)微(wei)博廣告(gao)請求是無需流(liu)量(liang)(liang)反(fan)作(zuo)弊(bi)的(de)(de)。存在的(de)(de)反(fan)作(zuo)弊(bi)主要(yao)是針對互動回傳(chuan),也就是說廣告(gao)投后(hou)的(de)(de)后(hou)鏈路(lu)(lu)數據的(de)(de)回傳(chuan)會有(you)大規(gui)模的(de)(de)反(fan)作(zuo)弊(bi)策略(lve),當然(ran)也包括社交互動。然(ran)后(hou)會有(you)一個實時的(de)(de)結(jie)算中(zhong)心—結(jie)算系(xi)統(tong),提(ti)供給廣告(gao)主需要(yao)的(de)(de)報表,以(yi)及(ji)與廣告(gao)主密切(qie)相關的(de)(de)賬戶系(xi)統(tong),總體上形(xing)成了投后(hou)鏈路(lu)(lu)在線(xian)服務群。
之下(xia)是屬于(yu)近線的數(shu)(shu)據(ju)(ju)(ju)(ju)訪問,按(an)照數(shu)(shu)據(ju)(ju)(ju)(ju)分類:用戶基礎數(shu)(shu)據(ju)(ju)(ju)(ju)、廣(guang)告(gao)定向數(shu)(shu)據(ju)(ju)(ju)(ju)、廣(guang)告(gao)實(shi)時流(liu)數(shu)(shu)據(ju)(ju)(ju)(ju)、算法模型訓練(lian)數(shu)(shu)據(ju)(ju)(ju)(ju)、廣(guang)告(gao)創意庫(ku)數(shu)(shu)據(ju)(ju)(ju)(ju)來(lai)制定線上這種實(shi)時訪問的需求(qiu)。
最下(xia)面屬于線(xian)下(xia)的數據(ju)倉(cang)庫。線(xian)上投(tou)放完(wan)的數據(ju)會進入數據(ju)倉(cang)庫落地。
這就是(shi)廣(guang)告數(shu)據(ju)總線,實(shi)(shi)現(xian)數(shu)據(ju)流(liu)的方(fang)式一般通(tong)過 kafka 機制等(deng)實(shi)(shi)現(xian),然后匯聚到(dao)數(shu)據(ju)倉庫里(li),對(dui)數(shu)據(ju)進行分門別類。
圖中最左(zuo)邊廣告(gao)的(de)監(jian)(jian)控(kong)系(xi)統,會從系(xi)統的(de)各(ge)個(ge)層面對系(xi)統進(jin)行業務運(yun)行狀況(kuang)的(de)監(jian)(jian)控(kong)以及服務穩定性的(de)監(jian)(jian)控(kong)、可用性的(de)監(jian)(jian)控(kong)。這些就是業務層面完整的(de)一個(ge)工具鏈(lian)。原來(lai)多(duo)個(ge)產(chan)品線(xian)就逐漸聚合(he)到這樣(yang)的(de)一個(ge)系(xi)統當中。
4.0時代的(de)(de)(de)(de)架構(gou)在整(zheng)體上是為(wei)了“粗放(fang)式增(zeng)(zeng)長(chang)(chang)”而設定的(de)(de)(de)(de)工程架構(gou)體系(xi)。這種粗放(fang)增(zeng)(zeng)長(chang)(chang)的(de)(de)(de)(de)客觀現(xian)實是,廣(guang)告預算(suan)供(gong)(gong)應的(de)(de)(de)(de)持續提升和(he)微博不斷供(gong)(gong)給的(de)(de)(de)(de)流量變現(xian)規(gui)模,以(yi)及(ji)不斷增(zeng)(zeng)加廣(guang)告主的(de)(de)(de)(de)數(shu)量、預算(suan)和(he)規(gui)模,來實現(xian)廣(guang)告數(shu)的(de)(de)(de)(de)增(zeng)(zeng)長(chang)(chang)。這時對(dui)系(xi)統最大的(de)(de)(de)(de)考(kao)驗是系(xi)統的(de)(de)(de)(de)高可用性,以(yi)及(ji)做(zuo)業務(wu)需求時,對(dui)研發效率的(de)(de)(de)(de)保證,這樣的(de)(de)(de)(de)架構(gou)就是“粗放(fang)增(zeng)(zeng)長(chang)(chang)之(zhi)下(xia)的(de)(de)(de)(de)產(chan)物”。
這個架(jia)(jia)構體系是(shi)(shi)存(cun)在一些問題的(即紅(hong)框中的):相對來說(shuo)對策略模(mo)型是(shi)(shi)相當淡化的,也就是(shi)(shi)從功能(neng)架(jia)(jia)構層面對算法模(mo)型的迭代是(shi)(shi)比較簡單的。比如 A/B Test 使用的是(shi)(shi)非(fei)常原始的 A/B Test,在這種在人口(kou)紅(hong)利的情(qing)況下(xia)能(neng)夠快速支撐廣(guang)告(gao)業(ye)務的增(zeng)長,但是(shi)(shi)隨著人口(kou)紅(hong)利的消失,已經不能(neng)很好的支撐廣(guang)告(gao)業(ye)務的增(zeng)長,這時系統對策略模(mo)型的支持顯得異常重要(yao)。
3. 系統如何支持廣告增長的轉型如何支撐廣告增長的轉型,會通過粗放型增長(擴流、擴廣告主、擴預算)轉型到精細化的增長,不斷的提升投放效果來促進收入的增長。這時對應的系統需要進行轉型,在系統不斷完善的基礎上,實現策略模型的良好驅動。在這種情況下隨著算法不斷引入新的深度學習模型,整體的工程架構也不斷的深耕細作,從原來的業務劃分方式(Target、Filter、Rank)轉型成面向算法策略(召回、模型、機制、排序)的劃分方式。
4. 流量漏斗模型廣告系統常用的模型:流量漏斗模型。對其重新進行思考和定義:開始是對廣告進行召回,完成基于精準的最大概率展現,到相關性的挑選,再到以模型為核心的競價排序機制。
本文(wen)不會從(cong)算法角度去講解如何召回和相關性的(de)(de)機制等(deng),主要是介紹工程是如何支持算法模型迭代的(de)(de)。
5. 面向策略的下一代投放架構在架構系統4.0中的基礎上對在線投放引擎進行業務分級,以滿足新的流量漏斗模型。有以下關鍵點:
① 觸發、模(mo)型、策略機制向獨(du)立(li)縱深發展
系(xi)統在支持觸發、模型(xing)、策略迭(die)代(dai)上能(neng)夠(gou)實現很好的(de)(de)各自(zi)的(de)(de)獨立縱深發展,能(neng)夠(gou)做(zuo)到各自(zi)的(de)(de)快速迭(die)代(dai),互不(bu)影(ying)響。
② 引入精(jing)益驅動(dong)思想,系(xi)統雙核(he)驅動(dong),釋放算法迭代效率
在(zai)做整體的(de)精(jing)(jing)細化轉型的(de)時候,系統需(xu)要(yao)(yao)不斷的(de)進行(xing)嘗(chang)試,而嘗(chang)試要(yao)(yao)有一(yi)(yi)個很好的(de)嘗(chang)試平(ping)臺(tai),所以引入了精(jing)(jing)益驅(qu)動的(de)思想。在(zai)線精(jing)(jing)益平(ping)臺(tai)包括:法拉第實(shi)(shi)驗平(ping)臺(tai)和法拉第精(jing)(jing)益洞察,這是(shi)一(yi)(yi)個比較好的(de)促進業務模型迭代(dai)的(de)工具鏈,更加注重數據(ju)的(de)實(shi)(shi)時性(xing)和數據(ju)的(de)密度(du)。
系(xi)統(tong)架構總體上分為:在(zai)線(xian)(xian)(xian)精(jing)益工(gong)具(ju)平(ping)臺(tai)、在(zai)線(xian)(xian)(xian)投放系(xi)統(tong)、近線(xian)(xian)(xian)數(shu)據訪問、數(shu)據模型加工(gong)(曝(pu)光機(ji)器學習平(ping)臺(tai)和在(zai)線(xian)(xian)(xian)實時流(liu)的機(ji)制)和離線(xian)(xian)(xian)數(shu)據平(ping)臺(tai)
③ 特(te)征數據(ju)的(de)實時性和密(mi)度,模型獨立化發展
重點說(shuo)下在(zai)線(xian)投放服(fu)(fu)務(wu)(wu),在(zai)服(fu)(fu)務(wu)(wu)中(zhong),會(hui)(hui)有(you)流量(liang)接入,會(hui)(hui)有(you)流量(liang)的(de)觸(chu)發,會(hui)(hui)有(you)觸(chu)發機(ji)制,包括(kuo)多路觸(chu)發,通(tong)過(guo)多路觸(chu)發體制后,會(hui)(hui)有(you)機(ji)制策略,包括(kuo)模型預估服(fu)(fu)務(wu)(wu),模型預估服(fu)(fu)務(wu)(wu)是聚合服(fu)(fu)務(wu)(wu),會(hui)(hui)進(jin)行粗排、對數據進(jin)行裁剪,會(hui)(hui)在(zai)大規模分布(bu)式預估服(fu)(fu)務(wu)(wu)中(zhong)完成,Ranker 也會(hui)(hui)基于預估進(jin)行精排。
特別(bie)說明一下,為(wei)(wei)什么進(jin)行粗(cu)(cu)(cu)排和(he)精排,粗(cu)(cu)(cu)排我的(de)(de)理解是為(wei)(wei)了(le)精排的(de)(de)性能(neng)考慮的(de)(de),因為(wei)(wei)精排會(hui)涉及到(dao)大規(gui)模(mo)的(de)(de)精細計算,性能(neng)有(you)可能(neng)會(hui)扛不(bu)住(zhu),所以需要粗(cu)(cu)(cu)排,而且在保證(zheng)效(xiao)果(guo)的(de)(de)情(qing)況下,為(wei)(wei)了(le)性能(neng)的(de)(de)保證(zheng)會(hui)有(you)多級粗(cu)(cu)(cu)排。
最上面是法拉第實(shi)驗(yan)平臺(tai)和法拉第精益洞察。整體上會形成雙核引擎:一(yi)個良(liang)好的工程架(jia)構體系和精益驅動的工具平臺(tai)。
6. 如何支持廣告物料的精準召回從微博廣告的召回機制來看會有用戶標簽觸發、社交傳播觸發、精準人群觸發、內容觸發、DNN 向量式觸發,經過5路觸發,會進行 MIXER 廣告召回級的匯總,匯總后會有粗排策略、精排策略。
這里用到的(de)信(xin)息,包括(kuo)流量側和廣告側。
流量策:
用戶畫(hua)像(xiang)、請求上(shang)下(xia)文(wen)、歷史互動行(xing)為
廣(guang)告側(ce):
廣(guang)告主信(xin)息、計(ji)劃信(xin)息、創意信(xin)息
7. DNN 向量觸發模型這里介紹下深度向量觸發模型,用到的是雙塔模型,包括用戶側和廣告側。用戶側根據用戶信息進行訓練生成用戶側的向量,用到了三層的神經網絡,廣告側也是一樣,整體來說訓練都是采用離線的方式完成的,接下來會做實時的向量預估。進而在雙塔匯合點進行相關性的判定,使用了簡單的 cos 和 sigmoid 進行相關性的判定。
8. 觸發工程架構觸發工程體系在如何更好的支持觸發角度來說,研發了對應的服務體系。請求在請求召回時會觸發 Agent 進行五路召回,包括雙塔的召回、內容定向的召回、用戶畫像的召回、精準人群的召回、微博社交關系的召回,召回之后進行 Mixer,會結合質量預估服務進行裁剪。然后,線上會有實時的廣告計劃庫數據和離線數據會對線上的五路觸發分別根據需求進行訪問,這樣會形成一個整體的廣告觸發工程架構。
精益渠道思想工具:“兩翼計劃”隨著超級粉絲通在17年上線,考慮到微博廣告從粗放式增長到精細化增長的轉型,需要有一個比較好的實驗平臺和一種線上運行洞察的方式和思想,這樣就構成了精益驅動思想的來源。包括兩部分:一是進行線上策略的實驗和調控,一個是用于線上策略運行的精益洞察,與在線投放系統一起,構成一體兩翼策略工程架構體系。
1. 法拉(la)第實驗(yan)平臺(tai)
① 法拉第分(fen)層實(shi)驗(yan)模(mo)型
法(fa)拉(la)第實(shi)(shi)驗采用正(zheng)交(jiao)分(fen)層模(mo)型(xing),這種(zhong)模(mo)型(xing)在互(hu)聯(lian)網行業一(yi)般都(dou)會(hui)使用,包括(kuo)百度的(de)愛(ai)迪生、阿里的(de)特(te)斯(si)拉(la)等。微博(bo)法(fa)拉(la)第模(mo)型(xing)思(si)想來自于(yu) Google 流量正(zheng)交(jiao)分(fen)解(jie)模(mo)型(xing)的(de)經典論(lun)文(wen),為多層的(de)獨立實(shi)(shi)驗提供了理論(lun)基礎,當(dang)然實(shi)(shi)驗也結合了微博(bo)廣告的(de)實(shi)(shi)際情況,包括(kuo)剛(gang)開始(shi)解(jie)決從無到有(you)的(de)問題,對論(lun)文(wen)中的(de)模(mo)型(xing)進行了簡化。最開始(shi)是沒有(you)域的(de)概念(nian),整體(ti)上每(mei)一(yi)層都(dou)會(hui)使用 hash 函數(shu)。
② 實驗分桶雖然每個實驗層共享 hash 函數,但是 hash 函數參數不同,參數包括流量標識和實驗 id 標識,呈現出的是不同層的流量分桶劃分是正交的。另外,也引入 Google 論文中提到的分配條件,場景應用很經典,例如做一個實驗,會考慮流量的重用或者實驗的一些特征,包括實驗的地域、性別等,這樣的話,使用圈定或限定下的流量而不是使用全部的流量;如果使用全部流量的話會造成實驗效果不顯著,實驗效果被稀釋,容易引起不置信。這樣可以使流量重復復用,并且能很好的觀測到策略所產生的實驗效果。這就是流量分桶類型和進行流量圈定的分配條件。
③ 法拉第實驗平臺這個是法拉第實驗平臺的整體架構圖。采用全程自動化的機制。通過法拉第的 Web 入口,進行實驗信息的記錄,在線上流量入口處進行實驗的下發和解析,根據實驗的數據信息,進行線上策略的調控,會對實驗命中數據進行解析,進行實驗的埋點,然后進入實時的分析引擎,統計實驗效果。
實驗的下發和解(jie)析有兩(liang)種方(fang)式(shi):
一種是在流量的總入口處統一進行實驗的下發和解析,一步到位,然后請求信息一塊下發,隨著請求鏈路走,最后返回,命中那些策略會有對應的標識。如果實驗數比較少時,解析無壓力,實驗相關性解析比較小,實驗消耗帶寬不大,此時是合適的。但是隨著實驗規模的增大,由于現在的廣告系統是分布式的系統,如果完整的實驗信息一直隨著請求下發的話帶寬消耗會非常嚴重,造成返回結果超時,可用性下降,實驗時間就會變得很長。因此出現了另一種方式,由對應的服務分別對對應策略的實驗情況進行解析,而其他策略的實驗情況則不需要解析,這樣就只獲取自己感興趣的信息,避免了信息的冗余。為什么剛開始沒有進行這樣的設計,因為系統剛開始是解決從無到有的問題而不是一到多的問題。第一步是實驗平臺的創建,采用第一種方式比較簡單,可以很快的將實驗下發。
④ 廣告側 A/B 實驗常用的 A/B 實驗是關于流量側的分桶實驗,根據流量的不同配比進行不同實驗的對比。但是這種流量側的分桶實驗不能滿足廣告的一些需求。在實際的廣告系統中,會出現針對某些廣告行業或者廣告主,進行嘗試性的策略,關注的實驗效果也是被關注的廣告行業或者廣告主的效果。如果用流量側實驗的話也不是不行,但是在進行實驗效果分析時候,數據分析需要具體到廣告主粒度,會給統計分析引擎帶來極大的挑戰;如果不這么做,仍然只看整體的效果,實驗分析效果必定是被稀釋的,無法準確的反映出策略的意義。這樣就需要進行廣告側實驗的機制設計:
首先會進行實驗對象的圈定,包括:廣(guang)告主 、廣(guang)告類別、廣(guang)告計劃(hua)、廣(guang)告創意等。
然后(hou)進(jin)行同(tong)質或非同(tong)質實驗(yan):
同(tong)質實(shi)驗(即對(dui)(dui)一(yi)(yi)(yi)個推(tui)廣(guang)計(ji)劃(hua)的(de)(de)受(shou)眾進行隨機的(de)(de)劃(hua)分,一(yi)(yi)(yi)分為二,在一(yi)(yi)(yi)分為二的(de)(de)基礎上作用(yong)不(bu)同(tong)的(de)(de)策略(lve)進行對(dui)(dui)比),一(yi)(yi)(yi)個計(ji)劃(hua),可能會創建兩(liang)個類似(si)于“偽(wei)計(ji)劃(hua)”的(de)(de)概(gai)念,然(ran)后(hou)對(dui)(dui)偽(wei)計(ji)劃(hua)同(tong)時進行系統投(tou)放。進入兩(liang)個人群的(de)(de)劃(hua)分當中,然(ran)后(hou)進行效果對(dui)(dui)比。
非同質實驗(yan),這個是(shi)(shi)嘗試(shi)性的(de)圈定(ding)一波人去進(jin)(jin)行(xing)實驗(yan),這種往(wang)往(wang)是(shi)(shi)沒有對照的(de)是(shi)(shi)根據實驗(yan)效果(guo)進(jin)(jin)行(xing)縱向的(de)對比判定(ding),也就是(shi)(shi)當前的(de)策略實驗(yan)效果(guo)與之前沒有進(jin)(jin)行(xing)的(de)實驗(yan)的(de)策略運行(xing)效果(guo)進(jin)(jin)行(xing)對比判斷。
⑤ 廣告預算獨立 A/B 實驗廣告實驗平臺在具體的廣告實驗中會遇到的問題,這種問題在非廣告業務中是沒有的。因為在廣告領域涉及到 A、U、C 這三方,這三方是個有效的完整回路,一個簡單的回路就考慮到計劃的投放->花錢->廣告下線,這里會涉及預算,預算沒有了就會下線。這里會涉及個問題,如果在進行這種簡單的流量分桶實驗的話,一分為二,上不同的策略,這兩個策略的結果對廣告主預算的消耗速度是不一樣的,帶來的結果是,假如某個分桶(五五分),一段時間會發現 A 桶消耗的快,如果沒有進行預算的獨立,會把 B 桶的預算拉過去,具體表現就是廣告主的錢,在 A 桶花費的更多,如果流量小的時候效果可能非常好,但是隨著流量的不斷的放大會發現策略的實驗效果會變的很小。所以廣告預算的獨立性會在廣告主側實驗的時候就考慮到,比如說計劃的一分為二,預算平均分配,各自獨立,互不影響。最后會考慮將預算獨立實驗應用在流量側分桶,目前沒有做但是經過論證是可行的。
⑥ 實驗檢驗與效果評估實驗檢驗與效果評估,是實時的效果評估,能夠做到5分鐘(保守的)內的數據延遲,如果1分鐘也可以,但是問題點在于涉及廣告效果衡量時,比如 ctr=互動/曝光,互動可能會有延遲,會造成計算出的結果飄忽不定,所以為了讓實驗效果趨于穩定會5分鐘計算一次。
對于(yu)跨多天(tian)的(de)(de)(de)(de)實(shi)驗效果(guo)分析(xi)采取的(de)(de)(de)(de)機制(zhi)是離線跨天(tian)+實(shi)時(shi)(shi)流分析(xi)引擎。由于(yu)實(shi)時(shi)(shi)流機制(zhi)的(de)(de)(de)(de)效果(guo)不如(ru)離線的(de)(de)(de)(de),這(zhe)里又進(jin)行(xing)了優化,比如(ru)幾個小時(shi)(shi)之(zhi)前的(de)(de)(de)(de),如(ru)果(guo)離線進(jin)行(xing)這(zhe)種任(ren)務(wu)的(de)(de)(de)(de)調度都能(neng)跑出來(lai)的(de)(de)(de)(de)話(hua),也(ye)會(hui)用(yong)離線的(de)(de)(de)(de)方式進(jin)行(xing)批量的(de)(de)(de)(de)處理來(lai)替換(huan)今(jin)天(tian)早些時(shi)(shi)候的(de)(de)(de)(de)實(shi)時(shi)(shi)流分析(xi)數據,實(shi)時(shi)(shi)流會(hui)傾向于(yu)用(yong)最近比如(ru)一個小時(shi)(shi)或兩個小時(shi)(shi)的(de)(de)(de)(de)數據。在實(shi)驗決策角度來(lai)說,實(shi)時(shi)(shi)流主(zhu)要是看實(shi)驗效果(guo)會(hui)不會(hui)帶來(lai)嚴重的(de)(de)(de)(de)缺陷,以便進(jin)行(xing)實(shi)驗的(de)(de)(de)(de)及時(shi)(shi)終(zhong)止,離線的(de)(de)(de)(de)數據處理帶來(lai)的(de)(de)(de)(de)實(shi)時(shi)(shi)報表主(zhu)要作(zuo)為實(shi)驗效果(guo)的(de)(de)(de)(de)評定。
整體的(de)實驗(yan)效果(guo)會有可用性(xing)的(de)監(jian)控(kong)(例如對(dui)流量分桶的(de)監(jian)控(kong),不(bu)同(tong)策略(lve)對(dui)流量層(ceng)面的(de)可用性(xing)是不(bu)一樣的(de)),保證兩個(ge)實驗(yan)分桶的(de)可用性(xing)在同(tong)一個(ge)水平上的(de)。
實驗(yan)(yan)平(ping)臺支(zhi)持(chi)(chi)(chi)的業務指(zhi)標將近4000萬(wan)~1億的規模,而且支(zhi)持(chi)(chi)(chi)自定義指(zhi)標的方式。同時實驗(yan)(yan)支(zhi)持(chi)(chi)(chi)版本(ben)的跟蹤(zong),也支(zhi)持(chi)(chi)(chi) nodiff 的對照實驗(yan)(yan)等。
2. 廣告精益洞察精益洞察想解決的問題是:由于線上的策略很多,怎樣讓策略運行的時候,在系統之外能很好的看到系統的運行狀態,使得策略運行的像水一樣透明,后來提出了精益矩陣的描述方法,整體上的業務分為多層次的業務階段,每個階段都會有完整的洞察。
上圖是系統的架構圖。數據落地,進入到實時流機制,實時流機制中的數據類別是分類的,之間是通過 key 進行關聯,將日志構建組件化,包括線上的調試日志,用戶的信息日志、線上跑策略跑模型的日志、廣告日志等等,再往上會進行日志處理存儲,分為離線存儲和在線存儲,在線存儲會用到 PG 和 clickHouse 這種列式存儲,以便在線即時訪問。
整(zheng)體(ti)的(de)(de)(de)(de)呈現效果(guo)是:每一(yi)(yi)(yi)層是一(yi)(yi)(yi)個(ge)業務策(ce)略(lve)(lve)階段;請求(qiu)訪問(wen)或者廣告(gao)(gao)召回集的(de)(de)(de)(de)處理,整(zheng)體(ti)看(kan)(kan)是一(yi)(yi)(yi)個(ge)漏斗(dou),從(cong)廣告(gao)(gao)數(shu)量(liang)來看(kan)(kan)是二維的(de)(de)(de)(de),一(yi)(yi)(yi)個(ge)廣告(gao)(gao)召回集的(de)(de)(de)(de)數(shu)量(liang),隨(sui)著策(ce)略(lve)(lve)的(de)(de)(de)(de)運行,數(shu)量(liang)在不斷(duan)的(de)(de)(de)(de)減少。每個(ge)層面上都可以(yi)更細粒度看(kan)(kan),例如不同的(de)(de)(de)(de)競價類(lei)型占比的(de)(de)(de)(de)分布情(qing)況以(yi)及整(zheng)體(ti)的(de)(de)(de)(de)出價水平都可以(yi)細粒度的(de)(de)(de)(de)查看(kan)(kan),分辨出在不同策(ce)略(lve)(lve)層之間(jian)的(de)(de)(de)(de)表現差異,洞(dong)察(cha)策(ce)略(lve)(lve)的(de)(de)(de)(de)具體(ti)影響效果(guo)。
本文圖片全部來源于:DataFunTalk