AB-Test的全流程秘籍

俗話說得好,AB測試搞得好,產(chǎn)品優(yōu)化沒煩惱!這不,貓哥特地復(fù)盤了工作中的實(shí)戰(zhàn)經(jīng)驗(yàn),梳理了AB-Test的全流程秘籍,?今兒分享給大家。

AB測試來源

越來越多的公司重視AB測試,按照貓哥的經(jīng)驗(yàn),之前會(huì)Excel就行,SQL是加分項(xiàng)。后來變成了必須懂SQL,AB測試是加分項(xiàng)。再到后來變成了,AB測試和SQL都是必會(huì)的東西。

因?yàn)閺?5年至今,人口紅利肉眼可見的減少,流量競爭從增量競爭變成了存量競爭。截至2020年底,互聯(lián)網(wǎng)用戶已經(jīng)高達(dá)10億。微信,支付寶,頭條,抖音這些巨型APP基本已經(jīng)瓜分了用戶的大部分時(shí)間,別的APP想要存活及增長,精細(xì)化運(yùn)營就變成了必須。

精細(xì)化從技術(shù)上,又無法避免AB測試。往往產(chǎn)品的認(rèn)知并不是用戶的認(rèn)知,所以我們需要去測試,去實(shí)驗(yàn)用戶的喜好。選擇一個(gè)用戶偏愛的功能上線,才會(huì)不斷提高用戶滿意度,我們的APP才能活下來,并有一定程度的增長。

AB測試是借鑒了實(shí)驗(yàn)的思維,目標(biāo)是為了歸因。通俗來說,就是我們想把條件分開,明確的知道,哪種條件下,用戶會(huì)買賬。這就需要三個(gè)條件:有對照組,隨機(jī)分配用戶,且用戶量足夠。

最早的AB測試本身是起源于醫(yī)學(xué)。當(dāng)一個(gè)藥劑被研發(fā)后,醫(yī)學(xué)工作人員需要評估藥劑的效果。一般就會(huì)選擇兩組用戶(隨機(jī)篩選的用戶),構(gòu)建實(shí)驗(yàn)組和對照組。用這兩組用戶來“試藥”。也就是實(shí)驗(yàn)組用戶給真的藥劑,對照組用戶給安慰劑,但是用戶本身不知道自己是什么組,只有醫(yī)生指導(dǎo)。之后,在后期的觀察中,通過一些統(tǒng)計(jì)方法,驗(yàn)證效果的差異性是否顯著,從而去校驗(yàn)藥劑是否達(dá)到我們的預(yù)期效果。

這個(gè)就是最早期的醫(yī)學(xué)“雙盲實(shí)驗(yàn)”?;ヂ?lián)網(wǎng)行業(yè)其實(shí)也差不多是這么用。我們需要確認(rèn)的是,當(dāng)前改版,是否有效果,也就是說,我們需要驗(yàn)證效果的“藥劑”變成了一個(gè)“改版”。

業(yè)務(wù)把將web或者app界面或者流程,拆分為多個(gè)版本。然后將流量分層(或者分流),不同的人群使用的某個(gè)功能或者觸發(fā)的策略不同。但是這里的人群一定要滿足同質(zhì)化的特性。所以無論分層還是分流,我們都需要將用戶隨機(jī)分配,且同一用戶不能處在兩個(gè)組內(nèi)。

通俗來說,AB測試是一種互聯(lián)網(wǎng)人口紅利減少的背景下,為了提高用戶滿意度,留下用戶而使用的一種利用數(shù)學(xué)原理來精細(xì)化運(yùn)營的評估方法。

從本質(zhì)上來說,AB-Test是對某唯一變化的有效性進(jìn)行測試的實(shí)驗(yàn)

AB測試適用場景

當(dāng)然,AB測試也不是每種迭代或者改版都能用。一般來說,三種場景可以使用AB測試,三種場景不能使用AB測試。

產(chǎn)品迭代可以使用AB測試。比如界面優(yōu)化,功能增加,流程增加,這些都可以使用AB測試。因?yàn)槲覀兪窃谠谢A(chǔ)上做一定更新迭代,可以直接使用AB測試。

算法優(yōu)化可以使用AB測試。同理,算法篩選,算法優(yōu)化這些我們都可以使用AB測試來測試。因?yàn)槲覀円部梢酝ㄟ^流量切分構(gòu)造實(shí)驗(yàn)組和對照組來驗(yàn)證效果。

市場營銷的部分場景可以使用AB測試。內(nèi)容的篩選,時(shí)間的篩選,人群的篩選,我們也可以使用AB測試來實(shí)驗(yàn)驗(yàn)證效果。

