本文为AdBright知乎账号针对“做实时计费时如何降低广告超预算”的原创回答,内容来自AdBright广告技术团队成员,后续也将持续不定期分享。
▲问题截图
为什么会出现广告超预算的情况?
广告超预算有两个原因:延迟和并发。
1.延迟
从竞价到曝光回传有一段无法规避的延迟时间。假设以CPM为计费方式,在回传回来之前的曝光是没有计入到消耗中,延迟时间越长已经曝光但是还没有计费的情况就越多。
如果以已计算到的消耗来判定是否到达预算,那么在到达预算时其实已经跑超,因为还有部分曝光没有计算到。计算剩余预算的时候没有考虑延迟的曝光消耗是跑超的原因。
2.并发
并发则是对上述情况的倍数放大。假设每次曝光延迟都是相同的一个固定时间,在单个线程的情况下一次只能处理一个竞价,再假设在这个固定的时间内有1000次竞价,每次都竞争赢每次都曝光,那么在任何时刻都会有1000个曝光待回传待计费。
如果有100个这样的线程,那么就有1000乘以100个待计费的曝光,那就是放大了100倍。当然这是理想化的计算,现实中每个曝光回传的延迟时间在接收到回传之前是没办法知道的,并发情况也是动态变化的。
如何降低广告超预算发生概率和减少跑超数值?
下面给出3个建议:
1.根据历史跑超情况设置阈值,到达阈值停止消耗。
这种方式简单粗暴,可以减少跑超太多的情况发生。但是还是避免不了跑超,同时还引入了预算没跑满的情况。没跑满,就需要手动小心调整预算跑完,增加工作量。
设置阈值的方案很难得到各方的满意,阈值低了预算跑不完,高了又容易跑超。这个方案只能作为临时的解决方案。
2.到达阈值,降低竞价概率,延缓消耗速度
这个方案可以解决阈值方案中预算没跑满的情况,但不能解决极端情况,比如延迟了一两个小时。
3.预测跑超概率,调整竞价概率
根据流量情况、竞赢情况、延迟情况、消耗速度、剩余预算等动态计算跑超的可能性,及时调整竞价概率。这个方案难度较大,取决于算法设计的质量。
下图是RTB竞价过程的简化模型,简化了很多东西,其中红色字体标记了导致延迟的过程的耗时,单位是毫秒。标记的数值是一个假设值,不一定跟现实对应。
ADX的拍卖过程包含了DSP竞价、返回出价的过程,且主要耗时也是这两者,所以这里可以忽略。
▲RTB竞价的简化模型
还有一些影响因素没考虑,比如APP获取到广告后到展示给用户也有一段耗时,耗时的长短依赖于媒体的策略。如果是提前预先加载广告,这个耗时可能会很长。
*以上内容仅供参考,欢迎与AdBright交流,合作共赢