成长团队有三个宝藏:埋葬点、漏斗和抗体测试本文告诉我们如何从应用程序中构建AB测试系统。

-1,什么是AB测试?
A/B测试是一种产品优化方法。针对相同的优化目标制定了两种方案,使得同一部分的一些用户命中方案a,而另一部分命中方案b,并对不同方案的点击率和转换率等数据指标进行统计和比较。通过不同方案的数据性能,确定数据性能通过假设检验后,确定最终方案的实验方法。

-2,AB测试的意义是什么?
AB测试是支持数据决策的最强大的工具低于
是最基本的数据驱动过程。方案验证是AB测试过程,实验是测试真实性的唯一标准。数据收集、数据分析、发现的问题、提出的解决方案、验证和发布的方案,
^ 3、AB测试实验需要满足以下两个特点。1.同时
两种策略同时投入使用,而不是AB两种策略相继上线,这将有其他因素
2。同质性对应于
两种策略的用户组需要确保尽可能一致细节
4和AB测试实验1。流量分配规则:正交和互斥
(1)正交实验
每个独立实验都是一层,当一个流量通过每层实验时,它将被随机分散和重新组合,以确保每层中的流量相同

(2)互斥实验
实验在同一层拆分流量,无论如何拆分,不同组的流量都不会重叠

(3)在什么情况下进行正交和互斥的流量分配?
我们刚刚使用的正交流量分配方法导致错误的数据结果。如果我们在那个实验中使用互斥的流量分配方法,我们就可以很好地解决这个问题。在
AB测试实验中,如果两个或多个实验内容相互影响,则选择互斥方法来分配流量,如果两个或多个实验内容不相互影响,则选择正交方法来分配流量。正交:可以节省流量;互斥:它可以使耦合实验完全分离,而不会相互影响。
(4)例如
在细节页上做了两个实验:一个是转换按钮颜色的AB测试实验;二是按钮拷贝转换的AB测试实验如果我们使用正交流量分配会发生什么?
表示流量同时达到实验1和实验2。最后,以下四种情况显示在用户面前。这种情况使我们无法计算准确的数据结果,因为它违反了单变量原则
是使用互斥分配流量的最佳方式。一些用户点击实验1,另一些用户点击实验2

2。AB测试系统实验架构
AB测试系统实验架构包括:应用层-实验层-策略层
(1)应用层
应用层级别最好,应用层和应用层之间的流量是正交的
(2)实验层
实验层是应用层子层,实验层和实验层之间的流量是互斥的
(3)策略层
策略层是实验层的子层。一个实验可以有多个策略,并且多个策略之间的流量不会相互影响。
,例如:应用程序:应用程序客户端实验:购买按钮颜色策略:红色、橙色
3。创建实验
时,一般首先设置实验条件和统计指标
:AB测试系统可以对用户进行一些条件限制,如城市、年级、新老用户、版本号、平台(iOS、安卓、h5)在这里,我们可以直接引入用户肖像系统,直接进行人群定位,并进行AB测试实验。门户:用户肖像如何从建筑走向实际应用?"
"此功能主要针对满足此类实验条件的用户进行分流,如果不满足这些条件将不会分流,直接命中默认策略创建策略时会检查默认策略。如果用户不满足达到默认策略的条件,这些用户生成的数据将不会参与计算,实验结果也不会受到影响。

(1)城市、年级、新老用户
这些条件是很好理解的,指的是城市、年级、新老用户,但用户需要登录才能获得这样的信息
如果设置了实验条件并且用户没有登录怎么办?
非登录用户我们认为他不符合实验条件,所以我们将采取默认策略,这将避免一些不符合实验条件的用户会点击实验的可能性。但是,为了确保同一用户在登录和注销时看到相同的页面,这组人即使在登录后也将遵循默认策略。
,但不是所有未登录的用户都会登录。我们将判断当前时间和未登录用户刚刚登录的时间点之间的差异是否大于两天。如果
大于两天,我们会让他点击实验并分流流量,以确保每天下载的大量用户会点击AB测试并达到平衡状态。

