☰
AB实验中的两大隐形杀手:新奇效应与改变厌恶解析
2026/10/14 22:12:32 网站建设 项目流程

做实验做得久了,难免会遇上一些“打脸”时刻。明明上线前评估时觉得十拿九稳的改动,实验结果却给你当头一棒;更常见的是,同一个改动,月初开实验效果正向显著,月底再开一次却变成了负向甚至不显著。这时候很多人会怀疑数据出问题了,或者统计方法用错了。但在我个人看来,更多时候是输给了两个非常隐蔽的心理效应——新奇效应(Novelty Effect)和改变厌恶(Change Aversion)。这俩是AB实验里最容易被忽略、又最能误导决策的坑,尤其用在用户端的产品改版、推荐策略优化、活动运营等场景时,踩中的概率极高。

这篇文章主要想把这俩效应彻底讲透:它们到底是什么、为什么会让你的实验数据“失真”、怎么在实验设计和分析阶段提前规避,以及真踩进去之后怎么拆解和补救。适合正在做AB实验的算法工程师、数据分析师、产品经理和增长运营同学参考,不管你是刚入门还是已经有一段实验经验,里面应该都有一些值得直接拿走的思路。

1. 效应拆解:新奇效应和改变厌恶到底是什么

先说结论:这俩效应本质上都是“用户面对变化时的非理性反应期”,只是一个让数据虚高,一个让数据虚低。把握住这个本质,后面所有的方法论都能串起来。

1.1 新奇效应:新东西带来的“蜜月期幻觉”

新奇效应指的是,当用户突然看到一个跟以前不一样的界面、功能或者交互方式时,会因为新鲜感、好奇心、探索欲而表现出异常高的参与度。这种高参与不是因为你做的改动真的好,而仅仅因为它“新”。

举个例子。你公司楼下开了一家新餐厅,头一周永远排队,因为大家都想去尝个鲜。但三个月后你再去看,可能门可罗雀,因为菜品其实一般。AB实验里的新奇效应就像“新店排队现象”:实验组用户被赋予了新体验,他们在实验初期的点击率、停留时长、活跃度都会不自然地飙升,但一旦新鲜感消退,数据就会迅速回落到真实水平,甚至跌到比对照组还低。

想判断实验组数据是否被新奇效应污染,看趋势图就能发现典型形态:实验开跑后前1-3天,实验组指标显著上冲,随后几天一路下滑,最终要么回到和对照组持平,要么稳定在某个同样显著但幅度小得多的位置。很多“跑了两天就万分显著”的实验,最后复盘时发现贡献主要来自头几天的新鲜劲。

这里有个容易混淆的点:新奇效应用在内容推荐和活动运营领域时,会被刻意放大利用。比如首页换了一个强运营的banner、上线一个玩法新颖的签到活动,初期数据爆发有一部分就是新奇效应带来的。如果你做的是长期留存指标,这类早期爆发会严重误导你对“这个功能是否值得留下”的判断。

1.2 改变厌恶:不是讨厌你的方案,而是讨厌“改变”

改变厌恶更好理解了。人对熟悉的东西有一种天然的舒适感,内心会为“熟悉的做法”加成。当情况发生变化,即使这种变化客观上是更好的,用户也会下意识地排斥,表现得比原来更差。

还记得我们当初改版某个核心页面时,新设计明明在可用性测试里完胜旧版,但上线后一周数据惨不忍睹,差评也很多。那时候团队差点把新设计回滚了。后来经过数据复盘才发现,回滚才是真正的错误。用户点“不喜欢”并不是对新版本身不满意,而是“老页面我闭着眼睛都会用,你突然改了路线,我当然要骂两句”。等两周后用户习惯了新布局,所有指标不仅追平了旧版,还在后续跑出了显著正收益。

改变厌恶的数据形态和新奇效应恰好镜像:实验开跑后,实验组指标先被压低,低到触目惊心,随后缓慢爬升,慢慢追平,再继续走高。如果没有足够耐心等到“适应期”结束,很容易在真实效果还没显现之前就早早宣判改动失败了。

