TapCub 正式上线:统计、分析、客服一个平台免费用
术语表

什么是多臂老虎机(Multi-Armed Bandit)?算法、示例和 A/B 测试对比

多臂老虎机在测试进行中就把流量往表现更好的方案倾斜,用一部分统计确定性换取更少的转化损失。原理、三种常用算法、计算示例,以及什么时候 A/B 测试更合适。

苏禾 审核人 林舟 又称 MAB 最后更新 2026 年 11 月 7 日 术语表

一句话回答

多臂老虎机(Multi-Armed Bandit,MAB)是一种自适应分配流量的测试方法:随着结果陆续出来,表现更好的方案分到更多流量,在「探索」(弄清哪个更好)和「利用」(多用目前领先的)之间取得平衡。

公式: 遗憾 = n × μ* − 实际总收益;UCB1 得分 = x̄ᵢ + √(2 ln t ÷ nᵢ)

什么是多臂老虎机?

多臂老虎机(Multi-Armed Bandit)是一种「边测边赚」的测试方法:它不是把流量平均分到最后,而是随着数据积累,逐步把更多访客分给表现更好的方案。它在探索(多试几个方案,弄清哪个更好)和利用(多用目前领先的方案)之间取得平衡。

名字来自老虎机,英语里叫「独臂强盗」。想象一排回报率未知的老虎机:只拉最先出钱的那台,可能错过更好的;每台都平均地拉,又会在差的机器上浪费钱。Bandit 算法要解决的,就是怎样分配这些拉杆次数。

探索、利用和「遗憾」

测试的代价叫遗憾(Regret):因为没有一直选收益最高的方案而少拿到的收益。

示例(示例数据):两个落地页的转化率分别是 5% 和 6%。经典 A/B 测试把 10,000 个访客五五分:

  • 5,000 × 5% + 5,000 × 6% = 250 + 300 = 550 次转化
  • 如果全部给更好的页面,能得到 10,000 × 6% = 600 次
  • 遗憾 = 600 − 550 = 50 次转化

Bandit 会随着证据积累把流量往 6% 那个页面倾斜,从而减少遗憾。代价是较差的页面分到的访客更少,你对「它到底差多少」的估计就没那么准。

常用的 Bandit 算法

算法怎么选优点缺点
ε-贪心大部分时间展示当前领先的方案,固定比例(ε,比如 10%)的流量随机分给任一方案简单,好解释,好实现会一直以同样比例去试差的方案
置信上界(UCB1)选 x̄ᵢ + √(2 ln t ÷ nᵢ) 最大的方案:平均值加上一个「测得少就多给机会」的加分不靠随机,有理论保证假设转化率稳定不变
汤普森抽样为每个方案保留一个概率分布,每次各抽一个值,展示抽到最大值的方案调整快,实际效果好向业务方解释起来更难

示例:汤普森抽样怎么分流量

示例数据:三个邮件标题,先发出 1,000 封后的结果。

标题发送数转化数转化率
A334133.9%
B333175.1%
C333216.3%

汤普森抽样把每个转化率建模成 Beta 分布:Beta(1 + 转化数, 1 + 未转化数)。从三个分布里反复抽样(我们模拟了 20 万次),C 抽到最大值的比例是 71.3%,B 是 23.9%,A 是 4.9%。所以下一批大致按 71 / 24 / 5 分配。B 还能分到不少流量,因为它仍然有可能是赢家;A 基本被淘汰,但没有被完全排除。每一批之后更新分布,重新计算分配。

多臂老虎机和 A/B 测试怎么选

A/B 测试多臂老虎机
目标弄清真实差异测试期间尽量多转化
流量分配到结束前保持不变向表现好的方案倾斜
产出效果大小、置信区间、p 值主要是「留哪个」
适合产品决策、定价、长期指标短期活动、标题、促销、方案很多的情况
风险测试期间损失转化估计有偏;用户行为随时间变化时容易误导

经验法则:想多赚用 Bandit,想弄清楚用 A/B 测试。如果这个方案要用好几年,弄清楚的价值远大于测试期间多出的几天转化。

上下文 Bandit

上下文 Bandit(Contextual Bandit)在选择时还会用到访客的信息(设备、国家、新老访客)。它能学到「移动端用标题 B 好、桌面端用 C 好」。它需要多得多的流量和精心设计的特征,更像一个推荐系统,而不是一次测试。

常见坑

  • 转化有延迟:如果购买发生在点击几天之后,算法按不完整的数据分配,会偏向那些转化得快的方案。
  • 用户行为在变:工作日和周末的人群转化不同。分配比例随时间变化时,合并后的结果可能误导,这是辛普森悖论的一种表现。
  • 没有干净的统计推断:常规的 p 值假设分配比例固定。如果需要显著性,用 A/B 测试,或者为自适应设计准备的方法,比如序贯检验。
  • 方案太多、流量太少:十个方案、每周 500 个访客,什么都收敛不了。

多臂老虎机和 TapCub

TapCub 是统计分析工具,不负责分配流量,不做 A/B 测试,也不做 Bandit。如果是你的测试工具或邮件工具在跑 Bandit,可以把方案作为事件属性上报,比如 tapcub.track('headline_view', { variant: 'C' }),再在事件分析里按这个属性拆分转化事件。这样能独立核对测试工具报告的结果,还能看到它看不到的后续结果,比如留存。

资料来源

这个解释清楚吗?

我们会根据反馈修改和补充这篇内容。

苏禾

数据分析师

围绕流量来源、转化漏斗与用户留存写作,重视指标口径和分析过程,用具体示例解释数字背后的问题。

常见问题

常见追问

大家看完定义后最常问的几个问题。

还有其他问题?

直接和 TapCub 团队聊聊——工作日通常几小时内回复。

为什么叫多臂老虎机?

老虎机在英语里被戏称为「独臂强盗」。这个问题设想一个赌徒面对好几台回报未知的老虎机,要决定拉哪台的拉杆,才能让总收益最大。

多臂老虎机比 A/B 测试好吗?

它更擅长在测试期间少损失转化,但更不擅长告诉你差异有多大、是不是真的。想多赚用 Bandit,想弄清楚用 A/B 测试。

什么是汤普森抽样?

一种 Bandit 算法:为每个方案的转化率保留一个概率分布,每次从每个分布里随机抽一个值,展示抽到最大值的方案。越可能胜出的方案,被展示得越多。

什么时候不该用 Bandit?

成功指标有很长的延迟(留存、几个月的收入)、用户行为会随时间变化,或者你需要一个干净的效果估计来做产品决策的时候。

在你自己的网站上看这个数字

加一行脚本就能开始,网站和 App 都能接,几分钟内就能看到第一批报表。

看清数据,找到增长。

每一次点击,都有数据依据。装好一行代码,1 分钟看到第一批数据。

无需信用卡 · 统计与客服都有免费版 · 统计无 Cookie