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