第 217 题:A/B测试框架,流量分割与实验正交性?
题目
A/B测试框架,流量分割与实验正交性?
完整讲解
一、A/B 测试框架的目标
A/B 测试:将流量分割为多组(如对照组 A、实验组 B),各组使用不同策略/模型/参数,通过指标对比评估策略效果。框架需支持:流量分割(稳定、可配置)、实验正交(多实验不互相干扰)、指标统计与显著性。
二、流量分割
- 分割方式:按 用户 ID 或 请求 ID 做稳定哈希(如 hash(uid) % 100),再按桶映射到实验组(如 0~49 为 A、50~99 为 B),保证同一用户/请求始终进同一组。比例:可配置 A:B = 50:50 或 90:10 等。
- 稳定性:哈希与分组逻辑固定,避免同一用户在不同时间或不同层进不同组;分层:若多实验,可用正交分层(见下)避免互抢流量。
三、实验正交性
- 含义:多个独立实验(如实验 1 测模型、实验 2 测 UI)同时进行时,希望各实验的组别独立:用户是否在实验 1 的 B 组与是否在实验 2 的 B 组无关,这样两实验的效果可分别估计、不混淆。
- 实现:分层:对流量先按「实验层」分(如层 1 做 hash(uid) 分 2 桶、层 2 用另一 hash 分 2 桶),每层内再分实验组;或正交表:多因子(实验 1 的组、实验 2 的组)组合成多个正交桶,每用户落一个桶。这样「实验 1 的 A/B」与「实验 2 的 A/B」近似独立。
- 若不正交:同一批用户既在实验 1 的 B 又在实验 2 的 B,则无法区分效果来自哪个实验;正交后各实验可单独分析。
四、工程要点
- 配置化:实验 ID、分组比例、 targeting(如仅新用户)可配置;埋点:请求带实验组 ID,日志与指标按组聚合。统计:做显著性检验(如 t 检验、贝叶斯)与置信区间,避免把噪声当效果。
面试要点
- 能说清 A/B 测试的目的与流量分割方式(稳定哈希、按用户/请求、比例可配);能解释实验正交性的含义与必要性。
- 能描述正交实现:分层哈希、正交表;能说明不正交时多实验效果混淆的问题。
- 能简述配置、埋点与指标、显著性检验;能提及 targeting 与多实验并行。
记忆要点
- 流量分割=稳定哈希(uid)到桶、按桶分 A/B;同一用户固定组。正交=多实验组别独立,实现=分层哈希或正交表。
- 不正交→效果混淆;工程=配置、埋点、按组指标、显著性检验。