12.1 ABtest

流程:

  1. 明确实验目标

    要优化什么指标,如支付转化率、加购率、点击率等,并定义核心指标、辅助指标与安全指标。

  2. 实验设计

    确定实验组和对照组、流量分配、实验周期、随机化分流方式,并考虑样本独立性、防止干扰。

  3. 样本量计算

    根据基准转化率、期望提升幅度、置信度和检验功效计算样本量,避免实验结果不显著或成本浪费。

  4. 实验执行与监控

    实时监控数据质量、流量均匀性、指标波动,避免脏数据干扰实验。

  5. 统计检验与分析

    对结果进行显著性分析,如t-test、卡方检验、Mann-Whitney、Bootstrap,根据数据分布选择正确方法,同时关注稳定性与用户异质性。

  6. 结论与策略落地

    判断是否全量上线、继续实验还是放弃,并记录实验文档,纳入知识库。

12.1.1 确定目标与指标选取

考虑:业务要改变什么 ——> 哪些指标能量化这种改变 ——> ABtest能拉动哪些环节的指标

据此确定核心指标辅助指标安全指标

其中核心指标与业务需求密切相关,用来判定实验是否成功;辅助指标则是与核心指标相关联的其余指标,用户辅助分析变化原因;安全指标是我们的红线,我们总是希望在安全指标不会恶化的前提下尽可能地提升核心指标。

注意所选指标的短期效应与长期效应

举例:

  • 目标:更改结算页面的UI设计以提升用户支付意愿

  • 核心指标:支付转化率(下单—>支付成功)

  • 辅助指标:下单数、支付成功笔数、平均支付时长

  • 安全指标:退款率、重复下单率

12.1.2 实验设计

  1. 构造原始假设与备择假设

    原始假设应为新操作不会带来显著差异,备择假设为新操作会让目标变好或者变坏

  2. 确定实验对象

    可能不同的实验针对的用户群体不一样,需将用户细分后再进行实验。

例如首充激励应该针对尚未进行过充值的用户而言,而非面向全体用户。

  1. 流量分配

    确保采取随机分配的原则均匀分配流量,确保实验组和对照组用户画像一致,避免辛普森悖论(控制其余变量)。

可采用两样本t检验、卡方检验或者方差分析来判断两组的指标是否具有显著差异

可采取50:50的比例进行分配。若实验风险较大,可采取逐步灰度的方法不断调高实验流量所占的比例,在过程中持续监控相关指标及实验效果。

  1. 样本量计算

    核心思想是在给定显著性水平\(\alpha\)、检验功效\(1-\beta\)及预期差异大小\(\Delta\)时,构造出不同假设下对同一临界值的描述,从而解出样本量\(n\)

检验功效表示当总体分布确实存在差异时,统计检验能够发现这种差异的概率

在实验设计阶段,最小可检验效应MDE即\(\Delta\)

故有

单边检验

比例指标:

\[ \begin{gather} n = \frac{(Z_{1-\alpha}\sqrt{2\bar{p}(1-\bar{p})}+Z_{1-\beta}\sqrt{p_1(1-p_1)+p_2(1-p_2)})^2}{(p_2-p_1)^2} \\ \bar{p}=\frac{p_1+p_2}{2} \end{gather} \] 若假设两组方差相等,则可简化为

\[ \begin{gather} n = \frac{2p(1-p)(Z_{1-\alpha}+Z_{1-\beta})^2}{\Delta^2} \\ p \approx{p_1} \end{gather} \]

连续指标:

\[ n = \frac{2\sigma^2(Z_{1-\alpha}+Z_{1-\beta})^2}{\Delta^2} \]

注意\(n\)为每组所需样本量,在均分流量的情形下总样本量为2\(n\)

当显著性水平越低,检验功效越高,波动越大,差异越小,所需的样本量就越大

  1. 实验周期计算

    当确定了实验所需的样本量后,那么实验周期为样本量除以每日能够纳入到实验中的样本量。但并非每日获取到的所有流量都会进入到实验中。

    记每日符合研究条件的流量总数为\(U\),对照组和实验组所需的样本量分别为\(n_1\)\(n_2\),流量进入到实验的比例为\(g\),流量分配到对照组和实验组的比例分别为\(p_1\)\(p_2\)

\[ \begin{gather} T_{control} = \frac{n_1}{U*g*p_1} \\ T_{treat} = \frac{n_2}{U*g*p_2} \\ T_{min} = \max{(T_{control}, T_{treat})} \end{gather} \]

事实上,实际的实验周期要比理论实验周期要长,理由如下:

  • 实验周期需要覆盖完整的业务周期

  • 用户行为可能存在滞后性,需要延长一段时间

  • 避免“新鲜感效应”,核心指标可能在前期很好看,但当新鲜感褪去后又回归平淡

  • 其他事件导致流量波动

12.1.3 实验上线

  • 确保埋点采集的数据与实验所需数据口径一致

  • 可在小范围内进行实验用于检验流量、分组、埋点都没问题

  • 持续监控每日流量、核心指标与安全指标,检查分组是否均衡

  • 不能因为短期波动而提前结束实验,若安全指标持续恶化则考虑停止实验

12.1.4 实验结束

  1. 计算各指标在实验组和对照组中的均值或比例

  2. 进行显著性检验,输出效果差异、P值或置信区间、效应量

效果差异为业务场景的绝对差异或相对差异;效应量表示统计视角的差异大小,如Cohen统计量

  1. 做必要的分层分析,看看指标在不同群体中是否有差异

看看实验组和对照组核心指标的差异是否满足预先设定的变化量MDE。

以置信区间为评价指标,若指标显著且置信区间下界大于MDE,则可以上线;

若指标显著,但置信区间包含MDE,则统计显著但效果不确定。(也就是实验操作会带来差异,但这种差异不一定符合预期)。此时考虑是否需要延长实验、增加样本或改动方案。

若指标显著,但置信区间上界小于MDE,则统计显著但效果不显著。(也就是实验操作会带来差异,但这种差异不符合预期)。此时考虑是否需要延长实验、增加样本或改动方案。

若指标不显著那就GG了。