簡單明了地介紹A/B測試的三要素

A/B測試是產(chǎn)品運營中常會用到的一種方法,通常是基于“如果改變某變量,那么目標指標會有改善”這樣的假設。
A/B測試主要考慮三要素:
變量 樣本 時間
變量
變量來自于假設,以及衡量試驗效果的指標。
如果改動變量X,那么指標Y會發(fā)生變化,這背后的含義包括:
把Y視為因變量,X是自變量,那么意味著X和Y是高度關聯(lián)的(不一定是因果關系); 變量X是可以操作的,即可以通過產(chǎn)品策略或者運營活動等使其發(fā)生改變;
在“變量”這個維度下,主要關注:
效果評價指標 試驗操作變量 控制(匹配)變量 場景篩選變量 分組隨機變量
效果評價指標
用來衡量在產(chǎn)品或者運營上做出改動后的效果的變量(上面提到的因變量Y),可以是單個變量,也可以多個,e.g.轉(zhuǎn)化率、點擊率、交易額等。
需要注意的是,這個評價指標是要在AB測試開展前就需要想好的。
試驗操作變量
即組間差異的變量,e.g. A組用戶不發(fā)紅包,B組發(fā)放5元紅包,C組發(fā)放10元紅包,那么試驗變量就是紅包金額;
一般情況下,試驗中的ABC組中有一組是作為參考基線(baseline),通常“基線組”是“不做操作”的,因為要區(qū)分“自然變化量”和“人為改變量”,基線組試驗前后發(fā)生的變化可以理解為“自然變化量”,而真正進行了干預的其他組別發(fā)生的變化量,要減去這個“自然變化量”后才能得到“人為改變量”。
控制(匹配)變量
會影響效果評價指標的其他變量,這類變量需要在基線組和操作組中進行匹配,否則試驗出的差異可能是由這些變量引起,e.g.是否新老客、會員等級、優(yōu)惠偏好等;
場景篩選變量
做A/B測試一般不是面向所有用戶,而是針對于特定的業(yè)務場景,e.g. 優(yōu)化新客在android系統(tǒng)上的某注冊環(huán)節(jié)以提升注冊成功率,那么這個假設對應的業(yè)務場景就有兩個篩選條件:用戶狀態(tài) == '新客' & app操作系統(tǒng) == 'android',這些用來圈定業(yè)務場景的變量也可以稱為“場景定位變量”。
分組隨機變量
也就是決定用戶隨機分組的那個變量,這類變量通常是具有隨機性的獨立變量(和上面的那些變量沒啥關系),比如cookie_id、設備ID,或者其他具備隨機性和獨立性的數(shù)字串(e.g. 試驗期間首次訪問應用的時間轉(zhuǎn)碼),通過判斷奇偶數(shù)來劃分試驗組。分組也可能是3組以上的,比如可以計算數(shù)字ID求3的余數(shù)。
實際操作中,上面提到的控制(匹配)變量和分組隨機變量會一同參與到“隨機分組”的過程。
假設現(xiàn)在需要控制(匹配)的變量只有性別且所有用戶的性別都是已知的。設男女比例是7:3,每組用戶量是1000人(達到統(tǒng)計顯著所需樣本量),一共兩組,那么可以類似分層抽樣先選定了符合業(yè)務場景的男性用戶1400名及和女性用戶600名,然后通過設備ID對兩組用戶進行隨機分組,然后得到的4個小組歸并為兩組(700名男性用戶+300名女性用戶),這樣在性別上就匹配好了。
當控制(匹配)變量不止一個的時候,就需要分多個層來抽樣了,道理基本相通。變量的取值有離散值或者連續(xù)值兩種,遇到連續(xù)值的控制變量,也可以分箱轉(zhuǎn)化為離散值然后做分層。

