面试AI技术内参-089广告的竞价策略是怎样的?


089 广告的竞价策略是怎样的?

在上一次的分享里,我们讲了广告位竞价的一个基本原理,那就是目前广泛使用的基于第二价位的广告竞拍。简单来说,基于第二价位的广告竞拍需要利用广告点击率的估计值和竞拍的价格,把所有的竞拍广告进行排序,排名第一的广告赢得竞拍。和基于第一价位的广告竞拍不一样的是,基于第二价位的广告竞拍并不直接利用排名第一的广告的出价来对其进行收费,而是利用排名第二的价位进行收费。在这样的情况下,有理论工作和实际的数据表明,基于第二价位的广告竞拍更加符合广告商对于广告位本身真实价值的判断。

今天我们来看在基于第二价位的广告竞拍的基础上,DSP或者广告商究竟该如何形成自己的竞价策略(Bidding Strategy)。

竞价策略

为什么需要竞价策略?其实这个问题主要是在”实时竞价 “,或简称RTB的背景下来探讨的。

我们之前提到过,RTB是DSP目前流行的竞价模式,也就是广告商等利用计算机程序来自动对广告竞拍进行出价。从实际的运作中来看,这样的自动竞价模式要比人工竞价更加方便快捷,也更加高效。然而,在自动竞价的模式下,我们势必需要一种指导思想,来让我们的计算机程序能够随着形式的变化来进行出价。

那么在RTB中,竞价策略的环境究竟是怎样的呢?

首先,竞价的一个重要特征,就是作为一个竞标方,我们并不知道其他竞标方的点击率和出价。因此,我们处在一个信息不完整的竞价环境中。在这样的环境中,我们只能根据自己的点击率估计和自己的出价,以及过去出价的成功与否来对整个市场的形势进行判断。这就是在RTB中竞价策略的一大挑战和难点。

在这样的背景下,RTB竞价策略的研究和开发集中在以下两种思路上。

一种思路是把整个竞价策略当做一种"博弈” (Game),从而根据博弈论中的方法来对竞价环境中各个竞标方的行为和收益进行研究(比较经典的论文例如参考文献[1])。用博弈论的方法来对竞价进行研究有一个最大的特点,那就是博弈论主要是对各个竞标方行为之间的关联性 进行建模,这种关联性包括他们之间的收益 和他们的动机

另外一种思路是把整个竞价策略当做是纯粹的统计决策,也就是直接对广告商的行为进行建模,而把整个竞价环境中的种种联系都当做是当前决策下的不确定因素(这种思路比较有代表性的论文是参考文献[2])。在这样的思路下,各个竞标方之间的行为关联变得不那么重要,而对于整个不确定性的建模则变得至关重要。

第一种思路,也就是利用博弈论的方法来对竞价策略进行研究主要存在于学术界。虽然从理论上来说,博弈论可能提供一种比较有说服力的解释,但是这种思路需要对整个竞价环境有非常多的假设(例如竞标方是不是理性,市场是不是充分竞争等等)。而第二种思路,仅仅需要从广告商自身的角度出发,因此在现实中,这种思路的操作性更强,从而受到工业界的青睐。

总的来说,第二种思路其实就是根据当前的输入信息,例如页面信息、广告信息、用户信息以及上下文信息等,学到一个输出价格的函数,也就是说,这个函数的输出就是在现在情况下当前广告的出价。当然,这个函数势必需要考虑各种不确定的因素。

搜索广告和展示广告的竞标

搜索广告和展示广告的竞标存在着不小的区别,因此,从技术上来讲,就发展出了一系列不同的方法。 对于搜索广告来讲,在大多数情况下,每一个出价都是针对某一个搜索关键词的*。例如,一个汽车广告商可能会在一个搜索引擎里竞标针对自己车的品牌,如"大众汽车”、“奥迪汽车"相关的关键词,还可能竞标更加宽泛的关键词,如"买车”、“汽车"等。同时,这里的出价也往往是事先设置好的。

参考文献[3]是第一个利用机器学习方法对搜索广告的出价进行建模的工作。在这个工作里,每一个关键词的出价来自于一个线性函数的输出,而这个线性函数是把用户信息、关键词以及其他的页面信息当做特性,学习了一个从特性到出价的线性关系。这可以算是最早的利用线性函数来进行出价的例子了。

展示广告的竞价则面临着不同的挑战。首先,在展示广告中,场景中并不存在搜索关键词这种概念。因此,很多广告商无法针对场景事先产生出价。这也就要求RTB的提供商要能够在不同的场景中帮助广告商进行出价。

同时,相比于搜索广告针对每一个关键词 的出价方式来说,针对每一个页面显示机会 出价的挑战则更大。理论上讲,每一个页面显示机会的价格都可能有很大的不同。很多RTB都利用一种叫作CPM的收费模式,也就是说,一旦某一个广告位被赢得之后,对于广告商来说,这往往就意味着需要被收取费用。所以,在展示广告的情况下,如何针对当前的页面显示机会以及目前的预算剩余等等因素进行统一建模,就成为一个必不可少的步骤。

竞价策略的其他问题

除了我们谈论到的基本的竞价策略以外,竞价系统还有一些其他问题需要考虑。

比如,一个广告商现在有1千元的预算参与到RTB竞价中。从广告商的角度来说,通常希望这1千元能够比较均匀地使用到整个广告竞价中。或者说,即便不是完全均匀使用,至少也不希望这笔预算被很快用完。这里面的一个原因是,在每天的各个时段,广告的表现情况,也就是说转化率或点击率是不一样的,广告商通常希望自己的广告能够在比较好的时段进行展示。而如果广告在比较好的时段还没有来临之前就已经将预算消耗殆尽,那就会让广告商觉得整个流程不是很友好。