但是,當(dāng)變量不可控,或者樣本量比較小不足以支撐AB測試,或者我們的投放是全流量投放。這三種情況是不支持使用AB測試的。

變量不可控,比如我們業(yè)務(wù)有兩個(gè)APP,我們想做一個(gè)策略,驗(yàn)證是否能夠提高用戶使用了A產(chǎn)品,再去使用B產(chǎn)品的概率。這種是不支持AB測試的,因?yàn)橛脩絷P(guān)閉一個(gè)APP后,非常多的不可控因素。

樣本量較小也不支持AB測試,因?yàn)閺慕y(tǒng)計(jì)學(xué)上來說,我們要驗(yàn)證一個(gè)數(shù)據(jù)是否有效,還是需要一定的樣本量的。

至于全量投放,比如我們開了一個(gè)發(fā)布會(huì),換了一個(gè)logo,這種全量投放,怎么做AB測試?你可以讓用戶不來參與發(fā)布會(huì)還是讓用戶不看到新logo?!

AB測試原理簡介

AB測試最核心的原理,就四個(gè)字:假設(shè)檢驗(yàn)。檢驗(yàn)我們提出的假設(shè)是否正確。對應(yīng)到AB測試中,就是檢驗(yàn)實(shí)驗(yàn)組&對照組,指標(biāo)是否有顯著差異。

既然是假設(shè)檢驗(yàn),那么就是先假設(shè),再收集數(shù)據(jù),最后根據(jù)收集的數(shù)據(jù)來做檢驗(yàn)。

先來說說假設(shè)。

假設(shè)一般成對出現(xiàn),分為零假設(shè) 和 備選假設(shè)。

在AB測試中,零假設(shè)是:實(shí)驗(yàn)組&對照組 指標(biāo)相同,無顯著差異;備選假設(shè)則相反,實(shí)驗(yàn)組&對照組 指標(biāo)不同,有顯著差異。

舉個(gè)例子。我們優(yōu)化了某算法,想提高頁面的點(diǎn)擊率。針對這個(gè)場景的AB測試,零假設(shè)就是 新算法&老算法的頁面點(diǎn)擊率無明顯差異,備選假設(shè)是 新算法&老算法的頁面點(diǎn)擊率有顯著差異。

再來說說檢驗(yàn)。

一般來說,我們是通過具體的指標(biāo)屬性來找尋相應(yīng)的檢驗(yàn)方法。那么問題來了,指標(biāo)如何分類呢?

指標(biāo)可以分為兩種類別:

1、絕對值類指標(biāo)。也就是我們平常直接計(jì)算就能得到的,比如DAU,點(diǎn)擊次數(shù)等。我們的一般都是統(tǒng)計(jì)該指標(biāo)在一段時(shí)間內(nèi)的均值或者匯總值,不存在兩個(gè)值之間還要相互計(jì)算。

2、相對值類指標(biāo)。與絕對值類指標(biāo)相反,我們不能直接計(jì)算得到。比如某頁面的CTR,我們是用 頁面點(diǎn)擊數(shù) / 頁面展現(xiàn)數(shù)。我們要計(jì)算點(diǎn)擊數(shù)和展現(xiàn)數(shù),兩者相除才能得到該指標(biāo)。類似的,還有XX轉(zhuǎn)化率,XX點(diǎn)擊率,XX購買率一類的。我們做的AB實(shí)驗(yàn),大部分情況下都想提高這類指標(biāo)。

根據(jù)指標(biāo)我們可以知道,該如何計(jì)算最小樣本量,以及實(shí)驗(yàn)周期,以及對應(yīng)的檢驗(yàn)方法。

AB測試詳細(xì)流程

我們先看一個(gè)圖,結(jié)合這個(gè)實(shí)驗(yàn)的流程圖,我們一點(diǎn)點(diǎn)來說:

新知達(dá)人, 一文助你上年薪30w,史上最全AB-Test知識(shí)點(diǎn)

選取指標(biāo)

在做AB測試之前,我們一定要清楚,我們實(shí)驗(yàn)的目標(biāo)是什么。并落地到具體的幾個(gè)指標(biāo)上,這幾個(gè)指標(biāo)對于我們度量實(shí)驗(yàn)結(jié)果,有非常明顯的幫助。但是,指標(biāo)也要分層級,唯一一個(gè)核心指標(biāo)+多個(gè)觀察指標(biāo)。

核心指標(biāo)用來度量我們這次實(shí)驗(yàn)的效果,以及計(jì)算相應(yīng)的樣本量。觀察指標(biāo)則用來度量,該實(shí)驗(yàn)對其他數(shù)據(jù)的影響(比如對大盤留存的影響,對網(wǎng)絡(luò)延遲的影響等等)。

