AB Testing

A/B Testing

说到决策,必然就是一道选择题。是A还是Bthis is a question!如何使用风险、代价最小的方法,找到最适合生存的方案,在企业应用中,就显得及其重要。而物竞天择,优胜劣汰,使得A/B Testing尤为重要,并在互联网的世界,大行其道。

一、A/B Testing 在企业中的应用。

在这里插入图片描述
在实际应用当中,提出问题的假设是解决问题的第一步。当发生运营疑问和决策的时候,首先假设问题的各种可能,建立在假设方案上,设置用于衡量、评价优化问题的指标;其次,根据实际问题,协同问题相关业务人员,设计试验方案,并与开发同学沟通试验的细节与可行性;再之,根据试验场景划分流量(你应该不想在level 30的账号上试验注册相关内容),使得用户合理进入试验;最后可根据试验的观测结果,进行数据的分析或试验方案的改进,又或是增大试验流量以增加试验的可信度。

二、实际应用的问题
1. A/B Testing 的常见试验

当我们对一项产品或推荐算法的效力产生疑问时,总会问一句,这个改动有用吗?这个算法有市场吗?这个时候不妨试一试A/B Testing,相较于算法的单一体现,产品上的效果更加灵活多变:

  • 颜色与文案
  • 位置与大小
  • 信息与形式
  • 图形与形象
2.A/B Testing 的试验分配机制

移动互联网中试错的成本是高昂的,如何使用最少的流量获得更多的试验机会,提高试验单价,就尤为重要。我们从Google的一篇关于分层试验的论文《Overlapping experiment infrastructure: More, better, faster experimentation》中应用,以下模型:
在这里插入图片描述
从试验本身的角度出发,当一个用户打开App(设置缓存状态tag,避免用户打开的内容为缓存数据,污染试验)时,开始获取用户设备ID(通常为AndroidIMEIIOSidfa,暂不考虑H5快应用以及小程序),检测该用户应用版本及是否存在分流因子(假如我们只想让IOS用户进入该实验),通过将设备ID进行散列。根据分组算法决定用户进入那一组或多组独立的试验当中。通过埋点的方式获取试验的数据,计算试验指标,分析试验结果。
在这里插入图片描述
为了能够高效的利用流量,我们在分配试验时,应遵循流量共享、同层互斥的原则。实际中的两个及以上的试验,如果不在同一个测试单元,即A试验不与B试验进行交叉,那么我们就可以将我们的试验流量共享给A和B,拥有足够大样本的同时,也不需要重新分配流量;当我们的试验属于同一个测试单元,那么就利用控制单一变量的方法,分别分配各自的流量,避免试验因子交叉污染我们的试验。

3. 科学抽样

A/B Testing具有代表意义的原因就是,使用样本估计总体。那么,这就需要确保被抽取的部分用户足以代表整个用户群。常用的抽样策略有:

  • 性别、城市

  • 渠道(通常不同渠道的用户质量是不一样的)

  • 手机型号(手机本身对用户已经有了分类)

  • 基于测试的用户行为特征(这点儿很重要)

另外,可直接使用机器学习中的聚类算法进行分类。

4. A/B Testing的常用计算指标
  • 平均值
  • 转化率
  • 停留时长
  • 点击次数
三、A/B Testing的统计学背景
1.抽样分布

通俗的讲,就是从总体N中有放回的抽取n个样本,观察样本的属性(均值、正负样本的比率等),这样重复多次后,由样本属性构成的集合,就形成了抽样分布。

2. 辛钦中心极限定理central limit theorem

设从均值为 μ \mu μ,方差为 σ 2 \sigma^2 σ2(有限)的任意一个总体中抽取样本量为 n n n的样本,当 n n n充分大时,样本均值 X ˉ \bar{X} Xˉ的抽样分布近似服从均值为 μ \mu μ,方差为 σ 2 / n \sigma^2/n σ2/n的正态分布。

该定理告诉我们不管总体的分布是什么,此时样本均值 X ˉ \bar{X} Xˉ的分布总是近似正态分布,只要总体的方差 σ 2 \sigma^2 σ2有限。设总体均值为 μ \mu μ,总体方差为 σ 2 \sigma^2 σ2,总有:

E ( x ˉ ) = E ( 1 n ∑ i = 1 n X i ) = 1 n ∑ i = 1 n E ( X i ) = μ E(\bar{x})=E(\frac{1}{n} \sum_{i=1}^{n}X_i)=\frac{1}{n}\sum_{i=1}^{n}E(X_i)=\mu E(xˉ)=E(n1i=1nXi)=n1i=1nE(Xi)=μ

D ( x ˉ ) = D ( 1 n ∑ i = 1 n X i ) = 1 n 2 ∑ i = 1 n D ( X i ) = σ 2 n D(\bar{x})=D(\frac{1}{n} \sum_{i=1}^{n}X_i)=\frac{1}{n^2}\sum_{i=1}^{n}D(X_i)=\frac{\sigma^2}{n} D(xˉ)=D(n1i=1nXi)=n21i=1nD(Xi)=nσ2

3. 两个样本平均值之差的分布

X 1 ˉ \bar{X_1} X1ˉ是独立地抽自总体 X 1 ∼ N ( μ 1 , σ 1 2 ) X_1 \sim N(\mu_1,\sigma_1^2) X1N(μ1,σ12)的一个容量为 n 1 n_1 n1的样本的均值,设 X 2 ˉ \bar{X_2} X2ˉ是独立地抽自总体 X 2 ∼ N ( μ 2 , σ 2 2 ) X_2 \sim N(\mu_2,\sigma_2^2) X2N(μ2,σ22)的一个容量为 n 2 n_2 n2的样本的均值,则有:

E ( X 1 ˉ − X 2 ˉ ) = E ( X 1 ˉ ) − E ( X 2 ˉ ) = μ 1 − μ 2 E(\bar{X_1}-\bar{X_2})=E(\bar{X_1})-E(\bar{X_2})=\mu_1-\mu_2 E(X1ˉX2ˉ)=E(X1ˉ)E(X2ˉ)=μ1μ2

D ( X 1 ˉ − X 2 ˉ ) = D ( X 1 ˉ ) − D ( X 2 ˉ ) = σ 1 2 n 1 + σ 2 2 n 2 D(\bar{X_1}-\bar{X_2})=D(\bar{X_1})-D(\bar{X_2})=\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2} D(X1ˉX2ˉ)=D(X1ˉ)D(X2ˉ)=n1σ12+n2σ22

当样本量足够大时(一般意义上不小于30), X 1 ˉ − X 2 ˉ \bar{X_1}-\bar{X_2} X1ˉX2ˉ的抽样分布不管总体分布如何,均可用正态分布来近似。

4.两个样本比例之差的分布

二项分布:重复 n n n次独立的伯努利试验(非0即1)成立次数的概率分布。设试验成功的概率为 p p p,则有: E ( X ) = n p E(X)=np E(X)=np D ( X ) = n p ( 1 − p ) D(X)=np(1-p) D(X)=np(1p);当 n → ∞ n→∞ n时,而 0 < p < 1 0<p<1 0<p<1是一个定值时,二项分布近似于正态分布 N ( n p , n p ( 1 − p ) ) N(np,np(1-p)) N(np,np(1p))

如果在样本大小为 n n n的样本中具有某一特征的个体数为 X X X,则样本比例用 p ^ = X n \hat{p}=\frac{X}{n} p^=nX表示,我们使用样本比例 p ^ \hat{p} p^来估计总体比例 π \pi π

由二项分布的理论可知,当 n n n充分大时, p ^ \hat{p} p^的分布可用正态分布来逼近(成功的次数/样本量)。此时, p ^ \hat{p} p^服从均值为 π \pi π、方差为 π ( 1 − π ) n \frac{\pi(1-\pi)}{n} nπ(1π)的正态分布(由二项分布的均值、方差推导)。

设分别从具有参数为 π 1 \pi_1 π1 π 2 \pi_2 π2的二项总体中抽取包含 n 1 n_1 n1 n 2 n_2 n2个独立样本,则两个样本比例的抽样分布为:

