计算广告出价模式


本文整理了计算广告中常见的出价模式


目录


基本分析框架

广告转化链路

曝光 M -> 点击 C -> 转化 A -> 消费 P

常规的广告转化链路包含上面几个环节,首先是广告对用户产生有效曝光 M,部分用户会对曝光的广告产生点击行为 C,点击广告进入广告页面后会有部分用户产生转化行为 A,这里的转化在不同的行业中有不同的定义,比如可能游戏下载安装、账号激活、填写联系方式等等。P 表示最后产生的消费行为,通常对于广告系统,我们关注的是前面的曝光 M、点击 C 和转化 A。M、C、A 中,M -> C 的概率 p(M->C) 为点击率,C -> A 的概率 p(C->A) 为转化率。

四点

四点即为:竞价点、计费点、出价点和考核点。

  • 竞价点

    竞价点目前绝大多数计算广告系统都是统一将广告折算成 eCPM,用统一的 eCPM 对广告进行排序,选择最大 eCPM 的广告进行展示。这样对于广告系统来说收益是最大的,因此竞价点都是 M (展示)

  • 计费点

    计费点即媒体平台最后是按照什么来收取广告主的钱。例如在 CPM 模式中是按照展示次数来收费,则计费点为 M;在 CPC 模式中是按照点击次数来收费,则计费点为 C

  • 出价点

    出价点即广告主购买的是什么(按照什么去出价的)。在 CPM 和 CPC 模式中,出价点和计费点是一样的,CPC 广告主按照点击出价购买( 1 块钱购买每个点击),广告系统也按照点击计费(每个点击收取广告主 1 块)。但在 oCPX 广告中,出价点和计费点是分离的,具体分离的原因会在后面展开

  • 考核点

    对于广告主真正想要的出价,并不是展现或点击,而是 LTV(Life Time Value),即一个用户在产品生命周期内给广告主带来的价值,在理想世界中,广告主为 1 元的 LTV 出价 0.8 元,这样广告主的 ROI = 1 / 0.8 = 1.25 > 1,这样广告主躺赚。但由于 LTV 难以核算和量化,通常会找一个在转化链路中更加前置、更加好良好的指标来考核。比如游戏下载、付费、激活等,这里我们用 P 表示考核点。


CPM、CPC、CPA 模式

CPM 模式的四点在广告转化链路上的位置为

image-20200928175659480

CPC 模式的四点在广告转化链路上的位置为

image-20200928175827335

CPA 模式的四点在广告转化链路上的位置为

image-20200928180411745

CPM 广告投放时,广告主可能会隐式地估计一个从曝光到最终考核点的概率 p(M->P),根据这个概率以及考核成本计算出 CPM 出价(根据历史投放消费情况调整 CPM 出价,相同意思)。CPC 与 CPM 广告类似,只是广告主需要估计的概率从 CPM 模式的 p(M->P) 变成了 p(C->P),CPA 也是类似,需要估计 p(A->P)

可以看到在这三种模式中,广告主实际上需要考虑从出价点到考核点的转换概率 \(p\),并且基于这个概率和考核出价 \(bid_{ROI}\) ,反推出对应出价模式下的出价 \(bid=bid_{ROI} \times p\)

p(出价点->考核点)