建立假設(shè)

建立假設(shè)就如同上文所說,我們建立了零假設(shè)和備選假設(shè),零假設(shè)一般是沒有效果,備選假設(shè)是有效果。

選取實(shí)驗(yàn)單位

大家應(yīng)該都使用用戶粒度來作為實(shí)驗(yàn)單位,但是總體說來,實(shí)驗(yàn)單位一般有3種。我們不用掌握,但是很多情況下面試官會(huì)問到,大家可以作為了解。

1、用戶粒度:這個(gè)是最推薦的,即以一個(gè)用戶的唯一標(biāo)識(shí)來作為實(shí)驗(yàn)樣本。好處是符合AB測試的分桶單位唯一性,不會(huì)造成一個(gè)實(shí)驗(yàn)單位處于兩個(gè)分桶,造成的數(shù)據(jù)不置信。

2、設(shè)備粒度:以一個(gè)設(shè)備標(biāo)識(shí)為實(shí)驗(yàn)單位。相比用戶粒度,如果一個(gè)用戶有兩個(gè)手機(jī),那么也可能出現(xiàn)一個(gè)用戶在兩個(gè)分桶中的情況,所以也會(huì)造成數(shù)據(jù)不置信的情況。

3、行為粒度:以一次行為為實(shí)驗(yàn)單位,也就是用戶某一次使用該功能,是實(shí)驗(yàn)桶,下一次使用可能就被切換為基線桶。會(huì)造成大量的用戶處于不同的分桶。強(qiáng)烈不推薦這種方式。

計(jì)算樣本量

樣本量計(jì)算,我們需要了解一下中心極限定理。具體書面定義和推導(dǎo)過程,大家可以在網(wǎng)上百度一下就好,我們這里就通俗的解釋一下。中心極限定理的含義,就是只要樣本量足夠大,無論是什么指標(biāo),無論對應(yīng)的指標(biāo)分布是怎樣的,樣本的均值分布都會(huì)趨于正態(tài)分布。

基于正態(tài)分布,我們才能計(jì)算出相應(yīng)的樣本量和做假設(shè)檢驗(yàn)。具體的樣本量計(jì)算推導(dǎo)過程,大家如有需要,可以關(guān)注后加我微信私聊,這里就放結(jié)論。

整體公式如下:

新知達(dá)人, 一文助你上年薪30w,史上最全AB-Test知識(shí)點(diǎn)

由于指標(biāo)可以分為將絕對值指標(biāo)和相對值指標(biāo)。對應(yīng)的,我們在計(jì)算絕對值指標(biāo)和相對值指標(biāo)時(shí),標(biāo)準(zhǔn)差的計(jì)算方式也會(huì)不同。具體如下:

新知達(dá)人, 一文助你上年薪30w,史上最全AB-Test知識(shí)點(diǎn)

我們舉兩個(gè)例子說明一下,讓大家更有體感。

案例1-相對值指標(biāo):

某產(chǎn)品點(diǎn)擊率1.5%,波動(dòng)范圍[1.0%,2.0%],優(yōu)化了該功能后,需要AB測試計(jì)算樣本量

P:1.5%,p:2.0%(由于波動(dòng)范圍是[1.0%,2.0%],所以至少是2.0%

總樣本量  = 16 * (1.5%*(1-1.5%)+2.0%*(1-2.0%))/ (2.0%-1.5%)^2=22000

案例2-絕對值指標(biāo):

某產(chǎn)品購買金額標(biāo)準(zhǔn)差是25,優(yōu)化了該功能后,預(yù)估至少有5元的絕對提升,需要AB測試計(jì)算樣本量

σ=25,Δ=5

總樣本量  = 16  * 25*25*2/5*5=800

總樣本量,是指我們的實(shí)驗(yàn)單位,必須滿足這個(gè)數(shù)量,實(shí)驗(yàn)結(jié)果中的數(shù)據(jù)檢驗(yàn)才可信。也就是說,我們的實(shí)驗(yàn)桶和基線桶之和必須達(dá)到這個(gè)流量,才能收集數(shù)據(jù)及檢驗(yàn)指標(biāo)。

流量分割

流量切割有兩種方式:分流和分層。

分流是指我們直接將整體用戶切割為幾塊,用戶只能在一個(gè)實(shí)驗(yàn)中。但是這種情況很不現(xiàn)實(shí),因?yàn)槿绻乙瑫r(shí)上線多個(gè)實(shí)驗(yàn),流量不夠切怎么辦?那為了達(dá)到最小樣本量,我們就得延長實(shí)驗(yàn)周期,要是做一個(gè)實(shí)驗(yàn),要幾個(gè)月,相信我,你老板一定會(huì)和你聊聊人生理想的。

