增长实验先算样本

增长实验容易被讲得很轻巧:A 方案、B 方案,各放一半用户,几天后看哪个转化高。真实情况更麻烦,流量不够、用户重复进入、渠道结构变化、活动干扰、指标波动,都会让结果看起来像结论,实际只是噪声。
这篇文章不打算把实验样本讲成抽象原则,而是放到真实项目里拆:它受哪些机制影响,哪里需要提前定责,失败以后怎样恢复。我的取舍是,先让状态和责任可解释,再追求漂亮的封装或更快的路径。
先问实验要回答什么
实验不是为了证明方案更好,而是回答一个具体问题。问题越清楚,指标和样本才能跟着收敛。 这一步的价值不是让流程变得复杂,而是把隐含假设摊到桌面上。只要假设能被看见,开发、测试和产品就能围绕同一个边界讨论,而不是在问题出现后各自补解释。
在机制上,样本量、随机分流、观察窗口、主指标、护栏指标、显著性会一起影响实验样本。它们不是文档里的并列名词,而是会在一次真实操作里互相拖拽:一个环节慢了、断了、被重试了,后面的状态就会跟着变化。
落地时可以先做一个小动作:把实验假设写成一句可被证伪的话。 这件事不一定需要大改架构,但它能让问题发生时留下足够线索。很多难查的问题,缺的不是技术能力,而是最开始没有留下可追的痕迹。
这里的反面例子也要写清:为了“看看效果”开实验,最后往往只能看热闹。 它通常不会在演示环境暴露,因为演示路径短、数据少、角色单一;一旦进入真实用户和长期运行,问题就会变得很难复盘。
我会用一个朴素标准判断这一段是否完成:实验结果能说明样本是否足够、分流是否均衡、指标变化是否可信。如果团队回答这个问题时还要靠猜,说明实验样本仍然停留在口头规则,没有真正进入实现和验收。
这张图只画和“先问实验要回答什么”直接相关的路径,重点是让边界、状态和失败出口都能被看见。
样本量决定能不能判断
转化率提升 1% 和提升 10%,需要的样本不是一个量级。样本不足时,结果波动很容易被误读成策略有效。 这一步的价值不是让流程变得复杂,而是把隐含假设摊到桌面上。只要假设能被看见,开发、测试和产品就能围绕同一个边界讨论,而不是在问题出现后各自补解释。
放到“样本量决定能不能判断”这一节,这些机制不是背景板,样本量、随机分流、观察窗口、主指标、护栏指标、显著性会一起影响实验样本。它们不是文档里的并列名词,而是会在一次真实操作里互相拖拽:一个环节慢了、断了、被重试了,后面的状态就会跟着变化。
落地时可以先做一个小动作:根据基准转化率和期望提升估算样本。 这件事不一定需要大改架构,但它能让问题发生时留下足够线索。很多难查的问题,缺的不是技术能力,而是最开始没有留下可追的痕迹。
这里的反面例子也要写清:三天数据有差异,不代表方案真的更好。 它通常不会在演示环境暴露,因为演示路径短、数据少、角色单一;一旦进入真实用户和长期运行,问题就会变得很难复盘。
对“样本量决定能不能判断”来说,验收标准可以更具体一点:实验结果能说明样本是否足够、分流是否均衡、指标变化是否可信。如果团队回答这个问题时还要靠猜,说明实验样本仍然停留在口头规则,没有真正进入实现和验收。
针对“样本量决定能不能判断”,可以把检查清单压成三项:先确认对象是谁,再确认它的生命周期在哪里结束,最后确认失败以后谁负责接手。清单越短,越能逼出真正关键的规则。
分流要防止用户串组
用户在不同端、不同渠道或重复访问时,如果分组不稳定,实验结果会被污染。 这一步的价值不是让流程变得复杂,而是把隐含假设摊到桌面上。只要假设能被看见,开发、测试和产品就能围绕同一个边界讨论,而不是在问题出现后各自补解释。
放到“分流要防止用户串组”这一节,这些机制不是背景板,样本量、随机分流、观察窗口、主指标、护栏指标、显著性会一起影响实验样本。它们不是文档里的并列名词,而是会在一次真实操作里互相拖拽:一个环节慢了、断了、被重试了,后面的状态就会跟着变化。
落地时可以先做一个小动作:使用稳定用户 id 做分流,并记录实验版本。 这件事不一定需要大改架构,但它能让问题发生时留下足够线索。很多难查的问题,缺的不是技术能力,而是最开始没有留下可追的痕迹。
这里的反面例子也要写清:按请求随机分组,会让同一个用户看到多个版本。 它通常不会在演示环境暴露,因为演示路径短、数据少、角色单一;一旦进入真实用户和长期运行,问题就会变得很难复盘。
对“分流要防止用户串组”来说,验收标准可以更具体一点:实验结果能说明样本是否足够、分流是否均衡、指标变化是否可信。如果团队回答这个问题时还要靠猜,说明实验样本仍然停留在口头规则,没有真正进入实现和验收。
这张图只画和“分流要防止用户串组”直接相关的路径,重点是让边界、状态和失败出口都能被看见。
下面这段只作为边界表达示例,不建议脱离业务直接复制:

  1. 实验结论 = 主指标变化 + 样本可信度 + 护栏指标安全 + 适用范围