接下来我们着重研究从出价点到考核点的转换概率 p(出价点->考核点),研究这个比例的真实值和预估值分别会对各方利益有何影响。

  • p(出价点->考核点) 真实值

    • 对广告主:提高 p 真实值无疑对广告主有益。对于求量的广告主,同样的 \(bid_{ROI}\) 下可以得到更高的出价 \(bid\),使其能拿到更多本来拿不了的量;对于不求量的广告主,同样的 \(bid\) 下可以降低 \(bid_{ROI}\) ,即意味着可以用更少的预算达到最后的考核目标,实现 ROI 提升。
    • 对媒体平台:提高 p 真实值,无论是广告主拿到更多的量还是 ROI 提升,对于媒体平台都是有益的事。因此这个广告主和媒体平台利益是一致的。
  • p(出价点->考核点) 预估值

    • 对广告主:广告主对于 p 的预估一般是基于经验或简单的历史投放进行统计,由于这个概率不仅与广告相关,还与用户相关,因此通常广告主自己很难预估准,并且出价点离考核点越远,预估越不准(比如对于 CPC 模式,出价点在点击,则广告主需要预估 p(点击->考核) = p(点击->转化) * p(转化->考核) ,而通常点击率不仅仅与广告本身有关,也与用户相关,所以广告主只拿广告的数据显然是预估不准的,只能得到一个均值)。

      但这个概率的预估对广告主很重要,预估偏低会造成出价偏低,竞争力不足拿不到量;预估偏高会使出价过高,使广告主 ROI 下降。因此广告主有动力去优化这个概率的预估,使其尽量准确

小结:本质上,出价点到考核点的 gap 是广告主出价形式与真实目标之间的差距,理想情况下出价形式越贴近真实目标(ROI)广告主的利益越能够得到保证。广告主一方面有动力去提高这个 gap 的转换概率的绝对值(通过优化素材文案、落地页引导、提高产品本身质量等等),另一方面也有动力去提高这个转换概率的预估准确性。这两方面媒体平台和广告主的利益是一致的(转换概率提升了,意味着广告质量也会提升)。

p(竞价点->计费点)

在 CPM 模式中,竞价点和计费点是同在 M,p(竞价点->计费点) 为恒定值 1;对于 CPC 和 CPA 模式,竞价点和计费点分离,计费点分别在 C 和 A。以 CPC 为例, p(竞价点->计费点) 即点击率。

  • p(竞价点->计费点) 真实值
    • 对广告主:大部分情况下提升 p 真实值对广告主有益,因为同样的 CPC 出价可以获得更高的 CPM(\(CPM = 1000 \times CPC \times CTR\)),提升广告竞争力,进而拿到更多的量;但在一些特殊的情况下,广告主不一定希望 p 太高。一个例子是有些群发诈骗短信看起来很「弱智」,这样实际上钩的人很少,但能够上钩的实际上最后骗子得手概率很大。如果群发的短信过于逼真,太多人点击诈骗集团可能没办法同时处理那么多人,或者这些人经过后面的了解后不会受骗,这样诈骗集团的成本增加了,但最后诈骗收入不一定增加。即诈骗集团通过「弱智」的群发短信筛选出了受骗率高的人群。在广告中也是类似的道理,如果广告主预算有限或者没有办法同时提供大量服务,则不会希望点击率太高。
    • 对平台:提升 p 真实值会提高广告 CPM,增加平台广告系统收入
  • p(竞价点->计费点) 预估值
    • 对广告主:在于竞价点和计费点分离的模式下(如 CPC),\(CPM = p(竞价点 \rightarrow 计费点) \times p(计费点\rightarrow出价点) \times 出价点出价\) ,高估 p(竞价点 ->计费点) 会使 CPM 偏高,拿到更多量,但实际计费数并不会增加,ROI 不会有太大变化;低估 p(竞价点 ->计费点) 会使 CPM 偏低,广告主拿不到量。
    • 对平台:高估 p(竞价点 ->计费点) 会使 CPM 偏高,使这条非最优的广告拿到一部分量但最后的计费数没有增加,因此有损平台收入;低估 p(竞价点 ->计费点) 则会使在本来这条广告是最优的请求里面这条广告没有能够胜出,也会导致平台的收入降低。
    • 当前 p(竞价点 ->计费点) 预估通常是由平台来预估,一个是因为这个预估准确性对平台收入至关重要,也是因为只有广告主有预估所需要的用户数据