另一種方式,分層。就是將同一批用戶,不停的隨機(jī)后,處于不同的桶。也就是說,一個(gè)用戶會(huì)處于多個(gè)實(shí)驗(yàn)中,只要實(shí)驗(yàn)之間不相互影響,我們就能夠無限次的切割用戶。這樣在保證了每個(gè)實(shí)驗(yàn)都能用全流量切割的同時(shí),也保證了實(shí)驗(yàn)數(shù)據(jù)是置信的。

兩種方式用圖來表達(dá)如下:

新知達(dá)人, 一文助你上年薪30w,史上最全AB-Test知識(shí)點(diǎn)

實(shí)驗(yàn)周期計(jì)算

相應(yīng)的,最小樣本量有了,我們切分了流量,知道了實(shí)驗(yàn)桶一天大概能有多少樣本量(也可以算小時(shí),如果產(chǎn)品的流量足夠大)。我們直接用 最小樣本量 /  實(shí)驗(yàn)桶天均流量 即可以得到相應(yīng)的實(shí)驗(yàn)周期。

線上驗(yàn)證

很多公司不會(huì)做線上驗(yàn)證。當(dāng)然,不驗(yàn)證也沒關(guān)系,就是有可能會(huì)踩坑,所以還是建議大家在實(shí)驗(yàn)上線后進(jìn)行線上驗(yàn)證。

線上驗(yàn)證主要是2個(gè)方向,一個(gè)是驗(yàn)證實(shí)驗(yàn)策略是否真的觸發(fā)。即我們上線的實(shí)驗(yàn)桶,是否在產(chǎn)品上實(shí)際落地了。比如你優(yōu)化了一個(gè)產(chǎn)品功能,你可以去實(shí)際體驗(yàn)下,實(shí)驗(yàn)桶產(chǎn)品是否真的有優(yōu)化。

另一個(gè)是驗(yàn)證同一個(gè)用戶只能在同一個(gè)桶中,要是同時(shí)出現(xiàn)在兩個(gè)桶中,后期數(shù)據(jù)也會(huì)不置信。這個(gè)上文有說過。

數(shù)據(jù)檢驗(yàn)

數(shù)據(jù)檢驗(yàn),大家可能都聽過。比如Z檢驗(yàn),T檢驗(yàn),單尾檢驗(yàn),雙尾檢驗(yàn),算P值,算置信區(qū)間等等。我們這里先說說哪種情況用Z檢驗(yàn),哪種情況用T檢驗(yàn)。因?yàn)檫@個(gè)問題經(jīng)常會(huì)碰到,也是AB測試中,面試官的必問問題。

大家應(yīng)該都看過這個(gè)圖:

新知達(dá)人, 一文助你上年薪30w,史上最全AB-Test知識(shí)點(diǎn)

賈俊平老師的書中就有這個(gè)圖,具體的公式和原理書中有非常明細(xì)的介紹,關(guān)注公眾號之后領(lǐng)取的“ 資料 ”中就有這本書的電子版PDF。

按照上文我們說的指標(biāo)分類,一般情況下,絕對值指標(biāo)用T檢驗(yàn),相對值指標(biāo)用Z檢驗(yàn)。因?yàn)榻^對指標(biāo)的的總體方差,需要知道每一個(gè)用戶的值,這個(gè)在AB實(shí)驗(yàn)中肯定不可能。而相對值指標(biāo)是二項(xiàng)分布,可以通過樣本量的值計(jì)算出總體的值,就如同10W人的某頁面點(diǎn)擊率是10%,隨機(jī)從這10W人中抽樣1W人,這個(gè)點(diǎn)擊率也是10%一樣。

再來說說具體的檢驗(yàn)。一般情況下我們可以用兩種常用方法:

1、算P值,也就是算當(dāng)零假設(shè)成立時(shí),觀測到樣本數(shù)據(jù)出現(xiàn)的概率。統(tǒng)計(jì)學(xué)上,將5%作為一個(gè)小概率事件,所以一般用5%來對比計(jì)算出來的P值。當(dāng)P值小于5%時(shí),拒絕零假設(shè),即兩組指標(biāo)不同;反過來,當(dāng)P值大于5%時(shí),接受零假設(shè),兩組指標(biāo)相同。

2、算置信區(qū)間。一般情況下,我們都會(huì)用95%來作為置信水平。也就是說,當(dāng)前數(shù)據(jù)的估計(jì),有95%的區(qū)間包含了總體參數(shù)的真值。這么說可能比較繞,我們可以簡單理解成 總體數(shù)據(jù)有95%的可能性在這個(gè)范圍內(nèi)。

