广告匀速投放策略实践

一、产品定位

1.1 需求背景

  • 广告主通过尽快投放,并不能覆盖每个时段的用户,而且投放效果并不好;
  • 对于效果好的广告主投放很快就会完成,如果需要全天时段的量级就需要更多的预算;

1.2 价值

  • 对于广告主,匀速投放策略可以帮助广告主的投放触达更多的时段和用户,同时避免每天在初期消耗过大,有机会提高转化率;
  • 对于广告平台,可以让系统控制预算更稳定更平滑;

1.3 目标

  • 优化匀速投放功能,实现整个投放预算平滑消耗;

二、产品框架

2.1 整体框架

广告匀速投放策略实践
广告匀速投放策略实践

主要思想:每个Slice(广告计划)的消耗趋势与其大盘的曝光变化趋势基本保持一致,以天为时间单位,slice为预算控制单位。在当前的时间片,假设“已消耗/当天预算”的比例大于“广告位大盘已曝光/广告位预估的总曝光”的比例,则说明预算消耗过快,需要减小消耗的速度,反之,则要加快消费的速度。

2.2 算法原理

对于某个slice

,其出价记为


当天预算记为


一天时间被划分为  

个时间窗口;


$$s_{i,t}(0leq t<t) $$=””

个时间窗口开始时的真实的实际累积预算,这条广告到现在花了多少钱;


相对应,表示截止到第

个时间窗口开始时的累计曝光,

是预估累计曝光量,预计当前时间大盘预估曝光量。表示slice

在当天的总曝光量。则在时间窗口

开始时,预估累积预算为,预估这条广告花了多少钱:

根据上面的比例,在每次竞价开始时,为slice

计算出其参与这次竞价的概率

,在Linkedin论文称这个概率为PTR(pass through rate),计算方式如下:
广告匀速投放策略实践其中,

称为调整速率(adjustment rate)。


对于slice

在当天开始已经确定,因为

是预测出来的,因此控制预算就完全是针对

的变化进行的。


2.3 实现细节

2.3.1 更新PTR频率

对于每个slice的PRT更新频率设置为1分钟一次,也就是时间窗口的大小为1min。实验证明这个更新频率使得整个系统更快的达到一个稳定的状态。

2.3.2 调整速率(Adjustment Rate)

调整速率也就是上面的

,目的是控制PTR变化的快慢。LinkedIn论文将这个值设置为固定的10%,不仅实现简单,鲁棒性也很强。


另外一种更复杂的设置方法就是将这个值设置为

的变化率

,表示消耗过快的slice其对应的调整速率也应该比较大。


然后论文选择了固定10%的值,原因有两个:

  • 表示的曲线并不光滑(一系列离散的点),尤其是对CPC这种有了点击才会计费的广告,此时

    的波动会比较大,从而使得计算出来的

    会比较嘈杂的; 

2.3.3 设置PTR初始值(Slow Start)

论文将每个slice的PTR初始值设置为10%,并将这种方式称为慢启动Slow Start,因为这个初始值较小。设置较小的初始值给予系统有时间来调整每个slice的PTR,反之,若PTR一开始就设置的很高,在系统学习到合适的PTR之前,会导致预算很快被花光。

同样,更合理的方式是为每个slice设置一个PTR,但是论文并没有针对这一点进行深度的探讨。

2.3.4 快速完成(Fast Finish)

由于系统的偏差,会导致当天的预算没办法完全花出去,而Fast Finish就是针对这个问题的一种解决方案。

具体的做法就是稍微修改分配曲线,令最后三个小时的曝光量为0,则

/

=1,不进行平滑控制,通过率PTR = 100%。


2.4 实现代码逻辑

对于匀速投放模式的广告,通过参考上周同比的广告位流量变化曲线,将广告每日预算进行近似分摊,使该广告投放时间尽可能拉长,曲线尽可能平滑,与大盘流量的变化近似。

新增接口,获取指定广告位pid的每日广告总拉取量,以及 截止到当前时间的今日累计拉取量

广告匀速投放策略实践

如图,广告所在pid的上周同比广告总拉取量FT,广告所在pid的上周同比截止到当前时间的今日累计拉取量Ft

预估当前费用消耗 = (Ft / FT)* 今日预算,如果预估当前费用消耗 < 实际消耗,则提高广告被命中的概率,否则降低广告被命中的概率,也就是更新PTR

如果没有设置今日预算,是否支持匀速投放?总预算/天数?如果没有设置今日预算,就用总预算替换

为了便于计算概率,PTR为0 ~ 100000整数,初始PTR = 100000,即广告经过层层条件筛选后,再由AG、权重进行选择,如果选择命中,则再根据PTR触发一次随机概率命中,初始100000为必然命中。

提高被命中的概率,PTRt = PTRt-1 * (1 + rt),降低被命中的概率,PTRt = PTRt-1 * (1 – rt),rt 固定为10%。PTR命中的概率 = PTR / 100000

PTR每1分钟更新一次

为了确保广告的今日的预算能花费完,每日20:00~24:00这最后的4个小时,PTR 始终为 100000,即关闭匀速投放功能。

广告匀速投放策略实践

参考文献

  • 中文-论文阅读 : Budget Pacing for Targeted Online Advertisements at LinkedIn
  • 浅谈广告系统预算控制(Budget Pacing)
  • PDF《Budget Pacing for Targeted Online Advertisements at LinkedIn》


原文始发于微信公众号(程序猿阿南):广告匀速投放策略实践

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/22251.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!