不講術(shù)語!帶你快速厘清互聯(lián)網(wǎng)AB實驗里的彎彎繞繞

wen
0 評論 1192 瀏覽 33 收藏 22 分鐘

在實際工作中,AB實驗是一種常用的驗證方法,但還是有不少同學(xué)立即比較困難。這篇文章,作者通過一個生動的案例,為我們詳細(xì)說明AB實驗具體是個啥。

一、使用AB實驗的痛點

AB實驗由于以統(tǒng)計學(xué)為基礎(chǔ),并且在實際應(yīng)用過程中,又產(chǎn)生了一些新的方法論,存在較多專業(yè)術(shù)語,理解和使用門檻較高。

另外還存在一個普遍的現(xiàn)象,平時溝通時不時提及一些實驗術(shù)語,但是卻沒有真正理解其原理,導(dǎo)致一旦出現(xiàn)問題,腦袋就像被貓抓亂的毛線球,完全不知道從哪里下手。一頓術(shù)語猛如虎,結(jié)果基礎(chǔ)都沒懂,喵~

二、這篇文章的目的

本文的目的在于厘清互聯(lián)網(wǎng) AB 實驗的核心思路。通過剖析互聯(lián)網(wǎng) AB 實驗的原理,以及在實際應(yīng)用中的方法,讓讀者能夠清楚地了解其背后的邏輯。讀完后,能知道那些常見的專業(yè)術(shù)語為什么被提出(在實際應(yīng)用中,為什么被提出,比是什么更重要)。當(dāng)出現(xiàn)問題,能夠有更清晰的全局思維來定位。

老規(guī)矩,文中所提及的術(shù)語會標(biāo)藍(lán),可自行擴(kuò)展閱讀。

三、互聯(lián)網(wǎng)AB實驗的核心思路

筆者認(rèn)為,互聯(lián)網(wǎng)AB實驗的核心思路是:利用數(shù)據(jù)去證明“設(shè)想”是否“靠譜”。

里面有兩個關(guān)鍵詞“設(shè)想”和“靠譜”,為了方便大家更易理解,拋幾個自問自答:

1、為什么要有“設(shè)想”這一步?不可以直接從數(shù)據(jù)表現(xiàn)里推導(dǎo)出結(jié)論嗎?

目前來說,是不可以的。因為互聯(lián)網(wǎng)AB實驗的數(shù)學(xué)基礎(chǔ),就是建立在假設(shè)驗證之上。我們需要先有一個“設(shè)想”,即某個變量可能對整體有或者沒有影響,然后通過實驗數(shù)據(jù)來驗證這個設(shè)想是否成立。當(dāng)然,可能沒準(zhǔn)兒哪天有新的數(shù)學(xué)突破能繞過假設(shè)呢?但在此之前,我們?nèi)匀恍枰揽考僭O(shè)驗證來進(jìn)行AB實驗,否則會存在事后解釋的問題。

2、為什么是“靠譜”,不是“正確”?

這是因為,在統(tǒng)計學(xué)中,任何實驗結(jié)果都有犯錯的概率。第一類錯誤是“棄真”,即拒絕了正確的假設(shè);第二類錯誤是“納偽”,即接受了錯誤的假設(shè)。在樣本一定的情況下,無法同時降低第一類和第二類錯誤的概率。因此,我們需要在兩者之間做出權(quán)衡。通常,我們會盡量不犯第一類錯誤,這是因為“棄真”后,我們可能會真正錯過一個有效的策略,而“納偽”后,我們還可以有其他機(jī)會發(fā)現(xiàn)它是錯誤的。

3、那怎么衡量有多“靠譜”呢?以及多靠譜才算“靠譜”?

前面說到盡量不犯“棄真”錯誤。我們常見的“P值”可以姑且被看作是犯“棄真”錯誤的實際概率(衡量具體有多靠譜),而“顯著水平α”就是犯“棄真”錯誤的概率上限(我們自行設(shè)定的靠譜標(biāo)準(zhǔn)), P值像我們考試的得分,α像我們考試的合格線。所以按照這個思路,我們的設(shè)想會有一個“成績”P值,然后和α比較下,看這個設(shè)想有沒有“合格”。

