AB页跳转核心算法:探索率衰减与奖励信号设计

AB页跳转核心算法:探索率衰减与奖励信号设计
AB页跳转核心算法:探索率衰减与奖励信号设计

AB页跳转核心算法:探索率衰减与奖励信号设计

流量结构里一堆未标注样本,部署环境又卡着毫秒级决策的线,验收的时候看的还不是短期点击率、而是长期转化收益——这三个条件但凡同时摆到桌面上,AB页跳转的规则引擎就撑不住了,光靠一张静态阈值表根本跑不动。算法层必须加两个东西进来:探索率衰减和奖励信号设计。前者管的是系统还愿不愿意去试新分支,后者管的是它怎么判断某个分支值不值得继续喂流量。下面我就按定义、组成、适用边界和相邻概念对比这四块,把这套算法拆开讲一遍。

概念定义:什么是探索率衰减与奖励信号设计

探索率衰减说白了就是系统刚上线那阵子,故意用比较高的概率把流量分给那些还不是最优的跳转分支,也就是探索;等样本攒得差不多了,再一点点把这个概率压下来,转到利用阶段,最后收敛到一个稳定的分配策略上。奖励信号设计是另一件事,它要回答的是"什么样的跳转结果算好结果",得把它量化成规则。这里面拆开有三个子问题:奖励从哪来、奖励什么时候算、奖励怎么聚合。

这两个机制是绑在一起用的。探索率衰减管的是"试多少",奖励信号设计管的是"试出来的结果怎么评价"。少了前面那个,系统可能很早就锁死在一个次优分支上不动了;少了后面那个,探索拿回来的数据没法转成有效的策略更新,等于白试。

机制组成:三个核心模块

探索率调度器

这个调度器每次做跳转决策的时候,都要吐出一个探索概率值出来。实现方式我见过的大致分三类:

时间衰减型:探索率跟着运行时长走,线性降或者指数降都行,流量稳定的场景用这个比较顺;样本计数型:探索率跟着累计决策次数往下降,流量忽大忽小的场景更适合;置信区间型:盯着某个分支的奖励置信区间,宽度收窄到阈值以下了就自动把探索率调低,对收敛速度有明确要求的场景选它。

有个点特别容易被忽略——衰减曲线的下界不能设成零。留一个最低探索率,一般1%到5%这个量级,流量结构哪天变了,系统还能靠这点余量重新感知到。

这一层要回答三个问题:奖励从哪里来、什么时候算、怎么聚合。

  • 奖励来源:转化事件(表单提交、支付完成)可以,页面停留时长、滚动深度也可以,还能做复合指标。单一来源响应快,但容易过拟合;复合来源稳一些,代价是要做归一化处理
  • 奖励延迟:
  • 用户跳转之后,可能过好几分钟甚至几个小时才完成转化。延迟奖励就得设计回传窗口,窗口开太短信号稀疏,开太长策略更新又滞后
  • 奖励聚合:
  • 按会话聚、按用户聚,还是按时间窗口聚,这个选择直接影响到同一个分支的奖励方差

策略更新回路

策略更新回路干的事,是把奖励信号反馈回分支权重上。更新频率别搞太高——每次决策完就立刻更新,权重会震荡得厉害,通常是按固定批次来,比如每500到1000次决策更新一轮。更新幅度归学习率管,学习率给大了策略不稳,给小了收敛慢得让人着急。

适用条件与边界

这套算法真不是所有AB页跳转场景都能往上套。下面几个条件得同时满足才行:

  • 日均跳转决策量得够一个量级。决策量太低,探索出来的样本撑不起统计判断,衰减机制反而是往里加噪声
  • 奖励信号可观测,而且延迟可控。转化事件回传不到决策系统,奖励信号设计这事就没法谈
  • 分支数量有限,一般压在3到8个之间。分支一多,每个分支分到的探索样本就少得可怜
  • 业务上允许一定比例的流量分给非最优分支。如果业务硬性要求每次跳转都必须命中当前最优策略,那探索机制直接用不了

边界之外的情况也说一下:纯规则匹配的场景,比如按地域硬分流,不需要探索率衰减;单分支场景压根没有探索的必要;奖励信号完全观测不到的场景,只能退回静态权重方案

