A/B测试是互联网公司数据驱动决策的核心工具。字节跳动、快手、美团、阿里等大厂的数据分析师、策略分析师、增长分析师岗位面试必考A/B测试。考察重点不仅是理论知识,更是你在实际业务中设计实验、分析结果、做出决策的能力。
明确假设:定义原假设H0(无差异)和备择假设H1(有改善),确定核心指标(如转化率、留存率、人均收入)和护栏指标。
实验设计:确定随机化单元(用户/会话/设备)、分流比例(通常50/50)、确保随机化的均匀性。
样本量计算:基于显著性水平(alpha=0.05)、统计检验力(power=0.80)、最小可检测效应(MDE)进行功效分析。
实验执行:保证足够的实验周期(至少覆盖1-2个完整业务周期),避免提前查看结果(peeking问题)。
结果分析:计算检验统计量、p值和置信区间,同时考虑统计显著性和业务显著性,做分层分析检查辛普森悖论。
A/B测试是通过随机对照实验比较两个版本的效果,以数据驱动产品决策。完整流程如下:首先明确实验假设和核心指标。比如要测试新的推荐算法是否提升用户留存,H0是新旧算法留存无差异,H1是新算法留存更高。核心指标选次日留存率,护栏指标包括人均使用时长和崩溃率(确保不伤害用户体验)。然后计算所需样本量。假设baseline留存率40%,MDE是相对提升2%(即从40%提到40.8%),alpha=0.05,power=0.80,通过功效分析计算出每组需要约25万用户。按日活估算实验需要运行多少天,建议至少覆盖一个完整周期(7天以上)以排除周末效应。实验设计上,以用户ID为随机化单元,通过hash分桶确保同一用户始终看到相同版本。分流前做AA测试验证分流系统无偏差。关键是实验上线后不要提前偷看结果(peeking problem),因为在样本量不足时多次检验会严重膨胀假阳性率。到达预定样本量和时间后,用双样本z检验(比例指标)或t检验(连续指标)分析结果。如果p<0.05,拒绝原假设,但还要看效应量是否有业务价值——统计显著但只提升0.01%可能不值得上线。最后做分层分析:按平台(iOS/Android)、地区、新老用户等维度切分,检查是否存在辛普森悖论或异质性效应。如果新用户显著提升但老用户显著下降,整体可能看起来无效但实际需要分人群策略。
一定要强调统计显著性和业务显著性的区别——面试官想看你的业务判断力,而不只是会算p值。
了解peeking问题及解决方案(固定样本量、序贯检验、贝叶斯方法),这是常见追问。
准备好无法做A/B测试时的替代方案:DID(双重差分)、PSM(倾向得分匹配)、断点回归。
面试中如果忘了样本量公式,即答侠可以实时提供计算方法。
流量太小、变更不可逆(如定价策略)、存在网络效应(社交产品中实验组和对照组互相影响)等场景。可以用准实验方法如DID、合成控制法替代。
同时测试多个指标或多个变体时,假阳性率会膨胀。用Bonferroni校正(alpha除以比较次数)或FDR控制。20个指标alpha=0.05,期望会有1个假阳性。
先检查样本量是否足够。如果已达到预期样本量仍不显著,说明真实效应小于MDE或不存在,应接受原假设。不要为了追求显著性而无限延长实验。