另外我們的設(shè)想往往是估一個區(qū)間,比如假設(shè)某指標(biāo)提升x%以上(正向,單尾檢驗)或者減少x%以上(負(fù)向,單尾檢驗)或者指標(biāo)有變化(雙尾檢驗)。區(qū)間估計的范圍越大,包含真實參數(shù)值的概率就越高,但精確度會相應(yīng)降低。這就像我們小時候讓父母猜考試成績,父母說‘60分以上’(一個較寬的區(qū)間估計)比說‘90分以上’(一個較窄的區(qū)間估計)更有可能猜中,但如果我們實際考了91分,那么后者的精確度會更高。同理,‘有提升’肯定比‘提升x%以上’更容易猜中(拿到“合格證”),但是精確度沒那么高,對業(yè)務(wù)的指導(dǎo)價值會更有限。

那可以“合格”的同時又盡量“精確”嗎?按前面的思路,如果富有經(jīng)驗可以,否則不太行。于是我們換了一種思路,不看P值了,只看合格線。拿合格線(置信水平1-α)來倒推這個指標(biāo)的區(qū)間在哪里(置信區(qū)間)。

所以總得來說,如果你有一個明確的指標(biāo)預(yù)期,可以直接使用P值來判斷;如果你沒有很明確或者希望探索更廣泛的可能性,使用置信區(qū)間更為合適,目前后者在業(yè)內(nèi)使用更廣泛。

四、互聯(lián)網(wǎng)AB實驗的難點及各類方法

在實際工作中,當(dāng)我們要利用數(shù)據(jù)去證明“設(shè)想”的時候,不外乎是把“設(shè)想”作為一個變量,注入到流量里,然后看這個流量有沒有變化。方法論有,思路也簡單,那難在哪里呢?

互聯(lián)網(wǎng)AB實驗是以統(tǒng)計方法論為基礎(chǔ)(數(shù)學(xué)層),將其盡可能轉(zhuǎn)化應(yīng)用到實際的業(yè)務(wù)中(操作層)。對于我們來說,真正的難點并不在數(shù)學(xué)層,而是在轉(zhuǎn)化應(yīng)用的過程中,要同時滿足業(yè)務(wù)需求和數(shù)學(xué)條件,而采用的各類方法以及數(shù)據(jù)解釋。

可能有些抽象,為了方便理解,筆者將業(yè)務(wù)需求和數(shù)學(xué)條件進(jìn)行了歸類

3類業(yè)務(wù)需求:用戶體驗、流量切分、數(shù)據(jù)解釋

3個數(shù)學(xué)條件:單一變量原則、樣本隨機(jī)且足量原則、顯著性原則

注:互聯(lián)網(wǎng)AB實驗主要是以“樣本A和B在部分指標(biāo)上是否存在顯著差異”(獨立樣本T檢驗/雙樣本Z檢驗)的方式進(jìn)行實驗,因此本文的數(shù)學(xué)條件基于該方式提出。

下面我們圍繞3類業(yè)務(wù)需求,來闡釋在操作層可能遇到的問題,以及業(yè)界對應(yīng)的各類方法。

1、用戶體驗

實驗本身的目標(biāo)是向用戶推出一系列被證實過的“好設(shè)想”從而提升用戶行為。但在實驗執(zhí)行的過程中,可能會存在與用戶體驗相悖的情況,因此平臺需要在實驗設(shè)計時充分考慮用戶體驗的問題。比如:

實驗是為了驗證“設(shè)想”,在拿到實驗結(jié)果前,我們沒法確定這個設(shè)想是好是壞。如果是壞的設(shè)想,對用戶體驗自然會有負(fù)影響,同時壞的實驗往往會被停止,用戶前后的體驗會不一致?;诖耍瑢嶒灥姆秶叫≡胶?。但是在數(shù)學(xué)條件里又要求“樣本足量原則”,因此在實驗前往往需要做最小樣本量評估。

