Appearance
参考
- https://www.jianshu.com/p/10543bcab5a9
- https://www.infoq.cn/article/lCTiIpkrh-lPl9pitKhf ,提到了AB测的概念和作用
- https://juejin.im/post/5ec4d1766fb9a047f129b0d9,前端AB实验设计思路与实现原理,你了解多少?
- 马蜂窝ABTest多层分流系统的设计与实现
- 美团配送A/B评估体系建设实践
- https://mp.weixin.qq.com/s/itBheaCRmeEHgOHPM41t8w
可以分为
- 前端界面AB测试,如不同促销页面带来的转换区别
- 基于组件封装,相关的props展示不同的UI,复用部分逻辑
- 数据接口AB测试,如网课内容等
实现成本还是比较高的,涉及到
- 各套方案代码实现兼容,方便扩展和移除
- 数据打点、上传、统计和分析
什么是AB测试
产品的迭代需要使用数据驱动,通过用户的反馈来一步步迭代产品。数据从何而来?这就需要进行测试了。
AB测试指的是将用户分成不同组(A、B、C...甚至更多),同时在线试验产品的不同版本,通过用户的反馈和埋点数据来确定最终版本。
- 达尔文进化论就是自然界中AB测试的一个实例
- 在药物临床实验中,A/B 测试就是最高规格的实验标准
需要注意的是
- AB测试并不单纯只是两组版本进行对比,如果条件允许,也可以同时并行进行多组测试
- 常规的版本迭代,将新版本的数据与旧版本的数据进行对比并不能算作是AB测试,因为时间是影响用户行为一个比较重要的因素,尽管这两个版本很有可能是同一批用户
- 尽量控制两个版本的差异变量只存在一个,这样才能够精确到是哪个变量引起了数据的差异,但实际上我们不可避免在一个版本中同时调整多个地方,因此需要对应的解决办法
- 正确划分用户群体,最好能够精确调整用户流量划分策略,一般来说,可以将用户的唯一标识通过加密算法计算出一串数字,然后通过诸如取余等操作进行计算并判断该用户使用哪种版本进行测试
参考
概念
应用场景
两种差异化的内容带来的转化差异,找寻
淘宝大促,千人千面推荐,从某种角度来看也可以当做是AB测试
通过埋点日志->用户画像->精确划分AB测试用户群体。
这就是另外的一个话题了~
参考
代码隔离
如何在代码中隔离AB测试带来的变化?
通过配置接口动态控制接口
分流
埋点也会侵入代码
小结
需要证明每一次的迭代都是由数据沉淀的