商业平台 · 实验平台产品负责人

A/B 实验平台:带小米实验从荒漠到成熟

2021.03 — 2024.05A/B 实验平台产品负责人,从 0 到 1 主导方法论、工具、数据与组织

一句话定位

在公司缺乏科学实验评估体系的背景下,从统计方法论、数据基建到平台产品全链路建设,把 A/B 实验从“各业务各自为战、结论不可信”做成小米首个公司级科学实验平台(至今全集团公用),具备降方差、样本健康度检测、全局进组、季度反转、动态择优等行业先进能力。结论可信度从“完全无法量化”到 95%+,查数效率提升约 60 倍,支撑多部门 4000 场实验/年。

4000 场/年

支撑集团多部门的实验量;由商业化自用推广为集团公用

约 60 倍

两侧数据融合后的查数提速:SQL 平均 1 小时 → 7 秒

+50%

降方差上线后,广告主价值显著的实验数

约 65%

季度反转测出:日常实验累加的收益没在大盘兑现

+8 万/天

落地页动态择优的理论增收;人均广告主价值 +6.6%

为什么做

01

看外部高度重视,观内部痛点强烈:不及 Google 2003 年的水平

做了改版却不知道到底有没有效果:错误的改版被推上线,正确的被延误。

看外部:高度重视、互联网信仰

优先:字节内部第 1 个数据产品

第一行代码由创始人编写

关键:正确迭代的把关人,否则 70% 犯错

业界被证明无效的实验想法占比见下图

全面:所有产运研优化都要用

产品命名、交互设计、推荐算法、广告优化、用户增长、市场活动

被证明无效的实验想法大多数想法是错的
Netflix
90%
Google
80%—90%
Slack
70%
微软
67%

观内部:痛点强烈,与行业差距巨大

01
不科学

天然波动还是真正提升?实验做几天、多大流量才够?

一个跑了 15 天、忽正忽负的实验,业务方仍判断不了,准备再延两周
02
效率低

1 次实验查数 4 小时,跳转 4 个平台

实验要跨用户行为、广告收入、系统数据、游戏 SDK、客户端内转化,数据分属不同部门;集团 A/B 平台一季度整体约 1.5 人
不科学 + 效率低笨拙地做错事不及 Google 2003 年水平

对标字节、腾讯(2023 年互部调研):小米 2021 年在指标方差计算上一步追齐领先水平,但降方差、样本比例检测、非参数检验、削峰、动态实验、反转实验、长期有效性等深水区能力都缺。

三阶段 RoadMap

02

带领小米实验从荒漠到成熟

科学方法牵引顶级工具建设,顶级工具支撑科学方法落地,方法和基建形成良性闭环。

01推出 MVP2021 H1 — H2

识别核心功能,Product Market Fit

衡量业务反馈、认可度

→
02全面使用2022 H2 — 2023 H1

建流程立规范,夯实体验与质量

衡量渗透率、数据稳定性、可用性

→
03深水区优化2023 — 2024.06

解业务细分难题,对标行业最佳科研

衡量行业对标度、业务增收

2021Q1Q2Q3Q42022Q1Q2Q3Q42023Q1Q2Q3Q42024Q1Q2
推出 MVP置信报告 · 数据融合 · 培训
识别核心功能,PMF已完成
全面使用评审机制 · 质量监控 · 速查报告
建机制、稳质量、提体验已完成
深水区优化动态择优 · 降方差 · 全局进组 · 季度反转
四个环节各个击破已完成

← 左右滑动查看 →

深水区的落地页择优从 2022 年底开始设计,和全面使用期有交叠。

03

阶段一 · MVP从 0 到 1 落地科学性与效率工具

2021 H1 — H2:先用最小可行产品验证“公司需要统一的实验平台”,同时种下科学方法论的种子。

阶段一 · 01 PMF

04

明确产品价值:先找最痛的人和最痛的问题,用 1 个 Excel 跑通

WHO
Market-who:高频高价值业务

广告 × 应用商店

WHY
Market-why:最痛的问题