实战案例

去年接触过一个跨境电商投放团队,日均跳转决策量大概一千二三百次,服务器就两台4核8G的云主机。他们一开始把探索率下界设成了零,上线三天系统就锁死在一个分支上了,结果那个分支的转化率第二周开始往下掉——查下来是某个地区的流量结构变了,而系统已经没有探索余量去感知这个变化。后来怎么调的?把下界抬到3%,同时把奖励聚合窗口从按会话改成按用户,减少同一用户多次跳转带来的重复计数。调整完策略在两周内重新收敛,后面流量结构再变,也能在三到四天内感知到。坑主要踩在两个地方:一个是奖励回传窗口最初设了10分钟,大量延迟转化被漏掉了;另一个是策略更新频率过高,权重在头两天一直在那震荡。

相邻概念对比

探索率衰减和奖励信号设计,本质上就是多臂老虎机框架在AB页跳转这个场景下的具体实现。多臂老虎机给的是数学框架,解决的是怎么平衡探索与利用;而这里讨论的是工程落地时额外要处理的一堆事:奖励延迟怎么接、分支权重怎么持久化、决策延迟怎么压在毫秒级。

静态权重分配是人工把各分支的流量比例定死,数据怎么变它都不动。探索率衰减这套是动态的:初始权重可以先均匀分,随着奖励信号攒起来,慢慢往高奖励分支倾斜。效果已知而且稳定的场景,静态方案就够用;效果不确定、或者会随时间漂移的场景,才轮到动态方案上场。

与规则引擎的关系

规则引擎管的是"什么条件下触发跳转",探索率衰减与奖励信号设计管的是"多个可跳转目标之间流量怎么分"。这俩是互补的:规则引擎先做粗筛,比如把不满足条件的设备或地域排掉,算法层再做细分配。规则引擎输出的是候选分支集合,算法层输出的是每个候选分支的分配概率。

常见问题

探索率衰减会不会导致系统永远无法收敛?

不会。衰减机制的设计目标本身就是收敛,保留最低探索率只是让系统始终留着一个很小的"感知窗口"。这个窗口不是用来继续优化当前策略的,它的作用是在流量结构发生变化的时候,提供一个早期信号。

奖励信号可以用点击率代替转化率吗?

可以,但代价得想清楚。点击率信号密集、延迟低,冷启动阶段拿它快速收敛挺合适;转化率信号稀疏、延迟高,不过更贴近业务目标。常见做法是分阶段用:冷启动期用点击率做粗调,稳定期切到转化率做精调。

分支数量多少算合适?

没有固定值,得看日均决策量和奖励信号的稀疏程度。一个可操作的判断标准是:每个分支每天至少能分到几十次决策,不然探索出来的样本在合理时间内形不成有效判断。

总结

AB页跳转核心算法里的探索率衰减与奖励信号设计,解决的是动态流量分配中的两个基本问题:什么时候该去试新分支,以及怎么判断一个分支值不值得继续投。探索率调度器、奖励信号定义层、策略更新回路,这三个是核心模块。适用条件包括足够的决策量、可观测的奖励信号、有限的分支数量,还有业务对探索的容忍度。跟多臂老虎机框架比,工程落地时额外要处理奖励延迟、决策延迟和权重持久化。跟静态权重分配比,这套机制更适合效果不确定、或者会随时间漂移的场景。

ABcloakPro斗篷在AB页跳转服务中,将探索率衰减与奖励信号设计作为规则引擎之上的动态分配层,帮助投放团队在流量结构变化时保持策略的有效性。

AB
关于作者:ABcloakPro 技术团队

ABcloakPro 技术团队拥有 5 年以上 Cloak 技术实战经验,专注研究百度斗篷、谷歌斗篷、AB 页跳转、页面跳转等领域,累计服务超过 1000+ 用户。团队持续跟踪各大广告平台审核规则变化,提供真实可落地的防封策略与配置方案。

本文内容由 ABcloakPro 技术团队原创撰写,基于真实实战经验整理,转载请注明出处:关于我们