查看作品文字内容
AdTech Engineering · Operations Playbook 流量分层与动态底价 方法、策略与算法实现 把"分层"和"底价"当作两个可独立求解、又必须联合调优的优化问题来对待:一个是给流量定档,一个是给每一档定最低成交价。这份手册给出从统计基线到强化学习的完整算法谱系、可直接改写的伪代码,以及 2026 年必须知道的合规红线。 视角: 供给侧 / ADX·SSP 运营 数据截止: 2026 年 10 月 配套: 前一份市场与运营框架报告 先定义你到底在优化什么 # 对每个曝光请求的上下文 c,选择一个底价 r # 目标是让该流量簇的总收入最大,而不是单次请求最大 max R(r | c) = r × P(bid ≥ r | c) └─单价─┘ └──中标/填充概率──┘ # 约束:填充率 ≥ F_min,且不得低于成本/合约底线 # 一阶条件(F 连续可微时): r* 满足 1 − F(r) − r·f(r) = 0 # 若出价分布满足正则性(MHR),r* = ψ⁻¹(0),即"垄断价" 这条公式是全篇的锚点。它说明了两件事:① 底价不是越高越好——提价同时压低中标概率,收入是乘积,存在唯一最优点;② 你真正的建模对象是 出价分布 F(或等价的中标概率曲线) ,而不是"一个价格数字"。所有算法,本质都是在对 F 做估计。 01 流量分层:先给流量定档,再谈定价 底价是"给一档流量定一个价",所以分层的质量直接决定底价算法的上限。 分层做粗了,再好的定价模型也只能在错误的粒度上做优化。 分层的三个层次 ① 维度层:用哪些信号切流量 分层维度决定了你能切多细,也决定了样本量是否足够。实践中的信号顺序大致是: 类别 典型特征 分层作用 库存 广告位 ID、尺寸、广告形式、页面位置、可见性 决定基础价值,是分层的第一主键 媒体 / 应用 媒体 ID、App 分类、内容主题、品牌安全等级 决定买家池与品牌适配度 用户 / 设备 设备类型、OS、运营商、地域、价值分 决定需求方出价意愿(iOS/一线城市通常更高价) 上下文 / 时序 时段、星期、大促节点、竞争密度 捕捉需求侧波动,是动态定价的关键输入 切分粒度要受"最小样本量"约束:一个流量簇每周样本不足,估计出的分布就不稳定,宁可回退到上一级粒度。 ② 方法层:怎么把流量归到档位 从易到难有四条路径,绝大多数团队应该按顺序演进: 规则打标(IF-THEN)。 用人工规则给流量贴标签,如"WiFi × 一线城市 × 开屏 = 高价值档"。简单直观,但规则一多就互相冲突,且无法捕捉需求侧变化。适合冷启动。 分位数分桶。 对某个价值代理指标(历史 eCPM、历史成交价)做分位数切分,把流量均匀分进 N 个档。优点是每档样本量自动均衡,是实现"动态底价第一版"最实用的选择。 聚类 / 监督打分。 用 K-means、GBDT 或嵌入向量对流量簇聚类,再由模型输出一个连续"价值分",按分数切档。能捕捉非线性关系,但对数据量和特征工程要求高。 在线实时分层。 把分层做成在线推理的一部分,同一批流量在不同时段、不同竞争密度下可落到不同档位。这是成熟平台的做法——分层是动态复用的,不是静态归属。 ③ 映射层:档位对应哪种交易模式 分层的结果必须落到具体的售卖方式上,否则只是标签游戏。典型的映射阶梯: PDB 最高档 · 保量定投 › PD 固定价优先成交 › PMP 邀请制竞价 › Open Auction 公开竞价 · 走量 › 兜底 ADN 长尾保底填充 分层的一条硬规则 高档流量的判定不能只看历史价格,还要看 可售性 :如果一档流量虽然历史 eCPM 高,但买方数量少、成交不稳定,把它放进 PDB 反而会违约。分层要同时考虑"价值"和"需求的确定性"。 02 动态底价:从理论到落地的四级算法谱系 2.1 理论基础:Myerson 保留了什么问题,没解决什么问题 底价在学术上叫 保留价(Reserve Price) ,MRC 把"底价"与"保留价"视为同义词。1981 年 Myerson(以及独立的 Riley 与 Samuelson)证明:当买家估值独立同分布且满足正则性条件时, 收入最优的拍卖就是"二价拍卖 + 一个精心选择的保留价" ,该保留价等于该分布下的垄断价,记作 r* = ψ⁻¹(0) (ψ 为虚拟估值函数)。 这条结论给出了方向的正确性,但在工程上有三个现实障碍: 分布未知。 你永远不知道真实的出价分布 F,只能从成交数据里估计——而成交数据是被当前底价 截断(censored) 的:低于底价的出价根本看不到。 多买家和异质场景。 Myerson 假设 i.i.d.,而真实 ADX 的买家价值分布高度不对称,且每个流量簇的分布都不同。 优化问题非凸。 放宽假设后,求解最优保留价在理论上是困难的,实践中只能近似。 另一个重要的边界条件是 Bulow–Klemperer 的结论 :在单物品拍卖里,"多吸引一个买家"带来的收入提升,往往超过"把保留价调到最优"。所以底价优化不能替代需求侧拓展—— 引入一个高价 DSP,常常比把底价算法调优 5% 更值钱。 2.2 关键机制区分:硬底价、软底价、第一/第二价格 机制 作用 实现要点 硬底价 Hard Floor 低于底价的出价被 直接丢弃 ,不参与胜出 OpenRTB 中由 bidfloor 承载;丢标原因码 100 软底价 Soft Floor 不改变"谁能赢",只改变"赢家付多少" OpenRTB 没有标准字段 ;合规敏感,需谨慎使用 Deal 底价 私有交易有独立底价 不继承展示层币种;丢标原因码 101 二价拍卖 赢家支付"次高价 + 一美分";此时底价 会直接决定成交价 若次高价低于底价,成交价被抬到底价 一价拍卖 赢家支付自己的出价;底价只做"资格筛选" Google Ad Manager 自 2019 年转向统一一价拍卖 这个区别极其重要:同样的底价,在二价拍卖里是"定价工具",在一价拍卖里只是"过滤器"。调参前必须先确认自己平台用的是哪套机制。 一个说明机制差异的最小例子 两家 DSP 对某曝光估值分别为 $1 和 $3 。二价拍卖下,若底价设 $0.50,$3 的买家胜出但只付 $1; 把底价提到 $2.50,同一个赢家要付 $2.50 ——价格由底价而非对手决定。换成一价拍卖,面对 $1 和 $2 的出价,$2.50 的底价会让这笔交易 直接流拍 ,除非买家主动抬价。 2.3 四级算法谱系 下面的阶梯按"实现难度 / 数据需求 / 收益上限"排列,建议逐级演进,而不是一步跳到强化学习。 LEVEL 1 统计基线法 对每个流量簇,取历史成交价的 分位数 (如 P50 / P60 / P75)乘以一个系数作为底价。 任何动态底价系统的第一版都应该从这里开始 ——它给你一个干净的 Baseline,用来判断"动态底价对这个平台到底值不值得做"。 实现 数据需求 收益上限 LEVEL 2 分布估计 + 期望收入最大化 不满足于取分位数,而是 估计整个出价分布 (经验分布 / 分位数回归 / 贝叶斯后验),再在候选价网格上直接枚举求解 max r·P(bid≥r) 。数…