1.3 这俩是一枚硬币的两面

有意思的是,新奇效应和改变厌恶经常出现在同一类改动里。一个改版,对部分用户来说是新奇,对另一部分用户来说是厌恶;或者同一个用户先经历了厌恶期,又过渡到新奇期,最终稳定下来。

我习惯把这两个效应统一放到一个框架下理解:任何改变都需要一个“适应期”,适应期的波动方向和幅度取决于用户年龄、产品属性、改动可感知程度、功能复杂度等多种因素。

比如,面向年轻用户、以娱乐为主的产品,新奇效应更容易盖过改变厌恶,因为年轻人对新事物的接受度高;而面向专业用户、以效率为主的后台工具,改变厌恶会格外强烈,因为老用户已经建立了肌肉记忆和心智模型,任何布局调整都会先带来“找不到功能在哪”的挫败感。

这也可以解释为什么做实验评估时,不能只看“总用户”的平均指标,要看时间趋势,要看不同用户群体的差异,否则很容易被这两个效应带偏。

2. 为什么AB实验会在这两个效应上翻车:底层逻辑拆解

搞清楚了定义,再来说说为什么AB实验这种号称“科学决策”的方法,也会在这两个效应面前栽跟头。我理解下来主要有三个层面的原因。

2.1 实验周期和市场节奏之间的天然矛盾

最本质的冲突,是理想的实验周期和现实业务节奏之间的矛盾。一个需要两周以上才能穿越适应期的实验,偏偏业务方只给了你三天时间,因为“排期等不了”“竞品已经上了”“老板下周就要看结论”。于是大量实验在适应期结束前就被强行读取指标并做出决策。

这个矛盾的可怕之处在于,如果真实效果是负向的,选择快速结束实验,可能会把暂时的改变厌恶误判为永久性的体验恶化,从而错杀了一个本来正确的好方案。如果真实效果是正向的,又会把新奇效应带来的早期虚高当成了最终收益,做出了保留或全量的决策,等数据回落之后才追悔莫及。

个人经验里最典型的场景就是大促前的一波密集改版。所有业务方都想在大促前把“最优版本”跑出来,于是实验全部挤在同一个窗口期开跑,留给数据收敛的时间只有两三天。结果就是所有实验都被状态波动笼罩,没有哪个结论是真正可信的。这种情况下数据分析师能做的,不是把不可信的结论包装成可信,而是要明确告诉业务方:这个结论不成熟,全量风险很高。

2.2 样本量计算和效应值的乐观偏差

很多团队的实验设计阶段就有问题。样本量计算依赖两个关键输入:期望的最小可检测效应(MDE,Minimum Detectable Effect)和指标方差。但实际操作中,大家为了“尽快出结果”,经常会犯两个错误。

第一,把预期提升幅度设得太乐观,比如希望点击率提升10%,但实际上这个产品模块的历史优化幅度平均也就在1%-3%左右。按照虚高的预期去算样本量,结果就是实验所需样本远小于实际需要的量。第二,没有考虑到新奇效应本身会加大早期指标方差,这会造成实验组早期的方差明显高于稳态期。用固定方差的公式估算出来的样本量在前期根本不适用。

结果就是:实验开跑前信心满满,觉得按计划3天就能出结论,结果3天后数据波动大得根本出不了显著性。然后开始脑暴加样本、延周期,甚至试着手工“挑数据”找显著,整套操作彻底偏离了概率统计的轨道。

2.3 新老用户在同一场实验中的信号抵消

还有一层更深的问题:任何一场用户端实验,参与人群都是新用户和老用户的混合体,而这两拨人受到心理效应的影响方向可能完全不同。

