你的A/B測試結(jié)果真的靠譜嗎?
曾幾何時,我們抱著一個AB測試的異常數(shù)字欣喜若狂,又在下一次測試的效果反轉(zhuǎn)中悵然若失,最終于數(shù)據(jù)波動中浮浮沉沉,一聲嗟嘆,蹉跎半生~
之前在《增長策略:如何用AB測試進(jìn)行活動評估及優(yōu)化?》一文中,我們談到了如何用AB測試評估活動的效果,但是AB測試中隱藏著大大小小的坑,比如:樣本的數(shù)量就會嚴(yán)重影響到實(shí)驗(yàn)結(jié)果。
那么,我們又該如何評估AB測試的結(jié)果是否可靠呢?
知識點(diǎn)1:抽樣分布
在回顧知識點(diǎn)的時候,大家不要慌張,讓我們循序漸進(jìn),用講人話的方式來重新認(rèn)識課本上這些晦澀難懂的公式定理。
在講抽樣分布之前,我們先來復(fù)習(xí)一下,什么是隨機(jī)抽樣。
通俗一點(diǎn)來講,比如:要統(tǒng)計(jì)北京180cm以上的人口占比,因?yàn)榭傮w的量級很大,我們無法挨家挨戶去觀察記錄,因此一般都采用隨機(jī)抽樣的方法。
我們可以在北京的路邊閉著眼睛隨機(jī)抓100個人,這100個人就是隨機(jī)抽取的樣本,然后再記錄下180cm以上的人群占比,發(fā)現(xiàn)是20%,而這個20%就是我們抽樣統(tǒng)計(jì)的結(jié)果。
那么,抽樣分布又是什么呢?
先看看百度百科的解釋:以樣本平均數(shù)為例,它是總體平均數(shù)的一個估計(jì)量,如果按照相同的樣本容量,相同的抽樣方式,反復(fù)地抽取樣本,每次可以計(jì)算一個平均數(shù),所有可能樣本的平均數(shù)所形成的分布,就是樣本平均數(shù)的抽樣分布。
沿用上面的例子,我們繼續(xù)閉著眼睛抓人,一共抓了1000組人,每組都有100個,接下來,我們統(tǒng)計(jì)一下各組180cm以上的人群占比,把最終得到的1000個占比數(shù)據(jù)排到一起,發(fā)現(xiàn)有100個19%,200個20%,100個21%……
根據(jù)數(shù)據(jù),我們畫出了下面這張圖,這張圖就是我們占比的抽樣分布圖。
根據(jù)一些其他知識,我們知道,這其實(shí)是一個伯努利試驗(yàn),也就是經(jīng)典的拋硬幣試驗(yàn),結(jié)果只有兩種,當(dāng)重復(fù)的次數(shù)足夠多的時候,其分布近似正態(tài)分布,這里最中間的數(shù)值p=20%就是該抽樣分布的均值,而p*(1-p)就是該分布的方差。
知識點(diǎn)2:假設(shè)檢驗(yàn)
基于抽樣的結(jié)果,我們可以大致估計(jì)出總體差不多也這樣兒,但單獨(dú)某一次的抽樣不能完全代表總體,畢竟我們抽了1000組人,很多組的占比結(jié)果都不一樣,甚至有的樣本組占比差異很大。
書歸正傳,我們在做AB測試的時候,其實(shí)是假想有同一撥兒人,存在于多個平行宇宙,我們在每個平行宇宙的總體用戶中隨機(jī)抽出一組人參與不同的實(shí)驗(yàn),最終其實(shí)是用這幾個樣本組的差異來預(yù)測平行宇宙不同總體之間的差異。
講的有點(diǎn)玄乎了,說白了,我們最終要做的事就是來判斷,將哪個實(shí)驗(yàn)方案推廣至總體用戶后效果最好。
但我們不可能按照同樣的實(shí)驗(yàn)條件反復(fù)做幾百次,所以這幾個樣本組的結(jié)果是否能代表總體?他們之間的結(jié)果差異是否能反應(yīng)這幾個總體的真實(shí)差異呢?
為了驗(yàn)證這一點(diǎn),我們就要用到假設(shè)檢驗(yàn)了,假設(shè)檢驗(yàn)說到底無非就兩步,第一,先提出假設(shè),第二,進(jìn)行檢驗(yàn),看假設(shè)是否成立。
那么,我們可以首先提出這樣一個假設(shè):H0:兩個組其實(shí)沒啥差別。
我們所做的AB測試其實(shí)都屬于伯努利試驗(yàn),當(dāng)樣本量足夠大的時候,根據(jù)中心極限定理,其抽樣分布都近似于正態(tài)分布,那么做假設(shè)檢驗(yàn)的時候我們就應(yīng)該用Z檢驗(yàn),話不多說,先上公式:
其中:
- x1,x2是樣本1,樣本2的平均數(shù);
- S12,S22是樣本1,樣本2的方差;
- n1,n2是樣本1,樣本2的容量。
計(jì)算完Z值后,比較計(jì)算所得Z值與理論Z值,依據(jù)Z值與差異顯著性關(guān)系表作出判斷,具體如下:
應(yīng)用題
看到這里多少會有點(diǎn)懵,但至于中心極限定理是啥,Z檢驗(yàn)又是啥,為什么用這個公式,置信度是啥,都不用太關(guān)心,我們只需要結(jié)合常識來看看,這個Z值的公式蘊(yùn)含著什么意義。
如果我們要驗(yàn)證兩種不同活動方案的效果差異,首先隨機(jī)抽取用戶分成AB兩組,其中A組人數(shù)為n1,B組人數(shù)為n2。然后對兩組用戶施加不同的活動干預(yù),最后得到兩組用戶的轉(zhuǎn)化率分別是p1和p2,那么對應(yīng)的方差就應(yīng)該是:
- S12=p1*(1-p1)=p1q1
- S22=p2*(1-p2)=p2q2
最終,這個公式就變成了:
根據(jù)AB測試的常識我們知道,參與實(shí)驗(yàn)的每個組的人數(shù),也就是n1和n2應(yīng)該足夠大。
想象一下,當(dāng)n1和n2都非常大,甚至接近正無窮的時候,這個公式的分母會趨近于0,p1和p2但凡有一點(diǎn)點(diǎn)差異,這個Z值都會非常大,Z檢驗(yàn)的結(jié)果也會非常顯著。而如果樣本量n1和n2不是很大的話,那么就需要p1和p2的差值足夠大,才能保證結(jié)果的顯著性。
這也就是為什么很多時候,在小樣本的AB測試中,會出現(xiàn)對照組轉(zhuǎn)化率略高于實(shí)驗(yàn)組的原因,如果要引入Z檢驗(yàn)的話,最終的判定結(jié)果多半都是不顯著。
我們以實(shí)際的例子來看一看,做AB測試的檢驗(yàn)時,應(yīng)該怎么用。
假設(shè)我們有兩個實(shí)驗(yàn)組,分別施以不同的活動策略,兩組的相關(guān)指標(biāo)數(shù)據(jù)如下:
通過上述的公式,我們可以計(jì)算得到:Z=1.66<1.96
因此,雖然組2的轉(zhuǎn)化率是組1的兩倍,但Z檢驗(yàn)的結(jié)果表明兩組的差異并不顯著。
于是,我們又為組2補(bǔ)了100個用戶,發(fā)現(xiàn)組2的轉(zhuǎn)化率仍能保持在10%,按照組2的樣本量為200個,轉(zhuǎn)化率10%來重新計(jì)算Z值發(fā)現(xiàn):Z=2.34>1.96
證明實(shí)驗(yàn)結(jié)果顯著,兩種活動方案的轉(zhuǎn)化率有明顯差異,說明如果把方案2推廣至總體用戶的話,其轉(zhuǎn)化效果會明顯優(yōu)于方案1。
到這里我們已經(jīng)可以證明AB測試結(jié)果的顯著性了,通過Z檢驗(yàn),我們能判斷數(shù)字表面上顯現(xiàn)出的差異是否可以反應(yīng)總體真實(shí)的差異。
我們可以驗(yàn)證方案2確實(shí)優(yōu)于方案1,但是方案2的轉(zhuǎn)化率是否真的可以達(dá)到方案1的兩倍呢?這還需要引入另一個概念,那就是置信區(qū)間,下次有機(jī)會再做分享。
好了,今天的墨嘰小課堂就磨嘰這么多了,下回某一時間,我們相見隨緣。
作者:Mr.墨嘰,公眾號:墨嘰說數(shù)據(jù)產(chǎn)品
本文由 @Mr.墨嘰 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議
在做實(shí)驗(yàn)的時候 組1有1000人,但是組2只有100人,這樣是否公平呢
作者大大好,請教下判斷實(shí)驗(yàn)組和對照組顯著性的時候,Z檢驗(yàn)和p值有什么區(qū)別呢,兩者都可以用來判斷?還是各有不同的應(yīng)用條件呢,看很多資料都說的是看p值
Z檢驗(yàn)給出的公式算出來的是z值,z值用來和p值比較。p值是客觀值,是通過z值表找出來的。比較兩者大小得出原假設(shè)是否成立。
你的疑惑來自于不了解顯著性檢驗(yàn),可以先看看書了解下統(tǒng)計(jì)學(xué)上的顯著性檢驗(yàn)哈
樓上說的對。
題圖有點(diǎn)文不對圖了
排版是有點(diǎn)問題