oCPX簡介——廣告界的「無人駕駛」技術

oCPX誕生歷程算法

互聯網廣告最先出現的時候會讓廣告主按時間長度去買斷一個展現位置的廣告,或者按廣告展示次數去投放廣告。這種方式與傳統電視廣告投放方式比較相似。咱們如今看到的一些網站的Banner和大部分App的開屏廣告都屬於這種廣告投放方式,而這些廣告主都是以品牌推廣爲目的進行廣告投放的。 這類廣告特色是個性化差,全部用戶觀看這個電視節目或者打開這個網頁都會看到這個廣告,因此不少男士在電視上會看到化妝品廣告,女士會看到耐克的廣告,而實際上大部分狀況下他們對這個品牌商品是不感興趣的,廣告流量浪費會比較多。而投放品牌廣告的廣告主也不太在乎這些流量浪費,不要求用戶看完廣告會立刻購買商品,從更長期角度來看來加強大衆對該品牌的認知。後端

通常可以投放品牌廣告的都是大廣告主,比較注重長期品牌效應。可是對於衆多中小廣告主而言,他們更但願一分投入有一分產出。在Google、百度等商業搜索引擎出現以後,按點擊扣費的效果廣告獲得大規模推廣應用,很長一段時間成爲互聯網廣告的主要投放方式。 架構

廣告主投放廣告以後,廣告會出如今搜索結果頁或者內容推薦頁上面。廣告展示自己是不收費用的,只有用戶點擊廣告以後纔會進行廣告扣費。這樣的廣告對廣告主來講廣告效果會更加可控,一次廣告扣費就會帶來一個用戶訪問,而不是僅僅支付廣告費用其餘全部方面都沒有保障。並且通常來講用戶感興趣纔會點擊廣告連接,用戶對廣告內容會有必定相關性,必定程度提高廣告轉化和用戶體驗。 對廣告平臺放來講,能夠把不一樣用戶的曝光賣給不一樣廣告主,比起把全部用戶曝光都賣給同一個廣告主來講收益更高了。另外一方面也對平臺技術提出了更高要求,平臺須要準確預估用戶對每一個候選廣告點擊率(ctr),按照ctr*bid進行排序,不斷優化ctr預估模型才能更合理地把用戶和廣告主配對,提高平臺收益。機器學習

很長一段時間互聯網廣告都是以點擊扣費(CPC)爲主的廣告投放方式,平臺方更多的是一個導流的做用,把用戶導給廣告主,而用到廣告主的頁面或者App後怎麼營銷就是廣告主本身的責任。這樣對廣告主來講,真正的轉化成本其實也不是那麼可控,點擊廣告連接後可能最終沒有在廣告主這裏買東西。另外一方面也致使部分廣告主作一些標題黨或者SEO的廣告,讓模型預估pCtr偏高,從而廉價獲取用戶。實際上破壞用戶體驗,也破壞了廣告生態。學習

一個互聯網廣告的轉化漏斗是很深的,以遊戲App爲例,整個廣告轉化流程簡單包括請求、曝光、點擊、下載、註冊、付費6個階段,咱們通常在廣告點擊階段就扣除廣告費用了,而廣告主實際上想要的是用戶付費,更但願可以按一個付費用戶多少錢來投放廣告。 優化

而現實當中,像房屋買賣租賃中間就是這樣收費的,按房子成交金額扣除必定比例的平臺佣金。這樣不管中間帶多少人來看房都是不收費的,只有成交了才收費。CPC導流方式在這個場景下就是:中介帶人來看房(導流),若是有人願意來看房即導流成功,每次能把人帶來收取3~5元的導流費用,最後是否成交看房主自身的營銷手段。相對來講房主會更傾向按成交佣金的方式。網站

咱們把按轉化扣費的方式稱做CPA,而在互聯網場景上運做CPA方式會有比較多問題。搜索引擎

  1. 轉化行爲都有延遲,轉化行爲發生時不必定能進行扣費。
  2. 準確轉化數據在廣告主手上,互聯網場景沒法像現實中介同樣全程陪同。
  3. 須要對接不少中小廣告主,他們技術水平不高,回傳轉化數據流程容易出問題。