CPM 到 CPC 的变化

  • 对广告主

    从 CPM 到 CPC,广告主利益保障得到了提升。原先用 CPM 时广告主得自己根据经验估计 p(m->c),没有办法考虑每个用户特征,预估会非常不准,而无论是高估低估都会对广告主有负面影响(高估 ROI 降低,低估拿不到量)。将p(m->c) 预估让渡给平台后,高估时对广告主无影响,只有低估时会有影响,更重要的是媒体平台有绝对动力和能力条件去提升预估准确性,因此准确性会大大提升。

    当然上面的分析仅针对考核点在 M 之后的广告主,对于考核点在 M 的广告主(品牌广告主),他们本身没必要使用 CPC,使用 CPM 即可

  • 对平台

    CPC 模式下,对于平台而言,高估 CTR 会使非最优的广告拿到曝光,但是产生的实际点击比预期少,因此有损平台收益;低估 CTR 会使本来这条广告可以拿到的曝光没拿到,也降低平台收入。

小结:本质上 CPM 到 CPC 的变化是计费点和出价点从 M 移动到 C,这个点之前的部分( CTR 预估)让渡给平台去完成了,广告主只负责这个点后面的预估。虽然媒体平台需要自己承担 CTR 预估不准的风险,但是由于媒体平台手握用户数据,能够比广告主的经验预估准太多,因此在 CPC 模式下通常 CTR 均由媒体平台来进行预估。对广告主而言可以在保证 ROI 的情况下拿到更多量,对于平台而言增加了收入,这是一件双赢的事。

# 一个简单的 CPM CPC 对比实验
n_query: 100000
estimate_ctr: 1.10%
target_cpc: 5.00

# CPM 模式:广告主按照平均 ctr 估计出一个 CPM bid 参与竞价
averate_ctr_cpm: 55.19
[average_ctr]] win_percentage: 17.02%
[average_ctr] total_win_exposure: 17019
[average_ctr] total_click: 187
[average_ctr] total_cost: 939.34
[average_ctr] actual_click_cost: 5.01
[average_ctr] total_income: 7601667.37

# CPC 模式:平台使用精准预估的 CTR
[accurate_ctr]] win_percentage: 32.04%
[accurate_ctr] total_win_exposure: 32043
[accurate_ctr] total_click: 657  # 广告主拿到的点击增加
[accurate_ctr] total_cost: 3287.35
[accurate_ctr] actual_click_cost: 5.00  # 广告主 ROI 不变
[accurate_ctr] total_income: 8604188.21  # 平台收入增加

CPC 到 CPA?

CPM 到 CPC 的变化是计费点和出价点从 M 移动到 C,这个点之前的部分(CTR 预估)让渡给平台去完成了,广告主只负责这个点后面的预估。很自然地会想能不能再把这个点往后移到 A,即 CPA 模式。理论上,如果媒体平台能够精准预估 CVR,确实是双赢的事情,上面的分析同样适用。问题在于不同于 CTR 预估广告主有丰富的、可控的训练数据,CVR 预估中 label 是转化数据,这个转化数据一是稀疏,二是很多时候掌握在广告主手里,广告主没有动力去回传。因为 CPA 模式按照转化计费,只要广告主不回传或只回传部分转化数据,就可以进行作弊,薅媒体平台羊毛。因此实际中 CPA 模式应用的很少。

CPA 到 oCPX

从广告主的角度,从 CPM 到 CPC 到 CPA,出价点越来越靠近广告主考核点,平台需要预估的东西越来越多,承担的风险也越来越大。到了 CPA 这种模式,由于转化数据平台无法完全控制,预估 CVR 带来的期望风险已经超过了期望收益了,因此看上去很难再继续往链路后端发展。这时 Facebook 提出了 oCPX 模式,这种模式的创新点在于分离了计费点和出价点。我们仍希望利用媒体平台的能力对 CVR 进行预估,因此将出价点往后移到 A,因为这会带来平台收益;同时将计费点保留在 M 或者 C(对应 oCPM、oCPC),仍然按照曝光或点击计费,这会降低进行预估的期望风险(广告主没有动力作弊了)。

CPA、oCPM 和 oCPC 的对比图如下

image-20200929163822243

p(计费点->出价点)

