一篇文章了解广告全链路

笔者加入腾讯已经快5年时光,一直负责广告前端研发工作。最近即将离开公司,特意将广告的全链路整理了一下,作为自己的一个总结。本文将从产品的角度入手,通过描述广告的玩法,让读者对广告有一个整体的概念和印象。如果你对广告熟悉,只想了解广告的后台算法逻辑,大可从第三部分开始;如果你是对广告不太了解,那么从头开始阅读全文想必能让你有所收获。废话不多说,马上开始。

1. 广告和它的分类

广告,广而告之。在信息大爆炸的今天,酒香更怕巷子深了。如何尽快提高自己的曝光度,把产品推销给潜在受众,就成大部分商家的问题。

当前,广告可以分为两种:品牌广告和效果广告。

1.1 品牌广告

品牌广告是最原始的广告,它的主要目的是进行商家品牌的塑造。多采用销售员和商家谈合约的方式进行售卖,单笔的交易额较大,定向并不准确,往往是CPT售卖。比如说奔驰在腾讯视频网站首页的广告,也不管笔者是不是买得起奔驰,直接就展示了出来。

clipboard.png

CPM: 广告最主要的计费手段,按每千次曝光来计费,其他计费方式也会最终转换为CPM来横向衡量它的价值
CPT: 按广告展示的单位时间来计费,比如说8W/天
CPC: 按用户的每次点击广告来计费
CPA: 按用户的每次行动来计费,比如说填一个问卷或者注册
CPS: 按实际的销售额来计费,如销售某件商品

1.2 效果广告

毫无疑问,品牌广告有个很大的问题在于,大量的广告费用被浪费在了非潜在用户身上。这对于小广告主——往往广告预算有限——是非常不友好的。而效果广告就是通过精准的定向,任意的购买数量,实时竞价的价格,迅速抢占了除了头部流量之外的其他流量。时至今日,数字化营销已经大行其道,效果广告也已经成了业界的主流——就看我之前供职的腾讯广平(主营品牌广告)被广点通(主营效果广告)收编就可以窥探一二。

本文也主要是围绕着效果广告展开的。

2. 购买/售卖流程

在上一部分我们提到效果广告是当前的主流广告类型,那一个效果广告要如何才能被广告主购买,并最终展示给用户呢?首先要了解几个概念:
clipboard.png

DSP: 需求方平台。广告主用来进行购买广告的平台。
ADX: 对接多个DSP和SSP,提供实时竞价的平台。
SSP: 供应方平台。为资源提供方服务,处理一些用户纬度逻辑,管理广告位等。
DMP: 第三方数据管理平台。为DSP,ADX,甚至SSP提供用户维度服务。
RTB: 实时竞价

clipboard.png

让我们来整体过一下上面这张图,它可以分为N个步骤:

  1. 广告主A想购买北上广三地的广告,所以他在某一个DSP上选择了“大城市维度”,并以8元/CPM的价格下单了10000CPM。
  2. 当一个用户浏览媒体时,前端会迅速发送一个广告请求并带上用户的相关数据
  3. SSP把这个用户的相关信息进行维度拆分,例如30岁,上海,男性等,然后把这个曝光机会发送给ADX
  4. 各DSP在ADX上对这个曝光机会进行竞拍,如果我们以20元/CPM的价格竞拍成功,广告主A就获得了这次展示机会
  5. SSP会获得广告主A的素材,然后再把这个素材传给前端
  6. 前端根据素材进行渲染,用户从而在媒体上看到广告

整个流程会在100ms以内完成。你可能也已经发现了,广告购买售卖的核心是RTB,那么RTB是怎么实现的呢?

3. 广告核心:RTB

要做到RTB,需要明确两个点,一个是该卖给谁,一个是还有多少货。举个例子:A每天卖200个西瓜。用户B愿意出5元/个的价格买3个,用户C愿意以10元/个买2个,用户D愿意以2元/个的价格买1000个,两天内交货。

当然了,我们要先卖高价,然后再卖低价。同时,还需要考虑下是否能满足D的订单,否则可能背上官司。卖给谁的问题就是竞价,而能不能满足订单就是库存。

3.1 竞价算法

3.1.1 GSP(广义第一高价)

这个算法是97年提出的。它很好理解,谁出价高广告就卖给谁。像下面的这种情况,无脑卖给广告主A。

广告主 出价
A 10元/CPM
B 4元/CPM

但是这种算法不是没有问题的。广告主总是会倾向于出最少的钱,他会使用自动竞价工具反复试探当前的最高出价,然后再自己的承受范围内加一点,加一点。像上面的这个例子,如果没有底价的话,广告主A和B都会从0.1元开始,一直加到4元,然后B放弃了竞价,A马上又把价格降低为0.1元,B察觉到后又会重新加入到竞拍中,终而复始...

