AB Test & AA Test

  • 前言
  • 一、AB Test
    • 1. AB Test sampling
    • 2. AB Test的的注意点
    • 2. AA Test
    • 3. AB Testing

前言

AA Test: 在进行AB Test之前,对AB Test的sampling进行测试,分析两个group之间存在的本源性差异。
AB Test: 为同一款产品设计两个不同的执行方案进行投放测试。方案中控制一个变量不相同,对照结果择优。


一、AB Test

1. AB Test sampling

常见的sampling维度: Geo/ Time Splice/ Random/Pre-Post
1\ Geo: 将raw data根据地理位置划分,要求数据中含有如城市、地区、州等相关的metrics。例如将美国分为东西南北四大区域,每个区域包含州和地区(以地区为最小Geo单位),在四大区域中任意抽取地区放入group1,在达到一定条件之后停止抽取,再开始抽取地区放入group2,以此类推。
tips:停止条件可以设为重要metrics的占比,重要metrics的上下限等等。
需要注意每个区域中选取的地区应相对均衡,避免出现聚类偏差。
需要更多data进行overtime validation,并且需要在主要metrics invalid之后重新sampling。
2\ Time Splice: 以一个小时或两个小时为时间窗,对campaign进行不同的treatment操作,比如urn on和turn off,on为group1, off为group2,或者launch不同的target spend,大的spend为group1,小的spend为group2等等。
tips: Feeds相关和跟epn vendor相关一般不建议做time splice。
3\ Random: randomly selection
4\ Pre-Post: 用一段没有roll out test的timeline作为pre(control组),roll out test的时间段作为post(test组),比较两个组之间的difference。pre-post由于时间线不同,额外因素扰动会相对比较大(比如festival season,policy influence等等),所以在相同维度下会选择另一个performance比较相似,但是没有roll out test的组来计算AA difference(比如在home & garden上做pre-post,electronics跟home & garden在规模和efficiency metrics上比较相似,所以用electronics在pre-post test对应时间的performance作为AA difference,计算各个metrics的差异,在home & garden pre-post的结果中减去)。
5\ Item: random select different items to roll out test。
(6\抖音是按照device id来自动sampling,hash random sampling可以默认为没有pre test bias)

2. AB Test的的注意点

1、变量有关联但是不一定有因果
2、对象独立性
3、置信度对测试结果的影响
4、长短期:有很多test的结果需要长期时间去体现,但是ab test时间往往只有1~2个月,如何衡量长期结果。

2. AA Test

1\ calculate the raw number difference of the two groups for pure metric : groupA/groupB-1

2\ T.Test the significance between metrics of the two groups

3\ For the efficiency metrics, draw curves to fit the trend. The curve will help fit the outliers and create an upper bond as well as a lower bond to decide the significance. (Power Curve: based on nonlinear regression, Delta Method)
根据中心极限定理:已经属于正态分布的指标数据可以直接进行t-test,不符合正态分布的指标数据,如果样本量足够大的话,可以视为服从正态分布进行test。
T.TEST in Excel:
– paired t-test: 将group1和group2的数据一一pair起来,对每一对数据的差值求mean,原假设为:mean和0没有显著差异。一般用于对同一样本的做pre-post comparison。pros:power比较大,更容易significant。cons:要求pre-bias尽可能小。
– unpaired t-test (equal variance & unequal variance):检验两个groups mean的variance是否equal/unequal,选择equal/unequal之前需要做Homogeneity of variance test。pros:对pre-bias要求不严格。cons:power比较小,很难significant,detect不出比较小的diff。

4\ Autocorrelation对t.test的影响:如果数据有autocorrelation,则数据均值的波动性增强,导致样本标准差减小,t值随之增大,t.test更容易significant。(参考资料:Performing T-tests to Compare Autocorrelated Time Series Data Collected from Direct-Reading Instruments)
所以对于autocorrelated的样本数据,要对标准差进行修正,修正方法可参考论文:Autocorrelation Corrected Standard Error for Two Sample t-test Under Serial Dependence

5\ t.test要求样本数据独立性以及正态性
Defination:The standard error (SE)of a statistic (usually an estimate of a parameter) is the standard deviation of its sampling distribution or an estimate of that standard deviation. If the statistic is the sample mean, it is called the standard error of the mean (SEM).
所以可以通过移动平均的方式计算不同time window下每个样本的均值,组成distribution,然后判断正态性。


3. AB Testing


