A/B 测试先定义指标

557 字
3 分钟
A/B 测试先定义指标

A/B 测试先定义指标#

A/B 测试不是把两个版本上线后随便看哪个数据高。没有提前定义指标和窗口,很容易事后挑对自己有利的结果。

数据分析里最容易出问题的地方,不是函数不会用,而是数据口径没有在一开始说清楚。一个步骤如果不能解释输入是什么、输出是什么、失败时怎么看,就很难放进稳定流程。

使用场景#

先定义主指标,比如点击率、转化率、留存率;再定义样本范围、实验时间和排除规则。实验期间不要随意改版本。

我会先准备一个小样本,保证可以人工检查结果。大表直接跑起来很快,但一旦结果不对,很难判断是代码错、字段错,还是数据本身脏。

最小代码#

summary = df.groupby("variant").agg(
users=("user_id", "nunique"),
conversions=("converted", "sum"),
)
summary["conversion_rate"] = summary["conversions"] / summary["users"]
print(summary)

检查结果#

  • 行数是否符合预期,不能只看代码是否报错。
  • 关键字段的类型、缺失值和唯一值数量是否合理。
  • 输出结果能否用三到五行样本手工复算。
  • 如果生成报表,要保留清洗前后的对账数字。

容易忽略的点#

容易忽略的是样本量和波动。样本太少时,短期差异可能只是随机波动,不适合立刻下结论。

最小验收样例#

我会用三行数据做一次手工验收:一行正常记录,一行边界记录,一行异常记录。代码跑完后,把输出和手工计算结果对照一遍,确认不是字段名写对了但口径理解错了。

如果这一步会进入日报、周报或正式报告,还要把输入行数、输出行数和被过滤的记录数写到日志里。数据处理的可信度,来自这些可以复查的中间证据。

小结#

A/B 测试先定义指标 要解决的是一个可复查的数据处理问题。先定义口径,再写代码,最后用样本和统计结果验收,分析结果才站得住。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

A/B 测试先定义指标
https://blog.tjcheng.cn/posts/daily/2026-07-10/ab-test-basic-metrics/
作者
TengJinCheng
发布于
2026-07-10
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
TengJinCheng
Hello, I'm Teng.
公告
欢迎来到TengJinCheng工作铺!
音乐
封面

音乐

暂未播放

0:000:00
暂无歌词
分类
标签
站点统计
文章
157
分类
7
标签
114
总字数
109,939
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.13.4
文章许可
CC BY-NC-SA 4.0

文章目录