AB測試介紹
什么是AB測試茎刚?
A/B Test 是一個用于在線測試的常規(guī)方法堤如,用于測試新產(chǎn)品或新功能。
如何操作
我們需要設(shè)置兩組用戶忽媒,一組設(shè)置為對照組争拐,采用已有的產(chǎn)品或功能,另一組為實驗組晦雨,采用新版產(chǎn)品或功能架曹。
然后,找到上述兩組用戶做出的不同響應(yīng)闹瞧,確認哪個版本的功能更好绑雄。
A/B Test 適用情況
存在明確的對照組和實驗組,能夠選擇合適的指標(biāo)評估此類改變奥邮,適合使用A/B Test万牺。
- 我們可以通過A/B Test 對很大范圍的事情進行測試罗珍,比如增加一些新功能,或界面中增加的內(nèi)容杏愤,網(wǎng)站的不同外觀等靡砌。
- 我們還可以將A/B Test用于十分復(fù)雜的改變已脓,例如排名變動珊楼。
- 我們也可以針對不確定用戶是否會注意到的改變進行測試,例如頁面加載時間度液。
A/B Test 案例如下:
Amazon首次開始做個性化推薦時厕宗,他們想看一下用戶是否真的會購買更多商品,他們發(fā)現(xiàn)堕担,由于個性化推薦已慢,他們的收益有了顯著增加。
Linkedin測試了一個改變霹购,嘗試確定他們是否應(yīng)顯示新文章還是鼓勵大家增加新聯(lián)系人佑惠,這就是排名變動。
100ms的頁面加載時間不是很多齐疙,但是 Google 和 Amazon 都運行了測試膜楷。Amazon 在2007年證實,每個頁面增加 100ms 的延時贞奋,會導(dǎo)致收入降低 1%赌厅。對于Google,也得到了相似的結(jié)果轿塔。 你可以發(fā)現(xiàn)特愿,平均來看,100ms 看起來并不多勾缭,但每增加 100ms 的延遲揍障,人們查詢的數(shù)量真的降低了。
這就是可以從 A/B Test中學(xué)到的東西俩由。
A/B Test 不適用的情況
-
A/B Test 無法真實的告訴你是否遺漏了什么東西毒嫡。
例如:亞馬遜想知道頁面上是否有用戶需要,但是他們還沒有提供的商品采驻。這種情況沒辦法用 A/B Test 來尋找答案审胚。 -
A/B Test 不適用與測試新的體驗。
例如:某 SaaS 公司已經(jīng)有了免費服務(wù)礼旅,例如有待辦事項列表膳叨。他們想提供帶有其他功能的高級服務(wù),如需使用高級服務(wù)痘系,用戶需要升級菲嘴,創(chuàng)建登錄賬戶,并探索新的功能。
這種情況下龄坪,也不適合用 A/B Test 來尋找答案昭雌。 -
A/B 不適用與需要很長時間才能驗證的測試。
例如:某租房網(wǎng)站健田,想測試促進用戶推薦頁面給好友有沒有效果烛卧,但是這個效果檢驗需要很長時間,可能是一周妓局,可能是半年总放,一年。因為租房并不是經(jīng)常發(fā)生的好爬。這種情況也不適合局雄。
另外,當(dāng)你測試新的體驗時存炮,你當(dāng)前已有的那些用戶炬搭,可能會覺得改變了他們的體驗,這被稱為改變厭惡癥穆桂;
另一種情況是宫盔,他們覺得這些都是新的,然后嘗試所有東西充尉,這被稱為新奇效應(yīng)飘言。
對于不適用情況,補充技術(shù)
用戶在你的網(wǎng)站上進行操作的日志驼侠,可以通過檢查或觀察分析日志姿鸿,得出結(jié)論,是什么原因造成其行為的改變倒源。
然后可能要沿著這個方向努力苛预,然后設(shè)計實驗,完成隨機化和試驗笋熬,進行前瞻性分析热某。
可以把兩種技術(shù)結(jié)合來使用:
查看操作日志得出假設(shè),運行A/B Test驗證你的理論是否合理胳螟。
還有一些其他技術(shù):
- 用戶體驗研究
- 焦點小組
- 調(diào)查
- 人為評價
A/B Test 可以給我們大量寬泛的定量數(shù)據(jù)昔馋,而上述技術(shù)可以給我們非常深入的定性數(shù)據(jù)作為A/B Test 的補充。
這些技術(shù)可以告訴我們該爬哪座山糖耸,也就是得出假設(shè)秘遏。
設(shè)計A/B 測試
在網(wǎng)絡(luò)世界中,當(dāng)你做 A/B 測試時嘉竟,要謹記的一件事是邦危,確定用戶是否會喜歡這個新產(chǎn)品或新功能洋侨;
所以在進行 A/B 測試時,你的目標(biāo)是設(shè)計一個合理且能夠給到你可復(fù)驗的結(jié)果倦蚪,讓你能夠很好地決定是否要發(fā)布一款產(chǎn)品或功能希坚。
A/B 測試的方法
一般來說,在科學(xué)領(lǐng)域陵且,假設(shè)檢驗是確定創(chuàng)新的關(guān)鍵方法裁僧。
在A/B測試中,我們最想看到的是對照組和實驗組返回一致的響應(yīng)滩报,讓你能真正地決定試驗的結(jié)構(gòu)锅知,確定實驗組和對照組是否有很明顯的行為改變播急。
選擇和測量指標(biāo)
指標(biāo)的作用
選擇一個或多個指標(biāo)是因為我們需要脓钾,明確如何判斷實驗組比對照組的好壞。
在決定如何定義指標(biāo)之前桩警,我們要考慮會用這些指標(biāo)來做什么可训。
有兩種指標(biāo):
- 不變指標(biāo)
- 評估指標(biāo)
不變指標(biāo)
用于不變量檢查:這些指標(biāo)在實驗組和對照組中都不會更改。
例如:
- 如果運行一個實驗組和一個對照組捶枢,對比項目總體是否相同握截。例如兩組中用戶數(shù)量是否相同;分布是否相同烂叔;是否具有可比較的各個國家的用戶數(shù)量谨胞;或各個語言的用戶數(shù)量;
- 目的:需要進行這些完整性檢查蒜鸡,確保實驗?zāi)軌蝽樌麑嵤?/li>
- 通過這些不變指標(biāo)胯努,我們可以看到實驗是否受到其他非需要因素的影響,是否會對于我們判斷結(jié)果造成影響逢防。
評估指標(biāo)
用來評估實驗效果的指標(biāo)叶沛。通過該指標(biāo),比較實驗組和對照組是否存在顯著性差異忘朝,從而判斷新功能是否最終被采納灰署。
如何對指標(biāo)進行定義?
- 要為一個指標(biāo)想出一個高級概念局嘁,也就是一句話總結(jié)溉箕,讓每個人都能理解這個指標(biāo)。例如“活躍用戶”或“點擊概率”悦昵。
- 確定各個細節(jié)肴茄。例如你想測定活躍用戶,那你如何定義活躍旱捧?哪些事件可以算為活躍独郎?
- 進行單獨數(shù)據(jù)測量之后踩麦,你需要將它們總結(jié)為一個指標(biāo),有點像概括或計數(shù)氓癌,可能是一個平均值谓谦,中位數(shù)等
- 總結(jié)后,就得到了一個完整的指標(biāo)定義贪婉,可以進行完整性檢驗反粥。
- 最后使用一個指標(biāo)時,需要考慮這個指標(biāo)是否普遍適用
- 對于評估指標(biāo)疲迂,可以沒有那么完美才顿,但是適用于整套測試,能夠用來對比尤蒿;
困難指標(biāo)
- 不能直接訪問他們想要的數(shù)據(jù)郑气,不知道怎么計算;
- 需要太長時間
需要避免腰池。
指標(biāo)定義
定義 1(Cookie 概率):對于每個 <時間間隔>尾组,點擊的 Cookie 數(shù)量除以 Cookie 總數(shù)
定義 2(網(wǎng)頁流量概率):<時間間隔> 內(nèi)點擊的網(wǎng)頁瀏覽量除以網(wǎng)頁瀏覽量總數(shù)
定義 3(比例):點擊數(shù)除以網(wǎng)頁瀏覽量總數(shù)
關(guān)于數(shù)據(jù)采集和指標(biāo)定義:
- 在進行差異性計算之前,我們需要先弄清楚示弓,數(shù)據(jù)采集和指標(biāo)定義有沒有問題讳侨;
- 需要將定義標(biāo)準化
- 由于收集數(shù)據(jù)的技術(shù)很多,所以要確認使用了什么技術(shù)
需要考慮指標(biāo)的敏感性和穩(wěn)健性
敏感性和穩(wěn)健性
- 能夠捕捉到你所關(guān)心的更改的指標(biāo)奏属,這就是穩(wěn)健性的概念跨跨。當(dāng)不發(fā)生任何有趣的事情時,它不會發(fā)生太大改變
- 如何測量敏感性和穩(wěn)健性囱皿?
- 使用實驗或使用你已經(jīng)有的實驗;
例如勇婴,在視頻延遲示例中,我們可以實施一些簡單的實驗铆帽,我們可以提高視頻的質(zhì)量咆耿,在理論上,我們可以增加用戶加載時間爹橱,我們可以看看你感興趣的指標(biāo)是否對這種情況做出響應(yīng) - 也可以使用A/A實驗萨螺,看它們是否太敏感
- 在這個實驗中,你不需要改變?nèi)魏沃笜?biāo)愧驱,只將能看到相同信息的人們進行比較慰技,看看你的指標(biāo)是否顯示兩者之間的差別
- 通過這個關(guān)鍵元素,你可以確保不會將一些實際上沒有任何意義的東西認為是重要的
- 對你記錄的回顧性分析
- 如果你沒有數(shù)據(jù)组砚,或做不了新的實驗吻商,回頭看看你對你的網(wǎng)站做過的更改,看看你感興趣的這些指標(biāo)是否和這些更改一同發(fā)生了變化糟红;
- 或者你可以只看指標(biāo)歷史艾帐,看看你是否能夠找出主要更改的原因
- 使用實驗或使用你已經(jīng)有的實驗;
如何計算指標(biāo)差異性
我們需要弄清楚乌叶,是客觀因素導(dǎo)致指標(biāo)有了變化,還是改變以后讓指標(biāo)有了變化柒爸。例如准浴,學(xué)習(xí)平臺節(jié)假日流量會增加。
為了更嚴謹捎稚,我們需要為指標(biāo)計算置信區(qū)間乐横。
- 需要了解其分布情況
- 需要了解指標(biāo)的方差和標(biāo)準偏差
對于二項分布
- 標(biāo)準偏差SE = sqrt(β(1-β)/ N)
- 置信區(qū)間寬度(誤差范圍)m = z*SE
- N越大,越趨近于正態(tài)分布
案例
對于你選擇作為評估指標(biāo)的每個度量今野,假設(shè)有5000個cookie樣本訪問課程概述頁面的情況下葡公,分析估計一下其標(biāo)準偏差(保留4位小數(shù))
(注:請確保搞清楚每個對應(yīng)5000次頁面瀏覽的度量需要多少分析單位。)
基準值如下:
指標(biāo) | 基準值 |
---|---|
每天訪問課程概述頁面的獨立cookie | 40000 |
每天點擊“開始試用”的獨立cookie | 3200 |
報名參加免費試用的用戶數(shù)量 | 660 |
點進概率 | 0.08 |
總轉(zhuǎn)化率 | 0.20625 |
留存率 | 0.53 |
凈轉(zhuǎn)化率 | 0.1093125 |
從上面的表格可以看出条霜,點進概率為0.08
故5000個樣本的中催什,每天點擊“開始試用”的獨立cookie為 $50000.08 = 400.0 , 5000660/40000 = 82.5 $
則總轉(zhuǎn)化率的標(biāo)準偏差為:
$\sqrt{(0.2063*(1-0.2063)/400)} = 0.0202324189112424 $
凈轉(zhuǎn)化率的標(biāo)準偏差為:
$\sqrt{(0.1093*(1-0.1093)/400)} = 0.0156007620006204 $
留存率的標(biāo)準偏差為:
$\sqrt{(0.53*0.47/82.5)} = 0.0549490121785091 $
計算經(jīng)驗方差
分析變異性和經(jīng)驗變異性匹配的條件是 unit of analysis = unit of diversion。(分析單元 = 轉(zhuǎn)移單元)
例如參照上述數(shù)據(jù):
- 總轉(zhuǎn)化率的分析單位是cookie蛔外,轉(zhuǎn)移單位也是cookie蛆楞,故總轉(zhuǎn)化率的分析變異性和經(jīng)驗變異性匹配;
- 凈轉(zhuǎn)化率的分析單位是cookie夹厌,轉(zhuǎn)移單位也是cookie,故凈轉(zhuǎn)化率的分析變異性和經(jīng)驗變異性也匹配裆悄;
- 留存率的分析單位是user-id矛纹,轉(zhuǎn)移單位是cookie,故留存率的分析變異性和經(jīng)驗變異性不匹配光稼,根據(jù)經(jīng)驗計算的變異性可能會遠大于分析變異性或南。在這種情況下,應(yīng)該為留存率收集變異的經(jīng)驗估計艾君。
如果分析單元和轉(zhuǎn)移單元不相等的情況下采够,在條件允許的情況下,我們可以為指標(biāo)收集變異的經(jīng)驗估計冰垄。
經(jīng)驗方差的計算方法:
- 使用A/A實驗
- 一個對照組A對比另外一個對照組A蹬癌,實際上用戶看到的東西是沒有什么改變的,意味著你觀察到的所有差異虹茶,都是潛在的差異性
- 可以使用A/A實驗實際測試指標(biāo)的敏感性和合理性逝薪,如果在A/A實驗中,指標(biāo)的差異性較大蝴罪,可能在A/B測試時董济,敏感性太高
- 所以可以用A/A實驗來測試差異性
- 運行更多的A/A測試,會有明顯的邊際效益遞減
- 一個關(guān)鍵的經(jīng)驗法則就是:標(biāo)準偏差與樣本量的平方根成正比
- 做一個規(guī)模很大的A/A實驗要门,在統(tǒng)計學(xué)中有種方法叫 bootstrap(自助法)虏肾,你可以將很多的樣本隨機地劃分為一堆小樣本群廓啊,然后可以對這些隨機地子集進行對比
計算經(jīng)驗分布的好處:
-
健全性檢查
- 如果你已經(jīng)對置信區(qū)間完成的分析計算,你可以檢查A/A測試結(jié)果是否符合你的預(yù)期封豪,這是一種完整性檢查功能
- 如果你檢查出不符合你的預(yù)期崖瞭,表明你的計算出了錯,可能你對數(shù)據(jù)分布的假設(shè)是無效的
-
計算置信區(qū)間
- 如果你想要對指標(biāo)分布進行假設(shè)撑毛,但是不能分析估計方差书聚,你可以通過實證預(yù)計方差,然后用你關(guān)于分布的假設(shè)藻雌,按照之前的方式計算置信區(qū)間
- 如果你不想對數(shù)據(jù)做出任何假設(shè)雌续,你可以直接從A/A測試的結(jié)果中估計置信區(qū)間
- 假設(shè)置信區(qū)間為95%,實際有40組值胯杭,這去掉最小值和最大值驯杜,所得的范圍即為置信區(qū)間
未完待續(xù),請查看下一篇做个。