<audio id="audio" title="090 | 如何优化广告的竞价策略？" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/17/33/1701c8b27fe780652f75fa199df9a133.mp3"></audio>

广告的竞价排名是计算广告系统中非常重要的一个话题，我们介绍了目前广泛使用的基于第二价位的广告竞拍，以及在此基础上，DSP或者广告商究竟该如何形成自己的竞价策略（Bidding Strategy）。

今天，我们就来看一些**具体的广告竞价策略方法**。

## 单个广告推广计划优化

我们首先来看单个广告“推广计划”（Campaign）的竞价策略的优化。

在上一次的分享里我们介绍了，利用统计决策的一个重要假设就是最终的出价是一个各种输入（例如环境、用户、页面等）的函数输出。这里我们采用一个简化的假设，认为一个推广计划的出价是点击率的一个函数。在这样的情况下，我们先来理清一些概念。

第一个概念是“**赢的概率**”（Winning Probability）。这里面，如果我们知道现在市场的一个价格分布以及我们的出价。那么，赢的概率就是一个已知概率密度函数求概率的计算，也就是通常情况下的一个积分计算。

第二个概念就是“**效用**”（Utility）。这是一个广告商关注的指标，通常情况下是点击率的某种函数，比如利润，那就是每一次点击后的价值减去成本。

在这种情况下的成本其实主要就是**出价后产生的交易价格**。如果是基于第一价位的竞价，那么这个成本就是出价；如果是基于第二价位的竞价，这个成本就是超过第二价位多少还能赢得竞价的价格。

最后还有一点需要说明，那就是所有的广告推广计划都必须要在预算内，这是一个很明显的限制条件。

理清了这些基本的概念和限制条件以后，我们来看一看最一般的竞价策略。为了方便讨论，我们先假设不需要考虑预算，同时也假设，我们竞价的核心是所谓的“**按照价值**”的竞价。那么，在这种情况下，**最优的策略其实就是按照点击率乘以点击后产生的价值来进行出价**。可以说，这种策略其实是业界接纳程度最好、也是最直观的一种竞价策略。

然而，在有了预算和当前的交易流量信息的情况下，这种竞价策略就并不是最优的策略了。为什么呢？因为在有了这些限制条件的情况下，我们是否还会按照自己客观认为的广告价值来竞标就成了一个疑问。

那么，如何来应对预算和交易流量的限制呢？有没有什么优化方法？ 我就结合几篇论文来跟你聊聊这个问题。

有一篇文章题目是《目标在线广告中的出价优化和库存评分》（Bid Optimizing And Inventory Scoring in Targeted Online Advertising）[1]，这篇文章提供了一种简单的思路来应对预算和交易流量的限制优化问题。

具体来说，与其完全按照广告的价值来进行出价，不如采用这个价值乘以某个系数，而利用这个系数来动态调整目前的出价。由于是在一个已知的可能出价前面乘以一个系数，所以整个出价策略其实是一种线性变换，因此也被叫作是**线性出价策略**。

线性出价策略在实际操作中比较方便灵活，在这篇论文中，这种算法也取得了比较好的效果。不过遗憾的是，这种做法并没有太多的理论支持。

相比之下，另外的两个研究工作（[2]和[3]）则提供了一种比较通用的理论框架，可以用于不同的效用函数和损失函数。在这里，我们不展开讲这个通用框架的细节，重点介绍它的核心思路。

这个框架的整体思路是把寻找最优出价，或者说是竞价函数的过程表达成为一个“**有限制的最优化问题**”（Constrained Optimization）。最优化的优化目标，自然就是当前竞价流量下的收益。而最优化的限制条件，就是竞价流量下的成本要等于预算。也就是说，在我们期望达到预算的情况下，我们需要尽可能地扩大收益，这就是最优化目标的最大化这个意思。而限制条件决定了这个最大化问题的解的空间，因此，那些不符合条件的解就可以不考虑了。

一旦我们的问题可以用有限制的最优化问题来表达以后，整个问题的求解就变得相对比较规范化了。对于这类问题有一个标准的求解过程，就是利用“拉格朗日乘数法”，把“有限制的优化问题”转换成为“无限制的优化问题”，然后针对最后的目标函数，求导并置零从而推导出最优解的结果。这一部分的步骤是标准的高等数学微积分的内容。

这个框架最后推导出了基于第一价位和基于第二价位的最优的出价函数形式。在两种情况下，最优的出价函数都是一个基于点击率、当前竞价流量和预算的非线性函数。那么，从这个框架来看，刚才我们提到的线性竞价策略就并不是最优的。

## 多个广告推广计划优化

了解了单个广告推广计划的优化后，很自然地，多个广告推广计划的优化也是一个很重要的话题。在这方面比较经典的论文，推荐你读一读《展示广告的统计套利挖掘》（Statistical Arbitrage Mining for Display Advertising）[4]。

从基本的思路上来讲，我们需要做的是把刚才的**基于单个广告推广计划的有限制优化问题给扩展到多个广告推广计划上去**。除了满足各种限制条件以外（比如需要满足总的预算要求），论文也提出了一种基于风险控制的思路，来计算每一个广告推广计划的均值和方差，从而限制方差的大小来降低风险。比较遗憾的是，论文提出的优化是一个基于EM算法的过程，也就是说相对于单个广告推广计划来说，多个广告推广计划找到的解可能并不是全局的最优解。

## 总结

今天我为你介绍了广告竞价的一些具体的竞价策略。

一起来回顾下要点：第一，广告竞价会有预算和交易流量的限制问题，我们介绍了单个广告推广计划的两种思路，分别是“线性出价策略”和转化为“有限制的最优化问题”；第二，我们简单聊了多个广告推广计划的思路，简单介绍了论文提出的一种基于风险控制的思路。

最后，给你留一个思考题，在广告竞价策略的诸多框架中，都基本假定我们知道了广告的点击率，这样的假设有没有问题呢？

欢迎你给我留言，和我一起讨论。

**参考文献**

1. Perlich, C., Dalessandro, B., Hook, R., Stitelman, O., Raeder, T., and Provost, F. **Bid Optimizing And Inventory Scoring in Targeted Online Advertising**. Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 804–812. ACM, 2012.

2.  Zhang, W., Yuan, S., and Wang, J. **Optimal Real-Time Bidding for Display Advertising**. Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 1077–1086. ACM, 2014.

3.  Zhang, W., Ren, K., and Wang, J. **Optimal Real-time Bidding Frameworks Discussion**. arXiv preprint arXiv:1602.01007, 2016.

4.  Zhang, W. and Wang, J. **Statistical Arbitrage Mining for Display Advertising**. Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pages 1465–1474. ACM, 2015.