AB Test AA Test相关推荐

  1. 有字符串“aabbcdbaaabc”用你熟悉的语言实现去除“ab”子串(正则方法)

    今天看到分隔拼接的方法,觉得还是太麻烦 给一个正则方法,优化下 以下是参考代码 str_1='aabbcdbaaabc' import re a=re.sub('ab','',str_1) b=re. ...

  2. 非AB实验的效果评估

    效果回归本质上属于统计学中的因果推断(Causal Inferences)问题.在统计科学中,因果 推断要解决的本质问题是剥离(或者说量化/控制)我们所不关心的外部协变量对结果的 影响,从而精准捕捉到 ...

  3. [Quiz]竞赛题目 Word Trace

    一.竞赛题目  Problem Statement   You are given a String[] grid representing a rectangular grid of letters ...

  4. 手写html5游戏,HTML5 手写输入法

    效果如下: 该查询文字接口免费,可自定义查询结果. handwritingapi.js QQShuru = {}; QQShuru.Util = {}; QQShuru.Util.Browser = ...

  5. PHP——通过下拉列表选择时间(转)

    实现效果: 主页代码: <script type="text/javascript" src="jquery.min.js"></script ...

  6. 【JavaScript吉光片羽】遭遇IE8

    最初对做兼容性的认知只停留在UI层面,但其实UI层面都还好,因为毕竟你可以直接看得见现象,更为重要的是在JavaScript层面,因为这个部分涉及到功能性,前者最多是体验性的问题.下面扯一下这几天遇到 ...

  7. java中的默认排序规则,C#中列表,集合排序Sort,OrderBy与Java排序规则默认不一致...

    最近遇到一个排序小问题,java中的sort与C#中的Sort排出来结果不一样.后面写了两段小代码,结果确实不一样.var list2 = new List() { "AA",&q ...

  8. 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值

    from:http://blog.csdn.net/housisong/article/details/1452249 图形图像处理-之-高质量的快速的图像缩放 中篇 二次线性插值和三次卷积插值    ...

  9. redis系列:通过文章点赞排名案例学习sortedset命令

    前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了. 项目Github地址:https://github.com/rainbowda/ ...

  10. 正则学习小结(1)-基础

    定义:正则表达式(regular expression)描述了一种字符串匹配的模式(pattern) - 正则创建方法 1. 直接量语法 => /pattern/attributes 2. 创建 ...

最新文章

  1. Android 中文 API (25) —— ZoomControls
  2. 苹果Think Different广告
  3. razor 写入html标记,如何在Razor中编写“ Html.BeginForm”
  4. 使用JavaScript的Platformer游戏教程
  5. Elasticsearch-日期类型
  6. xenserver安装使用
  7. 【记】接口自动化测试,完整入门篇
  8. Bailian4016 班级排名【稳定排序】
  9. loadrunner11录制无法打开IE浏览器
  10. window oracle 命令,windows下Oracle命令
  11. ojdbc7加入本地maven仓库
  12. imei模拟修改_教你如何修改任意安卓模拟器的机型IMEI手机号等信息 海马玩 Windroye等适用...
  13. Excel如何根据身份证号码提取出性别
  14. python 马赛克拼图_用Python和OpenCV实现照片马赛克拼图(蒙太奇照片)
  15. 【暴力破解】medusacrowbar工具
  16. Python实用工具,pyqt5模块,Python实现自动生成艺术签名的小工具
  17. Could not autowire. No beans of ‘UserMapper‘ type found.
  18. 腾讯游戏学院专家:如何避免出海游戏服务器水土不服?
  19. 本周大新闻|华为发布BB观影眼镜,Geenee AR试穿加入AI生成玩法
  20. NET开源 .NET Open Source Developer Projects

热门文章

  1. python利用PIL及openpyxl实现图片转为excel表格
  2. MATLAB篇之层次分析法
  3. php把buffer转化为图片_PHP简单实现图片格式转换(jpg转png,gif转png等)
  4. 中国动漫及计算机专业好的大学排名,全国大学动画专业排名
  5. android模拟登陆,android,httpclient_Android模拟登录数据获取不了?无法传递?,android,httpclient,模拟登录 - phpStudy...
  6. 13电路交换、报文交换、分组交换原理
  7. 各类后台脚本语言区别(PHP、JSP、ASP和ASPX)
  8. HTML菜鸟教程学习笔记
  9. Python求解最大子列和
  10. OpenCV实现图片锐化