另外,互聯(lián)網(wǎng)里的一個“用戶”,可能是一個設(shè)備/賬號ID、或者請求ID,如果某個實驗的改動在用戶體驗上有所感知(比如UI調(diào)整),那為了用戶體驗的一致性,則需要使用設(shè)備/賬號ID來作為“用戶”,保證至少在實驗期間,同一設(shè)備/賬號所感知到的體驗是一致的。

2、流量切分

數(shù)學(xué)條件里的單一變量原則、樣本隨機(jī)且足量原則都需要在流量切分里進(jìn)行體現(xiàn)。而實際業(yè)務(wù)中,會存在一些限制,包括:

(1)流量不夠

從業(yè)務(wù)視角來說,往往希望能同時進(jìn)行多個實驗(1個月做100個實驗和1年做100個實驗,對于業(yè)務(wù)的價值可能是不同的,競爭越大的業(yè)務(wù),時間越值錢)。

但同一時間段下的流量是既定的,而數(shù)學(xué)條件又要求足量原則。因此,為了在同一時間下產(chǎn)生更多可用的實驗流量,即提高流量使用效率,業(yè)內(nèi)有兩種常見方法:

a、省著用。一個實驗需要的流量按最小樣本量評估。就像用水一樣,假設(shè)你今天有5件家務(wù)要做,家里只有10盆水,在“省著用”的思路下,你按每件家務(wù)的最小用量進(jìn)行評估,然后將這5件家務(wù)的用水量進(jìn)行匯總,只要不超過10盆水那“省著用”就足夠了~在這里,每滴水只會被1件家務(wù)所使用,這是實驗里的流量互斥概念。

b、重復(fù)用。當(dāng)然,每滴水也可以被多件家務(wù)使用,這是節(jié)約用水的常見思路,也可以對應(yīng)實驗里的流量正交概念。

假設(shè)5件家務(wù)里,有3件家務(wù)(洗寶寶衣服、洗大人衣服、洗襪子)屬于洗衣類的,2件家務(wù)(洗帶泥的鞋、洗不帶泥的鞋)屬于洗鞋類的。那你可以把水先全部用在洗衣類家務(wù),洗完后,把這10盆水混合到一起,再進(jìn)入下一層的洗鞋類家務(wù)。

這里水被使用在了兩層,第一層洗衣層、第二層洗鞋層,每一層都有10盆水可用。

另外你突然想起昨晚的碗還沒洗。由于洗碗水無法和其他家務(wù)重復(fù)使用,因此做家務(wù)的水整體需要被劃分成兩個區(qū)塊,第一個區(qū)塊專門洗碗(4盆水),第二個區(qū)塊給其余家務(wù)(剩6盆水)。但是你發(fā)現(xiàn)第二區(qū)塊的6盆水不夠洗衣類的最小用水,富有家務(wù)經(jīng)驗的你把洗衣層再分成了洗衣服層和洗襪子層。

上面的分水模型是不是和實驗分流模型高度相似?針對“流量不夠”這一業(yè)務(wù)限制,業(yè)內(nèi)采用的方法思路其實和咱們“節(jié)約用水”的思路差不多,只是實驗分流沒有層級先后順序,流量可以從任一層灌入。

(2)流量差異

實驗流量與“大盤”流量兩者存在差異,這個不難理解,但可能很多讀者沒有理解到差異具體在哪,這點對于后文的數(shù)據(jù)解釋很重要,我們來捋一捋~

實驗是通過切小部分流量來證明設(shè)想,證明OK后將小部分流量切到全量。如下圖,業(yè)務(wù)所希望減少的差異實際上是“實驗”與“放量后的大盤”之間的差異。這個差異可以拆分為“實驗”與“實驗所在大盤“的差異、“實驗所在大盤”與“放量后的大盤”的差異。

a、“實驗”與“實驗所在大盤“的差異

要想減少這部分的差異,就是盡可能均勻且隨機(jī)得篩出一批“用戶”,能讓這些“用戶”代表總體。常見的篩選方法是哈希計算。