我們計(jì)算兩組指標(biāo)的差異值,如果我們算出的差異值置信區(qū)間不含0,我們就拒絕零假設(shè),認(rèn)為兩組指標(biāo)不同;但是如果包含0,我們則要接受零假設(shè),認(rèn)為兩組指標(biāo)相同。

當(dāng)然,我們也可以直接算出Z值或者T值,查表對比。但是這種不是很常用,還是以P值及置信區(qū)間為主流。

還有些公司,會(huì)將所有指標(biāo)計(jì)算到為不同流量區(qū)間內(nèi)的自然波動(dòng)。比如我有三個(gè)指標(biāo),日活100W,那么可以拆分成多個(gè)流量區(qū)間,比如 1w、2w、5w、10w、20w、50w,100w這幾個(gè)流量比例,然后依次計(jì)算這3個(gè)指標(biāo),在這些流量下的自然波動(dòng)閾值,如果高于閾值,我們就認(rèn)為實(shí)驗(yàn)有效。這種就會(huì)方便很多,但是不夠嚴(yán)謹(jǐn)。

最后來說說單尾檢驗(yàn),雙尾檢驗(yàn)。單尾檢驗(yàn)的前提是我們不僅認(rèn)為兩組指標(biāo)不同,還明確了大小,一般情況下,我們都認(rèn)為實(shí)驗(yàn)組的效果高于基線組。而雙尾檢驗(yàn)只是認(rèn)為兩組指標(biāo)不同,未明確大小。通常來說,我們更推薦使用雙尾檢驗(yàn),為什么呢?

因?yàn)閷?shí)驗(yàn)本身就是一種利用數(shù)據(jù)來做決策的方法,我們不要再人為的帶入主觀設(shè)想。而是用雙尾檢驗(yàn),我們不僅能量化漲了多少,還能量化掉了多少,因?yàn)閷?shí)驗(yàn)結(jié)果有正有負(fù),不一定都是有效果的(正向的),還可能有負(fù)向的效果,我們也可以將有負(fù)向效果的實(shí)驗(yàn)記錄下來,沉淀成知識(shí)庫,為后期實(shí)驗(yàn)避坑。

當(dāng)然,生活中有些事件是可以用單尾檢驗(yàn)的。比如我們優(yōu)化了制造燈泡的流程,提升了燈泡的質(zhì)量,那對于燈泡的質(zhì)量檢驗(yàn)我們就采用單尾檢驗(yàn)就好,因?yàn)槲覀冎魂P(guān)心燈泡質(zhì)量是否和預(yù)期一樣,有所提升。

AB測試案例串講

我們先來按照上節(jié)課的流程串講一個(gè)案例。

大體背景如下:

某社交APP增加了“看一看”功能,即用戶之間可以查閱到對方所填寫的一些基礎(chǔ)信息?,F(xiàn)在要分析該功能,是否有效果。

我們得到這個(gè)問題,需要腦子里想到AB測試的整體流程圖(如下)。

新知達(dá)人, 一文助你上年薪30w,史上最全AB-Test知識(shí)點(diǎn)

從流程圖中,我們需要想到幾個(gè)問題:

1、實(shí)驗(yàn)前:如何選指標(biāo),如何做假設(shè),如何選實(shí)驗(yàn)單位,根據(jù)實(shí)驗(yàn)指標(biāo)和單位,如何計(jì)算最小樣本量,以及實(shí)驗(yàn)的周期

2、實(shí)驗(yàn)中:需要驗(yàn)證是否所有用戶僅處于同一個(gè)桶,還需要驗(yàn)證線上實(shí)驗(yàn)桶策略是否符合預(yù)期

3、實(shí)驗(yàn)后:需要回收數(shù)據(jù),通過計(jì)算P值或者置信區(qū)間Diff的方法,校驗(yàn)該功能是否有效

從該功能來說,我們需要考慮的主要指標(biāo)是用戶之間建立聯(lián)系的率值是否有提升。因?yàn)樯缃皇菫榱俗層脩糁g建立聯(lián)系,增加這種查閱資料的功能,是為了讓用戶通過資料查閱,與感興趣的用戶建立聯(lián)系。

所以該功能,我們的指標(biāo)選擇為加好友率。這時(shí)候,零假設(shè)就是該功能無效果,即兩個(gè)桶的加好友率無明顯差異。備選假設(shè)則相反。實(shí)驗(yàn)單位我們?yōu)榱吮苊鈹?shù)據(jù)的不置信,我們選擇以用戶為實(shí)驗(yàn)單位。

假設(shè)我們的原有添加好友率如下 ,那么我們計(jì)算整體樣本量如下:

P:45%,p:47%(由于波動(dòng)范圍是[44%,46%],所以至少是2.0%)

總樣本量 = 16 * (45%*(1-45%)+ 47%*(1-47%))/ (47%-45%)^2 = 19864

由于實(shí)驗(yàn)桶和基線桶的比例是1:1,所以我們分配為實(shí)驗(yàn)桶1w樣本,基線桶1w樣本量。但是由于我們不能一上來就全量試驗(yàn),所以我們開20%的流量為實(shí)驗(yàn)桶(假設(shè)DAU的20%是2000/天,即實(shí)驗(yàn)桶的DAU為2000/天),那么,我們預(yù)計(jì)要實(shí)驗(yàn)5天(1w/2000)。

但是通過計(jì)算,用戶的一次活躍周期是7天,所以我們?yōu)榱俗寣?shí)驗(yàn)效果可信度更高,計(jì)劃實(shí)驗(yàn)7天。

實(shí)驗(yàn)上線后,我們對線上數(shù)據(jù)進(jìn)行了驗(yàn)證,確認(rèn)了以下兩個(gè)問題:

1、實(shí)驗(yàn)策略在實(shí)驗(yàn)桶已生效,在基線桶未生效。即相關(guān)的看一看功能在實(shí)驗(yàn)桶已上線,基線桶保持原樣;

2、同一個(gè)用戶僅處在同一分桶中,未出現(xiàn)一個(gè)用戶處于兩個(gè)桶的情況。

實(shí)驗(yàn)到期后,我們對線上數(shù)據(jù)進(jìn)行了回收。由于我們這個(gè)是相對值指標(biāo),所以我們使用Z檢驗(yàn)。

檢驗(yàn)方法有以下兩種:

1、算P值,P值小于5%,拒絕原假設(shè),即產(chǎn)品功能有效果。這個(gè)場景中(假設(shè))P=0.002,即我們判斷產(chǎn)品有效果。

2、算執(zhí)行區(qū)間的差值,如果不含0,則拒絕零假設(shè)。同樣,我們這里假設(shè)算出來期間不含0,我們認(rèn)為該產(chǎn)品有效果。

以上,就是一個(gè)整體的AB實(shí)驗(yàn)案例。我們從篩選指標(biāo),到設(shè)計(jì)實(shí)驗(yàn)(選取實(shí)驗(yàn)單位,計(jì)算最小樣本量,計(jì)算實(shí)驗(yàn)周期),到實(shí)驗(yàn)上線,再到后面的效果驗(yàn)證。

但是不知道大家注意沒有,這個(gè)實(shí)驗(yàn)有些地方設(shè)計(jì)的并不合理。因?yàn)樯缃挥脩糁g會(huì)有網(wǎng)絡(luò)效應(yīng),即一個(gè)用戶會(huì)影響另一個(gè)用戶,所以我們實(shí)驗(yàn)分桶這么設(shè)計(jì)并不合理。

AB測試注意事項(xiàng)

下面,我們就來講講AB實(shí)驗(yàn)的注意事項(xiàng)。

1、網(wǎng)絡(luò)效應(yīng):

這種情況通常出現(xiàn)在社交網(wǎng)絡(luò),以及共享經(jīng)濟(jì)場景(如滴滴)。舉個(gè)例子:如果微信改動(dòng)了某一個(gè)功能,這個(gè)功能讓實(shí)驗(yàn)組用戶更加活躍。但是相應(yīng)的,實(shí)驗(yàn)組的用戶的好友沒有分配到實(shí)驗(yàn)組,而是對照組。但是,實(shí)驗(yàn)組用戶更活躍(比如更頻繁的發(fā)朋友圈),作為對照組的我們也就會(huì)經(jīng)常去刷朋友圈,那相應(yīng)的,對照組用戶也受到了實(shí)驗(yàn)組用戶的影響。本質(zhì)上,對照組用戶也就收到了新的功能的影響,那么AB實(shí)驗(yàn)就不再能很好的檢測出相應(yīng)的效果。

解決辦法:從地理上區(qū)隔用戶,這種情況適合滴滴這種能夠從地理上區(qū)隔的產(chǎn)品,比如北京是實(shí)驗(yàn)組,上海是對照組,只要兩個(gè)城市樣本量相近即可?;蛘邚挠脩羯现苯訁^(qū)隔,比如我們剛剛舉的例子,我們按照用戶的親密關(guān)系區(qū)分為不同的分層,按照用戶分層來做實(shí)驗(yàn)即可。但是這種方案比較復(fù)雜,建議能夠從地理上區(qū)隔,就從地理上區(qū)隔。

2、學(xué)習(xí)效應(yīng):

