本文主要记录BCB出价的推导
- 其他参考链接:智能出价——BCB求解
BCB介绍
- 预算约束的出价,Budget Constrained Bidding(简称BCB),广告主的出价目标是设置一定预算,拿到最多的流量(点击或者订单)
问题定义
- 一般BCB优化问题的定义:
$$
\begin{align}
\max_{x_{ij}} \sum^N_{i=1} x_{ij} v_{ij} \\
s.t. \sum^N_{i=1} x_{ij} c_{ij} \le B \\
\sum^M_{j=1} x_{ij} = 1 \\
x_{ij} \in {0, 1}
\end{align}
$$
解法一
可以解得,最终结果为(求解过程参见RL-MPCA论文):
$$ j^* = \arg\max_{j} (v_{ij} - \lambda c_{ij}) $$
解法二
- 如果只有一个广告位置,且使用二价计费,原始问题可化简为
$$
\begin{align}
\max_{x_{i}} \sum^N_{i=1} x_{i} v_{i} \\
s.t. \sum^N_{i=1} x_{i} c_{i} \le B \\
x_{i} \in {0, 1}
\end{align}
$$
- 最终可解得结果为(求解参考链接:智能出价——BCB求解):
$$ bid = v_i / \lambda $$
关于两种解法的结果分析
- 本质上,两种解法结果应该是完全相同的,第一种解法中,如果只有一个广告位置,且使用二价计费,求解到的结果本质于第二种解法结果一致。
- 当 \(v_{i} > \lambda \cdot Price_{win} \)时(\(Price_{win} = c_{i}\),表示净胜价格), 此时选择\(bid > Price_{win}\)的出价即可获得本次竞拍,此时不管是解法一(取\(v_{ij} - \lambda * c_{ij}\) 最大的动作)还是解法二(\(bid=v_i/\lambda\))都会选择执行竞拍动作。
- 反之,当当\(v_{i} < \lambda \cdot Price_{win}\)时, 此时选择\(bid < Price_{win}\)的出价即可获得本次竞拍,此时不管是解法一还是解法二都会选择执行不竞拍动作。
- 解法一适用于任何场景,解法二则仅适用于只有一个广告位置,且使用二价计费的场景
- 解法二的结果使用起来会更简单:
- 解法一需要预估不同出价下的收益,实际上,在只有一个广告位置,且使用二价计费的场景,不竞争当前广告位置的价值为0,计费为0,若竞争,则价值为\(v_i\),计费为\(c_i\),所以仅需要预估价值\(v_i\),计费\(c_i\)。
- 解法二则可直接预估一个值\(v_i\)即可,不需要预估\(c_i\),即在线不需要预估净胜价格
- 但是离线流量回放求解\(\lambda\)时,理论上也需要预估一个净胜价格,或者在给出一个价格时,需要知道是否会竞争成功。\(c_i\)已经隐含在求解到的\(\lambda\)中
- 若对于任意竞拍,都给定净胜价格,那么解法一和解法二等价,都只需要预估\(v_i\)一个值即可