数据产品实战(二):ABTest平台

1、背景

数据驱动增长的方法论,帮助Facebook、Google等如此大体量的公司继续保持高效的业务增长,在国内字节跳动是最重视的数据驱动的公司,也因此获取了巨大的成功。在互联网圈,通过数据手段来驱动业务增长已经达成了共识,数据已经成为公司发展不可缺少的可靠手段。其中A/B测试坐班数据取驱动增长的核心方法,可以有效的提升流量的转化效率和产研的迭代效率。目前公司进行A/B实验已经比较多,手动实验的方式效率比较低,因此尝试搭建了ABTest平台。

二、A/B测试简介

A/B 测试是一种对比分析方法,通过对流量进行细分和随机实验,排除了其它因数的干扰;并监控和跟踪实验效果,来判断实验所代表的策略的可行性和有效性。

  • 对比:通过对流量的随机细分,来进行有效的独立随机实验,可以排除外在条件的影响,因此更加科学。
  • 分析:通过跟踪和分析实验的事实效果数据,来判断实验的可行性和有效性,因此更加精确。

下图为简单A/B测试的流程示意图:

将目前人群随机分成2部分,其中一份用户对其展示A页面,另外一份用户展示B页面。然后通过观察其人群最终的转化率,来判断哪种形式比较好。下图可以明显的发现A页面的转化率高于B页面。因此最终我们将对全量用户采用A页面的方案。

数据产品实战(二):ABTest平台-烽言-心有所执,方有所成

A/B测试流程示意图

应用场景

数据产品实战(二):ABTest平台-烽言-心有所执,方有所成

A/B 测试解决的是策略优化的问题,即从多个可选策略里找出最优策略。常见的应用场景包括:

  • 灰度发布:技术&算法迭代
  • 功能优化:界面模块、样式风格、交互方式等
  • 内容优化:推广海报、落地页、内容模块、文案等
  • 运营优化:运营策略、沟通话术等

核心概念-流量切分

主要参考了Google、美团、有赞等公司的流量使用规则,设计了符合我们公司现在阶段的流量切分规则。

引入流量域和流量层2个概率

  • 流量域:流量域之间的流量是独立,相互之间永远不相交
  • 流量层:流量层之间的流量是正交,同级的流量层之间都是同一份流量,只是在进入另一层的时候会随机打散,以此来保证流量的正交。
  • 流量域和流量层可以相互嵌套,最终达到了流量的切分的目的
数据产品实战(二):ABTest平台-烽言-心有所执,方有所成

流量切分规则介绍

如上图所示:

域A占比80%,域B占比20%,这两部分流量是独立的,一个用户只会在某一个域中。

层1、层2、层3、层4都是同一份流量,只是被随机打乱过,4个流量层的排序是不同。实验A是采用层1的流量来进行测试,层2进行实验的话,流量是被打乱进入层2,这时候层2中的每一个实验组都会同等比例进行实验A的测试,如果2个实验作用于同一个结果的话,是会被干扰的。但是因此个实验组的干扰的结果是同等比例,因此结果结果依旧有效,但是这样就无法得出准确的定量分析结果,只能等到准确的定性结论。

实验H是测试是在域B中进行的,这部分流量是纯独立,没有进行任何确其他实验,因此实验H得到的结论是一个准确的定量分析结果。

实验E和实验D是在层4中的域A3和域A2中进行,因此这个2个实验的流量是完全独立的,这2个实验组结果是互不干扰的。但是这2个实验都会受到层1、层2、层3中的实验组的结果。

流量域和流量层是可以无限嵌套的,如果你的流量足够大,就可以无限的进行切分,以适应复杂业务的大量的AB测试。这个部分就是ABTest平台最核心的流量切分规则。

因此大家可以根据对应的业务情况,选择对应的流量域和流量层的流量进行AB测试,以达到有效A/B测试的目的,最终能输出准确的AB测试结论,帮助业务找到正确的前进方向,真正做到数据驱动增长。

三、ABTest技术方案

数据产品实战(二):ABTest平台-烽言-心有所执,方有所成

AB测试系统技术方案

如上图所示,AB测试系统从首先从web后台页面进行实验的配置,然后中台server进行流量分配,接下来存储记录行为操作,然后给业务层提供实验配置以及流量切分服务,最后客户端请求业务最终展示给用户。

数据回收:客户度将用户行为日志上报给loghub,在odps记录日志数据,然后对数据指标进行计算,最后把数据回流到数据报表中,展示到AB测试平台中。

数据流

数据流负责收集ABTest系统相关的日志并且产出离线的数据报表,如下图

数据产品实战(二):ABTest平台-烽言-心有所执,方有所成

核心记录埋点信息

  • 实验状态:expStatus;枚举值:待上线0 删除1 上线2 下线3 全量4
  • 控制类型:expControlType;枚举值:客户端1 服务端2
  • 实验ID:expId;AB实验的唯一标记
  • 实验组状态:expGroupStatus;枚举值:上线0 下线1 删除2
  • 实验组ID:expGroupId;AB实验的某个实验组唯一标记
  • 分组依据:expReqGroupType;基于用户ID、设备ID、手机号的分类依据
  • 实验对象ID:expReqGroupId;用户ID或者设备 ID

根据这些埋点信息就能自动追踪每个实验的每个实验组、对照组的数据情况。一般包括曝光点击、活跃、回访、加购、支付等。

四、解决的痛点

  • 流量的的隔离、复用以及细分。
  • 实验组定向条件复杂,数据分析和server需要重复圈选用户,还容易造成偏差。
  • 节省线下沟通成本,PM可以自行控制流量,减少出错的概率。
  • 可视化配置后台,简单的数据直接自助回收。
  • 所有业务AB实验汇总,实验周期有冲突时可以错峰进行。

五、展望

1.事件分析系统能接入ABTest系统,实现ABTest数据的自助分析和数据洞察,帮助业务方更好的理解数据并优化实验。

2.更丰富的个性化转化目标,包括与埋点系统打通以及支持自定义转化目标等;自动进行实验显著性的校验

3.上线评测报告功能,通过自动化产出实验评测报告,来给场景实验做全面充分的评价。

4.接入用户分群功能,直接实现用户条件的圈选,这样ABTest能实现AB测试全流程的一条龙服务。

5.提升ABTest系统在公司的影响力,让所有业务的AB测试接入系统进行,提升AB测试的效率。

本文系作者 @ 授权发布在 烽言-心有所执,方有所成。未经许可,禁止转载。

喜欢()
热门搜索
302 文章
16 评论
53 喜欢
Top