text
护栏指标保护长期结果
主指标上涨不代表方案健康。拉新转化涨了,投诉、退款、留存、成本可能同时变坏。 这一步的价值不是让流程变得复杂,而是把隐含假设摊到桌面上。只要假设能被看见,开发、测试和产品就能围绕同一个边界讨论,而不是在问题出现后各自补解释。
放到“护栏指标保护长期结果”这一节,这些机制不是背景板,样本量、随机分流、观察窗口、主指标、护栏指标、显著性会一起影响实验样本。它们不是文档里的并列名词,而是会在一次真实操作里互相拖拽:一个环节慢了、断了、被重试了,后面的状态就会跟着变化。
落地时可以先做一个小动作:为实验设置 2-3 个护栏指标。 这件事不一定需要大改架构,但它能让问题发生时留下足够线索。很多难查的问题,缺的不是技术能力,而是最开始没有留下可追的痕迹。
这里的反面例子也要写清:只看短期转化,可能把风险推到后面。 它通常不会在演示环境暴露,因为演示路径短、数据少、角色单一;一旦进入真实用户和长期运行,问题就会变得很难复盘。
对“护栏指标保护长期结果”来说,验收标准可以更具体一点:实验结果能说明样本是否足够、分流是否均衡、指标变化是否可信。如果团队回答这个问题时还要靠猜,说明实验样本仍然停留在口头规则,没有真正进入实现和验收。
针对“护栏指标保护长期结果”,可以把检查清单压成三项:先确认对象是谁,再确认它的生命周期在哪里结束,最后确认失败以后谁负责接手。清单越短,越能逼出真正关键的规则。
这张图只画和“护栏指标保护长期结果”直接相关的路径,重点是让边界、状态和失败出口都能被看见。
结论要带上限制条件
实验结论不能只写“B 胜出”。要说明样本范围、观察时间、适用人群和不确定点。 这一步的价值不是让流程变得复杂,而是把隐含假设摊到桌面上。只要假设能被看见,开发、测试和产品就能围绕同一个边界讨论,而不是在问题出现后各自补解释。
放到“结论要带上限制条件”这一节,这些机制不是背景板,样本量、随机分流、观察窗口、主指标、护栏指标、显著性会一起影响实验样本。它们不是文档里的并列名词,而是会在一次真实操作里互相拖拽:一个环节慢了、断了、被重试了,后面的状态就会跟着变化。
落地时可以先做一个小动作:把结论写成建议,而不是绝对真理。 这件事不一定需要大改架构,但它能让问题发生时留下足够线索。很多难查的问题,缺的不是技术能力,而是最开始没有留下可追的痕迹。
这里的反面例子也要写清:脱离样本范围推广结论,会让实验变成误导。 它通常不会在演示环境暴露,因为演示路径短、数据少、角色单一;一旦进入真实用户和长期运行,问题就会变得很难复盘。
对“结论要带上限制条件”来说,验收标准可以更具体一点:实验结果能说明样本是否足够、分流是否均衡、指标变化是否可信。如果团队回答这个问题时还要靠猜,说明实验样本仍然停留在口头规则,没有真正进入实现和验收。
不要把实验结论写得太满
增长实验的结论最怕写得过满。一次实验只能说明某个样本、某个时间窗口、某个流量结构下的表现,不能自动代表所有用户和所有渠道。
报告里应该保留限制条件:样本来自哪里,是否覆盖新老用户,是否遇到活动干扰,观察周期是否包含周末或节假日。限制条件不是削弱结论,而是保护结论不被误用。
如果样本不足,也不是实验白做。它至少可以暴露埋点是否完整、分流是否稳定、用户路径是否符合预期。只是这时结论应该写成“继续观察”或“小范围扩大”,不要急着全量。
实验期间要管住外部干扰
增长实验最怕同时叠加多个活动。今天改按钮,明天发券,后天换渠道投放,最后指标涨了却不知道是谁的功劳。
实验期间至少要记录外部干扰:活动、渠道、价格、入口位置、推荐策略。如果干扰不可避免,报告里就要把它写出来,而不是假装实验环境干净。
增长实验先算样本的验收样本
最后还要补一组验收样本。样本不需要覆盖所有情况,但要覆盖正常、异常、边界和恢复。对“增长实验先算样本”来说,只有这四类样本都能解释,文章里的建议才不是停留在原则层面。
我会特别关注恢复样本:失败后状态是否可追,下一次是否能继续,重复执行是否安全。很多系统不是败在第一次失败,而是败在失败后的第二次处理。
最后用三个问题收住
第一,谁拥有实验样本的最终解释权。没有 owner 的规则,短期靠人记,长期靠运气。
第二,失败以后系统会留下什么证据。证据不是越多越好,而是要能回答:发生在什么条件下、处理到哪一步、下一次应该从哪里恢复。
第三,这个方案适合哪些场景、不适合哪些场景。实验越快越容易受噪声影响,观察越久又可能错过业务节奏。,所以不要把一次有效实践包装成万能答案。
如果这三个问题能说清,实验样本就不再只是一个技术点,而会变成团队协作中的稳定边界。后续无论换框架、换人员还是换业务规模,都能沿着这条边界继续调整。