广告频次控制(frequency capping)
频次控制介绍
广告中的频次控制是指控制一个用户最多在指定时间内看到一个广告(或相似广告)的次数,比如广告主可以限制一个用户最多只能一天看到一个广告3次(频次控制也可以让publisher来指定,但本文不考虑publisher)。
本文所说的频次控制不是硬性的,也就是说展示的次数多只会降低相同广告出现的概率,而不是达到一定次数后彻底不出。两者的区别是:前者广告主需要自己去试到底多长的时间段最多出几次合适,比较麻烦,但如果他得到了接近事实的次数,会对他有利。后者是广告主省事了,代价是广告平台只会去优化eCPM,不会去考虑广告主的利益。
引入频次控制有以下优点:
1. 增加触达受众数量。频次控制可以让更多的受众看到广告。因为频次控制消除了广告主有限的预算总是消耗在了不断地向同一群人展示广告上。
2. 提高CTR。频次控制是提高广告CTR的有效手段之一。CTR大约在相同广告展示4次之后就很低了,因为用户已经开始对这个广告无视了。
3. 提高CVR(转化率),与CTR相似,在第一次展示时转化率最高,在展示4-6次后基本无转化。
频次控制原理
1. 所有的广告都是随着展示次数的增加,CPM减小。
2. 以蓝线和红线为例,蓝色的广告展示1次的CPM是高于红色的展示一次的CPM,但蓝色展示两次后CPM是低于红色展示一次的CPM。
3. 每个折线下降的速度是有差异的。
回忆一下公式:CPM = CTR * Bid,eCPM = pCTR * Bid。公式中的Bid是已知且固定的,那么也就是eCPM因为展示次数的变化是因为展示次数影响了pCTR,那么如果基于展示次数对pCTR进行了调整,那么eCPM就更加合理了。
考虑了已经展示的次数对pCTR进行调整,理想情况我们会收获更高的CPM,也就是公司能赚到更多的钱了。(请问你能想象我打这句话时的心情吗?)
实现频次控制后的图应该是这样,紫色的线就是优化后的效果,如果你看不明白,最左边其实少了一根黑化的竖线(我再强调一下,图里的Ad Network把它想成广告,如果你是SSP,那就不要想了)。可以看到紫色的线明显高于蓝线。
频次控制实现
首先基于展示次数对pCTR进行调整是否本身就是pCTR自己的问题,这个我一直有点疑问,展示次数明显可以作为一个特征加入到pCTR的模型中去,但我自己没有试过。但无论展示次数是否作为特征加入,做法都差不多,重要的是如何得到数据。
数据分两部分,一部分实时数据,另一部分离线数据。需要storm收集实时数据的原因是写hive数据库一般有小时级的延时。KV DB中保存的是聚合了实时数据和离线数据的结果,Key是user,value是[ad_n, count_n]的列表。
如果是展示次数作为特征放到pCTR学习中,那一切OK了,如果不这样做,那就麻烦了,首先,要得到前面图中的折线,得到展示次数对每个广告pCTR的影响。这里就有问题了,广告曝光不足怎么办?点击就几十个,怎么统计?是维度向上计算推广计划?曝光还不够怎么办?再向上到广告类别?广告主维度?还是更直接点,假装没看到这些数据,直接忽略,目标只去解决有统计意义的广告。
想多一点还有更多的问题,人群A可能看过一次不点就不会再点了,人群B看过一次点击的概率并和从未看过点击概率差不多。人群的定义可以是无限多种。另外一个广告被展示到了顶部广告位,和底部广告位,难道都认为被展示了一次?所以我虽然没试过,但我认为展示次数放到pCTR模型里作为一个特征应该是最简单合理的。
免责声明:本文内容,图片来源于互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权归其原作者所有。如发现本站有侵权/违法违规的内容,侵犯到您的权益,请联系站长,一经查实,本站将立刻处理。