另外,為了以防篩選方法沒用對、或者方法不適用,可以在實驗之前,提前進(jìn)行流量切分,不加策略觀測所切分的流量是否能代表“大盤”(空跑期AA實驗)。

b、“實驗所在大盤”與“放量后的大盤”的差異

這里的差異在時間,而時間所引入的變量我們并不可控。因此相比前面的差異,這個差異我們顯得束手無策。減少它的方法很少,更多是解釋它。后文會展開如何解釋。

(3)人為犯錯

上面兩點“流量不夠”“流量差異”的限制都是客觀存在的,更多依賴技術(shù)手段解決。但由于流量切分有一定的專業(yè)門檻,還可能受“人為犯錯”所帶來的限制,舉兩個比較常見的例子:

a、實驗切流對象混淆

要搞清楚實驗切流的對象是誰,前提是先確定好實驗的設(shè)想是什么。

假設(shè)你有個設(shè)想1:“在首頁給新用戶推薦熱門內(nèi)容能提升新用戶的次日留存率”。

在這個設(shè)想下,策略是針對新用戶,觀測的指標(biāo)也是新用戶。所以實驗切流對象是“部分新用戶”,實驗OK后放量所預(yù)期提升的是“新用戶大盤”指標(biāo)。如下圖

然后你又有個設(shè)想2:“在首頁給新用戶推薦熱門內(nèi)容能提升整體用戶的次日留存率”。

設(shè)想2相比1,策略不變,但是觀測的指標(biāo)不再是新用戶范圍,而是大盤用戶。所以實驗切流的對象是“部分大盤用戶”,實驗OK后放量所預(yù)期提升的是“大盤用戶”指標(biāo)。如下圖

設(shè)想1和2由于觀測的指標(biāo)范圍不同,所以切流對象也不同。在實際工作中,會出現(xiàn)切流對象混淆的情況,如果設(shè)想1用了設(shè)想2的切流方式,即觀測的是新用戶,但是用大盤切流(即包括了新用戶和老用戶在內(nèi)的所有用戶),那會導(dǎo)致指標(biāo)結(jié)果被稀釋,影響實驗結(jié)果的準(zhǔn)確性;而如果設(shè)想2用了設(shè)想1的切流方式,即觀測的是大盤用戶,但是用新用戶切流,那其實根本無法得到指標(biāo)結(jié)果。

b、實驗組與對照組互相影響

假設(shè)你又有個設(shè)想3:“在首頁引導(dǎo)新用戶發(fā)布內(nèi)容能提升新用戶的次日留存率”。即在策略上把“給新用戶推薦熱門內(nèi)容”改成了“引導(dǎo)新用戶發(fā)布內(nèi)容”。

這里會有個問題是,實驗組里用戶發(fā)布的內(nèi)容,會不會被對照組里的用戶看到,如果會,那就存在實驗組與對照組互相影響的問題,因此針對這種情況,需要評估并進(jìn)行隔離。

實際工作中,如果沒有提前考慮到實驗組和對照組互相影響的問題,就可能導(dǎo)致實驗結(jié)果不準(zhǔn)以及很難解釋。這在內(nèi)容生產(chǎn)、社交功能上比較常見。

3、數(shù)據(jù)解釋

理想中的情況是,實驗時相關(guān)指標(biāo)都升了,然后放量,相關(guān)指標(biāo)如預(yù)期獲得提升,年終獎蹭蹭上漲。但現(xiàn)實情況卻可能五花八門,所以我們需要對這些五花八門的情況進(jìn)行數(shù)據(jù)解釋,以利于后續(xù)策略的提出。舉幾個例子:

(1)實驗期指標(biāo)升了,但放量后指標(biāo)沒有提升或者甚至降了

如果排除切流問題(“實驗流量”無法代表“實驗所在大盤流量”),那原因就在前面所提到的“實驗所在大盤”與“放量后的大盤”的差異上了。這個差異由時間所引入,如前所述,更多是解釋它。

