什么是 A/B 测试？
分享下鹅厂数据分析师 jiangeliu(刘健阁) 是如何设计一个 A/B test 的。 AB Test 实验一般有 2 个目的： 我们一般比较熟知的是上述第 1 个目的，对于第 2 个目的，对于收益的量化，计算 ROI，往往对数据分析师和管理者非常重要。 对于一般的 ABTest 实验，其实本质上就是把平台的流量均匀分为几个组，每个组添加不同的策略，然后根据这几个组的用户数据指标，例如：留存、人均观看时长、基础互动率等等核心指标，最终选择一个最好的组上线。 实验的几个基本步骤一般如下： 实验设计时有两个目标： 因此经常需要在流量分配时有所权衡，一般有以下几个情况： 根据实验的预期结果，大盘用户量，确定实验所需最小流量，可以通过一个网站专门计算所需样本量： 如果我们预期提升的指标是人均时长、人均 VV 等，可能就比较复杂了，我们需要运用 t 检验反算，需要的样本量： 我们以一个稍复杂点的运营活动实验为例，活动有方案 1、方案 2，同时为了量化 ROI，对照组没有运营活动。 需要回答几个问题 第 1 个问题，方案 1 和方案 2，哪个效果更好？ 还是要运用假设检验，对于留存率、渗透率等漏斗类指标，采用卡方检验： 对于人均时长类等均值类指标，采用t 检验： 通过上假设检验，如果结论置信，我们就能够得到方案 1 和方案 2 在哪像指标更好（有显著性差异）， 对于不置信的结论，尽管方案 1 和方案 2 的指标可能略有差异，但可能是数据正常波动产生。 第 2 个问题，哪个 ROI 更高？ 一般有活动相比无活动，留存、人均时长等各项指标均会显著，我们不再重复上述的假设检验过程。 对于 ROI 的计算，成本方面，每个实验组成本可以直接计算，对于收益方面，就要和对照组相比较，假定以总日活跃天（即 DAU 按日累计求和）作为收益指标，需要假设不做运营活动，DAU 会是多少，可以通过对照组计算，即： 这样就可以量化出每个方案的 ROI。 第 3 个问题，长期来看哪个更好？ 这里就要考虑新奇效应的问题了，一般在实验上线前期，用户因为新鲜感，效果可能都不错，因此在做评估的时候，需要观测指标到稳定态后，再做评估。 例如有的时候出现，刚刚上线前期，实验组效果更好，但是经过以端时间，用户的新鲜感过去了，实验组的效果可能更差，因此，从长远收益来看，我们应该选择对照组，是实验组的新奇效应欺骗了我们，在做实验分析时，应剔除新奇效应的部分，待平稳后，再做评估 第 4 个问题，不同用户群体有差异吗？ 很多情况下，对新用户可能实验组更好，老用户对照组更好；对年轻人实验组更好，中年人对照组更好， 作为数据分析师，分析实验结论时，还要关注用户群体的差异。 实验结束后需要： 更高级的实验 对于长线业务，可能同时有数十个实验同时进行，不但对比每项小迭代的差异，同时对比专项对大盘的贡献量、部门整体对大盘的贡献量，这样就需要运用到了实验的层域管理模型。 作为数据分析师，多团队合作中，经常遇到多业务交集的问题，以我近期主要负责的春节活动为例，老板会问： 严谨一点，我们采用了 AB 实验的方式核算，最终可能会发现一个问题：春节活动各个子活动的贡献之和，不等于春节活动的贡献，为什么呢？ 这个时候，我们准确量化春节活动的贡献，就需要一个【贯穿】所有活动的对照组，在 AB 实验系统中通俗称作贯穿层。 （说明：实验中，各层的流量是正交的，简单理解，例如，A 层的分流采用用户 ID 的倒数第 1 位，B 层的分流采用用户 ID 的倒数第 2 位，在用户 ID 随机的情况下，倒数第 1 位和倒数第 2 位是没有关系的，也称作相互独立，我们称作正交。当然，AB Test 实验系统真实的分流逻辑，是采用了复杂的 hash 函数、正交表，能够保证正交性。） 这样分层后，我们可以按照如下的方式量化贡献： 上面谈到了【贯穿层】的设计，贯穿层的设计其实不但可以应用在多个活动的场景，有些场景，我们的业务需要和去年或上个季度的自身对比，同时业务还不断在多个方面运用 AB Test 迭代。 类似与上面这种层次设计，在推荐系统中较为常见，在某一些产品或系统中，贯穿层不能够完全没有策略，那么采用去年或上个季度的策略，代表着基准值，从而量化新一个周期的增量贡献 我们可以量化： 我以我目前负责的业务，微视任务福利中心的实验设计为例，举例一个更复杂的实验系统设计，综合了上面提到的 2 个目的：   更多干货，尽在 腾讯技术。