「经验」带你掌握AB实验最佳流程

2022-06-30 16:11:38 浏览数 (1)

预计阅读时间:13min

阅读建议:本文是实战中总结出的「AB实验最佳流程」,其中内容涉及数据分析、产品、运营、研发的工作,帮助你更科学的评估实验。由于篇幅较长,建议「关注」「收藏」,闲暇时间拿来品品。

解决痛点:AB实验是数据分析同学的家常便饭,但你是否有问过自己“如果给自己做过的AB实验规范性打分,你会打几分呢?”本期会和大家分享一种「最佳AB实验流程」。

由于篇幅限制,本文仅介绍核心框架,需展开阐述的内容会做标记,如果各位小伙伴感兴趣,可以私信我,后面会和大家分享哦。

01

简单介绍一下AB实验

了解的同学可直接跳转到「最佳AB实验流程」

1、 什么是AB实验?

AB实验概念来源于生物医学的「双盲测试」,测试中病人被随机分为AB两组,在不知情的情况下分别注射安慰剂和测试药剂,通过用户的表现来评估药物是否有作用。

回到我们日常工作上来,针对某APP的产品改动,将用户群体随机划分AB两组,A赋予实验策略,B保持原有策略,通过用户的行为表现数据,评判实验对产品改进是否有增益。如有增益,则用新策略A替代原有策略B。

2、 为什么要进行AB实验?

如果不做AB实验

假设1:实验仅在同一批人群执行,利用人群前后时间段行为进行对比。虽然是同一批人群,但前后行为本身存在差异,影响实验结果。 假设2:实验在不同人群执行,利用不同人群同时间段行为进行对比。虽然是同时间段,但不同用户群体行为本身存在差异,影响实验结果。

AB实验则可以最大程度避免「时间差异」「用户差异」等混淆因子所带来的影响,纯粹度量策略对用户的影响程度,是度量策略「因果效应」最直接的方式。

3、 AB实验优势有哪些?

加速迭代:实验可以并行进行,显著提升产品迭代。

降低风险:小流量实验,如果实验效果差,可以立即下线,影响用户量级较小。 优胜劣汰:所有改动用数据说话,先推优秀的方案;至于不够理想的方案,可根据经验,不断调整,直至符合预期。

02

最佳AB实验流程

科学的实验流程主要包括七个步骤,下面会详细介绍每一步的核心内容。

03

步骤一:实验设计阶段

1、创建实验假设「TO:产运」

在开始实验之前,产运同学需要对实验做最初的假设,这也将作为整个实验围绕的核心点。建立假设需涵盖以下几步:

1、明确原则:为更科学的设计实验,需满足AB实验设计的原则。

2、明确背景:实验背景是设计实验的前提,例如:目的是提升用户留存,则整个实验思考的方向,均需要围绕此背景进行。

3、探索改进点:根据历史数据以及产品经验判断,哪些改动可能对用户产生积极影响。针对发现的改进点,形成一个「逻辑完整 数据支撑 可验证」的假设。

4、筛选实验对象:实验是对全量用户生效,还是仅针对部分标签用户?实验单元是用户、会话、还是页面?需要有一个明确的定位。

5、 预估实验影响:实验可能对哪些核心指标有影响,大概的影响程度有多大?与业务长期目标是否可以达成一致?

▼实验假设的详细内容,以及其中的注意事项,会在后面和大家分享▼

2、明确实验类型「TO:数分」

实验根据流量关系,可以划分为「正交实验」以及「互斥实验」。

正交实验:指实验之间互不干扰,可以复用相同的流量,只要保证各实验用户是随机分布即可,也就是我们日常经常接触的「常规AB实验」。

互斥实验:指的是实验之间会相互干扰,X实验和Y实验之间会出现冲突的情况。

举个栗子

针对福利策略实验: A实验:实验桶为了验证「发放不同现金」的效果; B实验:实验桶为了验证「发放不同积分」的效果; 如果这个时候,希望对A实验评估,发放1元现金 vs 没有任何福利策略,由于A实验和B实验是正交的,因此「没有任何福利策略」需要同时限定A实验的Base桶和B实验的Base桶。 这里福利实验仅有两个,如果福利实验有N个的时候,「没有任何福利策略」则很难框定,并且流量可能会很小。