由于我們所統(tǒng)計的數(shù)據(jù),都是來源于用戶行為,所以時間所引入的變量最終都是表現(xiàn)在用戶行為變化上。即,我們需要解釋的問題實際是:不同時間下,用戶可能會因為哪些影響而發(fā)生變化。

a、所處的平臺影響

即平臺的其他策略影響了用戶。一種是平臺的其他策略直接導(dǎo)致用戶行為下跌;另一種是平臺的其他策略影響了用戶的分布,即用戶占比變化導(dǎo)致的數(shù)據(jù)下跌(辛普森悖論)。

插個樓:“占比不均”所引入的一系列“反常識現(xiàn)象”是個很有趣的話題,在我們進(jìn)行數(shù)據(jù)分析、甚至日常生活中會時常碰到,后面有時間筆者會單獨寫篇文章進(jìn)行介紹~

b、所處的時長影響

在實驗期,由于有時間限制,在這段時間里(比如2周)用戶行為確實漲了,但是過了這個時間用戶可能對新功能失去了新鮮感,行為數(shù)據(jù)開始下跌(新奇效應(yīng))。針對這種情況,可以通過拉長實驗時間的方式在一定程度上規(guī)避這種問題;

c、所處的時間節(jié)點影響

實驗期間可能正好遇到大促這類季節(jié)性節(jié)點,這類節(jié)點下可能會讓切流之間本身就出現(xiàn)差異。針對這種情況,為了后續(xù)更好解釋數(shù)據(jù),可以再單獨切一個對照組,即有2個對照組,看實驗期間兩個對照組之間的差異(實驗期AA實驗)。

需要說明的是,實驗期AA實驗這種方式能解釋的數(shù)據(jù)僅限于“由于季節(jié)性節(jié)點所導(dǎo)致的分流不均”,無法解釋“由于季節(jié)性節(jié)點所弱化或者強(qiáng)化的實驗組和對照組之間的差異”,比如原本差異是5%,由于季節(jié)性節(jié)點差異10%。

(2)用不同的數(shù)學(xué)標(biāo)準(zhǔn),實驗結(jié)果不一致

前面提到的置信水平1-α設(shè)定的值不同,結(jié)果不一致。即實際考了70分,按照60分合格線算過關(guān),但按照80分合格線就不行了。這個只能基于實際的業(yè)務(wù)情況來判斷,如果對實驗的風(fēng)險容忍度低,那合格線就得設(shè)得高,反之亦然。

(3)X指標(biāo)升了Y指標(biāo)降了

這個也只能基于實際的業(yè)務(wù)情況來判斷,并且為了讓這種判斷有更多的依據(jù),所以需要在實驗設(shè)計時就提前考慮核心指標(biāo)、輔助指標(biāo)、反向指標(biāo)是什么。如果X只是輔助指標(biāo),核心指標(biāo)并沒有提升,那這個實驗結(jié)果自然無法放量;如果X是核心指標(biāo),則需要衡量業(yè)務(wù)對Y的接受度。

(4)開放了多個實驗,如何衡量這些實驗一起對平臺的價值

今年部門可能做了很多實驗,有些策略讓實驗指標(biāo)正向顯著,但這些策略加在一起整體對部門的核心指標(biāo)提升多少呢?為了解答這個問題,部門會通過預(yù)留一部分不加任何策略的“干凈”流量來進(jìn)行觀測(holdout桶,常見于推薦系統(tǒng))。

五、最后

強(qiáng)調(diào)幾點:

1、如果不是在這塊有非常扎實的基礎(chǔ),請不要使用非業(yè)內(nèi)常規(guī)的分流方法。否則會加大數(shù)據(jù)解釋的難度(甚至可能根本無法解釋)。

2、試錯也有價值,客觀解讀,接受實驗的失敗,這才是實驗的意義。

3、筆者能力有限,外加為了讓文章盡可能通俗,在闡述上有較多不嚴(yán)謹(jǐn)或不全面的地方。歡迎大家指正探討。

本文由@wen 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來源于Unsplash,基于CC0協(xié)議

該文觀點僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!