因此,在广告竞价策略中,还存在着一个叫”预算步调“(Budget Pacing)的技术,也就是希望能够让广告的展示相对平缓而不至于在短时间内使用完全部的预算。这势必对于广告如何出价有着直接的影响。

另外,对于平台而言,虽然竞价保证了一定的竞争,但是也并不是所有的展示机会都有非常充分的竞争。因此,从平台的角度来说,如何能够保证一定的收益就变得十分重要。在这样的情况下,有的平台有一种叫作”保留价格“(Reserved Price)的做法,用来设置一个最低的竞价价格。保留价格虽然能够来保证收益,但是也可能会让广告商觉得不划算,因此如何来设置这个保留价格,也就成为了出价策略中的一个重要组成部分。

总结

今天我为你介绍了广告竞价的基础知识,也就是如何形成竞价策略。

一起来回顾下要点:第一,我们讲了RTB背景下竞价策略的两种思路;第二,我们介绍了搜索广告和展示广告竞价策略的不同之处;第三,我们简单聊了广告竞价策略的一些其他相关问题。

最后,给你留一个思考题,你觉得如何评价一个广告竞价策略的好坏呢? 参考文献*

  1. Ramakrishna Gummadi, Peter Key and Alexandre Proutiere. Repeated auctions under budget constraints: Optimal bidding strategies and equilibria. In Eighth Workshop on Ad Auctions, 2012.
  2. Yuan, S., Wang, J., and Zhao, X. Real-time bidding for online advertising: measurement and analysis. Proceedings of the Seventh International Workshop on Data Mining for Online Advertising, page 3. ACM, 2013.
  3. Andrei Broder, Evgeniy Gabrilovich, Vanja Josifovski, George Mavromatis, and Alex Smola. Bid generation for advanced match in sponsored search. Proceedings of the fourth ACM international conference on Web search and data mining (WSDM '11). ACM, New York, NY, USA, 515-524, 2011.

文章列表

更多推荐

更多
  • Java测试驱动开发-十二、通过实现连续交付利用 TDD 案例研究可怕的赌博公司,探索代码库,释放程序,部署到生产环境,增加测试覆盖率,结论,可能的改进,实施持续集成,走向持续交付,詹金斯装置,自动化构建,第一次执行,下一步是什么?,这仅仅是开始,这不一定是结束, “没有什么比结果更能说
  • Java测试驱动开发-一、为什么我应该关心测试驱动的开发? 为什么是 TDD?,理解 TDD,红绿重构,速度是关键,这与测试无关,测试,黑盒测试,白盒试验,质量检查和质量保证之间的区别,更好的测试,嘲笑,可执行文件,无调试, 这本书是由开发人员为开发人员编写的。因此,大部分学习将通过代码进
  • Java测试驱动开发-十一、把它们放在一起 简而言之,TDD,最佳做法,命名约定,过程,开发实践,工具, “如果你总是做你一直做的事,那么你将永远得到你一直得到的。”——阿尔伯特·爱因斯坦我们经历了大量的理论和更多的实践。整个旅程就像一列高速行驶的火车,我们几乎没有
  • Java测试驱动开发-零、前言 这本书是给谁的,充分利用这本书,下载示例代码文件,下载彩色图像,使用的惯例, 测试驱动开发已经有一段时间了,很多人还没有采用它。这背后的原因是 TDD 很难掌握。尽管这个理论很容易掌握,但要真正精通它需要大量的实践。本书的作者多年
  • Java测试驱动开发-四、单元测试—关注你做了什么,而不是已经做了什么 单元测试什么是单元测试?,为什么要进行单元测试?,代码重构,为什么不专门使用单元测试呢?,用 TDD 进行单元测试,TestNG,TestNG 与 JUnit 摘要,遥控船舶要求,遥控船舶的研制,项目设置,助手类,需求–起点和方向,规格
  • Java测试驱动开发-五、设计—如果它不可测试,那么它就设计得不好 我们为什么要关心设计?,设计原则,你不会需要它的,不要重复你自己,保持简单和直接,奥卡姆剃刀,坚实的原则,连接 4,要求,测试 Connect 4 的最后一个实现,要求 1–游戏的棋盘,要求 2–介绍光盘,要求 3–球员轮换,要求 4–
  • Java测试驱动开发-二、工具、框架和环境 吉特,虚拟机,Vagrant,Docker,构建工具,综合发展环境,创意演示项目,单元测试框架,朱尼特,TestNG,Hamcrest 和 AssertJ,汉克雷斯特,资产,代码覆盖工具,杰科科,模拟框架,Mockito,轻松的,模拟的
  • Java测试驱动开发-六、模拟—删除外部依赖项 嘲笑,为什么嘲笑?,术语,模拟对象,Mockito,Tic Tac Toe v2 要求,开发 TicTacToe v2,要求 1–门店移动,规范–数据库名称,实施,规范–Mongo 集合的名称,实施,重构,规范–将项目添加到 Mongo
  • Java测试驱动开发-九、重构遗留代码—使其再次年轻 遗留代码,遗留代码示例,识别遗留代码的其他方法,遗留代码更改算法,应用遗留代码更改算法,确定变化点,寻找测试点,打破依赖关系,写作测试,卡塔演习,卡塔遗产酒店,描述,技术意见,添加新功能,黑盒或峰值测试,初步调查,如何找到重构的候选对象
  • Java测试驱动开发-八、BDD—与整个团队合作 不同规格,文档,编码员的文档,非编码人员的文档,行为驱动开发,叙述,情节,书店 BDD 故事,杰伯哈夫,JBehave 转轮,未决步骤,Selenium 和 Selenide,JBehave 步骤,最终验证, “我不是一个优秀的程
  • 近期文章

    更多
    文章目录

      推荐作者

      更多