oCPX 模式使计费点和出价点分离,对于 oCPM 模式 p(计费点->出价点)pCTR * pCVR ,对于 oCPC 模式,p(计费点->出价点)pCVR

  • p(计费点->出价点) 真实值
  • 对广告主:p(计费点->出价点) 真实值越大,对于求量的广告主,CPM 越高,拿到更多的量;对于不求量的广告主,保持出价不变的情况下可以获得更多出价点行为,ROI 得到提升。
  • 对平台:p(计费点->出价点) 真实值越大,CPM 越高,平台收入提升。平台与广告主利益是一致的
  • p(计费点->出价点) 预估值
  • 对广告主:预估偏低,拿不到量;预估偏高,ROI 降低
  • 对平台:预估偏低,平台收入下降;预估偏高,虽然对广告主不利,但是对平台的收入是增加的(以 oCPM 为例,预估偏高,广告 CPM 偏高,拿到更多的曝光,由于按照 M 计费,因此媒体平台收入增加,但转化数没有增加,造成转化成本变高,因此对广告主不利)。因此国内媒体平台通常会有超成本赔付机制,用于约束自己,获得广告主信任。

oCPX 模式

  • 超成本赔付机制
    • oCPX 模式下,计费点和出价点分离,在 p(计费点->出价点) 预估偏高时对媒体平台是短期有利的(长期会损害广告主 ROI,导致广告主减投,损失平台收益),通常会有超成本赔付机制用于约束媒体平台。如果最后转化成本超过广告主设定的值,广告品台会进行赔付。
    • 超成本赔付机制通常要求广告转化数达到一定的数量才会进行赔付,这里有两个方面的原因:
      1. 一方面是广告主需要进行 CVR 预估,前期样本不足时模型预估偏差是不可避免的,并非平台刻意为之,不应该由平台承担这部分成本
      2. 另一方面是防止广告主薅平台羊毛:如果没有赔付门槛,广告主可以投一个广告而不上报转化,虽然这样会使 CVR 越来越低估,进而导致最后拿不到量,但前期广告主依然可以获得不少的曝光、点击、激活而不用付出成本(平台无门槛赔付)。因此广告主可以这样不断薅平台羊毛。设置了赔付门槛后,广告主至少需要付 转化门槛数 * 转化出价,只要平台设置一个门槛数,使得平台停止给广告主量时的成本小于 转化门槛数 * 转化出价 时媒体平台利益就不会受损。
  • 广告主回传真实数据动机分析
    • 在 CPA 模式下,计费点和出价点统一在 A 点,因此广告主有动力不回传真实转化数据从而进行作弊
    • 在 oCPX 模式下,假设广告主不回传或少回传真实转化数据,会导致 CVR 预估偏低,广告主拿不到量。对于想薅羊毛的广告主,有超成本赔付门槛机制对广告主进行约束,对于想拿量的广告主,这时候必须得提高转化出价,转化出价提高和 CVR 预估偏低相互抵消,最后广告出价还是不变。唯一的变化是模型由于少了一些真实样本,导致预估不准,最后损害的还是广告主的 ROI。因此在 oCPX 模式下广告主也没有动力少回传数据。
  • oCPM 和 oCPC 差别
    • 对于广告主 oCPM 和 oCPC 区别不大
    • 对于平台,一个是 oCPM 相比 oCPC 更容易进行成本控制;另一个是在 oCPC 下,有一些不求量的广告主可能会主动降低点击率,在 oCPM 下这类广告主就没有动力这么做了(因为 oCPM 按照 M 计费);
  • oCPX 中的成本控制和预算控制
    • oCPX 是一种保转化成本的模式,即媒体平台需要在一个广告投放周期内对广告转化成本进行控制,使其尽量等于广告主设定的目标成本。因此 oCPX 中通常会有智能调价的功能,即如果前期出价出高了,比如广告主设定 80 元一个转化,前期投放下来发现一个转化要 100 元,这时候智能调价需要将出价调低,拉低其平均转化成本。最朴素的是做法就是用 PID 反馈控制出价
    • 除了成本控制之外也应该对预算进行控制,让预算在周期内以合理的节奏消耗,这个节奏通产与流量的分布差不多一致。


