策略產(chǎn)品經(jīng)理必讀系列—第二講AA & AB Test最全介紹
導讀:網(wǎng)絡上有很多介紹AB Test的文章,大部分介紹分層、分流、正交就結束了。實際工作中作為一個策略產(chǎn)品經(jīng)理需要熟悉AB Test的各種實驗類型、分流策略、分層策略等,不是簡單了解什么是分層實驗就可以的。本篇將結合工作中的實踐經(jīng)驗為大家詳細介紹一個AB Test實驗從最初實驗策略設計,分流,再到實驗上線以及最終的效果觀察,全流程詳細展開介紹。
一、綜述AA 和 AB Test實驗
實驗機制其實一共是有兩種的,AB Test和AA Test。
AB Test:
A為實驗組,B為對照組。A對比B得出本次實驗的效果結論。很多文章說AB Test只能是單一實驗變量,其實AB Test也可以有多變量。
比如在推薦系統(tǒng)里分別優(yōu)化了一版召回模型 + 排序模型。希望同時觀察這兩個模型疊加后的效果,那么實驗組就會存在兩個變量,對照組就為原先的召回+排序模型。當然這種情況比較少見,如果兩個變量CD之間會相互產(chǎn)生影響,一般是第一個變量C先做AB Test實驗,確定效果正向后,將實驗全量后再對第二個變量D進行AB Test實驗。兩個變量疊加在一起很難去分別評估每個變量對實驗效果造成的影響。
AA Test:
除了AB實驗,其實還有AA實驗。
AA實驗就是實驗組和對照組的實驗配置完全一樣,主要為了測試本次實驗效果的波動性。在保證AA實驗隨機分流的情況下,理論上AA實驗效果之間的差異應該是很小的,但如果實驗效果差異很大,說明本次實驗變量本身的效果波動就較大,原先AB 實驗的效果也不夠置信。
不過現(xiàn)實中我們很少做AA實驗,當我們發(fā)現(xiàn)AB實驗效果比較波動時一般的做法就是多觀察一段時間,等待實驗效果穩(wěn)定。如果長時間試驗效果還是很波動,就需要確定實驗分流是否存在問題,正常一個變量只要不是隨機產(chǎn)生結果,實驗效果一定是穩(wěn)定的,不管是穩(wěn)定正向還是負向。
同時AB Test實驗確定A實驗效果正向后,我們會將A實驗策略在線上推全,但仍然會在線上再保留一個對照組繼續(xù)觀察一段時間,比如推全的流量是95%,剩余5%再繼續(xù)作為對照組持續(xù)觀察一段時間,這種一般叫做“Hold Back”。因為AB Test實驗階段一般都是小流量實驗,A組5%流量,B組5%流量。我們需要再觀察一下在大流量的情況下A組的實驗效果是否仍然和小流量實驗時一致。
二、AB Test實驗完整機制
下面我們詳細地介紹AB Test實驗的每一個步驟。
2.1 第一步確定實驗目的
做實驗一定有目的,我們本次做實驗的目的是什么?是希望驗證新模型的對于用戶點擊效果還是驗證新交互樣式的對于用戶停留時長的效果?目的明確了才能決定后續(xù)的實驗變量、觀察指標、分流維度和實驗類型以及如何綜合評估實驗的效果。
2.2 第二步確定實驗變量
實驗目的明確后也就確定了實驗的變量,本次實驗是希望只觀察推薦系統(tǒng)里新召回模型的效果,那么實驗組A就是新召回模型,實驗組B就是老召回模型。元氣森林推出了6款不同口味的新飲料,針對不同口味又有三款不同的容量,以及兩款不同的包裝樣式,元氣森林希望測試哪一款最受用戶歡迎。
那么在這個實驗中就會存在三個變量“口味”、“容量”和“包裝樣式”,最終就需要 6 * 3 * 2=36 組實驗,不需要專門的對照組,每組既是實驗組也是其他組的對照組。
2.3 第三步確定實驗觀察指標
實驗目的和變量確定以后下一步就是明確通過哪些指標來衡量實驗的效果。比如Part2.2里面測試推薦系統(tǒng)新召回模型的效果,該試驗觀察的指標主要是點擊率CTR,但同時還需要去關注用戶瀏覽深度和CVR的變化。所以在實驗中我們會有一個核心的觀察指標,但也會有很多其他輔助觀察指標。
當這些指標之間效果出現(xiàn)反向時,比如新召回模型上線后實驗組對比對照組CTR +3%,但瀏覽深度-0.3%,CVR-1.5%。這時就需要綜合評估該模型的效果,一般需要算法拉上業(yè)務方綜合評估,該推薦場域主要的KPI是CTR還是CVR,或者二者的占比是。最終決定該模型要不要推全量。同時實驗觀察指標確定以后也需要確保線上有對應的埋點,不然無法統(tǒng)計實驗效果。
2.4 第四步確定分流維度
實驗組和對照組的流量基于什么來進行隨機分流,是基于用戶維度還是請求維度。
用戶維度:
在用戶層面將實驗組流量和對照組流量區(qū)分開,位于實驗組的用戶接下來的一段時間都是在實驗策略里;不管新策略的用戶體驗是好還是差;
請求維度:
在請求層面將實驗組流量和對照組流量區(qū)分開,單個用戶打開該模塊時不同時間不同請求時,可能是新策略也可能是舊策略,一個用戶既可以體驗到新策略又能體驗到舊策略;
兩種分流維度決定適用的實驗場景不一樣:基于用戶維度的適用于所有涉及到用戶接觸到樣式、交互、視覺效果等變化的實驗。一方面不希望影響到太多用戶,另一方面樣式等變化用戶需要適應一段時間后才能反饋出真正的效果;基于請求維度的適用于所有的模型策略實驗,接近于底層的策略均可按照請求維度進行分流。
比如推薦系統(tǒng)、搜索引擎等的策略優(yōu)化;適用于“請求維度”的實驗也可以用“用戶維度”進行分流,但是反過來不適用。
這里面還有幾個點需要注意:
基于用戶維度分流實驗中的異常ID:
當我們將X%的用戶固定分到實驗流量中,如果里面有某些用戶ID行為異?;钴S,這些異常ID對于實驗策略的反饋可能會影響到整體實驗效果的評估。
比如某些用戶ID一天登陸APP上百次,點擊推薦模塊上千次,那么這些數(shù)據(jù)就將會影響到整體效果。當然這種用戶ID一般是外部爬蟲ID或者作弊ID,需要反作弊部門識別出來剔除掉。還有另外一種處理方式就是將效果進行平均化,計算公式如下圖:
即使經(jīng)過平均化我們?nèi)匀豢梢园l(fā)現(xiàn)對于實驗效果還是產(chǎn)生了一定影響,當然實驗用戶量龐大的情況下會對異常值更加稀釋。不過這種異常ID最好的方式就是從實驗結果中剔除掉。
實驗組和對照組的流量比例:
本身實驗組和對照組的流量不存在固定比例,或者什么比例是合適的。但是需要保證實驗組和對照組的流量都是充分的,實驗結果都是置信的。實驗組10%流量,對照組1%流量都可以,只要1%流量實驗階段可以積累足夠的數(shù)據(jù)即可。
Hash分桶:
上面一直介紹基于用戶和請求維度來分流,那么一個用戶或者請求到底是歸到實驗組里還是對照組里了。一般我們都是基于Hash算法,為每個用戶(user-id)或每次請求(request-id)生成一個hash值,然后將位于指定范圍的hash值分向一個桶。實驗開始前確定哪些桶屬于實驗組,哪些屬于對照組。
2.5 第五步確定實驗類型
第五步也是最關鍵的一步也就是確定實驗類型了,實驗類型從大的方向來說分為兩種:物理實驗和分層實驗。兩種實驗對應的是兩種分流方式:互斥和正交。我們用下圖來表示差異:
物理實驗:
最開始做實驗的方式都是物理實驗的方式,當一部分被分到了實驗A中以后,該部分流量就無法在被其他實驗使用,如上圖“域一”,實驗之間的流量是互斥的,三組實驗加起來的流量總和是15%。這種分流方式導致同時線上實驗數(shù)很有限,如果每組實驗5%流量,同時只能做20組實驗。但是像淘寶字節(jié)這種大公司,同時線上幾百上千個實驗很正常,這種做實驗的方式肯定不滿足需求。
分層實驗:
谷歌提出了一種新的實驗分流方式(原文《Overlapping Experiment Infrastructure:More, Better, Faster Experimentation》):正交。每個獨立實驗為一層,層與層之間流量是正交的,一份流量穿越每層實驗時,都會再次隨機打散,如上圖“域二”,上一層實驗對下一層不會產(chǎn)生任何影響,因為流量被均勻隨機打散了,每一層實驗的流量都是85%。分層實驗的個數(shù)理論上是無限的。
聯(lián)合層實驗:
分層實驗理論上層與層之間需要將流量隨機打散,但有些情況下我們希望將層與層之間的策略聯(lián)動,比如上圖D-1和E-1的策略聯(lián)動,D-2和E-2的策略聯(lián)動,D-3和E-3的策略聯(lián)動,這個時候就需要將D-1實驗標簽和E-1實驗標簽關聯(lián)起來,確保經(jīng)過D-1的流量全部打到E-1的實驗桶里面。
適用場景:
物理實驗適用于任何場景,但此種實驗方式實驗數(shù)量上限有限,公司一般會切出部分域專門做物理實驗,剩余流量做分層實驗。有些場景只能做物理實驗,不能和其他實驗摻雜在一起,尤其是涉及到系統(tǒng)性能評估等的實驗,需要排除一切外在影響確保實驗不受任何干擾。分層實驗可以同時做大量線上實驗,適合那些業(yè)務之間彼此獨立沒有影響的場景,如果層與層之間的實驗是有影響的,此種情況建議在同一層進行實驗。
2.6 第六步上線實驗&查看實驗效果
實驗上線:
當我們將實驗所有準備工作都確定完以后,就是在實驗平臺上線實驗了。實驗平臺會下發(fā)實驗組和對照組的實驗標簽,后續(xù)根據(jù)該實驗標簽查看對應實驗的效果;
實驗觀察時長:
正常情況下都需要觀察3個工作日左右,尤其對于那種實驗效果前期比較波動的需要觀察更長的時間。但如果實驗效果長期波動不穩(wěn)定就需要確定實驗的分流方式是否存在問題。
以上就是對AA & AB Test的全面介紹,歡迎大家溝通交流~
本文由 @King James 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉載。
題圖來自 Unsplash,基于 CC0 協(xié)議
流量差異過大(比如實驗組95%,對照組5%)可能會存在問題吧,在小樣本中可能出現(xiàn)分流時某個屬性分布不均的問題(若AB分流算法中沒有考慮這個屬性的話,且這個屬性的差異如果會影響最終的指標的差異的話),這樣分流出來的人群和大樣本組的人群就不“同質” 指標就會出現(xiàn)差異。 當然這種情況出現(xiàn)的概率不高,可以通過AA測或多次抽樣對比數(shù)據(jù) 進行排查
想問下這個aa實驗,實驗組和對照組上同樣的實驗配置,這個實驗是不是指有改動策略的那個實驗版本,而不是拿本來沒有任何改動的版本去做實驗…
第十二講?前面是不是漏了幾講呀?坐等更新