今天介紹的是CIKM 19上雅虎發(fā)表的一篇文章,主要介紹了如何在廣告點(diǎn)擊率預(yù)估中進(jìn)行軟頻率控制,避免過多的給某一用戶展示太多次同一廣告造成的點(diǎn)擊率下降和用戶體驗(yàn)損失。一起來學(xué)習(xí)一下。
1、背景
Gemini Native是雅虎主要的收入來源,通過在信息流中插入廣告來,并通過多種收費(fèi)模式如CPM、CPC等來獲得廣告收入。下圖展示了不同設(shè)備上Gemini Native的廣告展現(xiàn)形式:
本文主要關(guān)注CPC收費(fèi)模式。對(duì)于這種收費(fèi)模式,通常情況下按照pCTR*bid對(duì)廣告進(jìn)行排序,并進(jìn)行二價(jià)計(jì)費(fèi),因此點(diǎn)擊率預(yù)估是比較重要的一環(huán)。Gemini native使用的點(diǎn)擊率預(yù)估模型稱作OFFSET(a feature enhanced collaborative-ltering(CF)-based ad click-prediction al-gorithm),本文重點(diǎn)不在于對(duì)此模型的介紹,感興趣的可以參考論文《OFF-set:one-pass factorization of feature sets for online recommendation in persistent cold start settings》。
用戶體驗(yàn)是廣告中非常重要的一環(huán),在給用戶展示廣告時(shí),往往會(huì)考慮收益與用戶體驗(yàn)之間的平衡。當(dāng)同一個(gè)廣告&活動(dòng)&創(chuàng)意反復(fù)推送給同一用戶時(shí),用戶的點(diǎn)擊率會(huì)隨著推送次數(shù)的不斷增加而降低,造成用戶體驗(yàn)的損失。
在接下來的部分中,首先會(huì)對(duì)Gemini native的數(shù)據(jù)進(jìn)行分析,來看下是否存在上述所說的反復(fù)推送點(diǎn)擊率下降的問題,隨后將介紹如何將展現(xiàn)頻次這一因素加入到點(diǎn)擊率預(yù)估模型中,最后分析一下實(shí)驗(yàn)結(jié)果。
2、數(shù)據(jù)分析
本節(jié)收集了30天的Gemini native數(shù)據(jù)來進(jìn)行分析,看廣告展示頻次如何影響用戶的點(diǎn)擊行為。
2.1全局分析
下圖是全局分析的結(jié)果,主要包含了兩條曲線,橫軸是不同廣告對(duì)同一用戶展現(xiàn)次數(shù),橙色曲線代表對(duì)應(yīng)的歸一化點(diǎn)擊率,藍(lán)色曲線代表所有數(shù)據(jù)的累積概率分布。
再更具體的解釋下兩條曲線的含義。橙色曲線中每個(gè)點(diǎn)的計(jì)算如下:
比如當(dāng)同一個(gè)廣告給用戶展示第2次時(shí),其平均的點(diǎn)擊率是首次展示給用戶點(diǎn)擊率的80%,當(dāng)同一個(gè)廣告給用戶展示第3次時(shí),其平均的點(diǎn)擊率是首次展示給用戶點(diǎn)擊率的67%。可以看到,除去25次時(shí)數(shù)據(jù)可能存在異常外,隨同一廣告給用戶展現(xiàn)次數(shù)的增加,點(diǎn)擊率呈現(xiàn)逐漸下降的趨勢(shì)。
另一條藍(lán)色曲線代表數(shù)據(jù)的累積概率分布,比如有47%的數(shù)據(jù)是廣告首次展現(xiàn)給用戶。這條線并不是我們關(guān)注的重點(diǎn),因此后續(xù)不再進(jìn)行介紹。
2.2性別分析
分性別用戶的數(shù)據(jù)如下圖所示:
可以看到,重復(fù)給男性或女性用戶展示同一廣告,點(diǎn)擊率趨勢(shì)基本一致。而性別未知的用戶則對(duì)重復(fù)展示的廣告有更高的容忍度。這部分用戶大都是為注冊(cè)用戶,在行為表現(xiàn)上與已注冊(cè)用戶表現(xiàn)出一定的差異性。
2.3年齡分析
分年齡段用戶的數(shù)據(jù)如下圖所示:
從上圖可以發(fā)現(xiàn),不同年齡段的人群,隨同一廣告展示次數(shù)的增加,點(diǎn)擊率逐漸下降,但不同年齡段人群對(duì)此的容忍度是不同的,越年輕的用戶表現(xiàn)出更高的容忍度。對(duì)此現(xiàn)象的可能解釋是,年輕用戶從小就更習(xí)慣于將廣告作為其上網(wǎng)瀏覽體驗(yàn)的一部分。
2.4雅虎垂直產(chǎn)品分析(Yahoo vertical)
該部分的數(shù)據(jù)如下圖:
可以看到,不同入口的產(chǎn)品廣告點(diǎn)擊率都是隨廣告展示次數(shù)的增加而逐漸降低。
從上述不同方面的分析可以看到,一段時(shí)間內(nèi)重復(fù)給用戶展示同樣的廣告,對(duì)平臺(tái)和用戶都是有損失的,那么如何控制給用戶展示廣告的頻率呢,我們將在下一節(jié)進(jìn)行介紹。
3、頻率控制
3.1硬頻率控制
硬頻率控制的做法簡(jiǎn)單粗暴,對(duì)重復(fù)展示的創(chuàng)意/活動(dòng)/廣告主廣告,如果一段時(shí)間內(nèi)展示次數(shù)超過了閾值,則從召回隊(duì)列中去除,不參與后續(xù)的排序。顯然這種做法未考慮用戶的個(gè)性化因素,并不是全局最優(yōu)的。
3.2軟頻率控制
軟頻率控制的方法如下圖:
簡(jiǎn)單描述一下,這里廣告也分不同粒度,粒度從粗到細(xì)可以分為同一廣告主的廣告/活動(dòng),某一個(gè)具體的廣告/活動(dòng),某一廣告/活動(dòng)下的某一創(chuàng)意。在進(jìn)行頻率控制時(shí),我們可以從不同粒度上去進(jìn)行頻次控制。無論何種粒度,廣告用Af表示
同樣,時(shí)間窗口也分多種,如昨天,上一周,上個(gè)月,用Tf。
那么某一用戶在某一時(shí)間窗口內(nèi)展示同一廣告的次數(shù)可以表示為fa,u(Af,Tf)?;诖螖?shù),首先會(huì)進(jìn)行分箱操作,如如下的分箱操作:
分箱之后,每一箱都會(huì)有對(duì)應(yīng)的權(quán)重系數(shù)w,參數(shù)是通過模型學(xué)習(xí)得到的。這里的權(quán)重參數(shù)也可以分為兩種,一種是全局通用的參數(shù),不同的廣告使用同樣的參數(shù),另一種是每個(gè)廣告獨(dú)立的參數(shù)。最終的點(diǎn)擊率預(yù)估值為sigmoid(su,a+w)。
當(dāng)然,我感覺也可以同時(shí)加入多種不同粒度的控制。
4、實(shí)驗(yàn)結(jié)果
最后看下實(shí)驗(yàn)結(jié)果吧。這里參數(shù)使用的是全局通用參數(shù),時(shí)間窗口設(shè)定為1周,廣告力度設(shè)定為同一廣告/活動(dòng)。
首先來看學(xué)習(xí)得到的系數(shù),預(yù)期的結(jié)果是隨著展示次數(shù)的增加,權(quán)重系數(shù)w越小,結(jié)果也符合預(yù)期:
離線的AUC和Logloss也得到了相應(yīng)的改善:
最后是線上結(jié)果,可以看到,軟頻率控制帶來了7%-8%的CPM的提升: