你的A/B測試結果真的靠譜嗎?

6 評論 17255 瀏覽 89 收藏 10 分鐘

曾幾何時,我們抱著一個AB測試的異常數字欣喜若狂,又在下一次測試的效果反轉中悵然若失,最終于數據波動中浮浮沉沉,一聲嗟嘆,蹉跎半生~

之前在《增長策略:如何用AB測試進行活動評估及優(yōu)化?》一文中,我們談到了如何用AB測試評估活動的效果,但是AB測試中隱藏著大大小小的坑,比如:樣本的數量就會嚴重影響到實驗結果。

那么,我們又該如何評估AB測試的結果是否可靠呢?

知識點1:抽樣分布

在回顧知識點的時候,大家不要慌張,讓我們循序漸進,用講人話的方式來重新認識課本上這些晦澀難懂的公式定理。

在講抽樣分布之前,我們先來復習一下,什么是隨機抽樣。

通俗一點來講,比如:要統(tǒng)計北京180cm以上的人口占比,因為總體的量級很大,我們無法挨家挨戶去觀察記錄,因此一般都采用隨機抽樣的方法。

我們可以在北京的路邊閉著眼睛隨機抓100個人,這100個人就是隨機抽取的樣本,然后再記錄下180cm以上的人群占比,發(fā)現是20%,而這個20%就是我們抽樣統(tǒng)計的結果。

那么,抽樣分布又是什么呢?

先看看百度百科的解釋:以樣本平均數為例,它是總體平均數的一個估計量,如果按照相同的樣本容量,相同的抽樣方式,反復地抽取樣本,每次可以計算一個平均數,所有可能樣本的平均數所形成的分布,就是樣本平均數的抽樣分布。

沿用上面的例子,我們繼續(xù)閉著眼睛抓人,一共抓了1000組人,每組都有100個,接下來,我們統(tǒng)計一下各組180cm以上的人群占比,把最終得到的1000個占比數據排到一起,發(fā)現有100個19%,200個20%,100個21%……

根據數據,我們畫出了下面這張圖,這張圖就是我們占比的抽樣分布圖。

根據一些其他知識,我們知道,這其實是一個伯努利試驗,也就是經典的拋硬幣試驗,結果只有兩種,當重復的次數足夠多的時候,其分布近似正態(tài)分布,這里最中間的數值p=20%就是該抽樣分布的均值,而p*(1-p)就是該分布的方差。

知識點2:假設檢驗

基于抽樣的結果,我們可以大致估計出總體差不多也這樣兒,但單獨某一次的抽樣不能完全代表總體,畢竟我們抽了1000組人,很多組的占比結果都不一樣,甚至有的樣本組占比差異很大。

書歸正傳,我們在做AB測試的時候,其實是假想有同一撥兒人,存在于多個平行宇宙,我們在每個平行宇宙的總體用戶中隨機抽出一組人參與不同的實驗,最終其實是用這幾個樣本組的差異來預測平行宇宙不同總體之間的差異。

講的有點玄乎了,說白了,我們最終要做的事就是來判斷,將哪個實驗方案推廣至總體用戶后效果最好。

但我們不可能按照同樣的實驗條件反復做幾百次,所以這幾個樣本組的結果是否能代表總體?他們之間的結果差異是否能反應這幾個總體的真實差異呢?

為了驗證這一點,我們就要用到假設檢驗了,假設檢驗說到底無非就兩步,第一,先提出假設,第二,進行檢驗,看假設是否成立。

那么,我們可以首先提出這樣一個假設:H0:兩個組其實沒啥差別。

我們所做的AB測試其實都屬于伯努利試驗,當樣本量足夠大的時候,根據中心極限定理,其抽樣分布都近似于正態(tài)分布,那么做假設檢驗的時候我們就應該用Z檢驗,話不多說,先上公式:

其中:

  • x1,x2是樣本1,樣本2的平均數;
  • S12,S22是樣本1,樣本2的方差;
  • n1,n2是樣本1,樣本2的容量。

計算完Z值后,比較計算所得Z值與理論Z值,依據Z值與差異顯著性關系表作出判斷,具體如下:

應用題

看到這里多少會有點懵,但至于中心極限定理是啥,Z檢驗又是啥,為什么用這個公式,置信度是啥,都不用太關心,我們只需要結合常識來看看,這個Z值的公式蘊含著什么意義。

如果我們要驗證兩種不同活動方案的效果差異,首先隨機抽取用戶分成AB兩組,其中A組人數為n1,B組人數為n2。然后對兩組用戶施加不同的活動干預,最后得到兩組用戶的轉化率分別是p1和p2,那么對應的方差就應該是:

  • S12=p1*(1-p1)=p1q1
  • S22=p2*(1-p2)=p2q2

最終,這個公式就變成了:

根據AB測試的常識我們知道,參與實驗的每個組的人數,也就是n1和n2應該足夠大。

想象一下,當n1和n2都非常大,甚至接近正無窮的時候,這個公式的分母會趨近于0,p1和p2但凡有一點點差異,這個Z值都會非常大,Z檢驗的結果也會非常顯著。而如果樣本量n1和n2不是很大的話,那么就需要p1和p2的差值足夠大,才能保證結果的顯著性。

這也就是為什么很多時候,在小樣本的AB測試中,會出現對照組轉化率略高于實驗組的原因,如果要引入Z檢驗的話,最終的判定結果多半都是不顯著。

我們以實際的例子來看一看,做AB測試的檢驗時,應該怎么用。

假設我們有兩個實驗組,分別施以不同的活動策略,兩組的相關指標數據如下:

通過上述的公式,我們可以計算得到:Z=1.66<1.96

因此,雖然組2的轉化率是組1的兩倍,但Z檢驗的結果表明兩組的差異并不顯著。

于是,我們又為組2補了100個用戶,發(fā)現組2的轉化率仍能保持在10%,按照組2的樣本量為200個,轉化率10%來重新計算Z值發(fā)現:Z=2.34>1.96

證明實驗結果顯著,兩種活動方案的轉化率有明顯差異,說明如果把方案2推廣至總體用戶的話,其轉化效果會明顯優(yōu)于方案1。

到這里我們已經可以證明AB測試結果的顯著性了,通過Z檢驗,我們能判斷數字表面上顯現出的差異是否可以反應總體真實的差異。

我們可以驗證方案2確實優(yōu)于方案1,但是方案2的轉化率是否真的可以達到方案1的兩倍呢?這還需要引入另一個概念,那就是置信區(qū)間,下次有機會再做分享。

好了,今天的墨嘰小課堂就磨嘰這么多了,下回某一時間,我們相見隨緣。

 

作者:Mr.墨嘰,公眾號:墨嘰說數據產品

本文由 @Mr.墨嘰 原創(chuàng)發(fā)布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 在做實驗的時候 組1有1000人,但是組2只有100人,這樣是否公平呢

    來自廣東 回復
  2. 作者大大好,請教下判斷實驗組和對照組顯著性的時候,Z檢驗和p值有什么區(qū)別呢,兩者都可以用來判斷?還是各有不同的應用條件呢,看很多資料都說的是看p值

    回復
    1. Z檢驗給出的公式算出來的是z值,z值用來和p值比較。p值是客觀值,是通過z值表找出來的。比較兩者大小得出原假設是否成立。
      你的疑惑來自于不了解顯著性檢驗,可以先看看書了解下統(tǒng)計學上的顯著性檢驗哈

      來自廣東 回復
    2. 樓上說的對。

      來自北京 回復
  3. 題圖有點文不對圖了

    來自廣東 回復
    1. 排版是有點問題

      來自北京 回復