无需规则自动采集(AB测试在互联网领域的建设过程中,涉及到的数据整体解决方案)

优采云 发布时间: 2022-02-21 07:14

  无需规则自动采集(AB测试在互联网领域的建设过程中,涉及到的数据整体解决方案)

  最近在负责公司AB测试平台建设的时候,调研了很多竞品的共同做法,包括涉及到的整体数据解决方案,包括AB测试数据采集和数据仓库模型,以及AB测试指标的构建。,AB测试可视化方案等,借此机会把我总结的经验分享给大家。

  01

  AB测试是什么

  在互联网世界中,AB 测试通常是指一种迭代方法,用于指导如何改进现有产品或服务。以提高产品注册页面的转化率为例,在AB测试过程中,我们会设计一个新的注册页面,显示位置与原页面不同。选择用户进行测试,让一部分用户到新的注册页面,一部分用户到原来的注册页面。比较两个注册页面上的最终转化,看看新展示位置是否可以提高注册转化。如果新注册页面的转化率高,让所有用户进入新注册页面,完成对产品注册页面功能的改进。

  

  以上是使用AB测试迭代产品功能的具体应用。综上所述,AB测试主要包括以下几个步骤:

  1)分析业务现状,提出目标。通过分析业务数据,识别当前最关键的改进点,明确改进目标;

  2)设计优化和改进计划。设计AB测试方案的产品原型,完成相关功能的开发上线;

  3)在线控制流量比例。制定各测试分支的流量比例,并根据分流比例开通在线流量进行测试;

  4)测试有效性评估和决策。AB检验进行一段时间后,通过数据对比,进行AB检验分支的显着性检验,确定最终的检验结论。

  

  02

  AB测试平台的诞生

  一个完整的 AB 测试流程将涉及产品、开发和数据部门等角色。需要配合的人很多,环节也比较复杂。对于一个没有接触过AB测试的人来说,要熟悉其中的原理并完全实施一个AB测试是相当困难的。在大中型公司,每天进行的 AB 测试可能达到数百或数千次。它非常依赖一个AB测试平台,这需要平台通过自动化工具降低每一个AB测试的实施门槛,提高每一步的效率。.

  从平台能力复用的角度来看,不同的团队可能负责一个公司产品的不同模块,对应不同的项目。每个产品模块都经过 AB 测试。如果有统一的AB测试平台提供能力,可以有效避免各个模块的重复建设。

  基于效率提升和复用的目的,企业一般会组建一个团队,可以是数据团队,也可以是业务团队,负责AB测试平台的建设,支持所有业务的AB测试需求。

  

  03

  AB测试平台的功能架构

  

  AB测试平台由AB测试配置管理、在线分发服务模块、效果评估模块三大模块组成。

  AB测试配置管理后台主要用于管理各项AB测试需求,提供便捷的操作界面,快速调整各项测试配置。

  在线分发服务模块为各商家提供基于用户ID均匀分发的能力,完成分发信息采集的数据。

  效果评估模块,基于采集的用户行为数据,构建测试指标体系,为业务提供监控、预警和数据分析服务。

  04

  AB 测试数据采集

  在设计公司内部AB测试平台的data采集方案时,我们经历了两个阶段,我们称之为“client-side embedding”和“server-side embedding”。

  当我们第一次启动 AB 测试平台时,我们使用了客户端嵌入。具体解决方案是让接入平台的业务模块,在上报用户行为埋点时,传入用户AB测试信息。为了在效果评估阶段根据上报数据计算不同AB测试分支的行为数据。

  因为该方案需要业务模块一次性从AB测试平台获取所有实验信息,并传入地埋站点采集的公共参数中,对业务的侵入性比较大。

  第二阶段是我们提出的服务器端嵌入式解决方案。具体来说,AB测试平台完成采集用户导流日志,业务模块只负责采集用户行为数据。在数据仓库分析阶段,通过采集的导流日志中的用户ID完成数据匹配。这样做的好处是业务模块不需要在数据采集中添加AB测试信息。

  客户端嵌入方案的优势是显而易见的,因为原创日志中收录AB测试信息,便于数据清洗和统计。但缺点是会增加客户端的工作量,上报数据时需要拼接AB测试信息。当在线同时运行多个AB测试时,拼接上报的埋点数据时,url可能会过长,有被截断的风险。

  服务端埋线方案的优势在于AB测试平台和业务客户端各自完成日志上报,客户端只关心命中的策略和业务逻辑,业务相关的事情较少。缺点是原创日志需要与用户ID关联,关联的逻辑不固定,增加了数据仓库建模的复杂度。

  

  考虑到平台可以快速推广到业务使用,降低业务准入门槛,我们采用了“服务端埋藏”的解决方案。

  05

  AB测试指标体系建设

  我们在构建AB测试指标体系时,主要有两个应用场景:AB测试分流均匀度验证和AB测试效果评估。

  · 一致性检查

  AB测试是基于用户ID进行流量划分,底层原理是通过哈希算法进行流量划分。

  哈希(ID,层)0

  哈希算法有两个重要的属性:一致性和一致性。

  均匀性:表示经过上述取模计算后,流唯一标识在每个区间内均匀落下。例如,如果将全站的流量分成100份,那么ID0的值是0到99,每个值分配的流量必须几乎相同。

  一致性:表示流量唯一标识的取模值是确定的。例如,一个流量的唯一标识被算法模块取模后的值为1,那么下一次算法取模后的值为1。

  在AB测试的过程中,导流的目标是保证导流后不同人群对应的用户属性和用户行为是一致的。虽然哈希算法分流,尾号段可以均匀分布,但在实际过程中,可能无法保证用户均匀分布。我们经常会遇到由于存在很多异常用户,导致哈希分流后两组人之间存在显着差异的场景,最终导致无法得出测试结论,浪费时间。

  因此,我们的业务会在AB测试过程中进行一致性验证。通常的做法是在引流人群实验之前验证核心业务指标没有显着差异。

  针对以上需求,AB测试平台提供两种场景下的一致性验证功能:

  AB测试确定导流策略时,计算过去一周各策略所选核心指标是否存在显着差异;AB测试运行一段时间后,根据每个分支引流的真实用户,计算其在所选核心中的性能。指标是否存在显着差异。

  · 核心指标建设

  绩效评价指标分为核心业务指标和临时指标。核心业务指标是指在每次AB测试中需要观察的指标。临时指标是指在当前模块的测试中需要观察的指标,其他模块不需要观察。

  当一个公司业务量很大的时候,所有的核心业务指标都无法通过AB测试平台来构建。这时候就需要与业务的数据团队合作,构建核心业务指标。

  

  作为AB测试平台,需要具备协调指标管理平台、数据开发平台、BI可视化平台的能力,为各业务数据团队提供核心指标接入能力。具体功能包括以下模块:

  1)连接指标管理平台,获取业务核心指标范围、指标元数据(指标名称、业务口径、指标类型、数据来源、计算逻辑等);

  2)连接数据开发平台,根据核心指标的计算逻辑生成计算任务,负责产生各AB支线核心指标的计算结果

  3)连接BI可视化平台,呈现各AB分支核心指标的成果及意义。

  对于用户来说,能够在一个平台上完成从AB测试需求的创建到最终的效果评估是一件很美妙的事情。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线