科学:结论不置信,迭代决策错误。效率:看数要花 4 小时,拖慢迭代速度

MVP
mini MVP:1 个 Excel 跑通价值

深入业务的实验分析、挖典型案例,自研 Excel 置信计算器 + SQL 跑数模板,用“科学收益 + 效率提升”打动业务

显著性工具为一个上线 2 周、举棋不定的重点实验给出明确结论,省下 2 周

阶段一 · 02 产品设计落地

05

定义首期核心功能:统计学置信报告 + 底层数据融合

功能上,报告直接给出置信结论;数据上,两侧数据打通,一站查询。

报告给出的结论长这样(示意)

一条置信区间,加上 p 值和 MDE,业务一眼能看懂“现在能不能下结论”。

0 −0.147% +0.593% 跨过 0
置信区间 [−0.147%, +0.593%]p 值 0.237MDE 0.529%

怎么读

区间跨过 0:实验组和对照组的差异可能是噪声,还不能说改版有效。

p 值 0.237:远高于常用的 0.05 门槛,同样指向不显著。

MDE 0.529%:按现在的样本量,只有差距超过约 0.53% 才测得出来;预期收益比这个小,就要加流量或延长时间。

01
难点 1:科学理论复杂

读微软、Google 的论文,手推公式,找到了字节官网文档里的公式错误

02
难点 2:缺资源投入

多轮共识、高目标牵引,与集团数据中台联合立项

阶段一 · 02 产品设计落地

06

两套打点短期统一不了:不改底层,事件原样落仓,查询时再聚合

两套打点 · 不改底层 上层分析 媒体侧打点页面、卡片、实验分组 广告侧打点曝光、点击,补全下载 媒体事件表 广告事件表 合并事件 明细表 事件 + 属性原样落仓 行为分析分群 · 漏斗 · 下钻 A/B 报告自动出置信结论 查询时再按需聚合
01两套打点,不改底层媒体侧:页面、卡片、实验分组;广告侧:曝光、点击,补全下载
02各自原样落成事件表媒体事件表、广告事件表
03合并事件明细表事件 + 属性原样落仓,查询时再按需聚合
04行为分析与 A/B 报告分群、漏斗、下钻;自动出置信结论
一期 · 汇总层

先验证需求

梳理 119 个指标,按 key 融合,先满足看数,用真实使用量为明细层争取资源。

二期 · 事件明细

原样落仓

两侧事件 + 属性原样落仓,广告数据新增 29 个媒体业务维度。

2021 下半年 · 全链路

一张表到底

新的“事件 × 属性”模型,一张表从广告请求打通到广告主端内付费,支持 46 个指标。

查询
1 小时→约 1 分钟

同类查询约 60 倍提速

人力
3000人天/年

查数预计节省的人力

准确
< 0.5%

与原有口径的数据差异

想一想 · 01数据融合先做汇总层还是明细层点开看当时怎么选+
选了

先汇总层(119 个指标按 key 融合),再打通事件明细

没选

一上来就做明细层

为什么

MVP 要快速验证价值

结果

汇总层的使用量证明需求真实,为明细层争取到资源

想一想 · 02明细层怎么打通点开看当时怎么选+
选了

事件 + 属性原样落仓,两张事件表合并,查询时再聚合

没选

先统一两套底层打点 SDK

为什么

底层打点短期统一不了;事件级模型让分群、漏斗、下钻不用预先固化指标

结果

1 小时 → 7 秒,年省 3000 人天,差异 < 千分之五

阶段一 · 03 成果

07

实验结论的科学性首次有了基建保障,集团多业务接入

看数
4 小时→10 分钟
获业务广泛好评
同类查询
约 60 倍
SQL 平均约 1 小时 → 7 秒
年省人力
3000 人天
查数预计节省
结论可信度
95%+
从“完全无法量化”起步
实验看板覆盖 70% 效果收入媒体

810 个媒体侧实验组

方法论传播

课程上线集团清河大学;5 场线下宣讲覆盖 8 个业务、200 余人

数据差异 < 千分之五

与原有口径对比

我的贡献

