广告系统的业务视角

起量

  • 广告投放不起量都是怎么解决的? - 知乎

    • 优化素材、放开定向、提高出价 & 预算、堆计划等。
  • 那么从媒体 / 平台侧的角度来说,有什么手段去缓解广告主起量难的问题么?#card
    +

    • 一般来说,起量难的问题会随着广告候选变多而愈发严峻,而这也可以从 E&E 的角度去解读,因为在 dau 基本稳定的情况下,媒体展示广告的次数是有限的,如果让更多的新计划得到展示机会,势必会挤压老计划,而且新计划起量后,后续能否持续跑量也是个问题,属于 explore 的部分。

    • 因此,一个朴素的思想是固定一些 explore 的 quota,专门用于处于起量阶段的计划,相当于给这些起量阶段的计划开的绿色通道;有了绿色通道后,需要考虑的第二个问题是:哪些计划能通过这些绿色通道?每个计划都给同等的机会显然不是最优的,因为不同计划起量后的表现不一样,因此一种更合理的做法是建模判断这些计划在起量后的表现能力,然后根据表现能力决定计划是否能进绿色通道,同时还需要考虑那些堆计划的 case,避免对相同或只做了微小改动的计划重复进入绿色通道,给更多广告主以探索的机会。

成本

  • 大部分客户投放广告关注的是其 roi(品牌广告其实也可以认为追求的是长期的 roi),而近年各个媒体平台上也出现了各种 roi 类的产品,但是 roi 类的产品要求广告主把付费金额等敏感数据回传,因此大范围推广还需要时间;#card

    • 当前使用更多的是成本类产品,即认为广告主出价是 truthful bidding 的,可以将广告主的出价作为成本,投放过程中尽量让实际成本贴近广告主填的出价。
  • 由于当前的广告系统都是基于 ecpm 排序和扣费的,因此构成 ecpm 的几个元素 (bid, ctr, cvr) 的值必须要准确,才能保证成本不会过高 (广告主亏) 或过低 (媒体亏)

    • 首先需要重点关注的是 ctr、cvr 预估的准确性,而这个问题的难点在于能拿到的训练数据的 label 是 0 和 1 (代表是否点击 / 转化),但是实际中需要预估的是一个 rate,而这导致了没有一个绝对准确的 ground truth,退化成只能通过训练来逼近训练样本中的正负样本的比例,这也是为什么改变了训练样本的分布需要在 loss function 或预估值上做纠偏。另外,从概率论出发,大数定律告诉我们:当样本数量越多,则其算术平均值就有越高的概率接近期望值,但问题是很多计划的的 click、convert 数量非常少,所以训练也没法很好的学习出各个计划的期望 cvr。#card
      +

      • 因此,面对这么一个没有绝对 ground truth,同时大数定律也不完全适用的而带来的预估偏差的问题,需要有额外的策略来应对,最常见的就是上面提到的保序回归,这个也是基于后验数据的统计对预估值做 calibration,因此也需要考虑纠偏粒度上的后验数据是否过少的问题。
    • 另一个关键因素就是出价了,如果预估完全准确的情况下,按照广告主给定的出价来投放是最优的,但这显然是不太可能,因此#card

      • 才有了控制器不断地调价来控制成本,满足保成本的诉求,可以认为出价是预估不准的兜底策略。

