下面所写内容是我在实习期间学习 A/B 测试时的一些思考和整理,主要是帮助自己理清知识,同时借鉴给大家,欢迎大家指出不足。
原理
AB实验在实操过程中其实就是假设检验:我们将用户随机划分为两组(A 组和 B 组),其中 A 组作为对照组,B 组作为实验组,对 B 组施加某种策略或改动(如按钮颜色、算法逻辑、页面布局等),然后通过统计方法判断这个改动是否带来显著的指标提升。听起来有一点像控制变量法,括弧同样有对照组。
本质理解
AB 测试是用“数据说话”的方式来决定产品走向,是在不确定中找到确定性的量化依据,支持某种决策的实施和某种产品最终是否要上线。
AB测试的流程
涉及的部门
在实习的过程中,我发现完整的一个Abtest一般是需要很多部门一起完成的,产品一般起到沟通的作用,衔接个个部门,除此之外,还有研发,数据部门,开发等等。
主要流程
从策略到实验,再到验证上线,AB 测试是一条完整的闭环流程。下面是主要的过程以及简略的解释和理解。
明确实验目标与改动点
明确要优化的功能点,如按钮位置、文案、推荐算法等。
确定核心指标(KPI)
明确我们要通过哪一个指标来观测实验的效果,比如点击率、转化率、GMV、留存等,注意指标应与目标高度对齐。
样本量和实验周期计算
用统计公式或工具计算最小样本量(避免“样本不够信不过”的同时也要避免‘样本过大是显著的,但是提升不明显’的情况发生)。
流量分割与实验设计
确保组间随机、均匀、独立,避免因用户特征分布不一致而偏差,这一阶段假如处理不好可能回导致辛普森悖论(下文会提到)。
灰度发布、上线实验
为了避免对过多的用户产生不良的影响,我们应该先小流量预试,确保功能稳定、安全后再全量放开。
数据收集与效果评估
对我们得出的数据进行分析,按预设指标进行显著性检验,如 T,Z 检验、卡方检验等,不同的检验方法适用于不同的情况,具体情况具体分析
上线决策与复盘优化
若有效则推广上线,否则总结原因优化再试,显著不一定代表可上线,不显著不一定代表没有盈利的地方。
在这一系列步骤中,数分主要参与的是其中的大部分阶段,我会逐步拆解每一步里面的细节。
明确改动点与核心指标
首先,ABtest比较重要的一步我认为应该是控制变量,不能杂糅变量一起进行,当然这样可能会导致效率太低,后续会提到分层分流的方法,来尽量提高效率。
我们一般会与产品或者负责对应项目的项目经理来协商如何改动,改动点在哪。但所有的改动都要明确一个原则:“单因素试验”原则,即每次实验只能测试一个变量。如果改了多个点(如同时改文案+位置),就无法判断到底是什么带来的影响。
核心指标
核心指标一般分为两种,分别是绝对值类和比率类,两种统计类型的样本量计算方法也是不同的,其实大部分用的应该都是比率类型的,在实习过程中我一般是通过埋点提取json字段构建漏斗模型看板,计算每一步的转化率,看看改动带来的各种转化率的变化。
类型
举例
说明
绝对值类
DAU、停留时长、点击数
常见于运营监控,波动较大
比率类(推荐)
点击率、转化率、留存率
与用户行为相关、波动相对稳定,更适合做检验
样本量 & 实验周期计算详解
为啥要计算样本量?
核心目的:避免“白做实验”
样本太少:实验结果随机性大,误判率高(显著性不够)
样本太多:浪费资源、拉长周期,还可能出现“伪显著”(放大微小波动,也就是结果显著,但其实提升十分的微小)
样本量的关键参数:
显著性水平/统计功效/指标波动性/效益量ES
再细拆,样本量的计算我们是有公示的,而公式里面的数据一般是有五个关键参数:
参数
解释
推荐值