【计算广告】广告出价相关约束问题:PID控制、MPC预测算法
广告出价相关约束问题:PID控制、MPC预测算法
- 广告出价问题原理
- 广告出价模块发展
- 广告出价问题数学建模
- 对偶问题求解
- 最优出价求解
- 出价技术演进路线
- PID控制
- 物理意义及背景
- 公式
- 缺点
- MPC控制算法
- MPC和PID的区别
- 广告策略机制详解
- 广告策略简介
- 机制设计与最优出价
- 反馈与控制基础
- 原始对偶匹配与分配
- 预算平滑
- 基于概率丢弃的预算平滑
- 基于流量分层的预算平滑
- 参考文献
广告出价问题原理
对于互联网广告系统而言,其核心问题便是广告与用户流量的精准匹配,以最大化流量的售卖效率。在当前ocpx的广告售卖产品中,目标是最大化平台的收入,并且最大化广告和流量的匹配,这涉及到对竞争环境的出价建模。
广告出价模块发展
对一个完整的互联网广告系统来说,其核心问题便是广告与用户流量的精准匹配,以最大化流量的售卖效率。按照计费模式广告可分为CPT 广告, CPM 广告,CPC 广告,CPA 广告等。
- CPT广告由于是包断广告,不涉及考核指标, 其它广告类型中,广告主有一定的考核指标,如 CPM,CPC,CTR,CVR,ROI,CPA等。
- CPM 广告中,按千次展示计费,不涉及效果问题。
- CPC 广告中,只有当投放的广告被用户点击时,平台才能像广告主收费,因为广告平台会投放 CTR 相对高的广告(实际情况中一般是 CTR * CPC更高)来使平台收益最大化。 因此产生了 CTR 预估问题。
- CPA 广告与 CPC 类似,产生了转化率预估的问题。
在固定出价的阶段,人们观测到,相对于CPM,追求效率的广告主其实更偏好CPC,因为CPC模式下,虽然出价固定,但是实际的竞价跟流量与广告的相关程度密切相关,即使广告主出了一个较高的出价,也不会拿到太多质量较差的流量,而CPM模式则无法避免。
但是CPC模式虽然解决了广告主在低质流量上竞价过高的担忧,但并不能让广告主获得更多的高价值流量。举个例子,广告主在流量包出价1元每次点击,流量包中的某个优质流量需要广告主出价2元才能获得;在这种情况下,为了获得这个流量,广告主要么对流量包整体提高出价,即使这意味着可能会提高低质流量的比例;要么寻找一个新的更优质的流量包,包含该优质流量,对于广告主来说,在缺少数据的情况下,仅仅依赖平台提供的工具,通常不那么容易。
因此,广告平台洞察了广告主的这种诉求,适时地对出价模块进行了一次调整,在固定出价的基础上,增加了智能调价的模式。在在这种模式下,与固定出价一样的是,广告主预先设定一个出价上限;系统会根据流量的某种价值,在出价上限的范围内,对出价进行调整。这其实引入了一类基础的出价优化问题,即在0到出价上限的范围内,通过出价的调整,最大化流量的某种价值。通过出价优化,实现低质流量上低出价,优质流量上高出价,从而降低广告主低质流量的担忧,提高自己的出价上限。在产品形式上,智能调价类产品开始以OCPX(Optimized CPX)的形式开始出现,将价值锚定到某种可预估的指标上(比如后链路的转化)等,激励广告主进行出价上限的提高,并验证指标的提升。
自动出价还带来了另一个变化:出价与计费的剥离。回顾一下计价公式:
CPM = bid_cpm / 1000
CPC = bid_cpc * pctr
CPA = bid_cpa * pctr * pcvr
对于智能出价场景来说,出价不再由广告主决定,因此广告平台可以选择任意一种竞价公式进行计算,而无需考虑具体的计费方式。也就是平台方可以以CPA的计费方式进行竞价计算,但是扣费可以使用CPM和CPC的方式进行扣费。在这种情况下计费方式和竞价方式解耦,无需为不同计费方式单独定制两套逻辑。
广告出价问题数学建模
最优出价范式:不超预算、不超成本、最大转化
将出价问题看成是曝光选择问题,假设给定所有的可参竞集合,广告主需要选择哪些请求竞胜取得的曝光能够获得最优,具体建模方式如下。假设xix_ixi表示请求i是否竞胜,0表示竞败,1表示竞胜,CTRiCTR_iCTRi, CVRiCVR_iCVRi表示该请求竞胜后该请求的点击率和转化率,cic_ici表示竞胜时的扣费,此处为二价扣费,B表示预算,C表示成本。此时需要优化以下表达式:
max∑i=1...Nxi∗CTRi∗CVRimax \sum_{i=1...N}x_i * CTR_i * CVR_imaxi=1...N∑xi∗CTRi∗CVRi
s.t∑i=1...Nxi∗ci<=Bs.t \sum_{i=1...N}x_i * c_i <= Bs.ti=1...N∑xi∗ci<=B
∑i=1...Nxi∗ci∑i=1...Nxi∗CTRi∗CVRi<=C\frac{\sum_{i=1...N}x_i * c_i}{\sum_{i=1...N}x_i * CTR_i * CVR_i} <= C∑i=1...Nxi∗CTRi∗CVRi∑i=1...Nxi∗ci<=C
0<=xi<=10 <= x_i <= 10<=xi<=1
对偶问题求解
引入拉格朗日乘子: 设 对xix_ixi进行求导可得 由上式可得 带入对偶问题可得: 当满足KKT条件时,原始问题的解和对偶问题的解是等价的。
minximax∑i=1...Nxi∗CTRi∗CVRi+α(∑i=1...Nxi∗ci−B)+β(∑i=1...Nxi∗ci−C∗∑i=1...Nxi∗CTRi∗CVRi)+λi(∑i=1...Nxi−1)+θi∑i=1...N(−xi)min_{x_i}max\sum_{i=1...N}x_i *CTR_i*CVR_i + \alpha(\sum_{i=1...N}x_i * c_i -B) + \beta(\sum_{i=1...N}x_i * c_i - C * \sum_{i=1...N} x_i * CTR_i * CVR_i) + \lambda_i(\sum_{i=1...N}x_i - 1) + \theta_i \sum_{i=1...N}(-x_i)minximaxi=1...N∑xi∗CTRi∗CVRi+α(i=1...N∑xi∗ci−B)+β(i=1...N∑xi∗ci−C∗i=1...N∑xi∗CTRi∗CVRi)+λi(i=1...N∑xi−1)+θii=1...N∑(−xi)
设
L=∑i=1...Nxi∗CTRi∗CVRi+α(∑i=1...Nxi∗ci−B)+β(∑i=1...Nxi∗ci−C∗∑i=1...Nxi∗CTRi∗CVRi)+λi(∑i=1...Nxi−1)+θi∑i=1...N(−xi)L=\sum_{i=1...N}x_i *CTR_i*CVR_i + \alpha(\sum_{i=1...N}x_i * c_i -B) + \beta(\sum_{i=1...N}x_i * c_i - C * \sum_{i=1...N} x_i * CTR_i * CVR_i) + \lambda_i(\sum_{i=1...N}x_i - 1) + \theta_i \sum_{i=1...N}(-x_i)L=i=1...N∑xi∗CTRi∗CVRi+α(i=1...N∑xi∗ci−B)+β(i=1...N∑xi∗ci−C∗i=1...N∑xi∗CTRi∗CVRi)+λi(i=1...N∑xi−1)+θii=1...N∑(−xi)
对xix_ixi进行求导可得:
∂L∂xi=CTRi∗CVRi+(α+β)∗ci−C∗β∗CTRi∗CVRi+λi−θi=0\frac{\partial L}{\partial x_i}=CTR_i * CVR_i + (\alpha + \beta)* c_i - C * \beta * CTR_i * CVR_i + \lambda_i - \theta_i = 0∂xi∂L=CTRi∗CVRi+(α+β)∗ci−C∗β∗CTRi∗CVRi+λi−θi=0
由以上公式可得:
θi=CTRi∗CVRi+(α+β)∗ci−C∗β∗CTRi∗CVRi+λi\theta_i = CTR_i * CVR_i + (\alpha + \beta)* c_i - C * \beta * CTR_i * CVR_i + \lambda_iθi=CTRi∗CVRi+(α+β)∗ci−C∗β∗CTRi∗CVRi+λi
带入对偶问题可得:
minα∗B+∑i=1λimin \ \alpha * B + \sum_{i=1}\lambda_imin α∗B+i=1∑λi
s.t.λi>=CTRi∗CVRi−(α+β)∗ci+C∗βi∗CTRi∗CVRis.t. \ \lambda_i >= CTR_i * CVR_i - (\alpha + \beta) * c_i + C * \beta_i * CTR_i * CVR_is.t. λi>=CTRi∗CVRi−(α+β)∗ci+C∗βi∗CTRi∗CVRi
α>=0,∀i\alpha >= 0, \forall iα>=0,∀i
β>=0,∀i\beta >= 0, \forall iβ>=0,∀i
λi>=0,∀i\lambda_i >= 0, \forall iλi>=0,∀i
当满足KKT条件时,原始问题的解和对偶问题的解是等价的。
最优出价求解
根据互补松弛定律,x∗x^*x∗达到最优状态时,如下式子成立
(CTRi∗CVRi−(α∗+β∗)∗ci+C∗βi∗∗CTRi∗CVRi−λi∗)xi∗=0(CTR_i * CVR_i - (\alpha^*+\beta^*)*c_i + C * \beta_i^**CTR_i * CVR_i - \lambda_i^*)x_i^*=0(CTRi∗CVRi−(α∗+β∗)∗ci+C∗βi∗∗CTRi∗CVRi−λi∗)xi∗=0
α∗(∑i=1...Nxi∗∗ci−B)=0\alpha ^*(\sum_{i=1...N}x_i^**c_i-B)=0α∗(i=1...N∑xi∗∗ci−B)=0
β∗(∑i=1...Nxi∗∗ci−C∗∑i=1...Nxi∗∗CTRi∗CVRi)=0\beta^*(\sum_{i=1...N}x_i^* * c_i - C * \sum_{i=1...N}x_i^* * CTR_i * CVR_i)=0β∗(i=1...N∑xi∗∗ci−C∗i=1...N∑xi∗∗CTRi∗CVRi)=0
是最优状态下的取值,则可以将最初的式子简化为:
xi∗∗(((α∗+β∗))(1+C∗βi∗α∗+β∗CTRi∗CVRi−ci)−λi∗)=0x_i^**(((\alpha^*+\beta^*))(\frac{1+C*\beta_i^*}{\alpha^*+\beta^*}CTR_i*CVR_i-c_i)-\lambda_i^*)=0xi∗∗(((α∗+β∗))(α∗+β∗1+C∗βi∗CTRi∗CVRi−ci)−λi∗)=0
当x∗=1x^*=1x∗=1即广告竞胜,那么((α∗+β∗))(1+C∗βi∗α∗+β∗CTRi∗CVRi−ci)−λi∗=0((\alpha^*+\beta^*))(\frac{1+C*\beta_i^*}{\alpha^*+\beta^*}CTR_i*CVR_i-c_i)-\lambda_i^*=0((α∗+β∗))(α∗+β∗1+C∗βi∗CTRi∗CVRi−ci)−λi∗=0由λi>0,α>0,β>0\lambda_i>0,\alpha>0,\beta>0λi>0,α>0,β>0可得1+C∗βi∗α∗+β∗CTRi∗CVRi−ci>0\frac{1+C*\beta_i^*}{\alpha^*+\beta^*}CTR_i*CVR_i-c_i>0α∗+β∗1+C∗βi∗CTRi∗CVRi−ci>0,那么我们让出价可以保证此次竞胜。同理如果广告无法竞胜,可以证明出价bi=1+C∗βi∗α∗+β∗CTRi∗CVRib_i=\frac{1+C*\beta_i^*}{\alpha^*+\beta^*}CTR_i*CVR_ibi=α∗+β∗1+C∗βi∗CTRi∗CVRi此次不竞胜。因此可知按bi=1+C∗βi∗α∗+β∗CTRi∗CVRib_i=\frac{1+C*\beta_i^*}{\alpha^*+\beta^*}CTR_i*CVR_ibi=α∗+β∗1+C∗βi∗CTRi∗CVRi此出价可达线性规划的最优解。
出价技术演进路线
出价技术的演进路线可以分为四个阶段:
- 预算消耗控制,通过控制预算的消耗速度尽可能平滑来优化效果,一般通过比较经典的控制算法如PID,MPC等,在假设竞价环境中流量分布均匀的情况下,这种方法能够达到比较好的效果
- RL-based Bidding,现实环境中的竞价环境是非常复杂且动态变化的,只控制预算无法满足更多样的出价计划的进一步优化,在预算周期内,前面花的好不好会影响到后面的出价决策,而这正是强化学习的强项,基于历史的出价环境和之前的投放表现动态调控出价效果,能够带来更好的调控效果。
- SORL,它的特点是针对强化学习中离线仿真环境与在线环境不一致。SORL直接在在线环境中进行可交互的学习,很大程度上解决了强化学习强依赖于仿真平台的问题。
- AIGB,随着大模型的出现,生成式模型展现了强大的信息生成能力,我们也可以引入生成式模型将序列决策问题建模为一个序列动作生成问题。模型通过拟合历史轨迹数据中的行为模式,达到策略输出的目标。
接着主要针对于1,介绍工业系统中比较常用的出价调控算法:
PID控制
物理意义及背景
PID( Proportional Integral Derivative)控制是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,尤其适用于可建立精确数学模型的确定性控制系统。PID控制通过对偏差信号e(t)e(t)e(t)进行比例、积分和微分运算变换后形成一种控制规律。
在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节,它实际上是一种算法。PID控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。PID控制,实际中也有PI和PD控制。PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。
从信号变换的角度而言,超前校正、滞后校正、滞后-超前校正可以总结为比例、积分、微分三种运算及其组合。
PID调节器的适用范围:PID调节控制是一个传统控制方法,它适用于温度、压力、流量、液位等几乎所有现场,不同的现场,仅仅是PID参数应设置不同,只要参数设置得当均可以达到很好的效果。均可以达到0.1%,甚至更高的控制要求。
公式
具有比例-积分-微分控制规律的控制积分微分(PID)控制,其传递函数为:Gc(s)=Kp+KpTi⋅1s+KpτsG_c(s)=K_p+\frac{K_p}{T_i}\cdot \frac{1}{s}+K_p \tau sGc(s)=Kp+TiKp⋅s1+Kpτs,其中KpK_pKp为比例系数,TiT_iTi为积分时间常数,τ\tauτ为微分时间常数,三者都是可调参数。
PID控制器的输出信号为: u(t)=Kpe(t)+KpTi∫0te(t)dt+Kpτde(t)dtu(t)=K_pe(t)+\frac{K_p}{T_i}\int_0^te(t)dt+K_p\tau \frac{de(t)}{dt}u(t)=Kpe(t)+TiKp∫0te(t)dt+Kpτdtde(t)
PID控制器的传递函数可写成:U(s)E(s)=KpTi⋅Tiτs2+Tis+1s\frac{U(s)}{E(s)}=\frac{K_p}{T_i} \cdot \frac{T_i \tau s^2 + T_i s + 1}{s}E(s)U(s)=TiKp⋅sTiτs2+Tis+1
PID控制的微分方程为:u(t)=Kp+[e(t)+1Ti∫0tE(t)dt+Tdde(t)dt]u(t)=K_p + [e(t) + \frac{1}{T_i} \int_0^t E(t)dt + T_d \frac{de(t)}{dt}]u(t)=Kp+[e(t)+Ti1∫0tE(t)dt+Tddtde(t)]
缺点
针对U(t)U(t)U(t)的计算公式,第一项目标值和实际值之间的误差,这个也就是PID中的P(proportion),这个是根据当前时刻和目标的误差之间进行调解。 第二项是对T时刻误差的积分,也就是integration积分,他是为了解决稳态误差,通过差值的经验来调整当前的目标值。 第三项是不同时刻误差的差值,也就是differentiation,是微分项就是ttt时刻和t−1t-1t−1时刻error的差。 PID的优点是可以比较快的达到期望位置,减少超调量,但是PID的缺点是容易受到干扰,且不具有前瞻性,当前调整只考虑了当前的error和之前周期的error,没有考虑到未来的error,并且无模型调控,只是根据error调整没有规划。为了弥补这个问题,MPC控制算法被提出。
MPC控制算法
模型预测控制 (Model Predictive Control, MPC) 是一种在工程控制领域广泛应用的高级控制方法,它通过解决在线优化问题来实现对动态系统的控制。MPC顾名思义由三个部分构成:模型(Model)、预测(Prediction)、控制(Control)。MPC的核心在于使用系统的数学模型来预测未来一段时间内的系统行为,并基于这些预测来制定最优的控制策略。通俗来说原理:根据状态转移模型(已知当前状态的情况下,给定一个控制,可以准确推导未来的状态),推导出未来一段时间的状态表达式(工程上实现一般用误差表示,即未来状态和目标状态的差值),求解未来一段时间的控制量,做到尽量接近目标状态、尽量的小的控制变化,同时满足控制输出的阈值范围约束。
大概过程:建立误差模型 -> 模型的线性及离散化 -> 预测模型推导 -> 目标函数设计 -> 约束设计 -> 优化求解,MPC求解出的是未来一段时间的控制量(控制量的变化)
MPC和PID的区别
- 模型预测控制善于处理多输入多输出系统
- 模型预测控制可以处理约束:由于模型预测控制是通过构建优化问题来求解控制器的动作的,所以可以非常自然的将这些约束建立在优化问题中以此来保证这些约束的满足
- 模型预测控制是有向前考虑未来时间步的有限时域优化:模型预测控制采用了一个折中的策略,既不是像最优控制那样考虑这个时域,也不是完全的贪婪控制仅仅考虑当前,而是考虑未来的有限时间域 如下图所示,模型预测控制需要在每一个时间步通过反复的预测+优化来求解优化问题,当得到优化问题最优解后再讲这个解作为真正的控制器的输出作用给被控对象。那么关键就在于怎么定义这个优化问题了,下面简单的给出一种常见的优化问题的模型。
广告策略机制详解
广告策略简介
互联网广告系统:通过广告平台连接广告主和用户,广告平台需要通过提升自身的匹配效率,在平衡广告主、用户和广告平台三者利益条件下,帮助广告主达成对应的KPI指标(CPA、ROI、跑量等),获得广告收入。广告生态:广告平台、广告主、用户三者互相影响
随着程序化交易广告的市场份额不断壮大,演变成:广告主、DSP平台、广告交易平台Ad Exchange、SSP平台、媒体互相影响和交易,相当于广告主委托给DSP、媒体端委托给SSP,经过RTB竞价机制在广告平台进行交易。数据管理平台DMP为用户提供数据支持。
典型的DSP广告系统:请求 -> 定向 -> 召回 -> 粗排 -> 精排 -> 策略机制 -> 竞价
- 请求:用户访问了某个网页或者APP;
- 定向:广告主在广告平台通过标签、人口属性等圈定用户,形成号码包,号码包可能在千万级别
- 召回(检索):当前请求和广告库中的广告进行匹配召回,召回的数量可能有千级别;
- 粗排:对召回的广告,按照一定的策略进行枝剪,粗排后的数量在百级别;
- 精排:包含CTR、CVR的预估,计算出对应的出价ecpm;
- 策略机制:包含预算消耗控制、广告主CPA、ROI达成等策略;
- 竞价:内部竞价(一般的DSP会有内部竞价机制),外部竞价(提交到Ad Exchange进行竞价)。
ADX允许广告主(需求方)和媒体(供应方)通过实时竞价(RTB)的方式买卖广告展示机会
- 实时竞价RTB:在用户访问页面的毫秒级时间内完成广告竞价
a. RTB(Real-Time Bidding,实时竞价):让用户访问网页的毫秒级时间内完成广告竞价和投放决策
b. 基础参与者:用户、提供广告位的媒体平台Publisher、代表发布商管理广告资源的供应方平台SSP、广告交易平台ADX、代表广告主参与竞价的需求方平台DSP、提供用户画像数据支持的数据管理平台DMP
c. RTB详细竞价流程:以网页展示广告为例
i. 用户访问发布商页面:- 用户浏览器加载包含广告位的网页
- 网页代码中包含SSP提供的广告标签Ad Tag
ii. 广告请求发起:浏览器向SSP发送广告请求:页面URL、广告位尺寸、用户Cookie、地理位置信息、其他上下文信息
iii. SSP向ADX发起竞价请求:SSP将请求转发给ADX,并附加:底价、广告位属性、用户数据许可范围
iv. ADX发起竞价:ADX向多个DSP发送竞价请求
v. DSP响应竞价:在毫秒级别内完成以下动作 - 用户识别:匹配自有DMP数据
- 广告筛选:选择符合条件的广告
- 出价计算:基于算法决定出价
- 返回响应
vi. ADX进行竞价决策: - 执行“第二价格竞价”:按出价排序选择最高者,实际扣费=第二高价+0.01元
- 过滤无效出价:低于底价/不符合要求
vii. 返回获胜通知:ADX通知获胜DSP,同时通知其他DSP竞价失败
viii. 广告展示:用户浏览器收到获胜广告代码、渲染展示广告素材、开始检测曝光和点击
广告匹配类型:互联网广告本质是匹配,通过广告平台连接广告主和用户,涉及到图论相关内容。
机制设计与最优出价
主要关注一价竞价和二价竞价,以及在较理想条件下实时竞价广告最优出价。
机械设计理论极大增进人们对激励相容和私人信息条件下最优配置机制运行特征的理解。
互联网广告拍卖常见的两种结算机制:广义一价、广义二价
- 广义一价(Generalized first price auction, GFP):广告主报价是极其不稳定的,会随着调整价格以应对竞争者的反应,从而引起价格战,引发较大的价格波动,带来拍卖效率上的损失。
- 广义二价(Generalized second price auction, GSP):位于第i个广告位的广告主为每次点击的支付等于第i+1位广告主的报价+0.01元。在广告主理性的假设下,每个广告组都没有动机去改变现有的报价决策。减少广告主报价的波动性,同时也易于被广告主接受。
实时竞价广告最优出价策略:(基于RTB实时出价定义),最优出价是和如下因素相关:
广告价值预估,即讲真话(True telling);
- 拉格朗日乘子,和账户预算限制相关;表示广告主增加额外单位预算带来的经济效益;通俗理解不变,广告主的账户资金利用率高,1块钱能购买的优质流量很多,这时出价可以适当降低;
- 市场价格分布,未直接体现在出价公式中。
但目前来说,目前存在Bid Shading问题,广告主不一定是真实报价,要么让媒体和ADX收入下降,要么让广告主降低对优质流量的拿量能力。
目前有的广告平台的结算方式也从二价至一价转变。
反馈与控制基础
广告系统现状:投放效率和多种因素相关。如何控制广告主的投放成本是广告系统的核心能力。如何利用收集到正确的反馈信息(数据、信号)设计出对应的控制算法,使得被控制的系统达到想要的目标(CPA、ROI等)
反馈控制在广告系统的应用,可以从两方面来理解:
- 从广告投放计划粒度层面(微观)。把广告主的成本控制问题(KPI达成,如CPA、ROI),理解为反馈控制问题;
- 从广告平台层面(宏观)。广告系统可以看做是个复杂系统控制问题,在平台收入可控,同时不损害用户体验的条件下,最大可能帮助广告主成本达成。
借助反馈控制论的相关方法(PID等),可以帮助我们达成相应的控制目标。此处内容见上文。
自动控制在广告中的应用:广告投放系统可以看作是对请求流量进行定价,提交到广告交易平台进行报价,广告交易平台反馈竞价成功或竞价失败,广告系统根据成功或失败调整自身的出价策略。这是一个动态反馈过程,广告系统需要实时调整自己的竞价策略来达成CPA和ROI。
在出价方面:CPA达成、ROI达成,使用自动控制器进行动态调整出价。
原始对偶匹配与分配
广告业务从不同的视角看:
- 广告主:最大化ROI
- 广告平台:最大化平台收入,保持广告平台生态健康
流量的利用效率是衡量广告系统的优劣的关键指标,这里都涉及到了最优化的问题。从数学视角,这是一个最优化(线性规划)问题。在广告最优化建模中,将广告原始线性规划问题(规模巨大),转换为对偶问题(规模较小),进而较为容易的求解出来,是一种常用的方法。
基于上述原始对偶问题设计出在线竞价算法:
- 步骤1:点击率预估;
- 步骤2:出价计算;
- 步骤3:选取(收入-成本)最大的广告进行参竞曝光;
- 步骤4:对收益为正的广告进行指派;
- 步骤5:判断广告的目标是否达成;
- 步骤6:动态更新对偶乘子。
对偶乘子的更新采用了PID控制器来更新。
预算平滑
广告主在广告系统中创建广告计划,设定相应的预算后,可能经常发现预算波动较大,预算过早消耗完。 在实时竞价系统中,一般会有预算平滑或叫Budget Pacing,来对流量进行控制调整。
基于概率丢弃的预算平滑
基于概率丢弃的方法,通过对流量预测,分配预先设定的金额比例,并和当前的实际消耗对比,进行相应的Pacing Rate 调整。
基于流量分层的预算平滑
- 基于流量分层的方法:
- 对流量进行分层,优先让优质流量通过
- 将预算分散到K个时间片内,使得预算消耗更加平稳
- 通过消耗反馈信号,进行Pacing Rate的调整。
不管是概率丢弃方法,还是流量分层的方法,可以把预算平滑模块看成是一个自动控制器:
- 输入数据
- 反馈误差(Error )
- 自适应控制
- 输出调整信号(Signal)
参考文献
- 广告策略机制(1):简介
- 广告策略机制(2):机制设计与最优出价
- 广告策略机制(3):反馈与控制基础
- 广告策略机制(4):在线匹配与预算分配
- 广告策略机制(5):预算平滑
- PID控制器原理及在预算平滑中的应用
- 广告出价–如何使用PID控制广告投放成本
- 计算广告-广告智能出价原理-出价的数学建模