本人主导数据融合整体方案(119 个指标 + 汇总层架构)、显著性计算器自研、方法论培训体系、调研团组织;看板的技术实现由集团团队完成。

08

阶段二 · 全面使用建机制、稳质量、提体验

2022 H2 — 2023 H1:内功是公司级分享与实验体系规范,战功是平台体验和质量提升。

阶段二

09

三个“增多”带来三个挑战,各对一个解法

挑战
解法
成果
用户增多,“不知道不知道”用户不知道自己的实验方式不科学,导致错误决策
→
公司范围分享 + 评审机制方法论沉淀进集团课程,中国区、手机部等多部门学习
清河大学互联网专题历史播放第 2
需求增多,数据质量恶化case 频发,危及实验结论可靠性
→
业务特色全链路监控遴选关键维度指标,监控全链路节点
质量问题 99% 主动发现
使用增多,查询变卡查询 P95 增大到 60 分钟
→
速查报告功能提前选好指标、凌晨计算
P95 降到 5 分钟

把方法论做进产品:平台五层

方法与机制让人会用、敢信
集团课程与知识白皮书实验评审机制公司级分享
报告层自动出结论
置信区间、p 值、MDE 自动给出 速查报告提前选好指标、凌晨预算,P95 从 60 分钟降到 5 分钟 报告通用化重构去掉 10+ 条定制逻辑
策略层自动做决策
落地页自动择优按转化数据持续动态分流
数据层一张表打通
合并事件明细表从广告请求到端内付费 数据架构升级全服务查询 P95 从 4 小时降到 26 分钟
质量层主动发现问题
全链路质量监控99% 问题主动发现,季均 6 次降到 2 次 进组样本健康度检测
想一想 · 03平台自建还是依赖中台点开看当时怎么选+
选了

与集团信息部联合共建,争取高优资源

没选

完全自建,或完全等中台排期

为什么

推动互部统一规划,向 VP 汇报立项

结果

拿到高优资源,“数据科学 + 专业产品”由商业平台主导

10

阶段三 · 深水区对标外部最佳,内部落地创新

眼中有光,脚下有路:掌握前沿理论的最新实践,结合小米业务特点落地复杂的产品策略。实验要过四个环节,每一环都有复杂问题待解;2023 年 9 月以后到 2024 年 6 月的进展,也都落在这四个环节里。

① 选择指标测什么
改前:总收入 ARPU短期收入,实验可能只抬点击、不带转化 改后:人均广告主价值广告主价值 = 转化出价 × 转化数;平台收入 = 广告主价值 × 计费比
② 流量分配各组给多少流量
落地页模板按转化数据动态分流、自动择优见 A/B 实验平台页
③ 随机分流按什么单位切
改前:只能按用户分流 大小广告分层分流调价实验按整条广告评估 重定义随机种子层级各层实验打散
④ 结果评估怎么判、判多大
削峰 + CUPED 降方差判得出 用户级全局进组算得全 季度反转实验测得准 进组样本健康度检测样本比例失衡时自动告警

每个难题同一套四步法:分析问题、明确目标→看外部、啃论文→落地小米遇到挑战→贴合业务创新调优。以落地页择优为例,经验在其他深水区优化中类似。

深水区 · ① 选择指标

11

从只看短期收入,改看长期的广告主价值

广告主价值 = 转化出价 × 转化数,平台收入 = 广告主价值 × 计费比:先提升广告主价值,平台长期收入自然提升。

想一想 · 04核心指标换什么点开看当时怎么选+
选了

人均广告主价值

没选

总收入 ARPU(短期收入)

为什么

广告主价值反映客户的长期 ROI,是生态健康的北极星

结果

46% 的实验切换后不再显著,倒逼降方差

代价:广告主价值依赖深层转化,数据稀疏、方差大,46% 的实验切换指标后不再显著,直接倒逼了 ④ 的降方差。

深水区 · ② 流量比例分配

12

落地页动态择优:74% 的广告从没调过流量,改用汤普森采样边用边探

一期:显著才切量

74%

参与择优的“广告 × 广告位”,整个周期从没调过流量,等于没有择优。