假设你做了一个首页布局改版,新用户因为没有历史使用习惯,根本不存在“改变厌恶”,反而更容易被新布局吸引而产生新奇效应;老用户则可能先经历“找不到原本熟悉的入口在哪”的烦躁期,产生明显的改变厌恶。如果实验过程中新用户占比很低,整体数据就会被老用户的改变厌恶往下压,让你误判设计本身很差;如果新用户占比高,整体数据又可能被新奇效应托起来,让你误判设计已经很好了。

这也是为什么仅仅看实验的总体验指标是不够的。哪怕总体验指标已经达到统计显著,也需要分别看新老用户的子组数据。如果两个子组的方向不一致,真正合理的决策往往不是“全量”或“回滚”,而是“按用户分层分阶段放量”,或者“继续延长观察时间等老用户适应新方案”。

3. 实操中的规避与应对:从实验设计到分析决策

理论聊完之后,直接进入实操部分。这部分是我踩过好几年坑之后复盘出来的思路框架,大致分成实验设计阶段要做的预先准备、实验运行阶段要做的过程监控、收尾分析阶段要做的分层验证,以及真实遇到效应叠加时怎么拆解。

3.1 实验设计阶段:先把周期和样本量规划对

在实验还没跑之前,就应该提前规划好对抗心理效应的策略。

第一步,用标准公式估算最小的样本规模。拿最常见的二项指标转化率来举例,需要用到显著性水平(通常取0.05)、统计功效(通常取0.8)和MDE。计算公式是:

n = ( (Z_(1-α/2) + Z_(1-β))^2 * 2p(1-p) ) / δ^2

这里p是基线的转化率,δ是你要能检测到的最小绝对变化,Z值对应正态分布分位数,α=0.05时Z取1.96,β=0.2时Z取0.84。假设基线转化率p=10%,你想检测出1个百分点的绝对提升(δ=0.01),代入算出来大概是:

n = ( (1.96+0.84)^2 * 20.10.9 ) / 0.01^2 ≈ 15680

也就是说每个组大概需要15680个用户。如果你总日活跃用户是10万,每个组每天能分到1万用户,那么至少需要跑1.6天才能攒够样本。但要记住,这个计算过程中隐含了一个前提:指标已经处于稳态。实际考虑到新奇效应和改变厌恶会显著抬升前期的指标方差,我一般会在理论样本量的基础上乘以1.5到2倍作为实际运行的时间基线。

第二步,为预期会出现的心理效应提前预设“最短运行周期”。绝不要让样本量计算成为唯一的周期标准,更稳妥的方式是把“完整度过适应期”作为前提条件。具体到不同产品,适应期长短不太一样。面向老用户的功能改版、工作流变化,适应期至少按2周来打底;面向新用户的首活、注册流程,适应期相对短,3-7天基本能度过;而涉及推荐策略、信息流排序这类高频使用场景,也要留足一周以上,因为用户需要多次访问才能建立新习惯。

第三步,决策标准提前写下来。这就是预注册(Pre-registration)的思路。在实验开跑前,把“判定改动有效”的标准写清楚,比如“需要观察至少14天”,比如“实验组的核心指标在最后7天的平均值上相对于前7天不能有明显衰减”,比如“新用户和老用户必须分方向看,当方向不一致时必须等待更长期观察”。把这些写下来,是为了避免实验跑着跑着因为数据好看或不好看而临时改标准,这是导致“看着看着数据就决定全量”这类操作的主要原因。

3.2 实验运行阶段:用趋势视角替换截面对比视角

实验一旦开始,不要天天只盯“今天的P值是多少”,更不要每天都做一次显著性检验。从我个人的实操来看,最有效的监控方式是把注意力放到“趋势形态”上。

具体操作很简单:把实验组和对照组的核心指标按天拉出来,画成两条曲线。如果实验组曲线呈现出“第一天冲高、随后连续回落”的形态,就要高度怀疑新奇效应;如果呈现出“前两三天被压制、随后逐日抬升”的形态,就要高度怀疑改变厌恶。

