作者:固林的游戲魚塘
廣告投放系統(tǒng)的工作原理很簡單,就是在一定規(guī)則約束下,給用戶匹配ecpm最高的廣告。
概述
每?次send,就是在廣告系統(tǒng)下使用機(jī)器學(xué)習(xí)等算法,將廣告和用戶匹配的結(jié)果。實(shí)際上用戶的請求數(shù)很多,但廣告系統(tǒng)不保證每?次都會有廣告匹配。
從用戶請求廣告到返回廣告,大致會經(jīng)歷四個階段:召回、粗排、精排、混排。每?個階段都是由廣告候選量級和機(jī)器算力間tradeoff的結(jié)果。
召回
召回階段負(fù)責(zé)廣告的粗選,會在當(dāng)前請求中快速篩選大概1000~2000條相對匹配的廣告進(jìn)?步排序和優(yōu)化。召回階段主要包含以下幾個部分:
? 廣告主業(yè)務(wù)定向過濾,?般是廣告主在計劃粒度上設(shè)置的定向規(guī)則,如性別、年齡、人群包、app過濾等。
? 廣告系統(tǒng)的頻控過濾,為保證使用體驗,不能讓用戶在短時間內(nèi)看到重復(fù)的廣告。用戶dislike過于頻繁,會讓整個request在之后不推送廣告。
? 廣告系統(tǒng)的流控過濾,根據(jù)廣告主預(yù)算和當(dāng)前消耗,控制廣告主快速消耗預(yù)算的策略,防止廣告在超預(yù)算后還被繼續(xù)投放。防止廣告主過度集中在某一流量位消耗的策略,如激勵位置的廣告。
? 召回模型過濾,可以把模型理解為黑盒,它會預(yù)估每個候選廣告在當(dāng)前用戶請求下被成功send的概率,概率越高廣告排名越靠前。?般來說,召回模型如果過濾較多,基本都是廣告競爭力不夠,或廣告系統(tǒng)下游(精排和混排)對廣告類型打壓所致。同時隨著時間推移,會使模型學(xué)習(xí)的預(yù)估分偏低,從而逐漸讓該類廣告投放量越來越少。
? 返回結(jié)果,此時大概量級為1000~2000條廣告。
粗排
粗排的任務(wù)是根據(jù)當(dāng)前用戶請求和候選廣告隊列,用?個比召回模型更復(fù)雜的模型得到更精細(xì)化/個性化候選的過程。這里大概會將量級從2000條降到150條左右。主要的業(yè)務(wù)邏輯控制和過濾有:
? 候選廣告按照adv_id和ad_id打散,每個ad_id最多返回1個cid,每個adv_id返回最多兩個cid。
? 設(shè)置了?些業(yè)務(wù)保量的邏輯,防止粗排返回的廣告過于單一。
? 經(jīng)過粗排模型,進(jìn)行截斷返回。
精排
精排主要包括兩部分,?是參與到大模型的預(yù)估邏輯,另?個是參與復(fù)雜過濾/排序邏輯。
? 主要的過濾對象,當(dāng)sorted ecpm<0時,說明hc過于負(fù)向,會過濾該廣告。同adv下最多保留?個cid,這里和粗排的邏輯對應(yīng),進(jìn)?步把控。ecpm門檻,防止流量賤賣,降低廣告主調(diào)價動機(jī)。
? 風(fēng)控出價,廣告消耗占比最?,成熟期主力出價。大部分廣告主均是通過成本來表達(dá)自身訴求,并希望系統(tǒng)能夠保證成本。所以系統(tǒng)目標(biāo)是滿足客戶的成本訴求,并最大化跑量。
系統(tǒng)根據(jù)后驗計費(fèi)比反饋,通過PID調(diào)控機(jī)制來動態(tài)調(diào)整出價,最終實(shí)現(xiàn)保成本的目標(biāo)。對于風(fēng)控出價來說,最好的結(jié)果廣告主的計費(fèi)比=1,這是系統(tǒng)需要調(diào)控的目標(biāo)。
? 流控出價,對應(yīng)優(yōu)先低成本出價,廣告消耗占比非常低。因廣告主預(yù)算設(shè)定不合理,沒法達(dá)成優(yōu)先低成本的效果。這里可以通過智能調(diào)價來滿足廣告主的保成本訴求?;谧顑?yōu)出價理論,通過PID調(diào)價來實(shí)現(xiàn)預(yù)算按照預(yù)期花費(fèi)速度花完,從而實(shí)現(xiàn)最低成本的目標(biāo)
? 關(guān)于Hidden Cost,Hidden cost表示廣告對系統(tǒng)本?的隱藏?fù)p失,這個損失和之前的頻控規(guī)則不同,是通過?種線性分?jǐn)?shù)的行為引?到排序公式中。
? 打壓策略,dislike/report打壓,當(dāng)用戶對廣告點(diǎn)擊投訴或dislike后,會使這部分廣告的hc升?。用戶歷史展現(xiàn)廣告和當(dāng)前廣告相似度打壓,防?用戶看到過多相似廣告。低質(zhì)素材打壓。
? 素材擠壓的判斷邏輯,在系統(tǒng)粗排階段,對相同ad_id下的cid控制。?般來說,模型會選擇最優(yōu)解輸送到下游,所以粗排之后每個廣告主基本都只有1~2個廣告返回。而這個廣告本?,是不區(qū)分素材的,因此不太會出現(xiàn)擠壓,而只會自己和自己的廣告產(chǎn)?擠壓。
混排
并不是所有的廣告位都有混排,因此有些廣告到精排階段就結(jié)束了。對于有混排廣告位的廣告,主要是和自然結(jié)果的文章進(jìn)行pk和插入的過程,這里有?些計費(fèi)邏輯和刷內(nèi)頻控的邏輯進(jìn)行廣告過濾。
? 刷內(nèi)頻控,對于廣告候選隊列中的相同維度會進(jìn)行過濾(如adv id、customer id、app name等),保證同request內(nèi)返回多條廣告的時候,不會推送連續(xù)相同的廣告。
? 和推薦側(cè)pk并插入的邏輯,文章內(nèi)容混排;確定在文章內(nèi)容隊列中需要插?的廣告位;確定插入的廣告模型,返回上游。
以上就是關(guān)于廣告投放系統(tǒng)的簡介,希望對大家有所幫助。
看完覺得寫得好的,不防打賞一元,以支持藍(lán)海情報網(wǎng)揭秘更多好的項目。