clipboard.png

这就造成了媒体收益的剧烈波动,另外不断的竞价嗅探也给整个平台造成了巨大的性能负担。

3.1.2 GSP(广义第二高价)

要是能让广告主减少不断变化的出价欲望就好了,GSP就是这样的一个算法——广告主按照自己的出价报价,但是按照第二高价付钱。例如3.1.1的例子中,A按照10元的报价拿到了曝光的机会,但是这次曝光只需要付出4元,所以实际的价格也是4元/CPM。在这种情况下,广告主并不会有特别的欲望频繁修改自己的出价。

2002年Google一推出GSP,就因为它的稳定性和通俗易懂,很快成为了主流的竞价方式,并沿用至今。

除了第二高价之外,GSP还引入了quality(广告因子)的概念。广告的竞价排序不再单纯是出价的高低了,而是

竞价排序 = 出价 * quality

quality包含几千个维度,主要用于计算广告和用户的匹配程度,包括但不限于素材,上下文,时间,用户历史点击行为,广告类别,用户的人口属性等。这样的设计保证了广告的点击率,从而保证了媒体的利益。

《浪潮之巅》中举过一个例子,AMD以1元/CPM的价格购买定向AMD的广告,但是Intel为了不让AMD做宣传,花4元/CPM的价格买下了所有的曝光机会。然而4元/CPM的价格对Intel来说也是亏本的,所以它通过CPC的方式来购买广告,并将广告素材改为了Coca Cola。由于定向不同,没有多少人会去点击广告,Intel花了很少的钱就打击了AMD。

3.1.3 VCG

GSP也不是一劳永逸,广告主B发现广告主A总是用较少的价格就能获取到曝光,他经过反复的尝试,判断出了广告主A 10元/CPM的报价,从而将报价改为9.9元。这样就可以快速消耗广告主A的广告预算,从而为自己获得曝光。广告主A发现自己的收益降低,也不甘示弱,降低为9.8元/CPM,广告主B从而以过高的价格获得了大量曝光,亏了一笔。于是广告主B又将价格降低为9.7元/CPM,继续坑广告主A...

当然啦,实际的情况会比这个复杂很多,再有多个广告主,多个广告位的情况下,广告主很难找到一个合理的价格去坑对手。更何况这个操作的收益来的如此不明显。所以当前广告主还是更关注自己ROI(投资回报率),而不是干些刻意损人不利己的勾当。

但是从理论上来说,这种情况确实存在。有没有一种算法可以实现让每个广告主都可以坦诚的说出自己的价格,并且获得最大的收益?这种算法就是VCG。它是为了最大的社会价值而生的。要解释它,可以举个例子。

广告主 盈利
A 10元/CPM
B 4元/CPM
C 2元/CPM
广告位 库存
1号 150CPM
2号 100CPM

假设每个广告主只买一个广告位,在广告主A在不参与竞拍的情况下,BC广告主共收益150 4 + 100 2 = 800元,但是由于A广告主参与了竞拍,所以BC广告主的收益变成了100 * 4 = 400元,所以A广告主需要付出400元来买到1号这些CPM,单价为400 / 150 = 2.6元/CPM。同理,B广告主需要付出2元/CPM。所以媒体的总收益为600元。

对比GSP的800元,VCG的收益明显是少了。这一部分的权益被让利给了广告主。事实上,数据推导证明,对于媒体来说,所有的GSP都比VCG盈利的多。但是长期来看,如果广告主接受并认可这种竞价方式,媒体也可能在市场占有率上获得回报,这也就是FaceBook为什么选择这种竞价方式的原因。

3.2 库存算法

刚才我们讨论了竞价,现在我们来讨论下库存。对于异常事件,库存预估算法是无能为力的,库存预估只能对大多数普遍的情况的作出预估。当前的库存预估算法主要有两种。

3.1 建立数学模型

通过对与库存强相关维度的分析,把维度当作参数构建数学模型,然后通过输入不同的维度值就可以得到最终的库存走势。

3.2 根据ARIMA模型

将离散的指经过数学处理,变为均衡波动的值,延伸这个均衡波动,反推从而推断离散的值。ARIMA是一种自线性回归模型,至于为什么不选择其他模型,是因为它的效果较好。

4 总结

本文描述了广告的全链路和相关的算法知识,受限于库存算法的复杂性和个人知识面,只粗略的提出了两个方案(广平使用的)。但是对于大家了解广告的玩法,还是希望能起到一定的借鉴意义。

补充:发现了一本广告系列的电子书,推荐给大家《广告算法学习笔记

阅读 2.4k

推荐阅读
汤姆C
用户专栏

tomczhang的专栏,我会在这个专栏中撰写我的思考,工作中遇到的问题和苦恼,每周一篇

312 人关注
43 篇文章
专栏主页