ABTest需求来源:
一、我们经常会面临多个设计方案的选择,比如app或pc端某个界面的某个按钮是用红色还是用蓝色,是放左边还是放右边; A/B 测试(A/B Testing)可能是解决这类问题的一个更好的方法。所谓 A/B 测试,简单来说,就是为同一个目标制定两个方案(比如两个页面),让一部分用户使用 A 方案,另一部分用户使用 B 方案,记录下用户的使用情况,看哪个方案更符合设计目标
ABTest流程:
(1)(客户端的工作):app启动,会请求abtest服务后台,获得所有的实验的以及命中的策略缓存在app中。
(2) (abtest后台的工作):abtest接收一个uuid+ci+pt的请求,返回给app所有的实验的以及命中的策略,同时将这次请求和结果通过flume_agent收集日志,同步到Hadoop,最后导入Hive。
(3)(客户端的工作):在第1步的请求中的获得的所有的实验的以及命中的策略缓存在app中。
(4) (客户端的工作) : 进入到一个做ab实验的界面,按照第3步命中的实验的策略+展示的业务数据处理展示逻辑。
(5)(客户端的工作:):会把第4步这个界面的信息和埋点信息上传到数据中心的原始日志
(6)(数据组的工作):应用系统可以通过flume,将原始日志同步到Hadoop,最后导入Hive表,通过关联的条件将两个hive表关联,同时关联一些点击下单等数据,清洗数据成报表。
网友评论