Bing 的两个判官都说赢了
先接上一课留的那个问题,选哪个数当判官。
Bing 自己讲过一个让我印象很深的例子1。他们的长期目标很清楚,搜索的市场份额和广告收入。那按说,判官就该是「用户搜了多少次」和「广告点了多少」。
问题来了。你把搜索结果故意弄得差一点,会发生什么?用户一次搜不到,就再搜一次,再换个词搜一次。搜索次数涨了。搜不到想要的,看见广告就多点两下碰运气。广告收入也涨了。
两个判官都说你赢了。但你干的事是把产品弄差。这种赢能持续多久?用户换搜索引擎为止。
Kohavi 他们最后的解法是把判官反过来定。一个任务用越少的搜索次数完成越好,而一个用户一段时间里来做的任务越多越好。这两个数短期不一定涨得好看,但它们真的指向长期。
这个判官在 Kohavi 的书里叫 OEC,Overall Evaluation Criterion,整体评价标准。名字很学术,意思很朴素,一个实验最后到底看哪个数来判输赢,而且这个数要能代表公司的长期目标,不是谁方便看谁。定 OEC 是整个实验体系里最难的一件事,难到 Kohavi 建议每年重新审一次。
护栏,不能变差的那几个数
光有一个判官还不够,还得有护栏。
护栏指标是那些「不能变差」的数。页面加载速度、崩溃率、卸载率、投诉量。实验可以在主指标上赢,但护栏破了就不算赢。
为什么要单独设护栏,因为主指标会让人上头。Bing 做过一个专门的实验,故意把一部分用户的页面拖慢 100 毫秒,另一部分拖慢 250 毫秒,跑两周1。
于是他们定了条规矩,任何新功能只要让页面慢了几毫秒以上,就得先等,要么自己优化,要么别的地方省出这几毫秒来。
你看,这就是护栏的作用。每个功能团队都只看自己那个主指标,都赢了,页面一年下来慢了一秒,整个产品输了。第 1 课讲切两半是为了干净地比一个数,这课讲的是,那个数不能随便选,而且不能只看一个。
小胜会累加成复利
好,判官和护栏有了,回到标题那个问题。赢了一次,公司真的赚到了吗?这里有两条路径,一条是看得见的,一条是很多公司压根没算过的。
看得见的那条,叫小胜累加。Bing 那个 12% 是十年一遇。HBR 那篇里说的是,实验帮 Bing 每个月找出几十个跟收入有关的改动,每个都不大,但它们加在一起,让 Bing 每次搜索的收入每年涨 10% 到 25%1。每年。连着好几年。这是个复利。
第 1 课讲过为什么大公司要跑上百万人的实验,为了看见 0.1% 的差。现在你知道为什么值得了,0.1% 乘以几亿次搜索,再乘以一年几十个这样的改动。
自报的赢加起来,去哪了
看不见的那条,是个更诚实的问题。
每个实验都说自己赢了。这个 +1%,那个 +2%,一年下来几十个赢家,加起来 +40%。然后你去看公司总的 DAU、总的收入,涨了 8%。
剩下那 32% 哪去了?
几个地方。一,赢家诅咒。你只上线了赢的实验,但「赢」里有一部分是运气,第 1 课的噪音。把噪音偏大那边的都挑出来上线,整体就是高估的。二,新奇效应。用户看到新东西会多点两下,两周以后就习惯了,实验跑两周测到的提升里有一块是这种「新鲜感」,会衰减。这块主要发生在老用户身上,新用户没见过旧版,不会有这个。反过来还有一种,首因效应,老用户对旧版有惯性,新版一上来吃亏,跑久了才追回来。三,实验之间互相吃。两个实验各自都涨了 2%,但它们抢的是同一批用户的同一段时间,合在一起不是 4%。
自报的赢,和真的赢
一年 40 个赢了的实验,每个自报 +0.5% 到 +3%,加起来是虚线。拖三个滑杆,看真实那条线被削掉多少。
那怎么知道一年的实验到底给公司赚了多少?
大公司的做法是留一组2。随机挑 5% 或 10% 的用户,一整年什么新功能都不给,就让他们用年初那个版本。年底拿这 10% 的人跟其他人一比,差的那块,才是这一年所有实验叠在一起的真实贡献。这组人叫 holdout,长期留出组。
我觉得这个做法挺狠的。它等于公司主动放弃了 10% 用户一年的增长,就为了知道一个真数。但反过来想,如果不留这组人,你一年到头看到的全是每个团队自己报的「+2%」,没有一个数能告诉你它们加起来是多少。
好得反常的数字,先当 bug 查
再说一个反向的护身符,Twyman 定律3。意思是,任何看起来特别惊艳的数字,大概率是数据错了。实验显示收入 +40%,第一反应不该是开香槟,是去查埋点。Bing 那个 12% 的案例,系统第一时间报的就是「好得不像真的」警报,Kohavi 说那个警报平时报出来的基本全是 bug,那次是极少数的例外。
推送文案实验,新文案点击率 +20%,显著。护栏指标里,一周内的卸载率也涨了,从 0.8% 到 1.0%,也显著。上不上?
B。主指标赢了,护栏破了,这就不算赢。+20% 的点击大概率是标题党换来的,卸载率涨的是用户在用脚投票。
一个实验显示新版首页让次日留存 +15%,对一个成熟 App 来说,这数字比过去一年所有实验加起来还大。下一步该干嘛?
B。分流是不是均匀,埋点是不是两边不一样,新版是不是把某个统计点多触发了一次。好得不像真的,先当 bug 查。查完没问题,再开香槟。再跑两周不解决埋点问题,错的数跑多久都是错的。
这一课,判官要代表长期目标,而且旁边要有护栏,不然会跑出「把产品弄差也算赢」的结果。小胜会累加成复利,但每个实验自报的赢加起来一定比真实多,真数要靠留一组人一年不动来量。好得反常的数字先当 bug 查。
OEC · 主指标一个实验最后看哪个数判输赢,要代表长期目标
护栏指标不能变差的那几个数,速度、崩溃、卸载、投诉
holdout · 留出组随机留 5–10% 用户一年不给新功能,年底量真数
新奇效应 · 首因效应新东西多点两下会衰减,旧习惯让新版一开始吃亏
Twyman 定律任何看起来特别惊艳的数字,大概率是数据错了
这一课的数字从哪来
- Bing 搜索变差 → 查询数与广告点击短期上涨、最终 OEC 的选法、OEC 每年重审;100 / 250 毫秒拖慢实验、每 100 毫秒 −0.6% 收入、年收入 30 亿美元以上及随后的速度规矩;每月几十个收入相关改动、每次搜索收入每年 +10–25%:The Surprising Power of Online Experiments(HBR 2017),原文已逐字核对。速度实验另见 Kohavi ConvEx 2019 演讲。1800 万美元是 30 亿 × 0.6% 的折算。
- holdout 长期留出组的做法与用途:Statsig、Eppo。
- 新奇效应、首因效应、Twyman 定律:Kohavi, Tang, Xu《Trustworthy Online Controlled Experiments》(2020)。
- +40% 对 +8%、5% 或 10% 留出、卸载率 0.8 → 1.0、次日留存 +15%、动手块里的 40 个实验全是示意数字。「运气 + 新鲜感 + 互相吃」是对缺口的常见解释,不是某家公司公布的分解。
下一课换个地方。前三课的例子都是一个实验怎么跑,但 Bing 每个月几十个、Booking 任何时刻上千个,字节更夸张,同时跑的实验是五位数。几万个实验在同一群用户身上同时跑,流量怎么够切,它们之间怎么不打架?
同时跑五万个实验,怎么不打架。