(2)适用版本
此处的版本是AB测试为客户端提供的功能
例如,iOS是1.0.1版,安卓是1.0.2版,用于启动自动测试实验如果
没有绑定版本号会发生什么?
由于版本的发布,除了强制升级之外,用户仍然使用旧版本。对于旧版本的用户会进行点击实验,但是这些用户没有看到不同的策略,会出现AB测试系统对用户的A策略,但是用户看到的B策略,最终会影响数据的准确性
版本号设置是向上兼容的,也就是说,只有具有此版本号或更高版本号的用户才能进行实验。
(3)平台
平台分为三种类型,即:iOS客户端、安卓客户端和JS(H5)
AB分别针对不同平台进行测试
这里没有iOS和安卓,只有H5,因为H5的埋葬点报告不同于客户端,而H5分流的唯一ID也不同于客户端客户端用于流式传输的标识是设备标识,H5是烹饪标识。统计指数
:
(1)AB两种策略推出后,我们需要跟踪这两种策略的数据效果
。这两种策略的数据源是页面浏览和按钮点击以提供数据支持例如,客户需要在课程详细信息页面的注册按钮样式上进行AB测试实验。在监控数据时,我们需要计算进入详细信息页面的人数,然后点击注册按钮进行统计。
使用注册按钮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的一天内顺序触发b、c、d、e,则用户被认为已经完成了成功的漏斗转换。
在这个过程中,如果插入了一些其他的步骤或行为,例如,在满足时间限制的条件下,用户的行为顺序是A > X > B > X > C > D > X > E,而X代表任何一个事件,那么用户仍然被认为已经完成了成功的漏斗转换。
如果用户在此事件的限制范围内依次触发A > B > C > E,则用户尚未完成漏斗的转换,并将在步骤C中被记录为丢失的用户
认为情况更复杂。如果用户在所选时间段内有多个事件满足转换步骤的定义,则更接近最终转换目标的事件将被优先选择为转换事件,并且当首次达到最终转换目标时,转换计算将停止
假设漏斗的步骤定义为:访问主页,选择支付方式并成功支付,则不同用户的行为顺序和实际转换步骤(标有红色)如下例所示:示例1:访问主页->选择支付方式(支付宝)->选择支付方式(微信)->支付成功示例2:访问主页->选择支付方式(支付宝)->访问主页->选择支付方式(微信)->支付成功示例3:访问主页->选择支付方式(支付宝)->访问主页->选择支付方式(微信)->支付成功->选择支付方式(微信)->支付成功
5,转移引擎
转移策略:只需了解哪些用户将点击策略A,哪些用户将点击策略b
在谈论转移策略之前,举个例子来更好地理解这个例子。
假设注册按钮颜色实验分为50%流量,策略“红色”按钮分为40%流量,策略“蓝色”按钮分为60%流量。
,例如,如果模型取10000,则套准按钮颜色实验的数值范围为0-5000;10000*50%
策略的“红色”按钮的数量范围为0-2000;5000*40%
策略的“蓝色”按钮的数量范围是2000-5000;2000+5000*60%现在我们散列用户的唯一标识和应用程序标识散列后,将获得一个数字,用户将被分配到该数字所属的任何策略中。在测试了10w次分流(8s)后,流量差异在1%以内,分配给每个应用程序的用户是正交的,不会相互影响。
如图:

6,对接模式:
AB测试系统与应用服务器或H5服务器接口,分别有两个接口:一个是策略请求接口,另一个是埋点接口
1。嵌入式点接口
AB测试系统将接口参数传输给服务器,服务器将参数传输给客户端和H5前端。如果用户遇到这些隐藏事件,
客户端或前端会遍历这些事件id(隐藏事件id)和数百个abtestid键和值
2。策略界面
例如,实验是客户端注册按钮“红色”和“蓝色”
当流量进入客户端时,客户端问服务器:我这里有两个颜色按钮,我应该显示哪个颜色按钮?
服务器:我暂时不知道,让我为你问一下AB测试服务。
服务器询问AB测试服务:客户端有传入流量。有两个颜色按钮。应该显示哪个颜色按钮?
AB测试服务:显示“红色”按钮
服务器:我知道,告诉客户:显示“红色”按钮
客户端:我知道,客户端显示“红色”注册按钮
7,抗体试验效果分析1。为什么我们要做假设检验?
AB检验是通过样本数据估计整体数据效果的典型方法,因此为了避免小概率误差,需要对AB检验结果进行假设检验
2。如何进行假设检验?
AB检验的假设检验一般是两个群体成分的假设检验。详情请见“如何在一篇文章中做假设检验”
这篇文章最初由@ zebra发表,每个人都是产品经理。未经许可,根据CC0协议
, Unsplash禁止重印张图片