这种情况可以通过「层域AB实验」来解决,即:将福利相关的实验放到一个域中开展,拨出一部分流量作为holdout组(公用Base组),其余流量实验正交。

除此之外,实验类型还包括「Interleaving实验」、「包含网络效应实验」以及「Multi-Armed Bandit,MAB实验」等。

▼不同类型实验的实战应用,以及如何避坑,会在后面和大家分享▼

3、筛选评估指标「TO:数分/产运」

筛选评估指标要从两个方面进行考虑:

其一:根据实验类型进行筛选。不同的实验类型对应不同的评估指标,例如:「页面优化型实验」更关注停留时长;「内容满足型实验」更关注ctr。

其二:根据度量方向进行筛选。可涵盖以下四类指标:

▼实验指标如何选择?为何需限制指标的数量?会在后面和大家分享▼

4、设定实验周期及流量「TO:数分」

实验周期和流量的设定是个权衡的问题,一方面,我们希望有足够多的流量,保证实验策略可以充分体现出来;另一方面,也希望缩短实验周期、提升迭代效率、降低实验风险。

因此在评估流量的时候,我们需要计算,在满足评估的前提下,获取最小的样本量。一般在评估的时候,会根据统计功效、显著性水平、相对差异、最小可检测效果,利用公式反推实验的最小样本量。并且「均值类指标(如人均时长)」「用户比例类指标(如UTR)」「比率类指标(如CTR)」「求和类指标(如pv)」计算最小样本量的方式是不同的。

在评估流量和周期的时候,有两点需要格外注意!!!

其一:周期效应。考虑到用户在周中和周末的表现存在差异,因此实验周期最好跨越一周,消除不同时间周期实验效果的不同。 其二:新奇效应。策略的调整对于用户而言,是从陌生到熟悉的过程,而在陌生阶段,往往会有一些不真实的表现,因此最好等实验指标趋于平稳之后再进行评估。

▼针对不同类型指标,最小样本量要如何计算?会在后面和大家分享▼

04

步骤二:实验研发阶段「TO:研发」

当完成实验的设计,实验便进入到研发阶段,这个阶段主要是对「策略的生效」以及对「生效人群的打标」。

05

步骤三:实验运行阶段

1、实验数据质量检测:AA实验「TO:数分」

AA空跑实验是AB实验的一种特殊形态,同AB实验一样,将线上用户随机进行分组,将各分组用户采用相同的无策略空跑实验。

其目的是在实验前期,根据空跑实验指标显著性情况,探查是否存在SDK接入、指标接入等问题。判断无问题后,才会挑出其中一个分组附上实验策略,进入常规AB实验。

▼AA实验指标是否显著?哪些情况会出现显著?假设检验采用指标累积口径还是非累积口径?是否一定需要空跑?会在后面和大家分享▼

2、验证样本均衡性「TO:数分」

开始上线实验前,还需要验证AA桶的流量是否均衡,是否会出现SRM(sample ratio mismatch)的问题。

假设实验组和对照组流量均为10%,则正常流量比例为1,属于样本均衡。如果出现实际样本比例与理论样本比例不同的情况,就要排查其中的原因。

验证样本量是否均衡:可通过「卡方检验的方式」,度量两组流量的一致性,方法这里就不多介绍了,附上公式:

出现SRM问题的时候,可以优先从以下几点进行排查:

实验配置及上报错误(可能率达90%以上)

  • 实验配置阶段【举例:触发用户标签不同,实验组限制了某些标签用户,对照组没有限制】
  • 实验上报阶段【举例:策略的触发时机不同,实验组用户在某些场景才会触发实验,对照组用户没有要求】

3、验证策略是否生效「TO:产运」

在上线实验前,还需要验证配置的实验策略是否真实生效。可通过筛选部分测试用户,将其直接进入实验策略,验证用户端是否生效。当实验进入到上线阶段,这部分用户不会记录到真实的实验分桶中,防止对上线实验的干扰。

06

步骤四:实验评估阶段

1、评估指标敏感及显著性「TO:数分/产运」

评估指标敏感性

在评估实验前,需要优先保证是否有足够多的累计样本,保证实验评估的敏感度。可以通过以下两个方面来进行评判:

1、 实验累计样本是否满足最小样本量要求。

2、当达到实验预期的周期后,评估各观测指标的MDE(minimun detectable effect,最小检测变化)是否小于实验前设定的最小变化阈值。

评估指标显著性

科学的实验需要科学的方式进行评估,这里通过假设检验方式进行判断。针对不同类型指标,会有不同的假设检验方式,并最终给出实验是否显著的结论。

2、拆解维度评估「TO:数分/产运」

当遇到实验效果「超预期」或者「不符合预期」的时候,往往我们需要找找原因,这里就需要对维度进行下钻评估。必要的时候,还可以挖掘一些badcase/goodcase,从而探索实验可能的问题点。

3、 评估对大盘的影响程度「TO:数分/产运」

实验是否可以上线,主要还是要看对大盘的影响程度,这里指标可以划分为「绝对指标」和「相对指标」。相对指标可直接通过指标的DIFF判断对大盘的影响;而绝对指标需要先将指标折合到大盘比例,再进行计算。

▼实验评估的流程如何?不同类型指标假设检验方式又是如何?当指标不显著的时候,是否直接pass实验?会在后面和大家分享▼

07

步骤五:实验报告输出阶段「TO:数分」

在申请放量之前,需要由数分同学主导输出实验分析报告。

一方面:用于实验的总结和实验放量的依据,

另一方面:用于经验的沉淀及后续流程的复用。

报告主要涵盖以下四个方面:实验背景、实验设计、实验数据、实验结论。

08

步骤六:实验放量阶段「TO:数分/产运」

实验放量阶段,需要综合考虑三个因素:效率、质量、风险。对于一个实验,我们希望在评估正向的前提下,尽快上线。但往往由于策略bug、新功能不符合预期、用户体感不好等问题,使得在放量阶段需要更加的谨慎,以下为一个标准的放量流程,大家可以借鉴参考借鉴:

1、 第一阶段:小流量阶段

此阶段衔接在小流量评估后,整体放量比例控制在(5%)以下,评估实验是否对产品北极星指标有负向影响。同时验证策略的触发,以及排查是否存在潜在风险。在无风险的前提下,建议持续3-5日左右,进入下一个阶段。

2、 第二阶段:放量阶段

这个阶段,随着样本量的逐渐放开,实验的结果也会更加精准;与此同时,伴随而来可能会出现流量压力等问题的发生,因此在此阶段需要跟进放量,观察是否有出现问题。逐级放量建议持续至少一周,以观测周中和周末的影响。

3、 第三阶段:长期存放阶段

针对部分实验,如果希望长期观测实验效果,可以保留5%以下的原始策略,作为「反转桶」。

09

步骤七:实验报告归档阶段「TO:数分」

这个步骤类似我们自身的知识沉淀,将实验的经验沉淀到平台或者文档中,为未来规范化实验评估提供理论依据。以下内容可以考虑归档到文件中:

1、实验分类

将实验按照类型进行分类,尽量保障同类型实验的评估方式规范化。例如:页面改版实验、功能更改实验、福利策略实验等。

2、实验评估经验

a) 评估流量:不同类型实验,采取的最优流量大小是多少。

b) 评估指标:不同类型实验,可以采用哪些指标作为评估依据,能更清晰地度量出实验的效果。

c) 波动阈值:指标波动阈值在什么范围表示,微显著、显著、非常显著。

3、实验成功/失败的经验

总结实验经验,以及其中遇到的坑。

以上就是AB实验的整体框架,部分内容没有展开,如果各位小伙伴感兴趣,后面会详细的进行分享,除了上述待分享的几个方向,还有如下两个内容:

▼实验平台要如何搭建?会在后面和大家分享▼

▼实验涉及到的统计学知识有哪些?会在后面和大家分享▼

以上就是本期的内容分享,希望可以帮助你规范AB实验整体流程。码字不易,如果觉得对你有一点点帮助,欢迎「关注」「点赞」「分享」哦,我会持续为大家输出优质的「原创内容」~~

END

【作者简介】互联网大厂数据分析专家,本系列「经验」类文章,会和大家分享一些近些年从事数据分析工作的一些心得体会,希望能够帮助到同行的同学,同时也渴望和大家在此沟通探讨。

0 人点赞