时间:2023-01-19 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{Pinterest A/B 测试平台构建的解决方案}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的Pinterest A/B 测试平台构建的解决方案内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
以下为译文,有编辑: 作为一个数据驱动的公司,我们总是会基于实验去指导产品设计和功能开发,在过去一段时间,我们跑了大概有1000个实验,并且每天都在增加,不断增长的实验量以及产生的海量数据,驱使我们需要有一个稳定的、精准的、简单易用的平台来支撑增长团队的使用需求,为了排除实验过程中的一些共性问题,我们开发了一个操作更加轻量、支持跨平台协同以及一些精简的API接口来满足A/B测试过程中可能要面对的复杂问题。 在搭建这样一个平台的时候我们优先考虑了以下需求网络营销 性别:
一、流程优化Pinterest的实验都遵循一套通用的方法论:
在我们以前的框架下,这些变量的配置都是通过修改代码的方式,然而,我们希望把这些变量的控制能够在前端界面组织起来,在可配置的框架下,独立于代码做些变量控制。 实验过程中有些共性的问题,比如语法错误、不均匀的用户分组、组用户重叠或者实验流程不规范,我们也主动地在输入框预设了一些查询字段,尽可能的减少了手动输入造成的错误,如图2,跑一个实验通常就是几个点击这样简单。 为了让任何人能够实时地、便捷地进行实验配置,我们在内部的系统中以串行队列的方式存储了所有的实验设置,并且在几秒内同步至我们每个实验系统的主机上,一个典型的配置文件有如下几个内容:
配置和代码分离最大的好处是提升了我们的实验效率,这意味着变量的控制效率高了,比如实验组需要增加流量不需要在代码层面做调整,极大的释放了实验的部署时间,加快了迭代速度特别是原先有紧急需求的时候。 二、质量保证1、代码监测实验很简单但能影响数以百万计的用户,所以对实验工具的操作和结果的准确性都提出了很高的要求。执行实验的系统还内置了一个review工具,他会为每个实验加载一段review的代码。如图3显示的就是一个挂起的更改,这个时候可以修改组范围和筛选条件。 2、人工监测对于很多实验,我们有一个由平台开发人员、使用者、数据科学家组成的小助手(helper)团队,几乎每一次变动都会要求一个helper去严格的检查方案设计、实验假设、关键结果、触发逻辑、筛选设置、组验证以及相关文档。这样的过程强加在平台上就使得每一次变动都必须有一个小助手辅助(监督)。当然了,我们也有常规的helper培训计划以确保每个团队至少有一个人可以做监督人。一个实验通常会关联到代码的改变,把对照组和实验组的信息嵌入到决策逻辑中,我们会要求实验操作人员通过Pull Request按钮增加一个Pull Request链接。 使用者可以在前端直接复制一个之前的实验(如图1),然后粘贴到如图5的测试区域内,在这个区域内的改动不会影响正式环境下的实验,并且那个执行复制操作的用户才能够访问 三、API接口支持API接口用来支撑前端发送来的一些实验配置请求,以下提供了两个关键的方法:
特别说明一下,get_group方法将会返回被调用者定向了的组名,进一步来说,其实是基于实验信息计算了这个群组的哈希值(hash value),这个方法不会形成任何副面影响,另一方面,调用activate_experiment 给系统发送一条日志消息辅助了分析结果的产出,这两个方法基本覆盖了大部分的使用场景,并且被经常应用在以下环境下:
上述代码所示中的gatekeeper object是用户/会话/元数据信息封装的,除了python库,我们有一个单独的JVM(Scala and Java)库来面向JS和移动端(Android和iOS)做支持 。 实验平台从逻辑上可以划分成三部分:配置平台、一组API接口和分广告投放情况析模块儿。 数据流向说明:
原文作者:Shuo Xiang 原文地址:https://engineering.pinterest.com/blog/building-pinterest’s-ab-testing-platform 译者:GrowthHub(微信公众号:growthhub) 本文由 @GrowthHub 翻译发布于。,。 |
上一篇:你的“土著思维”,正在抹杀评估的科学性
下一篇:干货|作为一个合格的“增长黑客”,你还得重
小提示:您应该对本页介绍的“Pinterest A/B 测试平台构建的解决方案”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通Pinterest A/B 测试平台构建的解决方案的相关事宜。
关键词:A/B 测试, 产品增长, 平台构