Paper link: arxiv.org/pdf/1905.10…
这是阿里19年左右的paper,研究了在展示广告中的实时竞价(RTB)问题,特别是如何在预算和关键性能指标(KPI)约束下最大化转化数量的出价策略。
引言和背景部分忽略,这部分基本是在介绍rtb的基本知识。
这篇paper里,作者提出的出价策略是为了在预算和成本每点击(CPC)约束下最大化转化数量,也就是有两个约束,budget和cpc。这个策略的核心是将出价问题转化为一个线性规划问题,并通过原始-对偶方法来求解。
作者设定了一个线性规划问题(LP1),目标是在不超过预算B的情况下最大化转化数量,同时保证CPC不超过给定的值C,线性规划问题都有一个objective和若干constraints,不太会操作知乎的公式,这块可以看原始paper。paper里的N 是广告机会的数量,x_i是一个二元变量,表示是否赢得第i个广告机会(1表示赢得,0表示未赢得),v_i是广告机会的价值,w_{pi}是第i个广告机会的获胜价格,CTR_i 是点击率,CVR_i 是转化率。
为了求解这个线性规划问题,作者采用了原始-对偶方法。这种方法允许将原始问题(primal problem)转换为对偶问题(dual problem),然后通过对偶问题的解来得到原始问题的最优解。在对偶空间中,引入了超参数 p 和 q,它们与原始问题的最优解相对应。
最优出价策略的公式: bidi = 1 / (p + q) · CTRi · CVRi + q / (p + q) · CTRi · C
超参数 p 和 q 在出价策略中起着关键作用。p直接影响预算支出,而q直接影响CPC。通过调整这些超参数,可以在预算和CPC约束之间找到一个平衡点。例如,增加p会降低出价,从而减少预算支出,而增加q会降低CPC,但可能会增加预算支出。
作者在文章中没有介绍p和q的求解,原话是it is easy to derive the optimal p and q by solving the dual problem with well developed linear programming algorithms. Such work does not contribute to the comprehension of our work, so we do not discuss how to calculate the value of p and q here
这里没有contribute,或者可以理解为根据offline solution求解出来的p和q,然后使用它们并不是本文的思路,猜测是因为offline solution这件事虽然说起来很美好,但因为ctr/cvr都会实时变化,这种offline结果并不稳定。这里作者也提到了实现上的challenge,in order to solve the linear programming problem and obtain the optimal bidding strategy, we need to know exactly the information of every ad opportunity of the day, including the winning price, CTR and CVR. Such information, however, could not be obtained in real world until the end of the day, 包括对ad opportunity的预测,因为这部分会影响budget。
所以作者没有去离线求解p和q,而是通过实时反馈计算它们,我觉得这是这篇文章中比较注重实践的点,或者说并不是一篇实验室文章:离线线性规划求解,对于专业的求解工具来讲(比如gurobi),10w量级的变量并没有什么难度,真正麻烦的事情在于,系统是不稳定的,所以列方程用的输入可能就是错的。
作者的思路是实时反馈,实时反馈基于PID去做。这个并不复杂(但可能比较好用),这里面临的挑战是,PID通常是基于一个goal去做调整,但文章场景里有budget和cpc两个goal。在这篇论文中,多变量控制(Multivariable Control)是指一个控制系统,它能够同时处理多个输入变量(在这种情况下是出价策略的超参数p和q)和多个输出变量(预算支出和CPC)。这里有一个矩阵求解过程,通过一段时间内budget的变化,和cpc的变化,反过来求解p和q的变化值。
summary一下,这篇文章还是挺接地气的,我经历过的一些其它场景其实有类似的做法。
最近在总结一些广告paper,也在这里link下 github.com/linpingta/A…