二期:汤普森采样

每个模板维护一条转化率分布。分布的位置代表现在有多好(利用),宽窄代表还有多不确定(探索)。每次按分布抽样、取最大者分流:好的多给,不确定的也留机会。

转化率低转化率高 模板 A 样本多、表现差 模板 B 样本少、还不确定 模板 C 样本多、表现好
没选

ε-greedy

固定比例随机探索,不管模板好坏都平均试

没选

UCB 置信上界

打分 = 当前表现 + 探索加成,适合离线计算

选了

汤普森采样

分布本身就平衡了利用和探索,不用额外调参,适合线上按批次抽样

目标也一起改了:从“转化率差异是否显著”改为“遗憾值(regret)最小”,即少把流量浪费在次优模板上。

想一想 · 05动态择优用哪种算法点开看当时怎么选+
选了

汤普森采样

没选

ε-greedy、UCB

为什么

Beta 分布自然平衡利用与探索,不需要额外的超参数

结果

点击下载率 +10.3%、人均广告主价值 +6.6%

粒度怎么收细

最粗的一层用“行业 × 媒体”的激活率作冷启先验,细粒度数据不够时系数为 0。

10 累计展示量 → 粗:应用 × 媒体 细:广告 × 广告位 细粒度权重 λ

上线时的安全阀

新模板

从已有模板均分 20% 流量冷启动

模板下线

它的流量并入当前流量最高的模板

置信度

自动择优用 90%(标准 A/B 是 95%),用少量误判换更快收敛

理论增收
8万/天

落地页实验

人均广告主价值
+6.6%

落地页实验

点击激活率
+8.6%

相对提升

覆盖
80%

信息流流量

这套择优策略后来也用到了素材择优上。

理论增收
+8 万/天
信息流
人均广告主价值
+6.6%
点击下载率
+10.3%
相对
点击激活率
+8.6%
相对

深水区 · ③ 随机分流

13

分流要切对单位:调价实验按整条广告分流,随机种子按层打散

按广告分流 2023 上半年上线,成本达标金额 +26%;2024 上半年又挖出随机种子层级的历史问题,重新定义后各层实验互不叠加。

改前:只能按用户分流

  • 同一条广告的流量被切进两组
  • 测不出一条广告调价后的整体效果
→

改后:大小广告分层

  • 小广告整条按广告分流
  • 头部大广告仍按用户分流,避免两组流量不均
  • 分析时枚举当天变档的广告,保证评估无偏

改前:各层共用一套随机划分

层 1 层 2 层 3

同一批用户在每层都进实验组,收益被重复计

改后:重定义随机种子层级

层 1 层 2 层 3

每层重新打散,各层实验互不叠加

上图是示意:每格代表一组用户,蓝色表示进了实验组。按广告分流上线后,成本达标金额 +26%。

深水区 · ④ 结果评估 · 判得出

14

降方差:先削峰,再用实验前的数据扣掉噪声

改前:两组分布大面积重叠

深层转化稀疏,少数极端值把波动拉得很大

对照组 实验组

两组均值的差距淹没在波动里

改后:分布收窄,差距显露出来

削峰去掉极端值,CUPED 扣掉可预测的波动

对照组 实验组

同样的收益差,现在能判出显著

01原始指标每个用户实验期的广告主价值
02削峰按 99.95 分位截掉极端值
03CUPED以同一用户实验前的同一指标作参照,扣掉能被预测的波动
04判显著方差小了,同样的差距更容易判出显著
方差
约 50倍

CUPED 叠加削峰后的方差降幅

验证
11 → 7

11 个不显著实验里,7 个转为显著

上线后
+50%

广告主价值显著的实验数

新用户没有实验前数据:用均值替代,修正项变成 0,等于不做修正,新老用户混在一起评估仍然无偏。

想一想 · 06降方差的削峰阈值取多少点开看当时怎么选+
选了

99.95 分位

没选

99.9 分位(过激)或 99.99 分位(保守)

为什么

最大化降方差,同时尽量少改原始数据

结果

11 个不显著实验里 7 个变显著