另外,可以额外画一条“实验组相对对照组的相对差异曲线”。为什么不用绝对值而用相对值?因为绝对值受大盘自然波动影响太大,而相对值在一定程度上能抵消掉整体大盘的日度波动。比如某个周一全站点击率都涨了,这只是周一效应,不代表你的实验变有效了。但相对差异能更快地反映出实验组的真实增益是否在收敛。

很多分析平台会有“累计增量显著性图”,但这类图天生就带有严重的滞后性,因为它把过去的累计数据和最新数据掺在一起,导致曲线一旦定了方向就非常难反转。我建议大家不要只依赖平台默认图表,而是要自己用SQL把每天的指标拆出来,做一张按天口径的表,再手动画趋势。这看起来费功夫,但确实能提前几天发现异常。

3.3 收尾分析阶段:样本分层和分周期切片

到了实验收尾出结论的阶段,给出一组“总体验指标显著为正”远远不够。我一般会至少从两个维度再切一刀。

第一刀是按新老用户或者按用户的使用频次分层。产品和运营总有更适合的判断维度,比如新注册用户、低频用户、高频用户。对于有改变厌恶风险的改动,高频老用户是最需要单独看的人群;对于包含新奇效应的改动,新用户是最先吃到红利的人群。通过观察不同群体的时间趋势,能非常直观地看出来:总体的正向效果到底是来自新用户的新奇驱动,还是老用户适应后的真实改善。

第二刀是按实验运行的前中后三个时间窗切片。比如一个14天的实验,切成第1-4天、第5-9天、第10-14天三段,分别计算每个窗口内实验组和对照组的指标差异。如果三段差异先大后小甚至转负,这是标准的新奇效应衰减形态;如果先负后正,这是标准的改变厌恶穿越形态。如果三段差异一直稳定为正,那这个结论才真正值得信任。

这里有一个细节容易被忽略——统计显著性也要分开看。最终的显著性检验不要用完整实验期所有数据,而是用最后一个时间窗(比如第10-14天)的数据做参考结论。前面那些天的数据可以用于诊断和趋势判断,但作为决策依据应该更加侧重于稳态阶段。这并不是说你需要对数据进行人为截断,而是在设计方案时就把稳态窗口定义为一个分析子集,让业务方理解这个窗口内的结论是最可信的。

3.4 同时遭遇新奇效应和改变厌恶时,怎么拆解

现实中的实验往往没这么单纯。一个复杂的功能改版,可能新用户那边新奇效应强,老用户那边改变厌恶强,总指标取决于两边人群的比例和效应强度。这时候不做分层,就完全无法解读数据。

拆解方法也比较直接:按用户身份和访问天数交叉分组。

拿老用户来举例,可以根据“实验开跑后第几天第一次访问”把用户分组:第1天就来的算“第一批接触新版本的老用户”,第3天才来的算“延迟接触用户”,第10天才来的算“后期接触用户”。第一批用户会经历完整的改变厌恶到适应过程,后期接触用户几乎不会在数据窗口内经历厌恶期,因为来迟的人没有足够的访问次数去形成“旧习惯被打破”的感知。

将这两组人的指标变化轨迹对照起来,你就能判断改变厌恶随时间推移的衰减速度。如果第1天接触新版本的用户在第3天以后指标已经恢复正常,那么改变厌恶最多影响前3天的数据,后续阶段就能简单处理了;如果第1天接触的用户到了第10天指标还在缓慢恢复,那说明用户需要很长的时间适应,这会直接影响你的决策判断——你给用户留够适应时间了吗?

如果这种拆解超出了现有分析平台的能力,也可以退一步用简单的“首次访问实验组后的第二次访问表现”来做判断。二次访问指标是改变厌恶的一个绝佳探测器。用户第一次接触新版本时即使不喜欢,第二次再来时就已经属于“熟悉新版本”的范畴了,如果二次访问的核心指标依然明显低于对照组,那大概率不是适应期问题,而是这个新版本真的不好用。

4. 实战案例复盘:一次首页信息流改版的完整拆解