樣本
在“樣本維度”上通常關注業(yè)務篩選條件以及樣本量。
業(yè)務篩選條件
上面已經(jīng)提到了A/B測試是面向具體的業(yè)務場景的,所以在業(yè)務上會做限定,上面提到的“場景篩選變量”本質(zhì)就是篩選業(yè)務場景。
通常業(yè)務場景可以從“人貨場”3個維度去限定:
人(用戶) :具有什么屬性的用戶才是本次試驗關注的目標? e.g.屬性特征、行為特征、交易特征等; 貨(商品) :這里是指廣義上的商品,可以是實物,也可以是服務或者內(nèi)容(e.g.視頻、文章之類),對“貨”的圈定,可以是通過用戶行為來篩選,e.g.用戶在商詳頁停留了10秒以上但未購買的SKU,也可以是商品自身的屬性,e.g. 所屬品類(欄目)、品牌等級、價格、差評率、優(yōu)惠度等; 場(渠道) :可以是業(yè)務的入口終端,e.g.PC\app\小程序、android\ios等,也可以是業(yè)務環(huán)節(jié)等,e.g.注冊環(huán)節(jié)、支付頁面等;
樣本數(shù)量大小
樣本量上首先是要保證能達到統(tǒng)計效力,以確保組間差異在統(tǒng)計意義上是顯著的(而不是隨機誤差造成)。
要計算樣本量大小,可以借助樣本量計算在線工具[1],根據(jù)統(tǒng)計公式來反推也可以。
此外,還要注意轉(zhuǎn)化率,用戶從進入產(chǎn)品一路到達試驗關注的環(huán)節(jié)可能要經(jīng)過層層“轉(zhuǎn)化”,如果試驗配置的時候入口的用戶量和試驗所需的樣本量是不一樣的,e.g. 試驗所需的樣本量為2000,但是從訪問到達試驗環(huán)節(jié)的轉(zhuǎn)化率為10%的話,那么從訪問層圈定的用戶實際上是2W人,如果A/B測試平臺能直接配置到對應的業(yè)務環(huán)節(jié)就不用擔心這個問題。
時間
第三個要素是時間,主要關注“開始時間”和“結(jié)束時間”。時間的顆粒度,方案賽馬。
開始時間
什么時候開始?一般情況下,要避免重大產(chǎn)品運營事件,e.g.節(jié)假日、大促活動、產(chǎn)品發(fā)版日等。
當然,作為用戶,可能不太能接受——正用著app,頁面刷著刷著突然就大變樣了——所以,從更細的時間顆粒度上來看,一般是用戶夜間訪問量最低谷的搞這種操作。
持續(xù)時間
持續(xù)時間主要考慮:
在一定時間內(nèi)收集足夠的樣本,因為每天到訪的符合試驗條件的用戶量可能會很少,比如新客、復購的老客等,e.g.總樣本量需要1W,每天符合條件的用戶有1K,理論上試驗要持續(xù)至少10天; 用戶行為的穩(wěn)定性,比如“新奇效應”——產(chǎn)品改版后首次使用行為和后續(xù)的行為可能存在差異——相對于原版是有提升還是沒啥差別?還有就是“學習效應”,比如剛開始用華為手機的時候和舊手機的操作方式差異很大,但是用慣了之后,玩得比以前還溜,但是不能以用戶“正在學習”時的狀態(tài)和“已經(jīng)畢業(yè)”的狀態(tài)來對比(舊的熟悉的版本就好比“畢業(yè)”狀態(tài)),一般以用戶掌握并適應某種行為的狀態(tài)定義為“成熟”的行為。 不同用戶回流周期不一樣 ,這個實際上是用戶群結(jié)構的問題,假設現(xiàn)在的產(chǎn)品功能改動是面向所有老客,因為產(chǎn)品的屬性,老客的回流周期差異可能會很大,e.g.積極的用戶可能訪問間隔是一周,還有一部分用戶是半個月的訪問周期,如果不同訪問周期的用戶在目標行為上存在較大差異,那就要“等遲到的人一起集合”,盡量保證大多數(shù)的代表用戶群能進入試驗,這個時候決定試驗時間的就是用戶的回流周期了。 
以上,暫時就分析這些。
A/B測試的內(nèi)容當然不僅僅包含文中所提到的內(nèi)容,歡迎留言交流。
參考資料
樣本量計算在線工具: http://www.evanmiller.org/ab-testing/sample-size.html