基於上面3點考慮CPA方式在互聯網比較難落地,提高廣告後端轉化率下降轉化成本一直都是你們努力方向,期間有比較長時間是讓廣告主選擇人羣定向標籤來進行投放,從而提高轉化率,但實際落地也有一些不盡人意的地方。debug

近年來有Facebook、頭條等頭部公司推出oCPC的投放方式來保障後端轉化成本。其模式仍是在用戶點擊時進行廣告扣費,可是這裏扣費價格不是先前的一個固訂價格,而是根據廣告後端轉化率計算出來的價格;bid=CPA*pCvr,這裏CPA是用戶轉化出價,例如一個付費用戶100元,pCvr是模型預估的點擊到目標轉化(付費)的機率。由於仍是在點擊時扣費,廣告主在回傳轉化數據上面做弊的動機就沒有了,總體風險是平臺和客戶共擔,搞亂轉化數據只會讓模型效果變差,轉化效果不可控。同時在原理層面上是能夠作到成本可控的,能夠知足廣告主需求,並且從平臺來看流量分配更合理收益更大,廣告生態更好。只是對於平臺實際工程實現來講會更加複雜,技術挑戰更大,實際轉化成本與CPA存在必定誤差。blog

oCPC以外,後面還有oCPM、oCPD等投放方式,其原理比較相似統稱oCPX。

oCPX算法技術架構

首先須要創建實時轉化數據回傳歸因模塊,把廣告主回傳的轉化數據分門別類的存儲下來,而且正確歸因(把轉化數據和帶來轉化的點擊關聯起來)。數據是算法系統的基石,沒有數據就沒有後面整個算法系統,實時數據流程必須作到穩定可靠。

其次是咱們的模型訓練模塊,這裏會跟進廣告點擊和轉化數據,對點擊轉化率進行建模,即創建模型預估條件機率P(轉化=1|點擊=1)。模型特徵層面複用大部分ctr模型特徵,增長cvr的統計類特徵以及落地頁特徵來表達用戶與轉化行爲之間的關係。模型會推送到線上服務用來預估每一個候選廣告的點擊轉化率pCvr。

爲了保障廣告成本可控以及糾正模型在廣告維度上的預估誤差,咱們還須要一個實時成本控制模塊。它會實時統計每一個廣告當天實際成本和廣告主預期成本狀況,利用工業控制算法來調整每一個廣告的總體出價。若是某廣告成本偏高,會下降該廣告總體出價,讓廣告的轉化實際成本和廣告主預期成本趨於一致,反之亦然。

在線上排序服務(ranker)上面,咱們須要對每一個候選廣告按照它的投放目標(多是下載、激活、註冊、付費……)來預估它的轉化率pCvr,結合廣告主轉化出價CPA以及控制模塊計算的廣告出價控制係數k來計算廣告此次的點擊智能出價bid=pCvrCPAk。獲得點擊出價後,和其餘CPC廣告一塊兒按照score=pCtr*bid的方式進行總體綜合廣告競價。通過若干排序策略最終選擇勝出廣告下發到客戶端進行廣告展示。

整個數據和算法系統複雜的是比較高的,各個環節均可能出問題,一個debug和case分析模塊是必不可少的。這裏在ranker側會上報一些debug數據進入咱們的case分析模塊,能夠跟進實際觀察到的和廣告主反饋的問題進行跟蹤和定位,及時對系統進行調整和後續優化。

CVR建模技術簡介

Cvr預估模型是oCPX系統的核心,它的效果會很大程度影響最終平臺收益和廣告成本誤差狀況。