p 1 ^ − p 2 ^ = X 1 n 1 − X 2 n 2 \hat{p_1}-\hat{p_2}=\frac{X_1}{n_1}-\frac{X_2}{n_2} p1^p2^=n1X1n2X2,且有 E ( p 1 ^ − p 2 ^ ) = π 1 − π 2 E(\hat{p_1}-\hat{p_2})=\pi_1-\pi_2 E(p1^p2^)=π1π2, D ( p 1 ^ − p 2 ^ ) = π 1 ( 1 − π 1 ) n 1 + π 2 ( 1 − π 2 ) n 2 D(\hat{p_1}-\hat{p_2})=\frac{\pi_1(1-\pi_1)}{n_1}+\frac{\pi_2(1-\pi_2)}{n_2} D(p1^p2^)=n1π1(1π1)+n2π2(1π2);当 n 1 n_1 n1 n 2 n_2 n2充分大时, p 1 ^ − p 2 ^ \hat{p_1}-\hat{p_2} p1^p2^的抽样分布近似为正态分布。

5.点估计与区间估计
  • 点估计与区间估计

使用样本统计量 θ ^ \hat{\theta} θ^的某个取值直接作为总体参数 θ \theta θ的估计值。尽管在重复抽样的条件下,抽出的一个具体的样本得到的估计值有望与总体参数值相同;但抽样是随机的,样本得到的估计值也可能不与总体参数值相同。这时候,必须给出点估计值与总体参数的真实值接近的程度。但一个点估计值的可靠性是由它的抽样标准误差来衡量的,这表明一个具体的点估计值无法给出估计的可靠性的度量,因此,需要围绕点估计值构造出总体参数的一个区间,就是区间估计。

  • 置信水平与置信区间

区间估计中,由样本统计量所构成的总体参数的估计区间,称之为置信区间;如果将构造置信区间的步骤重复多次,置信区间中包含总体参数真实值的次数所占的比例称为置信水平。总体参数的真值为未知、固定的;样本构造的区间则是不固定的,不同的样本,就会得到不同的区间。

6.两个总体均值之差的区间估计

在大样本的情况下,两个样本的均值之差 x 1 − x 2 x_1-x_2 x1x2的抽样分布服从均值为 μ 1 − μ 2 \mu_1-\mu_2 μ1μ2,方差为 σ 1 2 n 1 + σ 2 2 n 2 \frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2} n1σ12+n2σ22的正态分布,则两个样本均值之差经过标准化后则服从标准正态分布(方便查表),即

Z = ( X 1 ˉ − X 2 ˉ ) − ( μ 1 − μ 2 ) σ 1 2 n 1 + σ 2 2 n 2 ∼ N ( 0 , 1 ) Z=\frac{(\bar{X_1}-\bar{X_2})-(\mu_1-\mu_2)}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}}\sim N(0,1) Z=n1σ12+n2σ22 (X1ˉX2ˉ)(μ1μ2)N(0,1)

这时,两个总体均值之差 μ 1 − μ 2 \mu_1-\mu_2 μ1μ2 1 − α 1-\alpha 1α置信水平下的置信区间为:

( X 1 ˉ − X 2 ˉ ) ± Z α / 2 σ 1 2 n 1 + σ 2 2 n 2 (\bar{X_1}-\bar{X_2})\pm Z_{\alpha/2}{\sqrt{\frac{\sigma_1^2}{n_1}+\frac{\sigma_2^2}{n_2}}} (X1ˉX2ˉ)±Zα/2n1σ12+n2σ22

7.两个总体比例之差的区间估计

同均值之差的区间估计,两个样本的比例之差经标准化后也服从标准正态分布,即

Z = ( p 1 − p 2 ) − ( π 1 − π 2 ) π 1 ( 1 − π 1 ) n 1 + π 2 ( 1 − π 2 ) n 2 ∼ N ( 0 , 1 ) Z=\frac{(p_1-p_2)-(\pi_1-\pi_2)}{\frac{\pi_1(1-\pi_1)}{n_1}+\frac{\pi_2(1-\pi_2)}{n_2}} \sim N(0,1) Z=n1π1(1π1)+n2π2(1π2)(p1p2)(π1π2)N(0,1)

