作者|黃崇遠(題圖:pixabay.com,CCO協議)

01

接上篇文章《數據與廣告系列六:一圖讀懂在線廣告產品交互關係》,上篇邏輯裏核心是從產品邏輯的角度,來闡述整體廣告生態中不同的產品以及平臺的角色。而這篇,我們則從偏技術以及數據邏輯來了解整體的在線廣告系統的技術架構以及數據流向來做分析。

在做正式的分析之前,我們先把《計算廣告》中涉及的技術架構圖來一張(重新繪製就沒有必要了,手拍一張,湊合着看先,後面有數據蟲巢這邊按邏輯理解的再繪圖):

從整體的角度來看,其實相對還是比較完善的了,基本把整個廣告技術邏輯,以及各個部分的角色闡述清晰了,但從個人的角度來看,更期望的是更偏技術的邏輯,甚至是數據流轉的邏輯來理解這麼個整個技術體系。

所以,我們圍繞具體一些的技術選型方案以及數據流轉的動向來理解整個在線廣告的技術架構邏輯可能會更容易理解一些。

02

在看我們重新理解繪製的“在線廣告技術架構圖”之前,我們來看一張數據蟲巢這邊之前做推薦系統的時候繪製的推薦系統架構邏輯圖:

之前我們就一直有提到過,推薦系統和廣告系統有着天然的一些聯繫,關於業務邏輯這塊,我們可以參考第二篇《數據與廣告系列二:計算廣告和推薦系統》。這裏我們回到技術維度,我們從推薦的技術架構來推演廣告的技術架構,以及類似的數據流轉邏輯。

回到上圖,推薦的核心幾個邏輯步驟是:

1.做推薦候選的召回處理

2.做推薦候選的排序邏輯

3.進行推薦的策略規則干預邏輯

4.進行推薦的服務化輸出

其中召回部分有很多推薦相對專用的召回算法或者召回邏輯,這是一個候選初篩的邏輯,關於工程實現部分的差異,當然,大部分都是離線模式下的召回,也有強依賴於工程數據流轉的實時召回邏輯。這部分應對的是廣告的候選初篩,當然邏輯會有些不一樣,並且可能實時性要求更強一些,所以在算法複雜度上會弱一些,但對於標籤體系的要求會高很多。

在排序部分,實際上就是根據特徵做點擊預估的計算,追求的點擊轉化率。這個維度跟廣告相似度是非常之高的,只不過廣告對於點擊預估的要求會更高,畢竟涉及的都是真金白銀,所以在點擊預估這邊投入的技術成本會多很多,不管是對於特徵的處理,或者對於算法的複雜度都會有所提升,核心目標就是點擊預估率要高。

規則引擎邏輯部分,其實說白了就是各種人工因素的干預部分,這部分跟廣告部分幾乎較少關聯,因爲推薦是介於用戶體驗和廣告中間態的一種邏輯,所以必然要考慮一些人爲的因素。

而服務化的部分,其實跟廣告的最終服務化差異性不大,承擔併發壓力,各種實驗標誌的傳遞輸出等等。

還有一部分非常核心的就是推薦的實驗平臺,核心承擔目標是推薦的效果優化,類似廣告邏輯裏也有類似的優化核心承擔的邏輯模塊,包括數據BI分析邏輯和策略優化邏輯。差異點較大的是,廣告的BI數據邏輯部分是需要開放給廣告主的,不單純需要內部使用,還需要封裝成對外的數據查看邏輯,而推薦則基本都是自用輔助實驗平臺。

這是核心主邏輯的技術邏輯結構差異部分,更多的邏輯我們結合着數據蟲巢重新理解的“在線廣告技術架構圖”來闡述,畢竟我們的主體是廣告。

03

我們來看一下具體的技術邏輯架構圖:

先來看一下在線廣告的主邏輯部分(深橙色部分):

1.廣告檢索

2.點擊預估部分

3.廣告排序部分

4.廣告輸出的服務化

針對於廣告檢索,其實就是廣告的召回部分,做廣告資源的候選召回,這裏的廣告檢索召回,很多時候對於實時性要求會高一些,有別於推薦的各種離線推薦召回算法,這裏更多依賴於auc三源(a廣告,u用戶,c投放環境)的標籤,直接通過標籤匹配來做快速檢索,所以很多時候這裏會大規模使用倒排索引相關的技術,如果是開源的解決方案推薦的就是ElasticSearch等檢索引擎。

在點擊預估部分,追求的是單次廣告輸出的轉化率,由於在最終排序的邏輯裏,點擊轉化率起到了非常核心的影響作用(沒有轉化保證,其他的因素都可以忽略),所以這裏不管對於CTR模型輸出的算法要求也好,對於特徵的處理要求也好都非常嚴格,並且大部分時候爲了保證CTR的準確率,都要求對於實時性的特徵流轉要求很嚴格,要求能夠快速拿到實時的特徵做特徵輸入。

在特徵部分,又是一個巨大的工程體系,涉及到實時和離線特徵如何計算,特徵如何進行快速維度擴增,而擴增之後的十萬級百萬級甚至是千萬級維度的特徵如何存儲,以及如何解決稀疏高效存儲計算的問題等。

