美文网首页
【分析方法】A/B test

【分析方法】A/B test

作者: 王小野 | 来源:发表于2020-05-27 00:32 被阅读0次

    面对两套无法判断效果的方案,可考虑A/B test,简单的说就是通过控制变量进行数据对比来判断哪种策略更有效果。

    步骤

    设定问题——设计实验——统计实验数据——分析数据

    统计知识:

    两样本比例假设检验:查看实验组和对照组的指标(点击率、转化率、留存率)哪个更好。

    原假设:H0: A、B无差异(如变换按钮文案,点击率不变)      

                   H1: A、B有显著差异(如变换按钮文案,点击率不一样)

    中心极限定理

    若样本数量足够大,则其产生的均值应该是符合正态分布的。那么利用正态分布的性质,就可以推断出样本均值出现在某区间范围的概率。理论上就可以计算样本均值有多大概率(置信度)可能出现的区间范围,从而推算出总体均值有大概率落在范围内。


    第一步:设定问题

    想要解决什么问题?

    示例:想通过优化 提交按钮 的文案来提高“提交”按钮的点击率

    第二步:设计实验

    1)确定实验组和对照组.

    一般可考虑设置组内对比,组间对比

    示例:A的提交按钮文案是“免费”,B的提交按钮文案是“0元”,其他不变。

    2)确定观测的指标

    示例:按钮的点击率=页面PV/点击按钮的PV

    3)  确定样本量

    第一类错误:(1,0)实际没区别,但分析的结果是有区别。这个概率用\alpha 来表示,称为显著性。1-\alpha 称为置信水平,即有1-\alpha 的概率正确接受了H0,即分析结果和真实情况都是没区别。

    一般第一类错误的概率\alpha 不超过5%。意味着新策略对业务其实没有提升,却被错误的认为有提升。依据这样的分析结果调整策略,不仅浪费了公司资源,可能还会对产品进行不良引导,所以希望该数值越小越好,上限设为5%。

    第二类错误:(0,1)实际有区别,但分析的结果是没区别。这个概率用\beta 来表示。

    将1-\beta 称为统计功效,即正确拒绝H0的概率,即分析结果和真实情况都是有区别。

    一般第二类错误的概率不超过20%。意味着新策略对业务其实有提升,却被错误的认为没有用。依据这样的分析调整策略,可能不会让业务更快的提升,但至少也是维持着现状不变。所以虽然同样希望越小越好,但上限设为20%,高于第一类错误的上限。

    *样本量的计算公式样式参考如下:

    p1为基础值,是对照组当前的指标率;p2为目标值,是实验组期望的指标率。;α和β分别称为第一类错误概率和第二类错误概率,一般分别取0.05和0.2;Z为正态分布的分位数函数 。

    A/B测试样本量在线计算器  计算如下:

    比如:https://abtestguide.com/abtestsize/

    现有基准转化率(conversion rate)为2%;想要在此基础上提高20%(minimum detectable effect),即提高到2.4%;显著性\alpha 为5%,统计功效选 1-\beta 为 80%,则计算出结果为21108,即对照组和测试组需要的样本量各需要21108,最少需要测试一周。

    可用python中已有的包和函数计算python 函数

    第三步:统计数据

    依据观测指标,相应增加埋点,注意增加区分实验组和对照组的标识。

    关于埋点设计,我有过总结,可点击 埋点设计 查看。

    关于统计,没有第三方工具的情况下,一般需要SQL/python取数。

    第四步: 分析数据

    1)排查可能影响结果的因素

    先肉眼观测数据,猜想实验是否有效、结果是否有效:实验数据是否相差较大?样本是否用代表性?实验周期多久?

    1) 为了避免数据结果偏差,理论上样本量越多越好。但考虑到大流量试错会使成本增大,还是要尽量控制数量,得到结论后,及时调整策略。

    2)实验组和对照组的样本要避免用户差异,如果是特定标签(性别、年龄、城市)的用户群体,那么投放时2组也要做到用户标签一致。

    3)埋点是否正确、全面?(友情提示:如果ABtest方案、埋点、取数都不是同一个岗位的话,一定要沟通对齐,否则很可能得出错误的数据和结论) 

    2)显著性差异分析

    在1)的基础上借助数学模型,对数据的差异性进行度量。

    根据大数定律和中心极限定理:当样本量较大(大于30)时,可以通过Z检验来检验测试组和对照组两个样本均值差异的显著性。样本量小于30时,可进行t检验。

    EXCEL 函数 实现t检验:T.TEST

    单尾双尾:一般都是双尾

    双尾:不知道方向性。比如:计算AB的点击率各是多少,看看谁比谁大,再看大多少

    单尾:是你已经知道方向性了。比如你知道A的点击率比B大,只是不知道具体大多少。

    查表时,在显著性水平一定的情况下(例如α =0.05),

    双尾表:单侧检验时改用2α进行统计推断,双侧检验则用α 进行统计推断。

    单尾表:单侧检验时仍使用α进行统计推断,双侧检验则用α /2进行统计推断;

    一般情况下,概率分布函数曲线两侧尾端的小概率事件都要考虑(即双侧检验)。如果事先有把握确定其中的一侧不可能取值,则仅需对另一侧的小概率事件进行检验即可(单侧检验)。

    计算出t值后,将 t 值转换成p值,

    Excel的函数公式:p = TDIST(t,n,tails)

    t→t值  n→自由度  tails→单尾=1;双尾=2

    根据t值和自由度n =N1 + N2 - 2 ,比如N1和N2是去2组实验重后用户数UV

    通常:

     P>0.05         表示 差异性不显著,实验无效

    0.01<P<0.05 表示 差异性显著

    P<0.01          表示 差异性极显著,差异过大,可能投放的用户群体不一致,有较多不同层次的标签。

    3)输出结论,调整策略

    ·实验是否有效。

    ·结论是

     A、B无差异(如变换按钮文案,点击率不变)或 A、B有显著差异(如变换按钮文案,点击率不一样)

    ·原因可能是XXXX


    相关文章

      网友评论

          本文标题:【分析方法】A/B test

          本文链接:https://www.haomeiwen.com/subject/okciahtx.html