这时,两个总体比例之差 π 1 − π 2 \pi_1-\pi_2 π1π2 1 − α 1-\alpha 1α的置信区间为:

( p 1 − p 2 ) ± Z α / 2 p 1 ( 1 − p 1 ) n 1 + p 2 ( 1 − p 2 ) n 2 (p_1-p_2)\pm Z_{\alpha/2}\sqrt{\frac{p_1(1-p_1)}{n_1}+\frac{p_2(1-p_2)}{n_2}} (p1p2)±Zα/2n1p1(1p1)+n2p2(1p2)

8.样本量的确认
  • 估计总体均值时样本量的确定

总体均值的置信区间是由样本均值和估计误差两部分组成。在重复抽样或无限总体的抽样条件下,估计误差为 z α / 2 σ n {z_{\alpha/2}}\frac{\sigma}{\sqrt{n}} zα/2n σ。由公式可知,一旦确定了置信水平 1 − α 1-\alpha 1α z α / 2 {z_{\alpha/2}} zα/2的值就确定了。对于给定的 z α / 2 {z_{\alpha/2}} zα/2的值和总体标准差 σ \sigma σ,就可以确认任一希望的估计误差所需要的样本量,即有

n = ( z α / 2 ) 2 σ 2 E 2 n=\frac{({z_{\alpha/2}})^2{\sigma^2}}{E^2} n=E2(zα/2)2σ2,其中,总体标准差 σ \sigma σ通常情况下是未知的,可以通过历史数据求得、或通过一批临时样本求得。

  • 估计总体比例时样本量的确定

类似得,估计总体比例置信区间得估计误差为 Z α / 2 π ( 1 − π ) n Z_{\alpha/2}\sqrt{\frac{\pi(1-\pi)}{n}} Zα/2nπ(1π) ,即有

n = z α / 2 π ( 1 − π ) E 2 n=\frac{{z_{\alpha/2}}{\pi}(1-\pi)} {E^2} n=E2zα/2π(1π),估计误差 E E E必须是使用者事先确定得,一般情况下小于0.10。同样得, π \pi π通常情况下是未知的,可以通过历史数据求得、或通过一批临时样本求得。

四、实例

试验目标:提高在A页面通往B页面的转化率;

试验假设:增加入口文案的诱导性可增加转化。即由原始版本 a 1 a_1 a1修改为试验版本 a 2 a_2 a2

确定样本量: n = z α / 2 π ( 1 − π ) E 2 n=\frac{{z_{\alpha/2}}{\pi}(1-\pi)} {E^2} n=E2zα/2π(1π)= 1.96 ∗ 0.3 ∗ 0.7 0.0 2 2 \frac{1.96*0.3*0.7}{0.02^2} 0.0221.960.30.7=1029。即,我们在历史转化率为30%的基础上,选取95%的置信水平,要求误差不超过2%。若使试验足够可信,至少应有1029个试验样本。则此组试验,至少需要1029*2=2058个试验样本。

试验展示数点击数转化率
a 1 a_1 a1(对照组)150047031.33%
a 2 a_2 a2(实验组)180065036.11%

则构建置信区间为:

( p 1 − p 2 ) ± Z α / 2 p 1 ( 1 − p 1 ) n 1 + p 2 ( 1 − p 2 ) n 2 (p_1-p_2)\pm Z_{\alpha/2}\sqrt{\frac{p_1(1-p_1)}{n_1}+\frac{p_2(1-p_2)}{n_2}} (p1p2)±Zα/2n1p1(1p1)+n2p2(1p2) = 0.0478$ 0.032301=[0.0155,0.0801]

对照原来的转化率,置信区间转化为[0.0155/0.3133,0.0801/0.3133]=[4.9%,22.1%]

试验解读为:文案改版后有95%的可能性,转化率能够提升[4.9%,22.1%]之间。评测改版后对其他方面的影响后,即可做出决策。
.032301=[0.0155,0.0801]

对照原来的转化率,置信区间转化为[0.0155/0.3133,0.0801/0.3133]=[4.9%,22.1%]

试验解读为:文案改版后有95%的可能性,转化率能够提升[4.9%,22.1%]之间。评测改版后对其他方面的影响后,即可做出决策。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值