科普 | 細(xì)節(jié)決定A/B測試的成?。河械拙€的樣本量
本文作者將結(jié)合自身經(jīng)驗以及相關(guān)案例,與你分享在A/B測試中的關(guān)鍵因素——樣本量大小。enjoy~
在Testin A/B 測試的運作中,我們曾經(jīng)遇到過這種情況(這是一道案例分析題):
某位不愿透露姓名的客戶A先生為他的產(chǎn)品迭代準(zhǔn)備了為期半個月的A/B測試。他希望新的版本能比原版多帶來5個百分點的轉(zhuǎn)化率。經(jīng)過半個月的等待,有1000名用戶進(jìn)入測試,并使得新版轉(zhuǎn)化率成功達(dá)到了目標(biāo)。但是令他疑惑的是,對于這個實驗結(jié)果的p-value和power檢驗均不達(dá)標(biāo)。也就是說,這個結(jié)果并不可信。
兩大檢測指標(biāo)
A先生深感困惑。他不知道該怎么辦:是因為效果看似達(dá)到了于是停止實驗?還是因為檢驗不達(dá)標(biāo)而做其他的補救措施?
針對A先生的問題,我們進(jìn)行了一系列分析,最后確定了癥結(jié)所在:樣本量不足。A先生的實驗實際上需要至少1500人,但是目前只有1000人進(jìn)入實驗,也就是說樣本量的缺口達(dá)到了500。若想解決這個問題,只要繼續(xù)讓流量進(jìn)入實驗,達(dá)到最低需要的樣本量,即可。
看了這個案例,你可能會產(chǎn)生這些疑惑:
- 會出現(xiàn)這些情況居然是因為樣本量給的不足?這與實驗有什么聯(lián)系?
- 如果是的話,做一個測試,要給出多少樣本量才是足夠的?
- 而且,為什么不能讓所用用戶參與到測試中來,那樣一定能保證有足夠的數(shù)據(jù)可以收集不是嗎?
——出現(xiàn)這種困惑的客戶并不少見,我也是在進(jìn)一步接觸A/B測試以后才明白這其中的關(guān)鍵所在:樣本量大小。
有底線的樣本量
在上一篇《細(xì)節(jié)決定A/B測試的成?。翰豢珊鲆暤某闃印?/a>中,我們搞明白了A/B測試和抽樣之間的關(guān)系,引用一下上一篇中對于抽樣的敘述:
“在A/B測試中,我們無法知道所有用戶的行為(如點擊率)的真正均值……必須通過抽樣,抽取一部分具有代表性的用戶來測試不同版本的效果(例如均值),從而基于抽樣數(shù)據(jù)進(jìn)行統(tǒng)計分析……”
那么,這“一部分具有代表性的用戶”具體數(shù)量應(yīng)該是多少呢?是不是隨便劃拉一下數(shù)據(jù)條,拉個多少多少人來測試就行了呢?
并不。因為,如果樣本的容量太小,會導(dǎo)致參數(shù)估計值的大小和符號違反經(jīng)濟(jì)理論和實際經(jīng)驗,使結(jié)果不可信。
舉個栗子,陸仁甲的頭兒要確定全國十幾億人喜歡吃啥主食,然后陸仁甲劃拉了幾百號人來一問,哦這些人大部分喜歡吃米飯,然后陸仁甲就說全國人民偏好吃大米——???一想就知道不對是吧。
所以說確定你的實驗對于樣本量大小的需求是很重要的。然鵝,我在網(wǎng)上那些A/B測試入門教程里少有看到對于樣本量估算的介紹,大量的A/B測試科普文章仍舊停留在介紹A/B測試怎么怎么厲害怎么怎么牛逼,要怎么怎么做怎么怎么注意(是的沒錯之前我們也是這樣的~233)。
但就是不告訴你到底應(yīng)該劃拉多少人來做。
別慌。這就告訴你怎么搞這個樣本量。
給樣本量“秀下限”
為了搞清楚這個樣本量的估算是怎么弄起來的,我跑去找我們Testin技術(shù)部的大佬尋求了一下技術(shù)支援:
大佬:“哦就這事兒,其實吧!要確定樣本量這事兒老簡單了!”
喏,給你我們搞A/B測試的時候用的方法:
我們用UV來計算實驗需要樣本量和剩余時間。由于t分布需要一個自由度的參數(shù),而自由度的計算需要樣本量n。這里樣本量需要計算,所以不能用t分布,而用z分布。如果將自由度設(shè)置成無窮大,那么累計概率與z分布一樣,此處用正態(tài)分布進(jìn)行實驗。
在原假設(shè)為真的條件下,假設(shè)原始版本和版本一的流量之比為1:k,則樣本量之比為n:m=1:k
設(shè)x是指最小提升率,比如你原來的轉(zhuǎn)化率是50%,你定一個最小提升是10%,那么你最后的得到的轉(zhuǎn)化率就是55%;另外這個原始版本轉(zhuǎn)化率也要設(shè)置好
然后整體實驗樣本量為n+m=(1+k)*n,這時候我們再帶入這條公式
(說著大佬拿出了一條長長的寫滿根號xyzγδαβ的公式……)
——不不打住打住啊我不是來上高等數(shù)學(xué)的啊別一言不合就建模啊饒了我吧
技術(shù)部的大佬太牛逼了高數(shù)學(xué)渣表示實在不懂啊……
不過這并沒有關(guān)系。你想啊,假設(shè)有一個黑箱,我們只要知道怎么搞進(jìn)去一些數(shù)字,然后黑箱給我們搞出來一些答案就行了對吧!只要會用就行了對吧?。ú挪皇且驗閷W(xué)渣看不懂在找借口呢哼)
所以技術(shù)部的大佬們早就準(zhǔn)備好了一款樣本量計算器,專門為我們Testin的客戶估計每次實驗的樣本量:
(其實這種計算器并不少見,你也可以直接在網(wǎng)上搜索并使用樣本量計算器來估算,只是由于學(xué)術(shù)界對于樣本量估計的爭論也是各有各的說法,所以其他計算器使用的公式與我們的可能存在些許差別)
重點是,當(dāng)你進(jìn)行A/B測試的時候,要先估算好這個樣本量的數(shù)值,然后再拉取不少于這個數(shù)量的用戶來進(jìn)行測試就行了。
沒上限的樣本量……?
經(jīng)過上面兩大塊的敘述,想必你也意識到了:樣本量越大,實驗結(jié)果的可靠性就越有把握。
但是這就意味著樣本量越大越好嗎?
(就像現(xiàn)在的手機(jī),屏幕真是越來越大了,但是大就好嗎?那你咋不端著個平板電腦打電話呢……)
誠然,樣本容量太小,會使抽樣誤差太大,使調(diào)查結(jié)果與實際情況相差很大,影響調(diào)查的效果,因此做實驗的時候,都建議加大流量投入,也因此不建議月活用戶數(shù)量太少的客戶做A/B測試。但樣本容量太大,勢必會造成人力、物力和財力的很大浪費。這點大家都懂,成本嘛。
但是可能你又有疑問了,我做A/B測試的時候只是在線上收集數(shù)據(jù)罷了,又不用承擔(dān)太大的成本,那我加大測試流量有什么好擔(dān)心的呢?
我們再舉個夸張的栗子:陸仁乙有款產(chǎn)品,月活用戶幾百萬。他要進(jìn)行產(chǎn)品迭代,搞了個A/B測試,A版是原版,B版是新版1,C是新版2(是的沒錯誰告訴你A/B測試只能有AB兩版的啦,同時測試幾個版本是可以的哦)為了追求更精確的結(jié)果,他給每個版本都分配了25萬用戶。經(jīng)過了一周的測試,陸仁乙開心地發(fā)現(xiàn)C版擁有超過原版數(shù)個百分點的轉(zhuǎn)化能力,同時喜聞樂見地發(fā)現(xiàn)B版的25萬用戶因為B版本體驗非常不好,有數(shù)萬用戶刪除了應(yīng)用……
——看到這里你或許明白我要說什么了:不要忘了我們搞測試的初衷是什么:找到最好的版本,規(guī)避可能帶來的損失。讓如此多的用戶參與,本就可能帶來不可估量的損失了。
畢竟,改革,是有失敗的風(fēng)險的,當(dāng)你為了追求結(jié)果的準(zhǔn)確性而盲目提高樣本量的時候,你所要承擔(dān)的風(fēng)險成本(指由于風(fēng)險的存在和風(fēng)險事故發(fā)生后人們所必須支出的費用和減少的預(yù)期經(jīng)濟(jì)利益)已經(jīng)在不知不覺間上升了。
現(xiàn)實社會不是象牙塔中的理論世界,很多東西是要考慮實際的。因此,如何選擇合適的樣本容量,才能既滿足模型估計的需要,又減輕收集數(shù)據(jù)的成本,是一個重要的實際問題。
作者:一顆糯米C,公眾號:云測數(shù)據(jù)(testindata),數(shù)據(jù)驅(qū)動增長的堅定實行者
本文由 @一顆糯米C 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
- 目前還沒評論,等你發(fā)揮!