怀化政法网站,做网站外包大学生,服务器域名解析,松江信息科技有限公司网站目录 一、什么是A/B测试1.1 A/A测试1.2 多变量测试 二、A/B测试应用场景三、A/B测试基本流程四、A/B测试面试真题4.1 【是什么】4.2 【为什么】4.3 【怎么做】 五、应用实战 一、什么是A/B测试 A/B 测试是一种常见的实验方法#xff0c;用于比较两个或多个方案的效果#xff… 目录 一、什么是A/B测试1.1 A/A测试1.2 多变量测试 二、A/B测试应用场景三、A/B测试基本流程四、A/B测试面试真题4.1 【是什么】4.2 【为什么】4.3 【怎么做】 五、应用实战 一、什么是A/B测试 A/B 测试是一种常见的实验方法用于比较两个或多个方案的效果以确定哪种方案更优。通常将用户随机分配到 A 组对照组 和 B 组实验组A 组使用当前版本BaselineB 组使用新版本Variant然后通过数据分析评估哪种方案在关键指标如点击率、转化率、停留时间等上表现更好。 A/B 测试广泛应用于 产品优化、网站设计、广告投放、功能迭代等领域可以减少主观决策提高用户体验和业务收益。
1.1 A/A测试 就是像AB测试一样流量会被随机分配到两个或者多个版本内但又区别于AB测试叫AA就说明实验组的策略(变量)其实未生效说白了就是实验组和对照组配置全都一样可以理解为就是相同版本的“特殊AB实验”有时也被叫做“空测试”。主要目的是为了确保AB测试结果的可靠性。假设实验和对照组的用户在AA测试阶段已出现显著差异那么AB上线后的显著差异结论就是不可靠的。
1.2 多变量测试 多变量测试指的是通过比较页面上各元素中的选项组合来确定哪个组合对特定受众的效果最佳以及哪个元素对活动成功的影响最大。与 A/B测试相比多变量测试提供的一个优势在于它能够显示页面上哪些元素会对转化产生最大的影响这被称为“主效应”。此外多变量测试还可以发现页面上两个或多个元素之间的复合效果(比如特定文案与特定横幅或主题图像结合使用时特定广告可能会产生更多转化)这被称为“交互效应”。 多变量测试的终极版就是全因子多变量测试(以相等的概率测试所有可能的内容组合)由于可能生成大量的组合因此多变量测试需要的时间和流量多于A/B测试。页面必须获得足够的流量才能为每个体验产生具有统计意义的结果。
二、A/B测试应用场景 一般来说A/B测试可以应用以下三种场景
产品迭代界面优化、功能增加、流程增加等算法优化通过流量切分构造实验组和对照组来验证算法筛选、算法优化等市场营销相关运营策略内容的筛选、时间的筛选、人群的筛选、运营玩法的筛选等
A/B测试可以不适用的场景
变量不可控用户使用了A产品后再去使用B产品的概率为什么关闭app有非常多的不可控因素样本量较小从统计学角度验证一个数据是否有效需要一定的样本支撑。全量投放紧急修复、重大更新或用户期望一致等场景
三、A/B测试基本流程 1明确实验改动点 通常关于产品选代的AB测试需求一般是由产品经理或者项目经理提出数据分析师在这个过程中更多的是一个参与者那么在实验开始之前我们首先需要跟需求提出者明确实验的变量是什么?我们要保证AB测试的“单一因素原则”即每一个实验的评估因素都是单一因素一次实验不能糅合多个影响因素否则分析师在后续分析实验结果的时候难以区分是哪个因素的影响可能会得出错误的结论。 2明确观测指标 一般来说在实际工作中AB测试的观测指标通常只有一个(最多不超过3个)指标的类型分为两种:
绝对值类指标:DAU、平均停留时长等指标通常会一段时间内的均值或者汇总值(较少)比率类指标:主要通过多个指标计算得到如:页面点击率、转化率、复购率等等(较多)
3AB测试样本量的计算 A/B 测试样本量的选取基于大数定律和中心极限定理。 AB测试样本量计算工具绝对值 AB测试样本量计算工具比率
4AB测试流量分割 为什么要进行合理的流量分割? 合理的流量分割能保证实验组和对照组的用户特征分布相似避免因用户差异导致结果偏差。 流量分割常用的方法分流、分层和分流分层模型。 分流用户分流是指按照地域、性别、年龄等把用户均匀地分为几个组1个用户只能出现在1个组中。 分层同一份流量可以分布在多个实验层也就是说同一批用户可以出现在不同的实验层。 分流分层模型分流:组1、组2通过分流的方式分为2组流量此时组1和组2是互斥的即组1组2100%试验流量。分层:流量流过组2中的B1层、B2层、B3层时B1层、B2层、B3层的流量都是与组2的流量相等相当于对组2的流量进行了复用即B1层B2层B3层组2 扩展流量流过组2中的B1层时又把B1层分为了B1-1B1-2B1-3此时B1-1B1-2B1-3之间又是互斥的即B1-1层B1-2层B1-3层B1层。再流经B2层时B1层各部分会被随机打散重新均匀分配再形成一个新的流量分布进入B2层的各个子层或实验组。 5实验周期的计算 AB测试中对照组和实验组的样本量越大实验时间越长实验结果就更加准确。这可以说是常识性的判断但是实际上这是由统计显著性决定的统计显著性是指对照组和实验组的数据差异有多大可能是真实存在的而不是随机误差导致的。所以周期更久、样本量更多的AB测试更有说服力。但是实际工作中产品或活动的迭代速度快这就要求AB测试的实验周期不能过长所以在AB测试前对样本规模和实验周期的预估是非常重要的。 AB测试的实验周期应该如何确定呢? 首先这里也是确定一个最小实验周期也就是说实验时间必须超过最小实验周期AB测试才算是有效。 实验周期计算公式实验所需最少时间每组最小样本数*组数量/某个时间段的访问流量(可以是每天流量大的话可以按每小时) 要根据实验目的和历史经验综合考虑用户行为周期、适应期等其他影响因素对实验流量的干扰在成本可控的情况下适当延长实验时长(能覆盖最小实验周期) 6AB测试上线 一般在上线正式实验之前会通过小流量去看一段时间的灰度实验。这个灰度实验的目的就是为了验证我们这个改动并不会造成什么特别极端的影响。在灰度之后就会正式发版等到实验周期结束我们对实验的结果进行显著性检验。 7效果评估验证 A/B测试开启之后我们该怎么评估这个AB测试的实验效果给出这个需求到底要不要上线的分析结论呢? 商业上的验证通过前面确认的核心指标以及相关指标在对照组和实验组之间的对比来综合判定AB测试效果。 统计上的验证通过统计学上的假设检验来验证AB测试是够具有统计学意义上的显著有效。 A/B测试的基本原理 A/B测试的统计理论基础是假设检验。假设检验是统计推断中的重要方法其基本思路是“先假设、再检验”即事先对总体参数或总体分布形式作出一个假设然后利用样本信息来判断假设是否合理的过程。换句话说假设检验会判断样本信息与原假设是否有显著差异从而决定应接受还是否定原假设。
四、A/B测试面试真题
4.1 【是什么】
1什么是A/B测试 在回答定义类问题时既要描述AB测试的统计学定义【常规答案】还要结合实际业务场景进行复述【加分项】 AB测试是一种基于统计学的实验方法通过设置对照组和实验组对变量进行试验通过假设检验对不同组的结果进行检验以检验变量是否对结果造成显著影响从而选取最合理的方法。 在实际业务场景中就是为同一目标制定不同的页面版本并且把用户流量对应分成几组然后在同一时间维度让不同组的用户随机访问这些版本收集各群组的用户体验数据和业务数据最后分析、评估出最好版本正式采用。这个就是AB测试。 2A/B测试的核心原理是什么? 回答出“假设检验”是常规答案。 AB测试的核心原理是通过随机合理分流设置对照组和实验组通过控制变量法在保证两组用户除待验证变量不同外其他变量分布均一致。分别对两组施加不同的变量观察两组用户在一段时间内的表现通过假设检验分析结果是否有显著差异从而判断改动是否有效可执行。 本质上来说AB测试就是一个基于统计的假设检验过程首先对实验组和对照组的关系提出假设然后计算两组数据的差异并确定该差异是否存在统计上的显著性最后对假设做出判断。在整个测试背后还隐藏着其他的理论:第一个是中心极限定理也就是样本量足够大时(30)变量均值的抽样分布都近似于正态分布第二个是**“小概率事件原理也就是小概率事件在一次实验中基本上不会发生第三个是反证法**假设检验的机制是保护原假设所以把要拒绝的假设放在原假设的位置如果原假设成立的条件下小概率事件还是发生了那么就应该推翻原假设第四个是P值P值越小拒绝原假设的理由就越充分。 3AB测试有哪些应用场景 AB测试适用的场景主要有三类一类是产品选代比如UI界面优化产品功能增加或者改版流程增加或者删除等第二类是算法优化比如搜索、推荐、精准广告等算法的优化第三类是营销/运营策略优化比如内容的筛选、时间的筛选、人群的筛选、运营玩法的筛选等都可以适用AB测试。 AB测试不适用的场景主要是原始创新方案且全量投放的那种场景(比如:公司更新logo)、用户体量不大的业务(主要是样本量不够难以支撑AB测试所需样本量)等。 4有没有接触过ABtest请说说对AB测试的理解 如果有相关工作经验详细描述实际工作中AB测试的相关流程(每个公司的流程可能会有一些差异)重点讲解在整个流程中你是如何配合工作的以及你在相关工作中遇到了哪些难题你是如何解决这些难题的如果没有相关工作经验则可以继续下面的问题从AB测试的适用场景、定义、核心原理方面回答你对AB测试的理解。 示例我在实际工作中没有接触过AB测试(解释一下公司有没有AB测试的相关业务以及我的工作职责中有没有涉及AB测试的内容)。虽然我没有实际应用过AB测试但是在工作之余我了解了一些关于AB测试的相关知识。我理解的AB测试是一种XXX的方法【定义】它的理论基础主要有xxx【核心原理】在xxx场景中AB测试能够发挥很大的作用。接着分析一下你前公司没有做AB测试的原因(主要是前公司的业务主要是xxX方面的很多业务无法使用AB测试来进行决策;或者AB测试平台的搭建一直是公司的目标但是因为某些具体的原因没有搭建起来接着展开聊聊你认为AB测试平台搭建中可能会遇到哪些困难)【加分项】 5你怎么理解AB测试中的第一、二类错误?你觉得哪个更严重 第一类错误和第二类错误是统计学中的两个概念也是AB测试中最常提到的两个概念。第一类错误叫做弃真错误也就是原假设是真的但是我们否定了原假设接受了备择假设。在实际业务场景中原假设一般是功能改动前后没有差异第一类错误代表的是一个功能的改动本来不能给我们带来任何收益(原假设一般指无差异)但是我们却误认为这个改动能带来收益。第二类错误叫做存伪错误也就是原假设为假但是我们接受了原假设。在实际业务场景中第二类错误本来是一个好产品它本来可以给业务带来更多的收益但是由于我们统计的误差导致好产品被拒绝。 在实际工作中我认为第一类错误是我们更加不能接受的。因为在商业世界里一个坏产品的上线带来的损失可能是巨大的所以我们宁愿放弃几个好的创意好的产品也绝不能让坏的产品上线。如果一个坏产品上线了不仅可能会极大程度的影响当时的用户体验还有可能对以后的日活、留存等指标造成更大的影响。本身在实际工作中把留存或者日活提升一个百分点都已经是非常耗时耗力的事情了一个坏产品的上线可能一瞬间就能让留存下降好几个百分点。所以第一类错误在实际工作中更加不能被接受。
4.2 【为什么】
1为什么要做AB测试有什么科学依据 回答要点AB测试的目的/好处理论基础 首先我认为功能设计者是有个人思维的局限性并且全量用户是具有不可调研性的这就会导致一个问题–一个功能的预期效果可能与实际上线后的效果存在定的差异。这个差异到底有多大我们能不能接受最后要不要上线这个功能这些都是需要进行决断的。 AB测试是一个基于统计的假设检验过程首先对实验组和对照组的关系提出假设然后计算两组数据的差异并确定该差异是否存在统计上的显著性最后依据数据结果对假设做出判断。这个过程可以很大程度上避免我们拍脑袋决策科学量化优化方案的效果。 2AB测试成本很高每个调整都需要AB测试么 首先我认为需要从源头了解功能改动的重要性、影响程度等如果重要性或者影响程度很大那么是一定要做AB测试的比如个大型营销活动的落地页设计就非常值得做AB测试首先是这个页面的改动有可能直接影响最后的销售额因为这个页面很大程度决定了用户是否对你的产品感兴趣并为此而付费。此外一个大型营销活动一定是投入了大量的人力物力财力每一个细节都有可能决定最终的结果所以前期一定要尽可能筛出最优的方案。 当然如果只是验证一个小按钮或者一个小改动并且这个改动并不会对用户体验、活动结果、最终收益产生巨大影响的时候就可以选择不上AB测试了。可以选用成本更低的方式来验证比如在界面上按设置一个开关用户可以通过开关的形式自行决定采用哪一种方式最后我们可以通过这个开关的相关指标来判断用户对于哪一种形式有更大的倾向性或者可以做一些用户调研比如通过访谈或者说设计问卷的形式去搜集一些用户的反馈等等。
4.3 【怎么做】
1AB测试的主要流程是什么 1、首先在开始实验之前我们首先需要和相关的产品或者项目经理确定这个实验所要验证的改动点是什么。 2、在确认改动点之后数据分析师需要设计实验中所需要去观测的一些核心指标比如点击率、转化率等。 3、确定完核心指标之后下一步就是计算实验所需的最少样本流量实验样本越大我们的结果越可信但是对我们用户的不良影响就越大。所以我们需要计算能够显著地证明我们的策略有效的最少样本量。 4、在计算完所需样本量之后就要设计流量分割策略根据实验需要对样本流量进行分流分层保证样本的随机和均匀分布避免出现辛普森悖论。 5、然后还要结合目前的日均活跃的用户量计算实验持续的时间周期。 6、以上准备工作就绪就需要和产品经理、开发人员确认可以开始实验。一般在上线正式实验之前会通过小流量去看一段时间的灰度实验。这个灰度实验的目的就是为了验证我们这个改动并不会造成什么特别极端的影响。并且这个过程中会检验数据埋点是否跑通是否能够成功搜集到数据。 7、在灰度之后就会正式发版等到实验周期结束我们对实验的结果进行显著性检验以及最终的效果评估验证。实验结果主要分成有效和无效两种无效的结果可转化为团队的经验避免再犯同样的错误有效的结果即成功通过实验提升了产品的转化率可以把优胜的版本正式推送给全部客户实现产品用户有效增长。 2选择AB实验的样本的时候应该注意什么? 满足最小样本量。对于AB测试来说样本量太少可能导致实验结果不可信但是样本量也不是越多越好一个最直接的原因就是样本量越大影响的用户就越多就有可能影响到用户对产品的体验。 在AB测试时影响样本量选择通常有4个因素显著性水平、统计功效、均值差异、标准差。 N σ 2 δ 2 ( Z 1 − α 2 Z 1 − β ) 2 N \frac { \sigma ^ { 2 } } { \delta ^ { 2 } } \, ( Z _ { 1 - \frac { \alpha } { 2 } } Z _ { 1 - \beta } ) ^ { 2 } Nδ2σ2(Z1−2αZ1−β)2
显著性水平显著性水平越低对AB测试结果的要求也就越高越需要更大的样本量来确保精度。统计功效统计功效意味着避免犯二类错误的概率统计功效越大需要的样本量也越大。均值差异如果真实值和测试值的均值差别巨大也不太需要多少样本就能达到统计显著。标准差标准差越小代表两组差异的趋势越稳定。越容易观测到显著的统计结果。 所以选择AB测试的实验样本时需要满足最小样本数。【在实际业务操作时满足不影响用户体验的前提下可以比最小样本数多一些】。 除了满足最小样本量之外在选择实验组和对照组的样本的时候还要注意的是选择同一时间段内的、特征保持一致的用户可以通过从所有的用户中随机选择来解决这个问题。 3AB测试的实验周期如何选择需要考虑哪些因素过长或者过短会有什么影响 实验周期最小样本量/实验桶天均流量但实际操作中实验周期选择需要考虑三方面因素: ①考虑最小样本量实验周期内累计样本量需要大于最小样本量要求 ②考虑周末效应一般产品周中和周末用户行为表现会存在差异因此实验至少需要运行完整一周 ③考虑新奇效应重点针对老用户改版会对用户产生非持久性的行为驱动这段时期的数据是缺乏置信度的因此需要适当拉长实验周期。 在考虑以上因素的前提下制定试验周期时间过长会导致实验选代的效率变低而时间过短会导致实验的不置信 4如何验证你的改进办法有效果如何确定此功能上线收益 考察要点AB测试上线后从哪些维度确定新方案比旧方案更好 对于A方案和B方案哪个方案的结果更好通常会去关注指定的关键性指标比如点击率、留存率、复购率、转化率、人均时长等指标然后运用假设检验对这些指标进行检验看结果是否置信。如果结论置信我们就能够得到A方案和B方案哪个指标更好(有显著性差异) 此外还可以计算ROI来比对不同的方案。计算出每组的ROI来确定改动是否有效。 5请分析下AB test的结果统计显著不等于实际显著你怎么看 统计学上显著实际不显著可能的原因是我们在AB测试当中所选取的样本量过大导致和总体数量差异很小 举例:对应到我们的互联网产品实践当中我们做了一个改动APP的启动时间的优化了0.001秒这个数字可能在统计学上对应的P值很小(统计学上是显著的)但是在实际使用过程中对于用户来说0.001秒的差异太微小了是感知不出来的。那么这样一个显著的统计差别其实对我们来说是没有太大的实际意义的 统计上不显著实际显著一般我们会使用的通用的方式是将这个指标去拆分成每一天去观察。如果指标的变化曲线每一天实验组都高于对照组即使它在统计上来说是不显著的我们也认为在这样一个观测周期内实验组的关键指标表现是优于对照组的那么结合这样一个观测我们最终也可以得出这个优化可以上线的结论。 6如果你在AB测试中发现实验组核心指标明显优于对照组那这个优化就一定能够上线吗 不一定需要实际情况实际分析。举个例子比如说有的时候我们想要提升产品的视觉展现效果。但是这种优化可能是以用户等待内容展现的时间作为代价来进行提升的。所以一个方面的优化可能会导致另一个方面的劣化。在做这个优化的时候可能会对其他部门产生一些负向的影响进而导致公司收入的下降。所以我们在进行AB测试的时候必须要综合评估所有方面的一些指标变动同时对于收益和损失来做一个评估才能确认这个优化可以最终上线。
五、应用实战
step1提出假设 设计AB test实验的第一步通常是提出假设。假设是对于某个特定变化我们所期望的结果也是后续实验的基础我们需要在后续实验中通过数据验证这个假设是否成立如果验证成立我们可以将这个变化推广到全部用户。如果验证不成立则需要继续优化这个假设或者放弃这个修改方案以寻找更好的变化。 假设我们希望新页面可以提升2%的转化率原则上我们应选择单尾检验准确的说应该选择右侧单尾检验因为我们的假设是新页面的转化率要大于旧页面的转化率但是在本案例中我们并不能确定新页面的性能一定比当前的页面更好。所以这里选择双尾检验。 step2确定实验分组 在AB测试中我们分为实验组和对照组
对照组这一组用户将看到旧版落地页实验组这一组用户将看到新版落地页 为了后续计算每一组的转化效率需要记录每一位参与实验的用户的购买行为也就是说无论用户看到的是新版落地页还是旧版落地页都需要记录这位用户最终是否购买了产品。这可以通过在网站上添加相应的追踪代码来实现0代表用户在测试期间没有购买产品1代表用户在测试期间购买l了产品这样后续就可以很容易地计算出每个组的均值从而得到新旧两版落地页的转化率。 step3计算实验样本量、试验周期
实验样本量的确定 根据大数定律和中心极限定理样本量越大我们的估计就会越精确但同时也意味着成本越高所以需要知道实验所需的最小样本量是多少在成本可控范围里选择合适的样本量即可。 N σ 2 δ 2 ( Z 1 − α 2 Z 1 − β ) 2 N \frac { \sigma ^ { 2 } } { \delta ^ { 2 } } \, ( Z _ { 1 - \frac { \alpha } { 2 } } Z _ { 1 - \beta } ) ^ { 2 } Nδ2σ2(Z1−2αZ1−β)2 当衡量指标为比率类指标时标准差计算公式为 σ 2 P A ( 1 − P A ) P B ( 1 − P B ) \sigma^2 P_A(1 - P_A) P_B(1 - P_B) σ2PA(1−PA)PB(1−PB) 其中 P A P_A PA和 P B P_B PB分别时对照组和实验组的观测值。 step4上线AB测试并收集数据 目前市面上大家熟知的大公司基本上都在做AB测试比如百度、阿里、腾讯、字节跳动、京东、滴滴、携程、美团等。大公司做AB测试的主要特点就是。一般都是自研系统。而对于规模不是那么大的企业也有做AB测试的需求但是这部分企业一般是使用第三方的A/B测试工具。目前市面上的第三方AB测试工具主要有神策数据、热云数据等。 step5数据分析及假设检验 数据集及代码链接https://pan.quark.cn/s/97d5c25bbc6d 代码也可见网页版资源链接。 step6分析结果及建议 由于我们计算出来的P0.607远高于显著水平a 0.05所以我们不能拒绝原假设H0这意味着新版落地页与旧版落地页没有明显不同。此外我们继续看置信区间treatment组的置信区间为[0.117.0.136]可以看出它包括我们的转化率基准线13%它不包括我们的转化率目标值15%。也可以说明新版落地页的真实转化率更有可能与我们的基线相似而没有办法达到我们期望的15%。进一步证明了新版设计并不是一个很好的改进。