理论讲多了容易飘,我拿一个印象很深的实战案例来复盘一下。这个案例来自一个内容类App的首页信息流排序策略改版,本质上就是把原来依据编辑推荐位+时间序排列的算法,改成了以用户偏好为主的个性化排序。

4.1 实验背景

产品当时面临的情况是次留和高频用户的时长都有轻微下滑,团队判断是信息流不够精准导致用户内容消费动力下降,于是推进了这次改版。改动方案就是替换整个信息流的排序算法,完成开发之后进入AB实验阶段。实验人群是近30天活跃用户,核心指标是次日留存率、人均曝光点击率(CTR)和人均使用时长。

4.2 数据趋势复盘

我凭记忆把当时的趋势变化拆成几个阶段,大致如下表(数据都做了脱敏处理,只是用来示意形态):

时间段实验组相对对照组CTR变化实验组相对对照组次留变化我的判断
第1-2天+8%+1.5%明显的新奇效应,需要警惕
第3-5天+5%+0.8%效应开始衰减,但仍在正向区间
第6-8天+2.5%+0.1%基本回归稳态,正向幅度大幅缩小
第9-14天+2%+0.3%稳定在一个较小的真实增量上
新用户子组全程偏向+5%以上全程偏正新用户对新排序没有厌恶,新奇效应更强
高频老用户前3天平或偏负前3天明显偏负改变厌恶主导,需要更长的适应时间

当时如果我们只在第2天看结果,会以为这个改版CTR提升8%,效果惊艳,直接全量转发周报。但把时间轴拉长之后,真实增量只有2个百分点,次留增量只有0.3个百分点。

这个2%的增量依然可能具有商业价值,但肯定不会像早期看到的8%那么让人激动。另一个关键信号是高频老用户前3天的次留为负,甚至比对照组低,这恰恰是改变厌恶的表现。如果当时直接根据3天数据做正向决策,后面很可能面临老用户流失。后来我们在第14天的窗口内重新看稳态数据,高频老用户的次留已经追平并且小幅转正,才决定谨慎放量,先全量10%观察一周,再逐步放量。

4.3 从这次案例里总结的教训

第一个教训:任何一个跟老用户既有习惯相关的改动,都不可能“三天见效”。它天然需要一个适应期,前期数据被改变厌恶压着是正常现象。反过来,如果看到的不是前期被压,而是前期冲高,那更要警惕,因为冲高的原因更大可能是新奇而不是真实改善。

第二个教训:不要把单个核心指标的变化作为唯一判断依据。当时如果把CTR作为唯一核心指标,很容易做出过于乐观的判断。一旦把次留拉进来做联合评估,答案就会谨慎很多。做实验评估时,最好至少搭配一个体现“即时体验”的指标和一个“中长期留存/价值”的指标,这样两个指标之间的劈叉本身就是发现心理效应的信号。

第三个教训:分层分析和时间切片不是“有余力才做”的可选项,而是必要项。实验数据如果不拆人群看趋势,总体的“平均数”会把很多关键信息抹掉。尤其当业务涉及老用户核心体验时,用户分组的使用习惯差异很可能是决定这一版能否全量的分水岭。

5. 常见问题与排查技巧实录

平时被问到最多的问题主要集中在“怎么提前发现”“数据已经跑完了怎么办”“平台工具不支持分层怎么办”这几类。这里集中整理一下,也顺带说说我的排查思路和一些实用的边缘技巧。

5.1 常见问题速查表

现象最大嫌疑排查建议
实验组前2天数据暴涨,随后连续衰减新奇效应拉日粒度趋势线,计算“第1天到第7天”的衰减斜率
实验组前3天数据变差,第4天后缓慢反弹改变厌恶不要中止实验,至少观察到反弹稳定为止
总体验指标显著,但新老用户方向相反双重效应叠加分别画新老用户时间趋势,确定各自方向后决定全量/回滚/按群放量
实验已经跑了14天,但最后3天和前面11天趋势不一致版本变更/外部事件排查实验期间是否有产品配置变动、市场活动、竞品变动
显著性检验天天在做,前3天显著后4天又不显著多重检验导致P值抖动停止“偷看”数据,预注册固定决策点,只看最后稳态窗口