大媒体平台、广告联盟、RTB 生态

大媒体平台

上面分析中的媒体平台实际上指的是大媒体平台,即本身既是媒体(流量持有者),又做流量聚合,并且还自建广告投放平台(直接对接广告主)。典型大媒体平台国内像腾讯、百度、头条等。示意图如下

image-20200930154243944

广告联盟

但并不是所有媒体都有能力或者规模大到足够自建广告投放平台,因此还有一种广告联盟的形态,本质上广告联盟做了上图大媒体平台中的流量聚合和投放平台两件事。一边对接零散媒体流量,一边对接广告主。典型的广告联盟有腾讯的优量汇、头条的穿山甲、百度联盟。广告联盟示意图如下

image-20200930154454093

在广告联盟的生态中,平台将广告收入与媒体进行分成,大部分时候两者的利益还是一致的。对于 oCPX 模式,p(计费点->出价点) 预估偏高,出现超成本时是由平台进行赔付,而平台实际上很难将赔付归因到具体的媒体。因此媒体有动力去让平台预估的 p(计费点->出价点) 偏高,拿到更多分成而不用进行赔付。通常媒体在 oCPM 模式比 oCPC 模式更容易舞弊,因为 oCPM 模式下媒体可以通过虚假展现增加收入分成,oCPC 由于按照点击计费,舞弊的成本变高了。这也是为什么头条自有流量上只有 oCPM 模式,而穿山甲依然支持 oCPC 模式投放。

RTB 生态

RTB 生态相比广告联盟,流量聚合和投放平台分拆开来了,分别有 AdX 和 DSP 负责,AdX 只负责进行流量聚合,对接媒体,DSP 则负责对接广告主,对广告请求进行点击率、转化率预估。

image-20200930163223279

  • DSP 三种盈利模式

    • 套利

      比如 DSP 和广告主约定一个点击 1 块钱,DSP 通过自己的技术(更精准的点击率预估)将每个点击的成本控制在 0.8 块,这样 DSP 就可以从每个点击中套利 0.2 块。DSP 技术能力越强,获利越多。

    • 广告主自营 DSP/服务费模式

      部分广告主的数据价值比较大(比如京东),他们不愿意将转化数据传给 DSP,但又不甘心使用 CPC 或 CPM 方式购买流量,的这时候可能选择自建 DSP。或者以一种给 DSP 一笔服务费,DSP 专为这个广告主服务,服务费与转化数无关的形式(类似于买断这个 DSP),这时 DSP 和广告主利益完全绑定到一起,与广告主自营 DSP 没有本质区别

    • 消耗分成模式

      还有一种形式是消耗分成模式,即广告主花了多少预算,就按照一定比例分成给 DSP,这时候 DSP 收入与媒体收入成正比 ,DSP 反而与媒体的利益绑定到一起了。虽然短期 DSP 有通过作弊形式增加收入分成,但是长期看会损害广告主利益,进而使广告主换到其他家 DSP,损害自己利益。


RTA

在大媒体平台的模式中,媒体平台利用媒体侧数据进行预估,结合广告主出价计算出 eCPM 进行排序竞价,如果广告主处于数据保密不方便回传数据,这部分数据的能力没有被利用上。在自营 DSP 中这个问题得到一定的解决。而 RTA (RealTime API) 模式则是另外一种广告主数据不泄露前提下能利用双方数据能力的模式。

RTA 有两种模式:

  • 动态过滤:媒体平台侧仍旧进行预估排序,只是在选广告的阶段会想广告主服务器发起请求,询问该广告主的广告是否要参与竞价。这时广告主可以利用自己的数据能力对流量进行择优,过滤掉不想要的流量。这种模式下后端链路的预估仍有平台负责,只是广告主自己过滤掉不想要的流量
  • 动态出价:每次请求,后端链路的预估由广告主负责,每次请求过来广告主需要动态为这条广告出价,参与排序。


参考资料