這種情況就類似,產(chǎn)品做了一個(gè)醒目的改版,比如將某個(gè)按鈕顏色從暗色調(diào)成亮色。那相應(yīng)的,很多用戶剛剛看到,會(huì)有個(gè)新奇心里,去點(diǎn)擊該按鈕,導(dǎo)致按鈕點(diǎn)擊率在一段時(shí)間內(nèi)上漲,但是長時(shí)間來看,點(diǎn)擊率可能又會(huì)恢復(fù)到原有水平。反之,如果我們將亮色調(diào)成暗色,也有可能短時(shí)間內(nèi)點(diǎn)擊率下降,長時(shí)間內(nèi)又恢復(fù)到原有水平。這就是學(xué)習(xí)效應(yīng)。

解決辦法:一個(gè)是拉長周期來看,我們不要一開始就去觀察該指標(biāo),而是在一段時(shí)間后再去觀察指標(biāo)。通過剛剛的描述大家也知道,新奇效應(yīng)會(huì)隨著時(shí)間推移而消失。另一種辦法是只看新用戶,因?yàn)樾掠脩舨粫?huì)有學(xué)習(xí)效應(yīng)這個(gè)問題,畢竟新用戶并不知道老版本是什么樣子的。

3、多重檢驗(yàn)問題:

這個(gè)很好理解,就是如果我們在實(shí)驗(yàn)中,不斷的檢驗(yàn)指標(biāo)是否有差異,會(huì)造成我們的結(jié)果不可信。也就是說,多次檢驗(yàn)同一實(shí)驗(yàn)導(dǎo)致第一類錯(cuò)誤概率上漲;同時(shí)檢驗(yàn)多個(gè)分組導(dǎo)致第一類錯(cuò)誤概率上漲。

舉個(gè)例子:

出現(xiàn)第一類錯(cuò)誤概率:P(A)=5%

檢驗(yàn)了20遍:P(至少出現(xiàn)一次第一類錯(cuò)誤)

=1-P(20次完全沒有第一類錯(cuò)誤)

=1- (1?5%) ^20

=64%

也就是說,當(dāng)我們不斷的去檢驗(yàn)實(shí)驗(yàn)效果時(shí),第一類錯(cuò)誤的概率會(huì)直線上漲。所以我們在實(shí)驗(yàn)結(jié)束前,不要多次去觀察指標(biāo),更不要觀察指標(biāo)有差異后,直接停止實(shí)驗(yàn)并下結(jié)論說該實(shí)驗(yàn)有效。

AB測試面試踩坑

針對這些問題,有很多時(shí)候,面試官在問問題時(shí),會(huì)設(shè)下一些坑,我們來舉兩個(gè)例子。

例1:滴滴準(zhǔn)備升級司機(jī)端的一個(gè)功能,該如何校驗(yàn)功能效果?

考點(diǎn)1:常見的AB測試流程設(shè)計(jì)

考點(diǎn)2:網(wǎng)絡(luò)效應(yīng)

解法:

針對考點(diǎn)1:AB測試的流程是 確定目標(biāo) –> 確定實(shí)驗(yàn)單位 –> 確定最小樣本量 –> 確認(rèn)流量分割方案 –> 實(shí)驗(yàn)上線 –> 規(guī)則校驗(yàn) –> 數(shù)據(jù)收集 –> 效果檢驗(yàn)

針對考點(diǎn)2:實(shí)驗(yàn)分桶,以兩個(gè)量級相近城市分割,避免網(wǎng)絡(luò)效應(yīng)的相互影響

例2:某app,用戶活躍周期是14天,這時(shí),上線了一個(gè)實(shí)驗(yàn),計(jì)劃跑20天在看效果,結(jié)果有位新同學(xué),在10天時(shí)做了統(tǒng)計(jì)推斷,發(fā)現(xiàn)數(shù)據(jù)已經(jīng)有了顯著差異,認(rèn)為可以停止實(shí)驗(yàn),這樣做對嗎?

考點(diǎn)1:實(shí)驗(yàn)周期應(yīng)該跨越一個(gè)活躍周期

考點(diǎn)2:多重檢驗(yàn)問題

解法:

由于AB測試的實(shí)驗(yàn)周期盡量跨越一個(gè)用戶活躍周期,且在實(shí)驗(yàn)結(jié)束時(shí)再做統(tǒng)計(jì)推斷,所以該做法不對,建議跑慢20天再看數(shù)據(jù)效果

AB測試小Tips

1、用戶屬性一定要一致

如果上線一個(gè)實(shí)驗(yàn),我們對年輕群體上線,年老群體不上線,實(shí)驗(yàn)后拿著效果來對比,即使數(shù)據(jù)顯著性檢驗(yàn)通過,那么,實(shí)驗(yàn)也是不可信的。因?yàn)锳B測試的基礎(chǔ)條件之一,就是實(shí)驗(yàn)用戶的同質(zhì)化。即實(shí)驗(yàn)用戶群,和非實(shí)驗(yàn)用戶群的 地域、性別、年齡等自然屬性因素分布基本一致。

2、一定要在同一時(shí)間維度下做實(shí)驗(yàn)

舉例:如果某一個(gè)招聘app,年前3月份對用戶群A做了一個(gè)實(shí)驗(yàn),年中7月份對用戶群B做了同一個(gè)實(shí)驗(yàn),結(jié)果7月份的效果明顯較差,但是可能本身是由于周期性因素導(dǎo)致的。所以我們在實(shí)驗(yàn)時(shí),一定要排除掉季節(jié)等因素。

3、AB測試一定要從小流量逐漸放大

如果上線一個(gè)功能,直接流量開到50%去做測試,那么如果數(shù)據(jù)效果不好,或者功能意外出現(xiàn)bug,對線上用戶將會(huì)造成極大的影響。所以,建議一開始從最小樣本量開始實(shí)驗(yàn),然后再逐漸擴(kuò)大用戶群體及實(shí)驗(yàn)樣本量。

4、如果最小樣本量不足該怎么辦

如果我們計(jì)算出來,樣本量需要很大,我們分配的比例已經(jīng)很大,仍舊存在樣本量不足的情況,那么我們只能通過拉長時(shí)間周期,通過累計(jì)樣本量來進(jìn)行比較

5、是否需要上線第一天就開始看效果?

由于AB-Test,會(huì)影響到不同的用戶群體,所以,我們在做AB測試時(shí),盡量設(shè)定一個(gè)測試生效期,這個(gè)周期一般是用戶的一個(gè)活躍間隔期。如招聘用戶活躍間隔是7天,那么生效期為7天,如果是一個(gè)機(jī)酒app,用戶活躍間隔是30天,那生效期為30天

6、用戶是否生效

用戶如果被分組后,未觸發(fā)實(shí)驗(yàn),我們需要排除這類用戶。因?yàn)檫@類用戶本身就不是AB該統(tǒng)計(jì)進(jìn)入的用戶(這種情況較少,如果有,那在做實(shí)驗(yàn)時(shí)打上生效標(biāo)簽即可)

7、用戶不能同時(shí)處于多個(gè)組

如果用戶同時(shí)屬于多個(gè)組,那么,一個(gè)是會(huì)對用戶造成誤導(dǎo)(如每次使用,效果都不一樣),一個(gè)是會(huì)對數(shù)據(jù)造成影響,我們不能確認(rèn)及校驗(yàn)實(shí)驗(yàn)的效果及準(zhǔn)確性

8、如果多個(gè)實(shí)驗(yàn)同時(shí)進(jìn)行,一定要對用戶分層+分組

比如,在推薦算法修改的一個(gè)實(shí)驗(yàn)中,我們還上線了一個(gè)UI優(yōu)化的實(shí)驗(yàn),那么我們需要將用戶劃分為4個(gè)組:A、老算法+老UI,B、老算法+新UI,C、新算法+老UI,D、新算法+新UI,因?yàn)橹挥羞@樣,我們才能同時(shí)進(jìn)行的兩個(gè)實(shí)驗(yàn)的參與改動(dòng)的元素,做數(shù)據(jù)上的評估

9、特殊情況(實(shí)際情況)

樣本量計(jì)算這步,可能在部分公司不會(huì)使用,更多的是偏向經(jīng)驗(yàn)值;

假設(shè)檢驗(yàn)這一步,部分公司可能也不會(huì)使用;

大部分公司,都會(huì)有自己的AB平臺(tái),產(chǎn)運(yùn)更偏向于平臺(tái)上直接測試,最后在一段時(shí)間后查看指標(biāo)差異。

對于這兩種情況,我們需要計(jì)算不同流量分布下的指標(biāo)波動(dòng)數(shù)據(jù),把相關(guān)自然波動(dòng)下的閾值作為波動(dòng)參考,這樣能夠大概率保證AB實(shí)驗(yàn)的嚴(yán)謹(jǐn)及可信度

本文經(jīng)授權(quán)發(fā)布,不代表增長黑客立場,如若轉(zhuǎn)載,請注明出處:http://m.allfloridahomeinspectors.com/cgo/product/53009.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
上一篇 2021-12-15 16:09
下一篇 2021-12-15 20:24

增長黑客Growthhk.cn薦讀更多>>

發(fā)表回復(fù)

登錄后才能評論