深水区 · ④ 结果评估 · 算得全

15

全局进组:从只看实验位置,改为跟踪进组用户的全部流量

局部口径只看实验所在位置 全局口径跟踪进组用户的全部流量 +5 万 首页 报告里显著增收 +5 首页 −4 搜索 +1 大盘
我做的

亲手设计全局进组的数据方案

包括 SQL:建一张“用户每天首次进入实验”的明细表,作为全局评估的底座。

迁移

实时链路换成离线链路,0 事故

联动引擎、数仓、数据中台和所有实验方,一起完成迁移。

2023.03

单媒体全局进组

先在一个媒体上线,解决流量互相抢夺时的评估问题。

2023.07

全场景、跨媒体

从单媒体扩到跨媒体联动,同时从实时链路迁到离线链路。

2023 下半年

全覆盖

覆盖全部场景(引擎和算法)、全部媒体和全部服务。

左图数字是举例,说明局部和全局口径的差别。

深水区 · ④ 结果评估 · 测得准

16

季度反转:日常实验保速度,季度反转测大盘

2023 下半年建成,2024 一季度出首次结果:日常累加的收益约 65% 没有在大盘兑现。

其余流量 · 日常实验照常进行10%10%
季初版本:整季模型更新前 季末版本:整季模型更新后

两个 10% 合起来是季度末从大盘切出的 20% 流量,跑 7 天;独立实验域贯穿全部 62 个实验层,埋点隔离,不污染日常实验。

日常实验累加 · 74 场推全
+64.28 万/天
季度反转实测 · 24Q1
+22.30 万/天
未兑现
约 65%

日常累加收益没有出现在大盘里

反转准备
7 天→10 分钟

补齐分流框架、模型版本管理、效果统计和运维四项能力

实验报告
10 次→1 键

报告整理从 1 人天降到 0.1 人天

评审机制

扩到整个商业平台部

release 评审原来只覆盖行业产品一侧

时间关系:季度反转能力 2023 年下半年建成;24Q1 出首次结果,评估的是 2023 年下半年的算法优化。

想一想 · 07推量评估用局部还是全局点开看当时怎么选+
选了

日常用局部,季度用全局反转

没选

全用全局(太慢)或全用局部(大盘虚高)

为什么

兼顾高效多做实验和精确量化大盘

结果

揭示日常累加的收益约 65% 没在大盘兑现

深水区 · ④ 结果评估 · 信得过、查得快

17

样本健康度检测,加上一键报告与一轮对比

SRM
样本健康度检测

卡方检验自动发现样本比例不匹配;双条件告警,一键请求级降级查询,做成“发现→分析→解决”三阶段工作流

调研:71 个实验里 p<0.001 的 19 个,确认真正异常 9 个(13%)
效率
一键报告

分析效率从查 10 次到 1 键查询,查询耗时 −90%+,报告整理 1 人天→0.1 人天

2024 H1
机制
一轮对比与 release

对标业界新增“一轮对比”管理粒度,第一次能回答实验成功率;release 评审扩到行业、调价、引擎和全体算法产品

2024 H1
速度
查询架构升级

全服务查询 P95 4 小时→26 分钟,10 点前报告产出率 60%→95%;报告通用化重构,消灭 10+ 条定制逻辑

2023 H2
想一想 · 08样本健康度怎么告警点开看当时怎么选+
选了

p < 0.001 且各组 gap > 0.1% 双条件

没选

单一 p 值阈值

为什么

大流量下只看 p 值会误报泛滥

结果

71 个实验里确认真正异常 9 个(13%)

想一想 · 09查询架构要不要换点开看当时怎么选+
选了

迁到云上的实时数仓

没选

继续在原有 OLAP 引擎上优化

为什么

实验量大、统计量要按用户粒度算,原架构撑不住,也要降本

结果

成本约 −7%,查询性能与稳定性 +10%—20%

成果汇总

18

科学性与效率双升,解业务细分难题;总体能力 80% 对标字节