在Cvr模型建模以前實際上已經有Ctr預估模型,只是一個是對點擊轉化建模,另外一個是對曝光點擊建模。而實際上Cvr建模仍是有很多技術難度須要克服。

  1. 預估準確性要求更高 對於pCtr而言,技術預估結果有必定誤差,只要誤差對最終競價的結果不影響就沒問題;而pCvr直接影響廣告的點擊出價和成本狀況,即便是誤差5%也會反應到廣告主的轉化成本上,對廣告主來講有明顯感知。pCvr須要預估更加準確。 對應預估誤差問題通常來講處理模型優化以外還須要進行pCvr校準,經過模型預估pCvr值與真實統計Cvr值進行對比,經過保序迴歸模型進行校準。

  2. 樣本稀疏有偏問題更加嚴重 咱們訓練模型樣本都是以用戶點擊後是否轉化行爲進行訓練,這些樣本都是最終競價勝出而且被用戶點擊的狀況,證實都用戶與廣告配對比較好的狀況。而線上預估時是對全部候選廣告進行預估。這樣就好像咱們要作一個預估全國人民收入預估的模型,而建模訓練樣本只使用深圳市樣本同樣,樣本有偏問題比較嚴重。 樣本有偏問題能夠經過聯合建模進行緩解和優化,主流有ESMM和MMoE兩個模型能夠選擇,目前實際發現MMoE多轉化類型聯合建模對模型效果有必定提高做用。而ESMM效果不明顯。

  3. 延遲轉化 目前模型是增量訓練方式進行更新的,深度轉化行爲延遲比較大,若是不作特殊處理容易一個點擊行爲先發生,做爲負樣本進入模型進行訓練,過了幾天用戶付費了,再以正樣本進入模型訓練。一方面是訓練不許確,另外一方面對於新上線廣告而言容易出現較大轉化率低估的狀況。這個延遲問題對於Ctr模型來講會更加大。

這裏咱們認爲7天是轉化行爲迴流最大窗口(能覆蓋95%+的狀況),首先會增量訓練一個T-7的模型,由於這個時候轉化數據已經迴流徹底,所以這個模型沒有延遲轉化問題。

而後天天會刷新最近7天的正負樣本數據,而且根據天天轉化迴流比例來調整樣本權重來打平正負樣本比。接着咱們會base T-7的模型,以最近7天的調權樣本數據進行增量訓練,獲得T-0的模型,這樣T-0模型在樣本比例上打平了延遲轉化問題。

成本控制策略簡介

經過針對性的手段會讓cvr模型預估更加準確,可是不免會出現預估有誤差的狀況,尤爲是轉化數據比較稀疏,實際轉化量容易出現較大波動。所以須要一個成本控制模塊來爲廣告主成本達成提供保障。這裏引入幾個概念:

實際消耗:廣告主當天扣費金額 廣告主價值:按CPA計費狀況下,當天應該扣費金額 消耗比=實際消耗/廣告主價值,控制模塊讓消耗比趨近1.0,從而讓實際消耗趨近廣告主價值。 控制策略模塊會計算廣告維度出價係數k,bid=CPApCvrk,來調整廣告維度的出價。

最開始咱們採用比例控制方法,k=1.0/消耗比。思路比較樸素,若是實際消耗是廣告主價值的2倍,那麼每次以一半的以前價格出價就能夠達成廣告主預期成本。可是實際上調控過程也在影響消耗比,最終經過數學推導上面的狀況只能讓消耗比控制到1.414,沒法最終讓消耗比趨近1.0. 使用了比例控制總體成本狀況有了必定提高,並且控制算法比較簡單,控制魯棒性比較好。

第二版控制策略咱們採用了工業控制中普遍應用的PID控制算法。

其算法原理經過P項(比例)、I項(積分)、D項(差分)讓控制偏差趨近0,可以有效解決比例控制的問題。實際上線以後PID算法也是取得必定成本控制效果提高,可是魯棒性比P控制稍差,須要較多的規則進行限制才能穩定運行。

做者簡介 Taipeng 8年互聯網算法工做經歷,2016年加入OPPO負責信息流廣告算法,2020年負責推薦/廣告機器學習基礎設施建設工做。

獲取更多精彩內容:關注[OPPO互聯網技術]公衆號

相關文章
相關標籤/搜索