基于 PI 控制的 CTR 收敛与分层策略设计
背景
在 Adx 系统中,CTR 与 DSP 出价强相关:CTR 越高,DSP 出价越高,系统整体营收随之提升。但与此同时,过高的 CTR 往往伴随着更高的媒体投诉率。 因此,系统需要在 营收提升 与 媒体合规 之间找到一个动态平衡点。
不同媒体对高 CTR 的敏感度存在显著差异,统一阈值难以适配。为此,我们为每个媒体代码位配置 目标 CTR,并通过系统调控,使 真实 CTR 稳定逼近目标 CTR。
总体思路
核心目标可以抽象为一个控制问题:
在约束条件下,使系统输出(真实 CTR)稳定收敛到期望值(目标 CTR)。
我们采用 比例控制(P)或比例-积分控制(PI) 思想,对 A+(高 CTR 策略)下放比例进行闭环调节:
- 定期采样真实 CTR
- 计算与目标 CTR 的偏差
- 根据偏差大小调整 A+ 比例
- 控制调整幅度,避免剧烈振荡
分层策略包设计
为什么要分层
不同用户群体对“高 CTR”策略的容忍度不同。 例如:
- 一线城市用户,对投诉更敏感
- 下沉市场或特殊媒体,对强刺激策略容忍度高
因此我们将流量划分为 7 个策略等级,等级越高,对 CTR 的“贡献责任”越大。
策略包结构
- 每个等级包含 两个策略包:
- 高 CTR 策略包(A+)
- 低 CTR 策略包(A)
- 同一等级内:
- 高 CTR 下放比例 =
x% - 低 CTR 下放比例 =
100% - x%(被动调整)
- 高 CTR 下放比例 =
系统只显式调整高 CTR 的比例,低 CTR 自动补齐。

CTR 调整规则
当真实 CTR < 目标 CTR
- 优先从高等级开始调整(第七级 → 第一级)
- 逐步提升该等级的高 CTR 比例
- 单个等级存在上限(如 90%)
- 若触顶,则继续向低一层等级扩展
原则:等级越高,越应承担更多 CTR 提升责任
当真实 CTR > 目标 CTR
- 从当前调控等级开始 反向回退
- 逐级降低高 CTR 比例,直至 CTR 回落到目标区间
冷启动与初始状态
冷启动问题
在新媒体代码位或新 DSP 上线时:
- 缺乏历史数据
- 无法判断同一等级中哪个策略 CTR 更高
冷启动策略
- 同一等级内 均分流量进行试探
- 引入 一级策略包(最合规策略)进行流量稀释
- 避免在早期就出现高 CTR 占比过高的风险
示意如下:
- 冷启动阶段:一级策略包占比较高,用于兜底
- 数据稳定后:进入初始调控状态,开始分层调节
收敛过程
随着数据积累,系统进入 初始状态 → 最优状态:
- 从第七级开始,根据 CTR 偏差进行调整
- 高 CTR 比例逐步提升或回退
- 多等级联动,形成整体 CTR 收敛
- 最终真实 CTR 稳定在目标 CTR 附近
整个过程是 渐进、可控、可回退的,而非一次性决策。
目标 CTR 的上下限约束
为了防止目标 CTR 设置不合理,我们引入了 数据驱动的边界约束:
- 下限:基于所有低 CTR 策略包的历史数据计算
- 上限:基于高 CTR 策略包的历史表现估算
该范围用于:
- 指导运营或配置系统合理设定目标 CTR
- 避免系统进入不可达或高风险区间
数据依赖与稳定性要求
该方案对数据质量要求较高,核心依赖包括:
- DSP × 媒体代码位的实时 CTR
- 用于与目标 CTR 对比
- 决定系统调控方向
- 要求准确、低延迟
- 策略包级别 CTR
- 用于区分高 CTR / 低 CTR 策略
- 更关注稳定性而非实时性
策略分层的演进
第一版策略分层仅使用 地理位置:
- 北上广深 → 高等级
- 三四线城市 → 低等级
后续将逐步引入更多维度:
- 用户手机价格区间
- 历史点击与转化行为
- 设备与使用场景特征
最终形成 多维度人群分层 × CTR 控制 的统一调度体系。
总结
该 CTR 控制方案的核心特点是:
- 使用 PI 控制思想,实现稳定、可回退的 CTR 收敛
- 通过 分层策略包,将 CTR 风险分摊到不同人群
- 冷启动、初始状态、最优状态路径清晰
- 数据驱动目标 CTR 边界,降低策略风险
它不是一个“追求最高 CTR”的系统,而是一个 在约束下追求最优 CTR 的工程系统。