本篇的目的是從三個不均勻性的角度,對 AB 實(shí)驗(yàn)進(jìn)行一個認(rèn)知的普及,最終著重講述 AB 實(shí)驗(yàn)的一個普遍的問題,即實(shí)驗(yàn)準(zhǔn)確度問題。
一、AB 實(shí)驗(yàn)場景
在首頁中,我們是用紅色基調(diào)還是綠色基調(diào),是采用門店小列表外 + 商品 feed(左圖),還是采用門店大列表囊括商品 feed(右圖),哪種更吸引用戶瀏覽下單呢,簡單來處理讓 50% 的用戶看到左圖效果,讓 50% 的用戶看到右圖效果,最終通過點(diǎn)擊量,單量等指標(biāo)進(jìn)行比對得出結(jié)論,這是典型的 AB 實(shí)驗(yàn)場景
二、AB 實(shí)驗(yàn)的定義
A/B 實(shí)驗(yàn)就是針對想迭代的產(chǎn)品功能,提供兩種不同的備選解決方案,然后讓一部分用戶使用方案 A,另一部分用戶使用方案 B,最終通過實(shí)驗(yàn)數(shù)據(jù)對比來確定最優(yōu)方案。 從定義里我們就可以看出來,最直觀的一個概念,就是用戶的分流,此時就涉及到分流人數(shù)是否均勻的問題,即人數(shù)比例的均勻性。
三、AB 中的三個不均勻
1、人數(shù)比例的不均勻
目前 AB 實(shí)驗(yàn)的分流核心算法是通過的哈希算法,假設(shè)我們按用戶名做為分流因子,使用 murmurhash 算法,以 100 桶制為例,確定一個人的位置的算法就是
//將用戶名通過hash算法計算出一個整數(shù) int hashNum = MurmurHash3.murmurhash3_x86_32(useName) //整數(shù)值對100取模 int bucket = hashNum % 100;當(dāng)我們定義一個實(shí)驗(yàn)兩個策略的人數(shù)均為 50% 時,那么 bucket 為 0-49 的用戶由 AB 系統(tǒng)標(biāo)記為 A, 業(yè)務(wù)系統(tǒng)根據(jù) A 標(biāo)記,使得用戶使用方案 A bucket 為 50-99 的用戶由 AB 系統(tǒng)標(biāo)記為 B, 業(yè)務(wù)系統(tǒng)根據(jù) B 標(biāo)記,使得用戶使用方案 B。 可是我們都知道哈希算法并不是絕對均勻的,當(dāng) 100 人時,基本上不會出現(xiàn)有 50 個人走 A,50 個人走 B,但是 1 萬個人的時候,兩部分流量可能就接近了 1:1,10 萬人的時候可能更接近 1:1。 之前有位運(yùn)營的同學(xué)問過,為什么不能用一種很均勻的算法,比如第一個人來了,放入 A,第二個人來了放入 B,第三個人來了放入 A,第四個人來了放入 B....,這樣一天 1W 個人來,5000 個取 A 策略,5000 個取 B 策略。 假設(shè)我們真的這么做了,第一天是 OK 的,第二天進(jìn) A 只來了 4000 人,這樣還是不均勻的,如果你第二天仍然按第一天的規(guī)則重新分配,這樣會有一部分人亂了策略,不符合我們固定人群走固定策略的實(shí)驗(yàn)?zāi)康摹?所以說這個不均勻是無解的,HASH 算法是目前最理想的解決方案,前提是你需要一定的流量,流量越大,分流相對就比較準(zhǔn)確。
2、人群素質(zhì)的不均勻
我們假設(shè)流量足夠大,人數(shù)比例很均勻了,但是還有個問題就是人群素質(zhì)的均勻問題。這里的素質(zhì)包括消費(fèi)能力,活躍度,年齡等各種人群因素。 假設(shè)現(xiàn)在我們的活動統(tǒng)一采用的 A 策略(現(xiàn)狀),我們想驗(yàn)證一下 B 策略(新策略)會不會帶來客單價的提升,就直接做了 AB 實(shí)驗(yàn),還按 1:1 比例來分流,發(fā)現(xiàn)使用 A 方案的人群客單價是 100,使用客單價 B 的人群是 96,此時我們能認(rèn)為原有 A 方案優(yōu)于 B 方案嗎?其實(shí)是不能的,怎樣確定這種人群素質(zhì)的差異呢,可以采用 AA 實(shí)驗(yàn),就是兩部分人都走 A,進(jìn)行分開統(tǒng)計,可能會發(fā)現(xiàn),位于 0-49 桶的人群本身客單價就是 100,而位于 50-99 桶的人群可能只有 94,這么看來 B 方案是能提升客單價的,因?yàn)槲挥?50-99 桶的人群本身指標(biāo)就差一些。 當(dāng)然 AA 不是必須的,可能你有整體的客單價指標(biāo),上了 B 策略后發(fā)現(xiàn)整體提升了,這種情況相當(dāng)于灰度驗(yàn)證了,但實(shí)際情況是比較復(fù)雜的,整體指標(biāo)你是不清楚的(因?yàn)檫@里的整體可能只是你取的業(yè)務(wù)中的一部分流量)。 所以解決素質(zhì)不均勻的手段就是采用 AA 提前確定差異性,再在這個差異性基礎(chǔ)上看差異的變化。
3、實(shí)驗(yàn)間影響的不均勻
這個不均勻性是最復(fù)雜的,一般做實(shí)驗(yàn)我們走兩種極端: 第一種是完全不復(fù)用人群,每個實(shí)驗(yàn)人群都是獨(dú)立的,這樣的話效果比較準(zhǔn)確,但是弊端是,當(dāng)所有流量都被用去后,不能有新實(shí)驗(yàn)開始,必須等待有結(jié)束的實(shí)驗(yàn)后才能繼續(xù)做。 第二種,所有實(shí)驗(yàn)都用全部流量,此時我們認(rèn)為實(shí)驗(yàn)雖然互相之間有影響,但是這種影響是正交的,量大的時候應(yīng)該是均勻的,如下圖所示,P 實(shí)驗(yàn)的兩個策略人群,到 Q 實(shí)驗(yàn)時,對 Q 的兩個策略影響是均勻的。
這種可以滿足無限個實(shí)驗(yàn),想做多少實(shí)驗(yàn)都可以,但弊端是,實(shí)驗(yàn)太多,必然有影響不均勻的,且我們無法消除這種不均勻。 所以我們想能不能結(jié)合以上兩種情況來處理呢,結(jié)合 google 的 Overlapping Experiment Infrastructure 文章我們設(shè)計出分層的實(shí)驗(yàn)管理模型
首先我們將總流量分成兩部分,正交域,垂直域(含對比區(qū)) 我們假設(shè)如圖取 80% 的流量用做正交閾,20% 用作垂直域,垂直域中有 5% 用做對比區(qū)。 上圖正交域下 4 個層,層內(nèi)實(shí)驗(yàn)流量互斥,層間實(shí)驗(yàn)流量正交,我們將可能會互相影響的實(shí)驗(yàn)放到同一層內(nèi)進(jìn)行流量互斥,而影響不大的實(shí)驗(yàn)可以放到不同層內(nèi)。 垂直域中的實(shí)驗(yàn)流量只能互斥,且不與任何實(shí)驗(yàn)正交,可以理解用最純正的流量做實(shí)驗(yàn),可以 I1 和 I2 兩個策略間對比,也可以 I1 或 I2 和對比域(現(xiàn)狀)比對。 那此時有一個很重要的問題需要解決,我們怎么確定哪些實(shí)驗(yàn)互相影響較大,需要放到同一層下。 有一些簡單標(biāo)準(zhǔn),比如入口不一樣,目標(biāo)不一樣等等,這種可以放到不同層,我們可以忽略正交不均勻的問題,反之就不行。 比如活動頁劵對單量提升度的實(shí)驗(yàn)和會員頁面入會效果的實(shí)驗(yàn),就可以放到不同層。 而首頁上滿減活動實(shí)驗(yàn)對客單價提升的實(shí)驗(yàn)和同樣首頁買贈活動對客單價提升的實(shí)驗(yàn),最好是不共用用戶,放到同層比較合適。 但對于很多實(shí)驗(yàn)是不太容易通過簡單規(guī)則來確定的,需要大數(shù)據(jù)的同學(xué)和產(chǎn)品,甚至研發(fā)來共同決定實(shí)驗(yàn)放到哪些層和哪些實(shí)驗(yàn)互斥,這確實(shí)在實(shí)際的運(yùn)作中是最難的點(diǎn)。 總之采用這種策略,可以復(fù)用流量的同時還可以降低不必要的互相影響,比較綜合考慮了流量和準(zhǔn)確度問題。
四、總結(jié)
現(xiàn)在我們對以上問題進(jìn)行總結(jié),從問題到解決方案上來認(rèn)識 ab 實(shí)驗(yàn) 1、人群做不到絕對的均勻,只能通過 HASH 算法,結(jié)合一定的流量來解決。 2、通過 AA 實(shí)驗(yàn),來提前確定人群素質(zhì)的不均勻。最終的實(shí)驗(yàn)數(shù)據(jù)結(jié)合 AA 實(shí)驗(yàn)數(shù)據(jù)來確定最終效果。 3、設(shè)計出正交垂直域,正交閾內(nèi)多個層,每個層內(nèi)放可能相互影響的實(shí)驗(yàn),層內(nèi)互斥,層間正交,保留垂直域,為要求精準(zhǔn)的實(shí)驗(yàn)留出流量,來解決實(shí)驗(yàn)間相互影響的問題。 本篇從核心分流與實(shí)驗(yàn)間相互影響角度講解 ab 實(shí)驗(yàn),希望能引起大家在做實(shí)驗(yàn)前能有更多的思考,來更準(zhǔn)確的驗(yàn)證自己想要的效果,希望大家有興趣的可以留言討論。
審核編輯 :李倩
-
算法
+關(guān)注
關(guān)注
23文章
4607瀏覽量
92840 -
模型
+關(guān)注
關(guān)注
1文章
3226瀏覽量
48809
原文標(biāo)題:從不均勻性角度淺析AB實(shí)驗(yàn)
文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論