冷启动

  • 无论是在广告还是推荐,冷启动都是一个长期存在的问题,其原因是新用户 / 计划缺少历史数据,模型 / 策略对其学习不够充分,从而效果表现得很差;而在广告场景中,新计划比起新用户的冷启动往往是更常见且严峻的,因为对于成熟的媒体而言,dau/mau 等基本都是稳定的,但广告主会不断地新建计划。#card

    • 冷启动往往会加剧上面提到的各类问题,如在模型上,预估值的准确性更难保证;在出价上,成本更难控制等;而针对冷启动的问题,往往也会从两个方面去优化,即模型和策略。
  • 在模型上,有不少针对冷启动的 paper,且基本都是针对 nn 这一类 embedding-based 的模型,其基本思路都是让冷启动 item 的 embedding 贴近 warm-up 阶段的状态,笔者将这类方法归纳成两类

    • (1) 利用 meta-network 为冷启动的 item 生成一个 id embedding#card

      • 第一种方法的基本思想是利用 item 的 meta 信息 (即使冷启动 item 也有) 通过一个小网络 (即 mata-network) 生成 embeddding,然后增加一些 auxiliary task 来训练这个小网络,这些 task 就有很多选择了,更多是对业务的理解,如可以让 meta-network 吐出来的 embedding 与 item 在成熟期的 embedding 误差尽量小 (针对已经步入成熟期的 item 的样本),也可以利用冷启动 item 对网络进行二次的训练等

      • 这种方法的两篇比较典型的 paper 可参考
        Warm Up Cold-start Advertisements: Improving CTR Predictions via Learning to Learn ID Embeddings

      • Learning to Warm Up Cold Item Embeddings for Cold-start Recommendation with Meta Scaling and Shifting Networks

    • (2) 基于 MAML 的方法训练模型,让 embedding 更快收敛#card

      • 第二中方法基本上就是基于 meta learning 的思想,让模型能够更好的 learn to learn,即使对于样本量很少的 item 也能较快学习到,代表方法就是 MAML,可以参考下面两篇 paper,另外,关于 MAML 更通俗的介绍可参考知乎上这篇文章
        Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
        MeLU- Meta-Learned User Preference Estimator for Cold-Start Recommendation
        上面的方法基本都是让冷启动 item 的 id embedding 能更快收敛,还有另一种方法是将冷启动的 item 的一些更泛化的特征直接加入到模型中,如图像、文本等描述性特征,通过一些 pretrained model (如 VGG、Bert 等) 将其转为 embedding 的模型加入模型中,也是一种常见的套路。
  • 策略上往往也需要对冷启动的计划有额外的举措;

    • 如在冷启动阶段,可以给计划 “绿色通道”, 即一定 explore 的 quota,如同上面提到的起量问题一样 (起量其实也可以算是一个冷启动问题),而这也涉及到老生常谈的 E&E 问题了,#card
      • 一个跟 deep learning 的玄学程度不相上下的领域,这部分内容介绍可参考  [[exploration and exploitation]] 。

      • 同样地,这些 explore quota 也应该根据每个计划的预期表现给予个性化的分配;即需要识别计划未来的表现,毕竟往往个性化分别比起均分都是最优的。此外,这些 quota 必然会对成熟期的计划造成一定的积压,所以也需要考虑冷启动和成熟期的 trade-off。

  • 除了额外的扶持,冷启动的出价方法也需要额外考虑,#card

    • 因为此时计划的后验数据基本是空的,那怎么才能获取出价调控需要的这些数据呢?这里也有一些思路,比如可不可以利用相似计划的后验数据?或者信任预估,直接对预估值取 sum?或者产品层面就不对冷启动计划做苛刻的成本要求?
  • 同时,在实际产品中,往往也需要联合产品教育广告主,冷启动期间就是会存在不稳定性,更容易出现超成本等问题,#card

    • 而如果客户对平台粘性不高或者整个市场有其他更有竞争力的竞品,这些超成本所带来的损失往往也是需要有平台来承担。

持续跑量

  • 持续跑量可以认为是计划渡过冷启动后,亦即计划进入了成熟期需要面临的问题,因为广告主在投放追求的往往是两个东西:成本和跑量,在成本能控住的前提下,跑量一般是越多越好的,但现状是在不少的媒体上,计划在进入成熟期不久就会掉量,而且往往是掉了之后就再也起不来了,也就是说计划的生命周期较短。

    • 造成这个问题原因有很多,包括但不限于#card
      • 广告主频繁地修改出价、定向、预算等有可能改变计划的稳态
        模型预估的不准确、出价调控不够稳定,可能导致计划突然爆量或掉量
        如果竞价环境比价激烈,那么对于有限的展示机会和不断增加的计划数,部分老计划掉量也是不可避免的
        自然衰减,如计划圈定的人群基本都曝光了,或者创意的自然衰减
        这个问题会往往会导致广告主为了跑量而不断复制新建计划,进一步加剧起量、冷启动等问题,也直接导致竞争环境变得更激烈,系统的机器负载更大,因此,保证计划的持续跑量是所有广告系统都需要解决的重要问题。
  • 抛开第三个比较难改变的因素,针对其他几个原因,有一些思路也许值得借鉴#card

    • 广告主要减少频繁修改计划的定向、出价等操作,这些需要平台教育广告主,至于频率多大算频繁,定向又应该放开到何种程度,需要平台同时实验等手段测试出来,最好能给广告主提供一个参考值
      要尽量减少系统波动等因素对计划的影响,即要减少各中工程和算法的事故的影响,如尽量保证各种 infra 服务的高可用性,AB 实验要更加谨慎,因为这些操作都是有可能影响计划的稳态
      对于要掉量的计划生效额外策略;这里面又可分为两个问题,如识别掉量计划以及对计划做何种策略,这个问题跟冷启动的扶持也很相似
作者

Ryen Xiang

发布于

2025-04-19

更新于

2025-04-19

许可协议


网络回响

评论