精华内容
下载资源
问答
  • AB测试是什么,怎么做AB测试
    万次阅读
    2019-10-20 22:24:30

    本文作者康伟华(点融黑帮),现任点融BI总监,曾就职于1号店、携程、eBay等互联网公司从事数据和开发工作,关注数据科学和系统架构。2000年Google的工程师第一次将AB测试用于测试搜索结果页展示多少搜索结果更合适,虽然那次的AB测试因为搜索结果加载速度的问题失败了,但是这次的AB测试可以认为是Google的第一次AB测试。从那以后AB测试被广泛应用于互联网公司的优化迭代, 每年数万个AB实验被Google、Amazon、eBay、阿里等主流互联网公司应用于线上进行UI内容优化、算法优化、收益优化等方方面面。本文将从AB测试的原理、过程、AB测试结果的评测分析以及关于AB测试的一些误区和大家好好聊一聊关于AB测试的那些事儿。

    一、什么是AB测试?

    AB测试的概念来源于生物医学的双盲测试,双盲测试中病人被随机分成两组,在不知情的情况下分别给予安慰剂和测试用药,经过一段时间的实验后再来比较这两组病人的表现是否具有显著的差异,从而决定测试用药是否有效。互联网公司的AB测试也采用了类似的概念:将Web或App界面或流程的两个或多个版本,在同一时间维度,分别让两个或多个属性或组成成分相同(相似)的访客群组访问,收集各群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。

    二、AB测试的基本步骤

    AB测试是一个反复迭代优化的过程,它的基本步骤如下图所示可以划分为:

    1.设定项目目标即AB测试的目标

    2.设计优化的迭代开发方案,完成新模块的开发

    3.确定实施的版本以及每个线上测试版本的分流比例

    4.按照分流比例开放线上流量进行测试

    5.收集实验数据进行有效性和效果判断

    6.根据试验结果确定发布新版本、调整分流比例继续测试或者在试验效果未达成的情况下继续优化迭代方案重新开发上线试验

    从对AB测试的定义中可以看出AB测试强调的是同一时间维度对相似属性分组用户的测试,时间的统一性有效的规避了因为时间、季节等因素带来的影响,而属性的相似性则使得地域、性别、年龄等等其他因素对效果统计的影响降至最低。

     

    如何提供对用户的有效分组以及如何判断实验中不同分组用户属性的相似性是AB测试需要解决的第一个问题。而在试验过程中如何收集用户的体验和业务数据,如何对收集的数据进行分析并判断不同版本间的优劣是AB测试需要解决的第二个问题,也是AB测试的目的所在。下面我们对AB测试中这两个关键的问题进一步展开。

    三、AB测试的设计

    AB测试中分流的设计直接决定了测试结果是否有效。AB测试是对线上生产环境的测试,而之所以进行AB测试通常是对测试中的改进版本所产生效果的好坏不能十分确定,所以测试版本的流量通常不宜过大。尤其对于那些影响范围较大的改版(如主流程页面的重大调整),影响用户决策的新产品上线和其他具有风险性的功能上线通常采用先从小流量测试开始,然后逐步放大测试流量的方法。但是,测试版本的流量如果太小又可能造成随机结果的引入,试验结果失去统计意义。

    举个例子:某电商网站对我的历史订单这个页面进行改版的AB测试,测试的目标是提升用户的复购,衡量的指标是经过这个页面的单UV产生的GMV贡献(单日GMV总数/单日进入UV)。假设这个页面每天的UV在2000左右,而我们对新版本取的分流比例是2%,那么一天就会有差不多40个UV进入试验版本。如果试验进行1周然后考察试验结果,这是试验的结果就很容易受到某些异常样本的影响,譬如说某个土豪老王恰好分在了试验组然后购买了一个高价值的东西,那么老王的购买行为就可能带偏整个测试组的统计结果。

    为了规避这种因为样本量不足造成的试验结果不可用,在AB测试设计时可以采用如下措施:

    1.试验设计时预估进入试验的样本量,做分流规划时避免分配给测试集的样本量过少。

    2.除了进行AB测试外增加关于数据有效性考量的AA测试,将原始版本的流量中分出两个和测试版本相同的流量也进入测试。例如:为测试一个新的功能,我们原本准备划分90%流量给老版本,10%流量给新版本;这时我们可以分配70%流量给老版本A,同时生成两个10%流量的老版本C和D进行AA测试,然后把剩余的10%流量给新版本B;在试验过程中通过考察分配给老版本C和D的两股流量是否存在显著性差异,从而认定试验分流是否有效。

    3.如果参与测试新版本已经分配了很大的流量比例,但是仍然存在样本量不足的情况,这时就只能通过拉长试验时间的方式来累积足够的样本量进行比较了

    AB测试的设计过程中另一个重要的点就是AB测试延续的时长了,通常AB测试延续的时间不宜太长,因为AB测试是对线上的多个版本的测试,这也就意味着线上系统需要同时维护多个可用的版本,长时间的AB测试无疑加大了系统的复杂性。但是,另一方面如果试验进行的时间太短可能会造成试验样本量不足的问题。同时,如果进行的是UI改版一类影响用户体验的测试,新版本上线后用户通常需要有一个适应的过程,这时我们通常会在试验开始时给用户一个适应期让用户适应新的UI版本,然后再考察试验的结果。适应期的长短通常以足量用户流量参与试验后的2到3天为宜。适应期过后的试验时间长短除了需要考察样本量的情况外,还需要参考用户的行为周期,譬如说电商用户的购买行为有较强的周次规律,周末流量和购买量与工作日会有显著差异,这时测试的周期应该能够覆盖一个完整的周期,也就是应该大于1周。

    在试验版本的设计过程中还需要考虑线上进行多个试验相互间的影响,譬如在电商的购买流程中我们同时对搜索算法和商品详情页的UI进行优化,这两个变动贯穿在用户的购物流程中,相互之间可能是有影响的,我们需要区分试验中这两种改动带来的影响分别是怎样的。

    在这种情况下当然我们可以将用户流量分成:

    A.老的搜索算法和老的详情页UI

    B.新的搜索算法和老的详情页UI

    C.老的搜索算法和新的详情页UI

    D.新的搜索算法和新的详情页UI

    这样四个版本,然后进行测试。但是这样分流的问题是对于流程中元素的改动,测试的版本是呈现指数上升的,在多个改动同时进行时就容易造成版本流量不足的情况。在这种情况下就需要引入试验分层的概念,将实验空间横向和纵向进行划分,纵向上流量可以进入独占实验区域或者是并行实验区域。在独占实验区域,只有一层,实验可以独享流量且不受其他实验的干扰。在分层区域,不同的应用属于不同layer,每个应用内部,又可以划分为多层,层与层之间相互不影响。流量可以横向经过多层,每一层可有多个实验。流量在每一层都会被重新打散。

    这样多层次正交的实验方式使多个并发实验都可以保证具备一定流量的并行进行。

    最后,在对用户体验有明显影响的实验中通常采用对用户稳定的分流实现。即分到不同版本的用户在多次登录应用落入相同的实验版本,这样可以保证用户体验的一致性,保证用户能够在适应新版本的情况下有稳定的表现。通常会采用不同实验选用不同的hash种子,对用户的guid和上述分层实验的实验层次id的组合进行hash,然后根据hash值取余的方式进行分流。

    四、AB测试效果分析

    关于AB测试实验效果的分析通常分为两个步骤:实验有效性的判断、实验结果的比较。实验有效性的判断即判断实验的分流是否已经到达所需要的最小样本量,从而能够以较大的概率拒绝两类统计错误的发生。最小样本量的判断可以采用假设实验目标指标符合正态分布下,两类错误发生概率的分位数的方式进行估算。或者更一般的可以采用AA测试,对两个老版本的实验结果计算P值,从而判断其是否存在显著差异。如果AA实验的结果不存在显著差异,那么可以认为实验结果是有效的,进而可以对新老版本的实验结果进行进一步的判断。

    在确认实验有效后就可以对实验的结果进行判断了,通常通过比较新实验版本和老版本是否存在显著差异(前述的P值判断),以及计算实验结果指标的置信区间(通常选用指标的95%置信区间),从而判断新版本是否相对老版本存在显著提升或下降。

     

    五、关于AB测试的一些误区

    最后,讲一下关于AB测试的一些误区,通过对这些误区的理解希望能够恰如其分的应用AB测试提升网站和产品的转化等指标。

    误区1: AB测试运用成本过高,可以通过灰度发布的方式来进行AB测试,进而避免同时维护不同版本的情况。

    灰度发布是应用发布通常采用的方式,即对一个pool的部分服务器发布新版本的代码,而其余的服务器采用老版本代码,在确认应用正常的情况下逐步将新版本发布到pool的全部服务器。这样的方式的确可以起到分流的作用,但是这样的分流是不稳定的,用户的两次访问很有可能会被分到新老两个版本上。同时,灰度发布的分流单位通常是以服务器的流量为最小单位的,不能做到对测试流量的精确分配。

    误区2: 用参加实验的部分用户的体验质疑AB实验结果的正确性。

    经常碰到产品经理或是业务人员提出某些用户在新版本的实验中没有转化,而实际实验数据体现新版本效果好于老版本的情况,从而质疑实验的结果。AB测试是基于统计的结果,是基于大样本量的有效统计结果,实验结果的好坏是针对参与实验的大多数样本而言的,个例不具备代表性。

    误区3: AB测试是优化Web应用的利器,应该在所有场合都应用AB测试进行优化。

    AB测试从实验的设计、实施和实验结果的收集通常需要一个不短的阶段,且进行AB实验需要在线上维护多个不同的版本,所以不应该所有场景下都采用AB测试对Web应用进行优化迭代。对于那些明显的bug修复,或者对于那些能够明显改善用户体验的功能,应该采用尽快上线并监控关键数据指标的方式。此外,AB测试也不是silver bullet, 通常AB测试的时间不会延续很长时间,对于一些长期效果很难做到有效的监测和对比。

    例如,某OTA对机票进行捆绑销售产生的收益进行了为期一年的多版本AB测试,测试的目标是在用户转化率没有显著下降的情况下提升用户客单价。在实验中,通过对价格非敏感用户的个性化展示、默认勾选等方式的确客单价有了很显著的提升,同时用户的线上转化率并没有显著变化甚至有了略微的提升。但是,这种捆绑销售的方式从长远来看可能对用户是有伤害的,这种情况在低频消费的场景下很难在实验的结果上有所体现。而且,这种捆绑销售的产品为媒体和公众所诟病,这些都不是AB测试能够体现的。

    综上所述,AB测试是一项复杂的系统工程,除了要掌握AB测试方法,制定严谨的AB测试方案之外,还需要依赖科学的AB测试工具进行试验。

    数极客是国内新一代用户行为分析平台,是增长黑客必备的大数据分析工具,支持APP数据分析网站分析,独创了6大转化率分析模型,是用户行为分析领域首家应用定量分析与定性分析方法的数据分析产品,并且基于用户行为分析系统,提供了会员营销系统A/B测试工具两大数据智能应用解决方案,使得企业可以快速的实现数据驱动增长。

     

    欢迎关注技术公众号:架构师成长营

    更多相关内容
  • AB测试的数据面板显示“95%可能性比原版本有提升”,或者“90%可能统计显著”,需要考虑如下的问题:假如A版本和B版本没有潜在的差别,我们能看到数据中显示出来区别的可能性有 一种常见的AB测试误区 如果网页正在...
  • 用于Java的AB测试框架 使用方法:您将最终创建两个对象:TestCase对象和ABTest对象。 第一个表示您想要的单个测试用例。 从样式不同的元素到显示完全不同的网站,这可以是任何东西。 第二个代表您正在执行的单个...
  • AB测试工具

    2018-08-09 14:39:07
    apache自带ab工具,可以测试 apache、IIs、tomcat、nginx等服务器 但是ab没有Jmeter、Loadrunner那样有各种场景设计、各种图形报告和监控,只需一个命令即可,有输出描述 可以简单的进行一些压力测试
  • ABTestJS ABTestJS 是一个 A/B 测试 javascript 库,它允许开发人员轻松比较同一... script type =" text/javascript " charset =" utf-8 " src =" src/ABTest.js " > </ script > < script type =" te
  • AB测试是搜索营销管理员非常喜欢的一种优化手段,但这并非SEM乃至在线营销的专利。本质上这就是可控实验:如果我们想针对SEM管理中的某个因素优化,就必须保持其他因素恒定以过滤掉可能的干扰。  AB测试是搜索营销...
  • 互联网行业朝夕万变,产品和决策都需要快速得到用户反馈的数据去迭代更新,所以AB测试在互联网公司中就显得非常重要,日前,大众点评负责AB测试框架的架构师樊聪分享了该公司此系统的原理、架构和设计思路。...
  • Lind是一个可以在您的网站上创建任何类型AB测试的开源项目
  • 打开Apache服务器的安装路径(我用的是 WampServer),在bin目录中有一个ab.exe的可执行程序,它是要介绍的压力测试工具。  在Windows系统的命令行下,进入ab.exe程序所在目录,执行ab.exe程序。注意直接双击...
  • 适用于 Android 的 AB 测试框架。 例子 首先你必须调用设置函数:BestChoiceAB.setup(context, new MixPanelClient(context)); //MixPanelClient 是您收集有关实现 BestChoiceABClient 的测试数据的客户端 以下是您...
  • ab_demo:AB测试演示

    2021-03-03 12:30:31
    ab_demo AB测试演示
  • 绝对测试计算器 用于A / B测试的统计显着性计算器 快速而肮脏PHP代码,用于计算A / B测试的统计显着性。 安装 将其包括在您的项目中或根据需要使用。 例子 使用require_once('ab-testing-calculator.php'); 并...
  • 用于做ab测试的ab代码

    2018-07-05 16:37:09
    网站测试,ab测试,可以对网站进行压测,测试性能,反应时长
  • Ab测试笔记 A / B测试课程/论文的注释/项目的集合
  • ABTest原型 一个简单的 A/B 测试 SDK 当我第一次看到 Optimizly 如何更改仅包含 SDK 但没有对原始源代码进行其他更改的正在运行的应用程序时,对我来说这就像魔法。 后来我在 Stack Overflow 上看到这个问题: 我...
  • 云眼AB测试产品介绍.pdf
  • AB测试 在android中进行ab测试的简单库 用法(gradle) 将此行添加到您的依赖组: compile 'it.sephiroth.android.library.ab:library:+' 例子 该库用于非常简单的 AB 测试。 该库可以在代码中的任何地方初始化...
  • bayesAB: 快AB测试的贝叶斯方法
  • 在线教育产品AB测试实施案例-云眼.pdf
  • django-experiments, Django AB测试模块 django实验 django实验是 Django的AB测试框架。通过模板标签来设置实验是有可能的。 通过 Django 管理,你可以监控和控制实验进度。如果你不知道AB测试是什么,请查看维基...
  • pickpick:一个用于Web的A / B测试引擎
  • 网络演示 演示移动 Web 应用程序使用 Adhoc 库运行 A/B 测试
  • Online_Store_Monetization_Experiment_Design:AB测试
  • sixpack:一个和语言无关的 A/B 测试框架
  • AB测试-最佳方案测试

    千次阅读 2021-04-03 13:13:11
    AB测试的目标是选出不同参考方案的优点进行选择,包括:用户体验,用户流量,性能等等,每个产品测试的点不一样AB测试的目标就会不同。 百度上的解释更加偏向于开发web、APP:...

    目录

    实验设计

    流量分配

    实验效果

    实验结束

    多个活动交集量化的实验设计

    业务迭代的同时,如何与自身的过去比较

    更为复杂的实验设计


    AB测试的目标是选出不同参考方案的优点进行选择,包括:用户体验,用户流量,性能等等,每个产品测试的点不一样AB测试的目标就会不同。

    百度上的解释更加偏向于开发web、APP:https://baike.baidu.com/item/AB%E6%B5%8B%E8%AF%95/9231223?fr=aladdin

    产品经理关注点在于用户体验和接受度:http://www.woshipm.com/pmd/699804.html
     

    实验设计

    AB Test 实验一般有 2 个目的:

    1. 判断哪个更好:例如,有 2 个 UI 设计,究竟是 A 更好一些,还是 B 更好一些,我们需要实验判定
    2. 计算收益:例如,最近新上线了一个直播功能,那么直播功能究竟给平台带了来多少额外的 DAU,多少额外的使用时长,多少直播以外的视频观看时长等

    我们一般比较熟知的是上述第 1 个目的,对于第 2 个目的,对于收益的量化,计算 ROI,往往对数据分析师和管理者非常重要

    对于一般的 ABTest 实验,其实本质上就是把平台的流量均匀分为几个组,每个组添加不同的策略,然后根据这几个组的用户数据指标,例如:留存、人均观看时长、基础互动率等等核心指标,最终选择一个最好的组上线。

    实验的几个基本步骤一般如下:

    流量分配

    实验设计时有两个目标:

    • 希望尽快得到实验结论,尽快决策
    • 希望收益最大化,用户体验影响最小

    因此经常需要在流量分配时有所权衡,一般有以下几个情况:

    • 不影响用户体验:如 UI 实验、文案类实验等,一般可以均匀分配流量实验,可以快速得到实验结论
    • 不确定性较强的实验:如产品新功能上线,一般需小流量实验,尽量减小用户体验影响,在允许的时间内得到结论
    • 希望收益最大化的实验:如运营活动等,尽可能将效果最大化,一般需要大流量实验,留出小部分对照组用于评估 ROI

    根据实验的预期结果,大盘用户量,确定实验所需最小流量,可以通过一个网站专门计算所需样本量:

    • 以次日留存率为例,目前大盘次日留存率 80%,预期实验能够提升 0.2pp
      (这里的留存率可以转换为点击率、渗透率等等,只要是比例值就可以,如果估不准,为了保证实验能够得到结果,此处可低估,不可高估,也就是 0.2pp 是预期能够提升地最小值
    • 网站计算,最少样本量就是 63W
      这里的最少样本量,指的是最少流量实验组的样本量
    • 如果我们每天只有 5W 的用户可用于实验(5W 的用户,指最少流量实验组是 5W 用户),63/ 5 = 13 天,我们需要至少 13 天才能够得到实验结论

    如果我们预期提升的指标是人均时长、人均 VV 等,可能就比较复杂了,我们需要运用 t 检验反算,需要的样本量

    实验效果

    我们以一个稍复杂点的运营活动实验为例,活动有方案 1、方案 2,同时为了量化 ROI,对照组没有运营活动。

    需要回答几个问题

    1. 方案 1 和方案 2,哪个效果更好?
    2. 哪个 ROI 更高?
    3. 长期来看哪个更好?
    4. 不同群体有差异吗?

    第 1 个问题,方案 1 和方案 2,哪个效果更好?

    还是要运用假设检验,对于留存率、渗透率等漏斗类指标,采用卡方检验

    对于人均时长类等均值类指标,采用t 检验

    通过上假设检验,如果结论置信,我们就能够得到方案 1 和方案 2 在哪像指标更好(有显著性差异), 对于不置信的结论,尽管方案 1 和方案 2 的指标可能略有差异,但可能是数据正常波动产生。

    第 2 个问题,哪个 ROI 更高?

    一般有活动相比无活动,留存、人均时长等各项指标均会显著,我们不再重复上述的假设检验过程。

    对于 ROI 的计算,成本方面,每个实验组成本可以直接计算,对于收益方面,就要和对照组相比较,假定以总日活跃天(即 DAU 按日累计求和)作为收益指标,需要假设不做运营活动,DAU 会是多少,可以通过对照组计算,即:

    • 实验组假设不做活动日活跃天 = 对照组日活跃天 * (实验组流量 / 对照组流量)
    • 实验组收益 = 实验组日活跃天 - 实验组假设不做活动日活跃天

    这样就可以量化出每个方案的 ROI。

    第 3 个问题,长期来看哪个更好?

    这里就要考虑新奇效应的问题了,一般在实验上线前期,用户因为新鲜感,效果可能都不错,因此在做评估的时候,需要观测指标到稳定态后,再做评估。

    例如有的时候出现,刚刚上线前期,实验组效果更好,但是经过以端时间,用户的新鲜感过去了,实验组的效果可能更差,因此,从长远收益来看,我们应该选择对照组,是实验组的新奇效应欺骗了我们,在做实验分析时,应剔除新奇效应的部分,待平稳后,再做评估

    第 4 个问题,不同用户群体有差异吗?

    很多情况下,对新用户可能实验组更好,老用户对照组更好;对年轻人实验组更好,中年人对照组更好,

    作为数据分析师,分析实验结论时,还要关注用户群体的差异。

    实验结束

    实验结束后需要:

    • 反馈实验结论,包括直接效果(渗透、留存、人均时长等)、ROI
    • 充分利用实验数据,进一步探索分析不同用户群体,不同场景下的差异,提出探索性分析
    • 对于发现的现象,进一步提出假设,进一步实验论证

    更高级的实验

    对于长线业务,可能同时有数十个实验同时进行,不但对比每项小迭代的差异,同时对比专项对大盘的贡献量、部门整体对大盘的贡献量,这样就需要运用到了实验的层域管理模型。

    • 对比每个产品细节迭代的结果
    • 对比每个专项在一个阶段的贡献
    • 对比整个项目在一个阶段的贡献

    多个活动交集量化的实验设计

    作为数据分析师,多团队合作中,经常遇到多业务交集的问题,以我近期主要负责的春节活动为例,老板会问:

    • 春节活动-明星红包子活动贡献了多少 DAU?春节活动-家乡卡子活动贡献了多少 DAU?
    • 春节活动总共贡献了多少 DAU?

    严谨一点,我们采用了 AB 实验的方式核算,最终可能会发现一个问题:春节活动各个子活动的贡献之和,不等于春节活动的贡献,为什么呢?

    • 有的时候,活动 A 和活动 B,有着相互放大的作用,这个时候就会 1+1 > 2
    • 还有的时候,活动 A 和活动 B,本质上是在做相同的事情,这个时候就会 1+1 < 2

    这个时候,我们准确量化春节活动的贡献,就需要一个【贯穿】所有活动的对照组,在 AB 实验系统中通俗称作贯穿层

    (说明:实验中,各层的流量是正交的,简单理解,例如,A 层的分流采用用户 ID 的倒数第 1 位,B 层的分流采用用户 ID 的倒数第 2 位,在用户 ID 随机的情况下,倒数第 1 位和倒数第 2 位是没有关系的,也称作相互独立,我们称作正交。当然,AB Test 实验系统真实的分流逻辑,是采用了复杂的 hash 函数、正交表,能够保证正交性。)

    这样分层后,我们可以按照如下的方式量化贡献

    • 计算春节活动的整体贡献:实验填充层-填充层填充组 VS 贯穿层-贯穿层填充组
    • 计算活动 A 的贡献:活动 A 实验层中,实验组 VS 对照组
    • 计算活动 B 的贡献:活动 B 实验层中,实验组 VS 对照组

    业务迭代的同时,如何与自身的过去比较

    上面谈到了【贯穿层】的设计,贯穿层的设计其实不但可以应用在多个活动的场景,有些场景,我们的业务需要和去年或上个季度的自身对比,同时业务还不断在多个方面运用 AB Test 迭代

    类似与上面这种层次设计,在推荐系统中较为常见,在某一些产品或系统中,贯穿层不能够完全没有策略,那么采用去年或上个季度的策略,代表着基准值,从而量化新一个周期的增量贡献

    我们可以量化:

    • 每个小迭代对整个系统的贡献:实验层中的实验组 VS 对照组
    • 周期内,系统全部迭代与上个周期的比较:实验填充层 VS 贯穿层 1(或贯穿层 2)
    • 同时,可以量化去年策略的自然增长或下降,以衡量旧有系统是否具有长期的适用性(作为系统设计者,更应鼓励设计具有长期适应性的系统):贯穿层 1(上个季度的策略)VS 贯穿层 2(去年的策略)

    更为复杂的实验设计

    我以我目前负责的业务,微视任务福利中心的实验设计为例,举例一个更复杂的实验系统设计,综合了上面提到的 2 个目的:

    • 量化每一个实验迭代为系统带来的增量贡献
    • 量化每一类迭代(如 UI 迭代、策略迭代),在一个阶段的增量贡献
    • 量化系统整体在上一个周期(季度、年)的增量贡献
    • 量化任务福利中心的整体 ROI(本质上,是给用户一些激励,促进用户活跃,获得更多商业化收益,所以和推荐系统不同的是,需要有完全没有任务福利中心的对照组,用户量化 ROI)

     

    作者:腾讯技术工程
    链接:https://www.zhihu.com/question/20045543/answer/1103961403
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    展开全文
  • AB测试及检验

    千次阅读 2020-08-09 00:07:12
    一、什么是AB测试? A/B 测试是一种产品优化方法;为同一个优化目标制定两个方案,让同一部分用户中的一部分用户命中 A 方案,同时另一部分用户命中 B 方案,统计并比较不同方案的点击率、转化率等数据指标,通过...

    一、什么是AB测试?

    A/B 测试是一种产品优化方法;为同一个优化目标制定两个方案,让同一部分用户中的一部分用户命中 A 方案,同时另一部分用户命中 B 方案,统计并比较不同方案的点击率、转化率等数据指标,通过不同方案的数据表现,在确定数据表现通过假设检验后,决定最终方案的实验方法。
    在这里插入图片描述

    二、AB测试的意义?

    AB测试是支持数据决策最有力的工具。

    以下为最基础的数据驱动流程,方案验证即为AB测试过程,实验才是检验真理的唯一标准。

    • 数据收集
    • 数据分析
    • 发现问题
    • 提出方案
    • 方案验证
    • 发布上线

    三、AB测试实验需要满足以下两个特性

    1. 同时性

    两个策略是同时投入使用的,而不是AB两种策略分先后上线,这样会有其他因素影响。

    2. 同质性

    两个策略对应的使用群体需要保证尽量一致。

    四、AB测试实验详解

    1. 流量分配规则:正交与互斥

    (1)正交实验

    每个独立实验为一层,一份流量穿越每层实验时,都会随机打散再重组,保证每层流量数量相同。
    在这里插入图片描述

    (2)互斥实验

    实验在同一层拆分流量,不论如何拆分,不同组的流量是不重叠的。
    在这里插入图片描述

    (3)什么情况下正交、互斥分配流量?

    我们刚刚就用的正交流量分配方式,导致了错误的数据结果,如果那个实验我们用互斥的流量分配方法就完美的解决了这个问题。

    AB测试实验中,两个或多个实验内容相互影响则选择互斥方法分配流量,两个或多个实验内容不会相互影响则选择正交方法分配流量。

    • 正交:可以节省流量;
    • 互斥:可以让耦合的实验完美剥离开来不互相影响。

    (4)举个例子

    在详情页面上做两个实验:

    其中一个是转化按钮颜色的AB测试实验;
    另外一个是转化按钮文案的AB测试实验。

    在这里插入图片描述

    如果我们使用正交分配流量的方式会出现什么情况呢?

    也就是流量同时命中实验一与实验二,最后展现在用户面前的就是如下图四种情况,这种情况我们是无法统计出准确的数据结果的,因为已经违背了单一变量原则。

    这种最好使用互斥来分配流量,一部分用户命中实验一、另一部分用户命中实验二。
    在这里插入图片描述

    2. AB测试系统实验架构

    AB测试系统实验架构包括:应用层-实验层-策略层

    (1)应用层

    应用层级别最好,应用层与应用层之间的流量是正交的。

    (2)实验层

    实验层是应用层子层,实验层与实验层之间的流量是互斥的。

    (3)策略层

    策略层是实验层子层,一个实验可以有多个策略,多个策略之间流量相互不影响。

    举个例子:

    应用:App客户端;
    实验:购买按钮颜色;
    策略:红色、橘色。

    3. 创建实验

    创建实验时一般先设置好实验条件和统计指标

    实验条件:AB测试系统可以对一些条件的用户进行限制,城市、年级、新老用户、版本号、平台(ios、android、h5)。这里我们完全可以直接引入用户画像系统直接进行人群定向取做AB测试实验。传送门:斑马:用户画像从搭建到应用实战

    这个功能主要是针对满足这样实验条件的用户进行分流,如不满足这些条件则不分流,直接命中默认策略。默认策略是我们在创建策略时勾选的,如果用户不满足条件命中默认策略,这些用户产生的数据是不参与计算的,也就不会影响实验结果。
    在这里插入图片描述

    (1)城市、年级、新老用户

    这几个条件很好理解,就是指用户所在城市、年级、新老,但需要用户登录才能拿到这样的信息。

    如果设定了实验条件,用户处于非登录态怎么办呢?

    非登录态的用户我们认为他是不满足实验条件的,所以会走默认策略,这样会避免一些不满足实验条件的用户却命中实验的可能。但为了保证同一个用户在登入登出看到的页面是相同的,所以这部分人即使登录后也会走默认策略。

    但不是全部未登录用户都会这样,我们判断当前时间与未登录用户刚登录的时间点的差值是否大于两天。

    如果大于两天我们会让他命中实验,进行分流,这样也是为了保证每天下载的大量用户也会命中AB测试的情况,达到一个平衡的状态。

    在这里插入图片描述

    (2)适用版本

    这里的版本是针对客户端的AB测试提供的功能。

    比如:Ios 在1.0.1 版本,Android在1.0.2版本上线一个AB测试实验。

    如果不绑定版本号会出现什么情况?

    因为版本发布,除强制升级外,用户还处于老版本。对于老版本的用户也会命中实验,但是这些用户并没有看到不同的策略,就会出现,AB测试系统分给用户A策略,但是用户看到的是B策略,最终影响数据准确性。

    版本号设置会向上兼容,也就是说只有此版本号,或者高于此版本的用户才能命中实验。

    (3)平台

    平台分为3种,分别为:IOS客户端、Android客户端、JS(H5)

    分别针对不同的平台进行的AB测试。

    这里不说Ios和Android,只说一下H5,因为H5的埋点上报与客户端不一样,H5 的分流的唯一ID也与客户端不一样。客户端的分流使用的ID是设备ID,H5则是cookieID

    统计指标:

    (1)对于AB两个策略上线后,我们需要跟踪两个策略的数据效果

    这两个策略的效果数据来源就是页面的浏览与按钮的点击两个埋点事件来提供数据支持的。比如:客户端需要对课程详情页的报名按钮样式进行AB测试实验,数据监控的时候我们就需要统计进入详情页的人数与报名按钮点击uv进行统计。

    以报名按钮uv/详情页uv此数值来统计报名按钮样式的AB两种策略效果,那么在创建实验时就需要确定统计指标,确定指标后就需要确定实验所需要哪些埋点指标统计。这里就需要详情页uv以及报名按钮uv两个埋点事件

    当然还有更负责的数据指标,但都可以通过埋点数据上报来进行统计。

    (2)计算方式

    假设一个漏斗中包含了 A、B、C、D、E 五个步骤,选择的时间范围是 2015 年 1 月 1 日到 2015 年 1 月 3 日,窗口期是 1 天。那么,如果用户在2015年1月1日到2015年1月3日触发了步骤 A,并且在步骤 A 发生的 1 天内,依顺序依次触发了 B、C、D、E,则视作该用户完成了一次成功的漏斗转化。

    在这个过程中,如果穿插了一些其它的步骤或者行为,例如在满足时间限制的情况下,用户的行为顺序是 A > X > B > X > C > D > X > E,X 代表任意一个事件,则该用户依然视作完成了一次成功的漏斗转化。

    如果该用户在这个事件限制范围内,依次触发了 A > B > C > E,则该用户没有完成该漏斗的转化,并且会被记作步骤 C 的流失用户。

    考虑一个更复杂的情况,如果一个用户在所选时段内有多个事件都符合某个转化步骤的定义,那么会优先选择更靠近最终转化目标的事件作为转化事件,并在第一次达到最终转化目标时停止转化的计算。

    假设一个漏斗的步骤定义是:访问首页、选择支付方式、支付成功,那么不同用户的行为序列及实际转化步骤(标记部分)见如下例子:

    • 例 1:访问首页 -> 选择支付方式(支付宝) -> 选择支付方式(微信)-> 支付成功
    • 例 2:访问首页 -> 选择支付方式(支付宝) -> 访问首页 -> 选择支付方式(微信)-> 支付成功
    • 例 3:访问首页 -> 选择支付方式(支付宝) -> 访问首页 -> 选择支付方式(微信)->== 支付成功== -> 选择支付方式(微信)-> 支付成功。

    五、分流引擎

    分流策略:简单的理解就是哪些用户会命中策略A,哪些用户会命中策略B。

    在说分流策略之前先举个例子,配合例子更好理解。

    假设报名按钮颜色实验分50%流量,策略“红色”按钮分流量40%,策略“蓝色”按钮分流量60%

    例如:取模10000,那报名按钮颜色实验的数字区间为0-5000;10000*50%。

    策略“红色”按钮数字区间为0-2000;5000*40%。

    策略“蓝色”按钮数字区间为2000-5000;2000+5000*60%。

    现在我们对用户唯一id,应用id进行哈希。哈希后得到一个数字,这个数字落到哪个数字区间就将用户分到哪个策略中去。经测试10w次分流,8s,流量diff在1%以内,每个应用分到的用户正交,不相互影响。

    如图:
    在这里插入图片描述

    六、对接方式

    AB测试系统和App服务端或H5服务端对接

    分别有两个接口:一个是策略请求接口、一个是埋点接口。

    (1)埋点接口

    AB测试系统将接口参数传给服务端,服务端将参数传给客户端和H5前端。

    客户端或者前端遍历这些 eventids(埋点事件id)如果有用户命中这些埋点事件则上百 abtestid key及值。

    (2)策略接口

    例如实验是客户端报名按钮“红色”、“蓝色”。

    当流量进入到客户端后, 客户端向服务端询问:我这有俩颜色的按钮,我要展示哪个颜色的按钮啊?

    服务端:我暂时也不知道,我帮你问问AB测试服务。

    服务端问AB测试服务:客户端来流量了,有两个颜色的按钮,需要展示哪个颜色的按钮啊?

    AB测试服务:展示“红色”按钮。

    服务端:我知道了,并告诉客户端:展示“红色”按钮。

    客户端:我知道了,客户端展示“红色”报名按钮。

    七、AB测试效果分析

    AB测试是典型的通过样本数据估计总体数据效果的方法,所以为了避免出现小概率错误,我们需要对AB测试的结果进行假设检验。

    展开全文
  • A/B Test(AB测试) 流程、常见面试问题及解答 包括: (1) ab test 中的假设检验原理是什么跟ab test 结合的 (2) 如何选择实验的样本量 (3) 指标的提升怎么判断显著性 (4) 实验做多长时间, 为什么 (5) aa 检验怎么做...

    A/B Test

    1. ab test 中的假设检验原理是什么跟ab test 结合的
    2. 如何选择实验的样本量
    3. 指标的提升怎么判断显著性
    4. 实验做多长时间, 为什么
    5. aa 检验怎么做, 怎么判断aa 做的科学
    6. ab test 主要的应用场景
    7. ab test流程

    (1)ab test 中的假设检验原理是什么,它是怎么跟ab test结合的

    • 控制变量法下的假设检验
    • 假设检验的基本思想:“小概率事件”原理,其统计推断方法是带有某种概率性质的反证法。小概率思想是指小概率事件在一次试验中基本上不会发生。
    • 假设检验基本思路:在小概率事件原理的基础上,带有概率性质的反证法。

    一、假设检验
    1.思路

    概率论中,如果我们能够证明零假设不成立,那么其备择假设肯定为真。即,零假设和备择假设为对立事件。

    设立假设:

    • 零假设:A和B没有显著差异

    • 备择假设:A和B有显著差异

    如果能找到足够强的证据来否定零假设(A和B没有显著差异),那么就能有效的说明零假设不成立,即备选假设成立。

    证据:
    计算零假设成立的前提下A和B没有显著差异的概率P.value,零假设为真的概率,若P值=0.01,显著性水平α为0.05,则零假设成立的概率=1% < 5%,而备择假设成立的概率大于95%,因此否定了零假设,可认为备择假设为真。

    结论:
    P.value<=α,拒绝零假设;P.value>α,不拒绝零假设

    假设检验的两类错误: 注:弃真和取伪都是针对零假设的。

    1. I类错误——弃真错误,发生的概率为α,否定了真实的原假设。避免方法:可通过α水平控制,降低α水平
    2. II类错误——取伪错误,发生的概率为β,接受了错误的原假设。避免方法:可通过扩大样本容量

    第一第二类错误

    Type 1

    1. H0:他没有怀孕
    2. H1:他怀孕了

    第一类错误:弃真错误。H0是真的,但是被拒绝了。

    Type 2

    1. H0:她没有怀孕
    2. H1:她怀孕了

    第二类错误:取伪错误。H1是假的,但是被接受了。

    请添加图片描述

    (2) 如何选择实验的样本量

    ​ 在线计算网址

    1.数值类计算:需要填写方差

    2.比值类计算:不需要方差

    1. 实验所需样本量的一般公式

      统计学里有最小样本量计算公式,如下:
      n = σ 2 △ 2 ( Z α 2 + Z β ) 2 n=\frac{\sigma^2}{\vartriangle^2}(Z_{\frac{\alpha}{2}}+Z_\beta)^2 n=2σ2(Z2α+Zβ)2

    其中
    n是每组所需样本量,因为A/B测试一般至少2组,所以实验所需样本量为2n;
    α和β分别称为第一类错误概率和第二类错误概率,一般分别取0.05和0.2;
    Z为正态分布的分位数函数;
    Δ为两组数值的差异,如点击率1%到1.5%,那么Δ就是0.5%;
    σ为标准差,是数值波动性的衡量,σ越大表示数值波动越厉害。

    从这个公式可以知道,在其他条件不变的情况下,如果实验两组数值差异越大或者数值的波动性越小,所需要的样本量就越小。

    1. 比例类数值所需样本量的计算
      R和G*Power使用的样本量计算公式:
      n = ( Z α 2 ⋅ 2 ⋅ p 1 + p 2 2 ⋅ ( 1 − p 1 + p 2 2 ) + Z β ⋅ p 1 ⋅ ( 1 − p 1 ) + p 2 ⋅ ( 1 − p 2 ) ) 2 ∣ p 1 − p 2 ∣ 2 n=\frac{(Z_{\frac{\alpha}{2}} · \sqrt{2·\frac{p_1+p_2}{2}·(1-\frac{p_1+p_2}{2})}+Z_\beta·\sqrt{p_1·(1-p_1)+p_2·(1-p_2)})^2}{|p_1-p_2|^2} n=p1p22(Z2α22p1+p2(12p1+p2) +Zβp1(1p1)+p2(1p2) )2
    • 实际A/B测试中,我们关注的较多的一类是比例类的数值,如点击率、转化率、留存率等。
    • 这类比例类数值的特点是,对于某一个用户(样本中的每一个样本点)其结果只有两种,“成功”或“未成功”;对于整体来说,其数值为结果是“成功”的用户数所占比例。如转化率,对于某个用户只有成功转化或未成功转化。
    • 比例类数值的假设检验在统计学中叫做两样本比例假设检验。其最小样本量计算的公式如上图所示。
    • 上面式子中p1我们称为基础值,是实验关注的关键指标现在的数值(对照组);p2我们称为目标值,是希望通过实验将其改善至的水平;第一类错误和第二类错误上边已经提到,暂不多做说明,通常设定α为0.05,β为0.2 。
    1. 样本量的四个影响因素
      • 要确定所需样本量,首先得知道哪些因素会影响样本量大小。
      • 以独立样本T检验为例,在计算实验效果的时候,除了样本量,我们还会考虑下面4个指标。
        • 显著性水平(α)(第一类错误概率):显著性水平越低,对实验结果的要求也就越高,越需要更大的样本量来确保精度
        • 统计功效(1 – β)(第二类错误概率):统计功效意味着避免犯二类错误的概率,这个值越大,需要的样本量也越大
        • 均值差异( μ A − μ B μ_A-μ_B μAμB):如果两个版本的均值差别巨大,也不太需要多少样本,就能达到统计显著
        • 标准差(σ):标准差越小,代表两组差异的趋势越稳定。越容易观测到显著的统计结果
          请添加图片描述

    在这个公式里:
    n A n_A nA代表A组的样本数量, n B n_B nB代表B组的样本数量
    K为 n A 与 n B n_A与n_B nAnB的比值,这个值一般情况下,我们都默认为1,即AB两组的用户数量相等,方便做严谨的AB实验对比。

    (3)指标的提升怎么判断显著性

    假设我们有了数据结果,策略A的转换率是10%,策略B的转换率是8%,那我们说策略A比策略B好,这样就可以了吗?不可以,因为可能是抽样误差引起的转换率差异,为了区分实验A和B的差异是由抽样误差引起的?还是本质差别引起的?我们需要做假设验证 (hypothesis testing)。统计学中有很多假设验证方法,例如:

    • T检验: 也称Student’s t test,适用: 样本量较小(如n<30),总体标准差未知,正态/近似正态分布的样本。目的: 比较平均值之间差异是否显著。
      • 单样本T检验: 总体样本vs抽样样本。
      • 配对样本T检验: 同一对象接受两种不同的处理。
      • 双独立样本T检验: 两组独立样本。
    • Z检验: 也称U检验,适用: 大样本量(如n>30),总体标准差已知,正态/近似正态分布的样本。目的: 比较平均值之间差异是否显著。
    • F检验: 适用: 正态/近似正态分布的变量。目的: 检验两个正态分布变量的总体方差是否相等。
    • 卡方检验: 也称chi-square test或X2 test,适用: 类别型变量。目的: 检验两个变量之间有无关系,例如性别和是否购买数码产品之间的关系。
      请添加图片描述

    我们做AB Test,“如果样本量足够大,那么Z检验和t检验将得出相同的结果。对于大样本,样本方差是对总体方差的较好估计,因此即使总体方差未知,我们也可以使用样本方差的Z检验”。[6],但正常来说,除非是长期的实验(0.5-1年),例如算法,会选择Z检验。正常的短期AB Test基本是实验1个月内甚至说1-2周,那么此时建议选择T检验。

    假设检验的检验有两种:单边假设检验双边假设检验,前者判断A、B是否显著优/劣于对方,后者判断A、B是否存在显著差异。

    请添加图片描述

    (4)实验做多长时间, 为什么

    A/B 测试所需的时间 = 总样本量 / 每天可以得到的样本量

    样本量n的计算公式为:
    n = ( Z 1 − α 2 + Z 1 − β ) 2 ( δ σ p o o l e d ) 2 = ( Z 1 − α 2 + Z p o w e r ) 2 ( δ σ p o o l e d ) 2 n=\frac{(Z_{1-\frac{\alpha}{2}}+Z_{1-\beta})^2}{(\frac{\delta}{\sigma_{pooled}})^2}=\frac{(Z_{1-\frac{\alpha}{2}}+Z_{power})^2}{(\frac{\delta}{\sigma_{pooled}})^2} n=(σpooledδ)2(Z12α+Z1β)2=(σpooledδ)2(Z12α+Zpower)2

    • 其中:
    • Z 1 − α 2 Z_{1-\frac{\alpha}{2}} Z12α ( 1 − α 2 ) (1-\frac{\alpha}{2}) (12α)对应的 Z S c o r e Z Score ZScore
    • Z p o w e r Z_{power} Zpower p o w e r power power对应的 Z S c o r e Z Score ZScore
    • δ \delta δ为实验组和对照组评价指标的差值。
    • σ p o o l e d 2 \sigma_{pooled}^2 σpooled2为实验组和对照组的总和方差(Pooled Variance)

    附录1:

    实践中,大部分A/B测试会遵循惯例,即将显著性水平默认为5%,将 β \beta β默认为20%(即Power为80%)。

    因此
    n ≈ 8 σ p o o l e d 2 δ 2 n \approx \frac{8\sigma_{pooled}^2}{\delta^2} nδ28σpooled2
    注意:此处的n是单样本(测试或者对照)的数量,按照对照组和实验组样本量相等,即1/1均分,则总样本还需 × 2 \times2 ×2;若为其他样本模式,则按照其他的进行计算。
    n a l l ≈ 8 σ p o o l e d 2 δ 2 × 2 ≈ 16 σ p o o l e d 2 δ 2 n_{all} \approx \frac{8\sigma_{pooled}^2}{\delta^2} \times 2 \approx \frac{16\sigma_{pooled}^2}{\delta^2} nallδ28σpooled2×2δ216σpooled2
    附录2:

    δ \delta δ为对照组和实验组的差值

    以A/B测试目标的指标差值作为依据。

    第一种方法是从收益和成本的角度进行估算。

    第二种方法是,如果收益和成本不好估算的话,我们可以从历史数据中寻找蛛丝马迹,根据计算指标波动性的方法,算出这些评价指标的平均值和波动范围,从而估算一个大概的差值。

    附录3:

    σ p o o l e d 2 \sigma_{pooled}^2 σpooled2为实验组和对照组的总和方差(Pooled Variance)

    1. 概率类指标。指标在统计上通常是二项分布,综合方差为:

    σ p o o l e d 2 = P t e s t ( 1 − P t e s t ) + P c o n t r o l ( 1 − P c o n t r o l ) \sigma_{pooled}^2 = P_{test}(1-P_{test}) + P_{control}(1-P_{control}) σpooled2=Ptest(1Ptest)+Pcontrol(1Pcontrol)

    其中, p c o n t r o l p_{control} pcontrol 为对照组中事件发生的概率,也就是没有 A/B 测试变化的情况,一般可以通过历史数据计算得出; p t e s t = p c o n t r o l + δ p_{test}=p_{control}+δ ptest=pcontrol+δ,得出的是期望的实验组中事件发生的概率。

    1. 均值类指标。通常是正太分布,在样本量大的情况下,根据中心极限定理,总和方差为:

    σ p o o l e d 2 = 2 × ∑ i n ( x i − x ‾ ) 2 n − 1 \sigma_{pooled}^2 = \frac{2 \times \sum_i^n(x_i-\overline{x})^2}{n-1} σpooled2=n12×in(xix)2

    • 其中:

    • n n n为所取历史数据样本的大小。

    • x i x_i xi为所取历史数据样本中第 i 个用户的使用时长 / 购买金额等。

    • x ‾ \overline{x} x为所取历史数据样本中用户的平均使用时长 / 购买金额等。

    附录4:

    每天可以得到的样本量

    根据此次每天可获得的样本量估计。

    (5)aa 检验怎么做, 怎么判断aa 做的科学

    1.分配流量,AA实验:

    实际AB实验中可能出现抽样不均的情况,例如实验组恰好有很多土豪,那么结果就会产生偏差,为了保证实验数据的变化仅仅是实验本身引起的,可以一次性抽取4,5组流量,选择任意两组不加策略空跑,监控核心指标数据,选取两组数据最接近的上实验(控制变量)

    1. AA进行假设检验,检验AA是否有显著差异,如果随机分流稳定,AA不会有显著差异;
    2. 检查小样本的分流比例是否和设定的相差不多,例如,看新老用户分别的分流比例、2000家酒店detail页的分流比例等等;
    3. 顺着随机分流系统的代码规则,看一个用户是否被分到该分的组内(难度大,主要是看随机分流系统有无问题)
    4. 分流启动后分析个分组是否符合流量分配大小比例;分析各组用户属性,是否符合整体用户属性分布。

    (6) ab test 主要的应用场景

    1. 体验优化

      • 用户体验永远是卖家最关心的事情之一,但已经完善的落地页随意的改动是一件很冒险的事情,因此很多卖家会通过AB测试进行决策,常见的是在保证其他条件一致的情况下,针对某一单一的元素进行AB两个版本的设计,并进行测试和数据收集,最终选定数据结果更好的版本。
    2. 转化率优化

      • 通常影响电商销售转化率的因素有产品标题、描述、图片、表单、定价等,通过测试这些相关因素的影响,不仅可以直接提高销售转化率,长期进行也能提高用户体验。
    3. 广告优化

      • 广告优化可能是AB测试最常见的应用场景了,同时结果也是最直接的,营销人员可以通过AB测试的方法了解到哪个版本的广告更受用户的青睐,了解到哪些步骤怎么做才能最吸引用户。
    4. 推荐及算法优化

      • 当有需要进行验证的算法时,可以通过AB测试来进行试验验证,相比全量更新,AB测试所进行的灰度测试更便捷,风险控制更精准。
    5. UI优化

      • 这是比较常见的场景。不像功能的设计,存在着很多逻辑上的思路,经常还是可以确定哪种方案好,哪种方案不好。UI的优化,往往是很“艺术”层面的。往往看到真实数据前,谁也难以说明哪种设计能带来更好的数据效果。
    6. 文案变化
      请添加图片描述

    7. 页面布局

    • 页面布局,主要指的是同页面中的不同元素的排列方式。

    (7)ab test流程
    请添加图片描述请添加图片描述

    流程一

    1. 确认实验目标
      • 比如:找到召回沉默用户效率最高的策略
    2. 设计实验
      1. 明确目标用户
        • 过去30天-180天未下单老客
      2. 试验周期
        • 测试一周,周期内不进行打散
      3. 最小样本量
        • 参照**【(2) 如何选择实验的样本量】**
      4. 用户分组和分组策略
        • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sgIVLHLG-1642665909788)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20211021153154019.png)]
      5. 分流比例
    3. 上线实验与过程监控
      • 需要检测实验是否按照预期设定正常运行,在A/B实验中常出现的需要检查的问题有如下:
        • 空白组是否真的空白的,有无空白组用户领取到实验组1、实验组2、实验组3发的券,如果发现有领券的,那需要排查分流系统问题(一般需要产研根据log信息找到当时为什么判定给该用户发券)
        • 1个用户是否仅属于某一个组,有无存在多个组的情况
        • 分流是否和预先设定的分流比例一致,误差1%也要寻找原因
        • 实验样本是否是预先设定的目标实验样本,判断实验是否进行了用户筛选过滤,比如本实验是对沉默用户进行召回,有无近30天有交易的活跃用户也被发券,如果有那说明目标用户的圈选出问题,需要排查上下游看看是哪个环节出现问题
    4. 结果复盘:ROI评估

    流程二

    1. 确定业务目标

      1. 明确要提升的业务指标
      2. 明确要改进的产品/策略
    2. 选择检验指标

    3. 哪些指标能够体现出因策略不同而引起的变化

    4. 确定统计量

    5. 明确要检验的指标,是平均值,是方差,还是比例

    6. 确定零假设和备择假设

    7. 样本量计算

      1. 根据确定的统计量指标,选择合适的假设检验方法进行结论验证,如T检验,Z检验,F检验,卡方检验等。
    8. 检验策略、分组策略选择

      1. A组:下单推荐页前12个推荐,9个C类店铺商品
      2. B组:下单推荐页前12个推荐,6个C类店铺商品
      3. C组:下单推荐页前12个推荐,3个C类店铺商品
      4. D组:不干预(对照组)
    9. 统计检验结果

      1. 通过统计量及统计量的P值来观测。
      2. 通过样本量分布和显著性水平来确定拒绝域和接受域,从而拒绝或者接受结果。
    10. 业务决策

    11. AB测试的条件的时候,如何解决问题

      • 没有系统:没有灰度发布系统,无法给不同用户发送不同版本。可以考虑手动进行分组,然后进行线下试验,或者手动给不同用户发送不同的版本;
      • 用户量不够:无法达到最小样本量。可以减少实验条件,或者重新设计实验;如果是统计量比例,可以延长实验周期;如果是小众用户,可以考虑配对样本T检验。
      • 时间成本高:如果是一个月度以上的实验,时间成本太高。可以研究以日为周期或周为周期对月度的影响,然后进行日实验或周实验。

    流程三

    ABtest本质上是一个:两总体假设检验问题,要检验A、B两个版本是一样,还是有所区别。和之前介绍的单总体假设检验一样,两总体假设检验,也分步骤:

    • 第一步:明确要检验的A、B两个对象
    • 第二步:明确要检验的指标,是平均值,还是比例
    • 第三步:根据检验目的,给出原假设/备选假设
      户,可以考虑配对样本T检验。
      • 时间成本高:如果是一个月度以上的实验,时间成本太高。可以研究以日为周期或周为周期对月度的影响,然后进行日实验或周实验。

    流程四

    ABtest本质上是一个:两总体假设检验问题,要检验A、B两个版本是一样,还是有所区别。和之前介绍的单总体假设检验一样,两总体假设检验,也分步骤:

    • 第一步:明确要检验的A、B两个对象
    • 第二步:明确要检验的指标,是平均值,还是比例
    • 第三步:根据检验目的,给出原假设/备选假设
    • 第四步:根据要检验的指标,选择检验统计量(是不是头都看大了,其实没关系,大部分统计软件,包括excel,都有提供两样本均值的t检验,直接用即可)
    展开全文
  • AB测试详细过程

    千次阅读 2021-04-20 14:31:58
    AB测试详细过程1 AB测试原理简介2 选取指标3 建立假设4 选取实验单位5 计算样本量6 流量分割7 实验周期计算8 线上验证9 数据检验10 知识点总结 1 AB测试原理简介 AB测试最核心的原理,就四个字:假设检验。 检验我们...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 183,354
精华内容 73,341
关键字:

ab测试

友情链接: WriteVideo.rar