实验规模
4000 场/年
集团多部门
查数提速
约 60 倍
1 小时 → 7 秒
显著实验数
+50%
降方差上线后
日常收益未兑现
约 65%
季度反转测出
落地页择优
+8 万/天
人均广告主价值 +6.6%
结论可信度
95%+
从完全无法量化起步
之前之后改了以后:前后对比
查数耗时约 60 倍
SQL 平均约 1 小时
7 秒
聚合报告 P95−92%
60 分钟
5 分钟
全服务查询 P95−89%
4 小时
26 分钟
季度反转准备7 天 → 10 分钟
人力 7 天
10 分钟
服务不可用 · 每季度−80%
5 次
1 次
数据质量问题 · 每季度−67%
6 次
2 次
10 点前报告产出率+35 个百分点
60%
95%
展开详情成果台账:每个数的基线、达成值和口径共 16 项+
指标基线达成口径与时点
实验规模—4000 场/年支撑集团多部门;截至 2023-09
查数耗时SQL 平均 1 小时7 秒(约 60 倍)两侧明细数据融合;2021 H1
查数人力—年省 3000 人天预计值
实验结论可信度完全无法量化95%+2021 H2
聚合报告 P9560 分钟5 分钟(−91%)速查报告;2023 H1
全服务查询 P954 小时26 分钟(−89%)2023 H2
10 点前报告产出率60%95%2023 H2
服务不可用5 次/季1 次/季2023 H2
显著实验数—+50%削峰 + CUPED;另一口径为显著比例 +60%
落地页择优均分流量+8 万/天人均广告主价值 +6.642%、点击下载率 +10.345%
按广告分流按用户分流成本达标金额 +26%2023 H1
季度反转日常累加 +64.28 万/天实测 +22.30 万/天约 65% 未兑现;24Q1
反转准备人力 7 天10 分钟2023 H2
报告查询查 10 次、整理 1 人天1 键、0.1 人天2024 H1
数据质量问题季均 6 次季均 2 次被动反馈 0、结论错误 0
样本异常检出—13%71 个实验中确认 9 个

里程碑

  1. 2021-03

    实验数据看板 MVP 上线,公司首个跨数据源的实验看板

  2. 2021-05 — 06

    广告数据接入集团行为分析平台,打通事件级明细

  3. 2021-12

    A/B 实验课程上线集团清河大学

  4. 2022-10

    落地页动态择优方案完成(本人撰写)

  5. 2023-03

    单媒体全局进组上线

  6. 2023-07

    全场景跨媒体全局进组上线;A/B 知识白皮书完成(本人署名)

  7. 2023-11

    降方差正式上线

  8. 2023 Q4

    季度反转能力建成,准备时间 7 天 → 10 分钟

  9. 2024 Q1

    首次季度反转结果:广告主价值 +22.30 万/天

  10. 2024 H1

    随机性改造、一键报告、release 扩到全部门

佐证与影响力

19

由商业化自用推广为集团公用,至今全集团在用

荣誉与评优
  • 一级部门优秀项目奖
  • 2021 H1 卓越贡献奖
  • 一级部门优秀员工 3 次
  • 2023 青年工程师激励计划
  • 绩效 S | A | B+ | S
对外影响力
  • 课程上线集团清河大学,互联网版块历史播放第 2
  • 方法论文档访问 3842 次、825 人,集团每 40 人有 1 人看过
  • 集团清河大学分享 1000+ 人听过
  • A/B 实验知识白皮书(本人署名)
  • 信息部来信:“特别是锡盛……你们展现出来的专业素养和积极态度,让我们有了源源不断的信心和力量”
  • 同行评价:“如果你考虑转岗,请优先我们团队”
被复用、被借鉴
  • 平台由商业化自用推广为集团公用,至今全集团在用
  • 应用商店至今用本人开发的 SQL 逻辑产出实验结果
  • 评审模板内嵌本人的样本计算工具,成为商店的标准流程

方法与能力关键词

方法先行、基建跟上四步法攻深水区CUPED 降方差汤普森采样动态择优全局进组季度反转样本健康度检测跨 2 个一级部门
实验之外的特征、样本、训练与监控在这一页算法数据平台 →