| 前言
随着数字营销时代的到来,广告竞价已经成为企业获取曝光与客户的关键战场。每一次点击、每一分预算,都可能决定着营销成败。在这个充满变数的竞争中,如何确保你的广告预算被高效利用,同时又能够最大化投资回报?
最近确实挺忙,一方面横向项目在身,一方面负责技术攻关任务,导致更新频率开始降低。想到最近在给团队做竞价方面的分享,正好整理成技术博客。本文解读来自阿里妈妈2019年在KDD发表的《Bid Optimization by Multivariable Control in Display Advertising》,深入剖析线性规划建模如何在竞价广告中转化为一种实用技术,阐释其背后的数学逻辑,并且揭示其在现实世界中如何助力广告主在竞争激烈的市场中抢得先机,达到成本有效控制和收益最大化的双重目标。
| 你可能需要知道的前置知识
什么是线性规划问题
线性规划问题主要研究在线性不等式或等式的限制条件下,使得某一线性目标取得最大(或最小)的问题。
其意义在于解决两个现实问题:
-
在预定资源下,完成更多的任务。
-
在预定任务下,耗用最少的资源。
线性规划问题的数学形式
线性规划问题的数学形式非常简单,主要包括三个部分:
决策变量:代表需要决定的变量,例如要生产的各种产品的数量。
目标函数:代表需要最大化或最小化的目标,例如成本、利润等。
约束条件:决策变量必须满足的线性不等式或等式,比如资源的限制。
那么如何构建线性规划问题呢,举个例子你就懂了。
假设我们人体每天需要一定量的两种维生素 和 。假设这些维生素可以分别从牛奶和鸡蛋中得到。
维生素 | 每克奶中含 | 每克蛋中含 | 每日需求 |
Vc(mg) | 2 | 4 | 40 |
Vb(mg) | 3 | 2 | 50 |
单位(元) | 3 | 2.5 |
需要确定每天喝奶的量和吃蛋的量 。
目标是以最低可能的花费购买这些食物,而满足维生素需求量。
那么模型建立就是:
对偶问题
对于对偶问题的转换,可以用“大同小异”来简单记忆:
max大同,即min的约束条件与max变量符号相同,min的变量符号与max的约束条件的符号相反
min小异,即max的约束条件与min的变量符号相反,max的变量符号与main的约束条件符号相同
在这里同样举个例题来巩固一下知识点。
(1)最大值问题的对偶问题
原问题:
则对偶问题为:
(2)最小值问题的对偶问题
原问题:
则对偶问题为:
看完这两个例题,是不是焕然大悟了呢~
线性规划问题的标准型
从实际问题得到的线性规划模型是多种多样的,为了方便讨论,规定下列形式的线性规划为标准型:
需要注意的是,在这里,我们认为标准型均为求解最小值问题。
几个规定:
-
对目标函数一律求最小值
-
决策变量一律要求为非负变量
-
约束条件除非负约束条件外一律为等式约束
-
约束条件的右端项一律非负
举一个将线性规划问题化为标准型的例子。
把下列线性规划问题化成标准型:
解该问题共有五处不符合标准型的要求:
-
目标函数求最大值
-
第一个约束条件的右端项小于0
-
为自由变量
-
第二、第三个约束条件为右端项大于0的不等式
为此,通过以下步骤把该模型标准化:
-
将最大值问题改为最小值问题
-
将第一个约束条件两端同乘(-1)
-
用( - )替换自由变量 ,其中 ,
-
对第二、第三个约束条件分别引入松弛变量 和剩余变量
最后得到标准型为:
互补松弛定理
对偶理论深入揭示了原问题与对偶问题之间的本质联系,并在线性规划的理论探索及算法开发中扮演了关键角色。其中一个著名的定理叫做互补松弛定理:
假设 和 分别是原问题和对偶问题的可行解,则它们分别是原问题和对偶问题最优解的充要条件是 ,反之同理。
其中:
-
是原问题的最优解向量。
-
是对偶问题的最优解向量。
-
是原问题的目标函数系数向量。
-
是原问题的约束矩阵。
PID控制原理
PID算法是一种经典的控制算法,用于控制系统中以确保系统输出(例如,速度、位置、温度等)达到期望的目标值或设定点。PID代表比例(Proportional)、积分(Integral)、微分(Derivative),这三个词描述了算法的三个基本操作组件。PID算法的核心思想是通过计算偏差(即实际输出与期望输出之间的差值)并应用这三种控制作用来最小化偏差。
-
比例(P)控制: 比例控制考虑当前的偏差值,并对其进行放缩,以形成比例控制作用。比例增益( )决定了该控制作用的强度。比例控制的目的是减小当前偏差,但由于它只依赖当前偏差,可能会导致系统稳态时存在一定的稳态误差。
-
积分(I)控制: 积分控制考虑了偏差随时间累积的总和,并对其进行放缩,形成积分控制作用。积分增益( )决定了该控制作用的强度。积分控制的目的是消除长期累积的偏差,从而有助于消除稳态误差。
-
微分(D)控制: 微分控制关注偏差的变化率,即偏差的微分,并对其进行放缩,形成微分控制作用。微分增益( )决定了该控制作用的强度。微分控制的目的是预测未来的偏差变化,从而减少系统的过冲和振荡。
离散状态PID控制方程的一般形式如下:
具体地:
-
:误差信号,表示期望输出与实际输出之间的差异。
-
:期望输出值。
-
:实际输出值。
-
:当前时刻状态。
-
:控制输入值,是控制器输出的信号,用于影响系统的行为以减小误差。
-
,, :分别是比例、积分和微分增益,是PID控制器的调节参数。
-
:误差信号的积分项,表示误差信号在时间上的累积。
-
:上一时刻的误差信号。
-
:状态方程,表示系统状态在时间 时刻的演化,其中是下一时刻的状态。
| 最优竞价策略
本章主要讲解如何将线性规划建模RTB生态系统的竞价问题并求解最优策略。
竞价问题定义
假设一天内有 个广告展示机会,其按照顺序标记为 ,那么:
-
表示 的价值。
-
表示 的出价。
-
表示 的成交价。
-
表示是否获得广告展示机会 ,取值是0或者1。
基于以上概念,广告活动的价值和消耗可用等式(1)和等式(2)表示:
接下来,我们用公式(3)定义CPC。其中,使用CTR代替真正的点击以方便理论分析。
对于关注最终转化率的问题而言,我们可以将价值 表示为 。
那么咱们的竞价问题可以表述为线性规划问题
其中三大要素为:
-
决策变量: 表示是否获得广告展示机会
-
目标函数:最大化完整链路下的转化
-
约束条件:花费不超过预算 , 不超过给定值
求解最优策略
原问题可以写为更加容易看的等效形式:
给定最优竞价策略公式为:
接下来通过对偶理论中的松弛定理来证明最优竞价策略公式(6)。
可以写出对偶问题为:
假设:
-
原问题(LP1)的最优解为:
-
对偶问题(LP2)的最优解为:
基于互补松弛定理,可以得到:
假定等式(6)成立,则:
那么通过等式(8)进行转换可以得到:
因此:
-
根据等式(10),如果最优 即广告活动赢得该次展示机会,则 ,那么推断 ,该出价可以保证广告活动赢得了展示机会。
-
如果最优 即广告活动没赢得该次展示机会,由等式(9)可知 。从等式(7)可得 ,那么推断 ,该出价可以保证广告活动不赢得展示机会。
根据以上两个推断,可以证明等式(6)可以在约束条件下最大化广告价值。
竞价策略讨论
好了,重申一下,现在我们已经得到最优出价策略为:
但是 和 还是不明确的。
咱们对原问题最优出价策略(6)分解成等式(11)和等式(12),其中:
-
等式(11)可以理解为对于单个点击的出价,下称为点击出价
-
等式(12)可以理解为对于单个展示的最终出价,下称为竞价出价
那么,咱们对等式(11)和等式(12)进行讨论,如下图所示:
可以发现以下现象:
-
点击出价与转化率成正相关:这意味着应该为更有价值的点击提供更高的出价,而为不那么有价值的点击提供相对较低的出价。
-
竞价出价与点击率成线性关系:这是一个很自然的结果,因为我们最大化的目标函数是关于点击率的线性函数。
-
竞价策略会像图中所示那样在两点处交叉。有一个不同寻常的事实:函数图像不一定通过原点。具体地说,即使广告展示机会对广告主来说没有价值,竞价价格也将不会是零。主要理由是:在考虑CPC约束的情况下,竞价策略试图赢得一些即使没有任何价值的广告展示机会,以降低整体CPC,从而可以赢得一些有价值但CPC较高的广告展示机会。
本节的讨论主要为后续系统设计做铺垫。
| 系统设计
本节讨论竞价策略在实际场景的应用性问题,并提出基于反馈控制的解决方案。此外,在最优竞价策略超参数的分析基础上,提出了多变量控制系统,以解决实际落地应用。
应用问题
前面提到,为了求解线性规划问题并获得最优竞价策略,需要知道当天每个广告展示机会的信息,包括成交价、点击率和转化率。然而,这些信息在现实世界中只有在当天结束时才能获得,而最优竞价策略则需要在活动开始前确定。由于电子商务的动态性,基于历史数据推导出的最优竞价策略是不可靠的。
基于反馈控制的解决方案
基于历史数据推导出的最优竞价策略是不可靠的,那我们就需要求变:利用实时信息来调整竞价策略,方法是利用前面提到的PID实现反馈控制,具体方程如前置知识里提到的:
具体地:
-
:误差信号,表示期望输出与实际输出之间的差异。
-
:期望输出值。
-
:实际输出值。
-
:当前时刻状态。
-
:控制输入值,是控制器输出的信号,用于影响系统的行为以减小误差。
-
,, :分别是比例、积分和微分增益,是PID控制器的调节参数。
-
:误差信号的积分项,表示误差信号在时间上的累积。
-
:上一时刻的误差信号。
-
:状态方程,表示系统状态在时间 时刻的演化,其中 是下一时刻的状态。
超参数分析
由于有多个输入参数和多个输出变量,无法直接应用PID控制器,因为这种控制器是为单一输入参数和单一输出变量的系统设计的。在本节中,我们重新讨论等式(11)所表述的最优竞价策略,初步分析如何设计多变量控制系统。
图4给出了在 固定, 分别在减小、增大、等于零和等于无穷时的最优竞价策略:
-
当 减小:出价增加
-
当 增大:出价减小
-
当 等于零:预算将不再是约束,但仍然存在 约束,出价不会无限高。如果同时将 也设为0,这意味着 约束也取消了,出价将无限高,活动将赢得所有广告展示机会
-
当 等于无穷:出价持续为零
可见, 对预算支出有直接有效的控制能力,可以明显降低预算支出的速度。
图5给出了在 固定, 分别在减小、增大、等于零和等于无穷时的最优竞价策略。
-
当 减小:高于 的出价将提高,低于 的出价将降低。 低于 的广告机会就会更少, 高于 的广告机会就会更多。综合结果是, 更有可能高于
-
当 增大:高于 的出价将降低,低于 的出价将提高。 低于 的广告机会就会更多, 高于 的广告机会就会更少。综合结果是, 更有可能低于
-
当 等于零: 约束将会不存在,竞价策略由 决定,并退化为最优预算约束竞价策略
-
当 等于无穷: 一定会低于
可见, 完全可以由 来控制。
综上,可以得到了以下两个结论:
-
超参数 对预算支出速度有直接有效的控制力。无论 取值多少,可以通过 来降低预算支出速度。
-
超参数 对 有直接有效的控制力。无论 取值多少,可以通过 来调整 。
多变量控制
上一节分析得到,预算支出速度和 可以明确地分别由 和 来控制。因此可以将多变量反馈控制问题分解为两个单变量反馈控制问题,并将彼此视为外部噪声,得到两个独立的PID控制器,如图6所示。
为了进一步减少 和 的耦合效应,利用模型预测控制(MPC)的基本思想来预测和补偿耦合效应,如图7所示,在PID控制器之后设置模型预测模块,通过解决耦合效应来调节控制信号。
和 互相干扰,间接影响预算支出速度和 。因此,我们需要根据花销和 进行建模。
首先,通过两个线性回归模型直接建模变量 、 和目标 、 的关系,如(16)所示。其中, 和 分别表示 2×2 的矩阵和 2×1 的矩阵。
从反馈中获得 和 后,我们可以通过等式(17)来调整 、 ,并推导出等式(18)。由式(18)中公式可知, 、 的控制信号应该是 和 的线性组合。
因此,我们可以通过公式(19)来定义模型预测模块,其中 和 分别用 、 来量化, 可以用一个由 和 组成的2×2 矩阵来近似,并在训练集中探索它们的最优值。
通过如等式(19)建模预测控制(MPC),就可以缓解 和 互相干扰的问题。
| 结语
本文深入解读阿里妈妈2019年《Bid Optimizaiton by Multivariable Control in Display Advertising 》所提出的多重变量约束的定价框架,以达到成本有效控制和收益最大化的双重目标。
该定价框架思想非常简单:先用线性规划建模竞价问题,然后求解得到最优出价策略。最优出价策略受限于两个超参,分别影响消耗和CPC。由于环境的动态性,分别用两个PID控制器去实时调整超参。为了解决两个超参在实时反馈的互相干扰,又通过建模来预测和补偿耦合效应。
尽管案例中仅展示了预算和每次点击成本(CPC)的限制,然而该框架的灵活性使其能够轻松地纳入额外的业务特定后验评估指标作为约束条件,这一特性为根据实际业务需求定制和优化定价策略提供了极大的便利和适应性,从而确保了策略的全面性和实用性。