5.2 两个不常见的排查技巧

先说“日历时间对齐法”。实验两端如果是在工作周的不同开点,会混入星期效应。我不建议直接用“第1天、第2天……”作为时间轴做对比,更好的方式是按练历日期对齐,比如实验从周三开跑,那对照组历史基线也应该用同样的周三到周日窗口来对比。这样可以分离出星期效应对趋势的干扰。尤其当实验周期小于一周时,这个技巧能很有效地降低误判率。

再说“事件延迟检查”。很多实验平台的数据回报有延迟,尤其是App端,用户访问后客户端的事件上传可能要第二天才全量到齐。如果你在第1天早上就去看前一天的实验数据,数据可能只有70%的回报率,而且回报率往往和用户活跃程度正相关。这会导致“前一天的数据看起来特别好,后一天追报以后又回归正常”,看起来很像新奇效应衰减,实际上是数据延迟造成的假象。建议在看日趋势时,统一使用延迟两天的数据口径,或者至少在分析时留意事件回报完整率。

5.3 客观面对“不能做长周期”的现实约束

还有一个绕不开的问题:业务方就是不让你跑14天怎么办。这种时候我的建议是,至少要做到三点:第一,明确告诉业务方缩短周期的风险,让他们在知情的情况下做决策;第二,用阶梯放量的方式来对冲风险,比如先放10%的流量观察一周,再放20%,而不是直接从5%实验流量全量到100%;第三,给全量版本也预留一个“可回滚”的机制,一旦后续数据趋势偏离预期,能快速切回。

阶梯放量从本质上说也是一种小规模实验的迭代,它虽然没有严格的随机分组和显著性检验,但可以通过“观察灰度后的实际行为数据”来确认心理效应是否已经进入适应期。很多产品团队后来走的路,都是把严格的AB实验用于短周期、低风险的UI微调,而把有心理效应风险的大改版交给“分阶段灰度+长期指标追踪”,这个组合效果其实非常稳定。

6. 给团队流程上的几条建议

说完技术细节,最后说点流程上的建议。因为上面所有这些方法,如果团队流程上不给支撑,单靠一个分析师在那里“守住底线”是守不住的。

第一条是建立“实验等级制度”。把实验按照改动可感知程度、用户覆盖范围、预期适应期长短分成不同等级。比如文案、颜色、布局微调属于轻量级实验,可以按常规周期快速跑;涉及核心流程重构、信息流算法更换、付费模块改版这类高感知改动,强制要求预留最低实验周期,并且必须给出分层分析。这个制度如果能写进实验规范里,能省下大量后期扯皮的时间。

第二条是固定“检查点”而不是“每天盯”。实验开跑后的第2天、第5天、第9天、第14天是固定的检查点,其他时间除非看到严重异常(比如 App 崩溃、线上事故),否则不人为判断好坏。把预设检查点写进文档,比每早看一眼数据然后焦虑一天要健康得多,也科学得多。

第三条是在实验报告模板里强制加上“时间趋势图”和“新老用户分层图”。不要只填一个P值了事。这两个图能逼着每个做实验的人把视角从“结论导向”切换到“过程导向”,从“这个改动好不好”扩展为“这个改动对不同用户在什么阶段分别产生了什么影响”。这个视角的转变才是对抗新奇效应和改变厌恶的根本。

我始终觉得,AB实验最难的部分从来不是算P值,而是怎么把业务判断建立在可信的数据基础之上。新奇效应和改变厌恶就是这场信任博弈里最典型的两个对手。它们不会因为你的实验设计“看起来很正规”就放过你,但它们也并不是什么黑魔法,只要提前设计好周期、运行中多看趋势、收尾时做好分层,就完全可以把它们从干扰项变成诊断用的信号。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询