在最終的排序部分,這部分跟推薦的差異性最大,需要綜合考慮上一步驟裏的點擊預估轉化率,還要考慮商業因素(Money),以及對於平臺方來說要賺長遠的錢(不是一次性的消耗),所以結合上個邏輯計算的CTR評分,結合用戶的競價(具體競價邏輯參考第四篇《數據與廣告系列四:搜索廣告來源和競價策略》),以及廣告主的質量評估(優質可持續投入的廣告主,更受廣告平臺的歡迎),最終加權計算一個排序出來,通過排序來決定有效廣告位資源的歸屬問題。

特別需要提出來的是,在廣告主評分計算邏輯裏,針對於有投放記錄的廣告主來說,評分相對容易,畢竟之前有各種投放記錄,甚至包括投入的預算等等,通過一個相對合理的預估是能夠評估出來廣告主的有效長期價值的,對於新的廣告主來說可能更多需要依賴於人工運營/標籤化,以及外部輿情的一些手段來做輔助判斷。當然,從整體邏輯看以及結合前面文章的邏輯,我們可以預估的出來整個的質量評分還是偏向於輔助作用的,更多依賴的是點擊預估和出價。

在服務化這層不多說,多出來的是與競價邏輯結合起來的預算管理模塊,一般在競價邏輯裏實際上每次出價都是需要約束好預算的。

04

上面這些是主邏輯部分,而整個在線廣告技術邏輯架構裏比推薦邏輯相對還是複雜一些的,除此之外,還有幾個非常重要的部分。

先來看數據流向邏輯,廣告部分對於數據的實時性要求更高,不單純是實時特徵部分的專門性要求,哪怕在數據BI維度上,實時性要求也非常高,除此之外由於Money結算涉及到多方結算,不同於推薦的單一主體平臺,所以在數據風控上有很高的要求,比如進行點擊異常數據的判別等。

外部的另外一部分就是整個廣告邏輯的優化策略部分,針對於召回的策略,點擊預估的算法,排序的策略,競價的策略,甚至是與數據關係不大的創業自動生成策略等,都可以與推薦一樣做各種精細化的流量分發控制,再結合數據迴流來做調整和優化。

還有一部分就是非常核心的新客發現邏輯,即依賴於一方數據(廣告主數據),二方數據(廣告平臺累積數據)以及三方數據(購買的第三方數據)集成做的投放種子人羣,通過種子人羣計算種子人羣的各種標籤畫像,結合以有的用戶資源池做人羣的擴散計算。

而針對於Look-Alike人羣的擴散,其實方式方法也非常之多,比如單純計算人羣的相似關係,看似很簡單,但規模一旦很大的情況下,計算相似關係也需要面對很多的挑戰,比如數據的處理,相似關係計算的代價等等。當然,也有很多應對的方式,比如做人羣聚羣再進行相似關係計算,標籤的相似關係召回。以及,在當前移動互聯網如此“橫行”的時代裏,通過社交關係做的擴散非常之有效,有興趣的可以去了解一下騰訊的人羣擴散的相關資料。

除了我們從技術架構圖上可以看到的一些信息流通道,實時離線的計算,倉庫的應用等等,針對於大規模使用的標籤相關的問題解決也需要關注,比如標籤如何做大規模的存儲和計算,以及相對麻煩的標籤維護擴充和維護等。

04

綜上,我們對於整體在線廣告的技術邏輯架構,以及圍繞技術架構的數據流轉都應該有了個認知,當然細究每個部分都有非常多的東西值得研究,比如單純標籤,能做的事就很多。標籤維度的設計,標籤的計算存儲,維護更新,都可以成爲一個研究的課題。還包括諸如重頭部分CTR如何做的更好,召回排序模型的優化,服務化的併發承壓和效率等。

在後續的一段時間裏,這個系列一定會繼續補充,並且甚至是做一些細節程度的分析和深入,但短時間內這個系列可能先告一段落,大概幾個月後會做新的衍生補充。當然,如果有時間的話,也可能會補充一篇關於廣告數據分析維度的東西,看時間了。

而這篇文章本來也應該是一週前發的,由於個人離開了待了三年的坑,跑去度假了,所以耽擱了些許,下週要入新坑了,所以短時間內不一定有時間來寫這麼偏嚴肅性的文章了(嚴肅性的文章真的很費腦),而且發現了一個非常之悲劇的事就是,一旦涉及偏嚴肅性質的文章,閱讀量就嗖嗖下降,哈哈。

打完收工,下個坑綠廠,而且剛好真的是廣告方向,或許有緣我們會相見,或者我們下篇文章見。

感謝關注公衆號『數據蟲巢』,數據與廣告系列已經是第七篇了,可能是近期內的最後一篇,任何信息以及知識體系的接受到吸收,其實都是一次再消化的過程,轉換爲自己能理解的內容和形成自己的知識認知體系。

如果想加入大數據技術微信羣『暢聊大數據』的朋友,1羣已滿,2羣3羣仍可加,可以加我微信mute88,加的時候備註好,我拉你入羣。

走過路過的朋友,覺得這個系列有用,歡迎點贊,留言,分享給你的朋友,富裕的同學也不介意大賞一杯咖啡,謝謝。

相關文章