策略產(chǎn)品知識漫談之AB實(shí)驗(yàn)
編輯導(dǎo)語:AB實(shí)驗(yàn)是指為了驗(yàn)證某一個產(chǎn)品能力或者策略的好壞,將產(chǎn)品的用戶分成兩組進(jìn)行對比的實(shí)驗(yàn)。那么,AB實(shí)驗(yàn)分流是怎么產(chǎn)生的?又需要注意哪些?一起來看一下吧。
前段時間克比醬寫了幾篇發(fā)牢騷的文章,從本篇文章開始,回歸我的老本行,將一些我做策略產(chǎn)品經(jīng)理用到的知識記錄下來,與大家分享。后面陸續(xù)會講一些搜索推薦算法的召回、排序、NLU等知識。中間可能也會偶爾穿插幾篇產(chǎn)品雜談,講講對職場生活的感悟。
第一期我們先講AB實(shí)驗(yàn),AB實(shí)驗(yàn)功能是策略產(chǎn)品經(jīng)理需要掌握的一項(xiàng)基本能力,也是互聯(lián)網(wǎng)產(chǎn)品效果評估的最重要和最常見的方法。
舉個例子來說,如果你負(fù)責(zé)淘寶的策略產(chǎn)品,Leader讓你去優(yōu)化購物車的轉(zhuǎn)化率,你苦思冥想了好幾天好不容易想出來一個方案:設(shè)計(jì)購物車的頁面跟著手機(jī)殼的顏色變化而變化。那你要怎樣才能知道這個策略是好是壞呢?這個時候就要用到AB實(shí)驗(yàn)方法。
01 什么是AB實(shí)驗(yàn)?
那么什么是AB實(shí)驗(yàn)?zāi)兀緼B實(shí)驗(yàn)是指為了驗(yàn)證某一個產(chǎn)品能力或者策略的效果好壞,將產(chǎn)品的用戶隨機(jī)分成兩部分,分別是實(shí)驗(yàn)組和對照組,對比兩個組的用戶表現(xiàn)而進(jìn)行的實(shí)驗(yàn)。
互聯(lián)網(wǎng)產(chǎn)品的AB實(shí)驗(yàn)應(yīng)用場景主要有三種:
- 客戶端的界面調(diào)整實(shí)驗(yàn):主要是使用不同的策略對客戶端的UI布局進(jìn)行調(diào)整。例如,驗(yàn)證抖音的點(diǎn)贊按鈕在屏幕右側(cè)或者在底部兩種策略,哪種的用戶的點(diǎn)贊轉(zhuǎn)化率最高。
- 算法策略的調(diào)整實(shí)驗(yàn):最常見的是推薦搜索或者廣告的算法策略調(diào)整實(shí)驗(yàn)。例如,使用深度學(xué)習(xí)模型和機(jī)器學(xué)習(xí)模型對轉(zhuǎn)化率的預(yù)估哪種更好。
- 運(yùn)營策略:比如運(yùn)營做了兩套針對圣誕節(jié)的活動方案,但是不知道哪個方案效果更好,這時候可以將兩種實(shí)驗(yàn)同時上線,配置成AB實(shí)驗(yàn)查看曝光點(diǎn)擊轉(zhuǎn)化率。再比如:兩種push策略哪個更好?
02 AB實(shí)驗(yàn)分流是怎樣產(chǎn)生的?
做AB實(shí)驗(yàn)的時候需要將用戶分成A桶和B桶,也是我們說的實(shí)驗(yàn)桶和對照桶。
實(shí)驗(yàn)桶里的用戶使用的是實(shí)驗(yàn)策略。對照桶里面則是使用正常的策略的用戶。
一般來說,我們會將所有的用戶分為多個桶,例如20個桶和30個桶,每個桶內(nèi)的流量占比從1%-20%不等。
這樣我們每次做實(shí)驗(yàn)的時候,可以直接取其中的一個桶或者兩個桶來做。對不同的桶配置不同的實(shí)驗(yàn)策略。在實(shí)驗(yàn)放量的時候只需要將實(shí)驗(yàn)放到更多的桶中即可。
那么問題來了,如果我們知道我們今天的總的用戶數(shù),可以直接使用用戶的id對用戶隨機(jī)劃分桶號。
但是實(shí)際上,我們是無法明確今天或者明天的用戶有哪些?有多少?
因?yàn)樽蛱靵砹说挠脩簦裉觳灰欢〞?,昨天來?00w個用戶,今天不一定還有100w,可能只有30w,也可能有300w,那我們怎么樣能保證未來一段時間的用戶都能隨機(jī)分到所有桶里面呢?
這里就要用到Session分流,Session分流的原理如下圖所示。
假如今天會有N個用戶,我們把今天的用戶分成十個實(shí)驗(yàn)桶??梢允褂糜脩舻奈ㄒ痪幋a,例如DeviceId或者是UserId,對其進(jìn)行hash處理,一般是使用MD5進(jìn)行hash計(jì)算。
這樣做的好處是不會重復(fù),便于隨機(jī)分流。這樣我們就能得到100w個不同的hash值。
接著就是最關(guān)鍵的一步,對處理后的hash值進(jìn)行取?;蚧蛘呤侨∮?。有多少個桶就取多少的余數(shù),然后不同的余數(shù)對應(yīng)不同的桶。這樣就能將這N個用戶隨機(jī)分配到不同的桶中了。
另外,由于同一個用戶的UID或DeviceId是不會改變的,這樣就能保證同一個用戶即使多次使用產(chǎn)品時也能進(jìn)入同一個桶。
這樣就是AB實(shí)驗(yàn)最基本的分流過程了了。
03 AB實(shí)驗(yàn)分流應(yīng)該注意哪些?
1. 分析指標(biāo)要明確
上面講了做AB實(shí)驗(yàn)一共有三種場景,不管哪種,其本質(zhì)都是對不同策略的效果對比,既然是對比,就需要把觀測的指標(biāo)明確下來。例如,是對比商品的訂單數(shù),轉(zhuǎn)化率,還是點(diǎn)擊量?
除此之外還要考慮,這個標(biāo)準(zhǔn)會不會受到其他的指標(biāo)的影響,會不會影響到其他指標(biāo)。
例如,點(diǎn)贊量提高了,會不會導(dǎo)致評論數(shù)的減少。
只有明確了分析指標(biāo),才能正確評估是A桶好還是B桶好。
2. 實(shí)驗(yàn)分流要確保相互不影響
同一個產(chǎn)品的不同的功能可能會有不同的實(shí)驗(yàn),而且這些實(shí)驗(yàn)針對的是同一批用戶。
例如,你可以在做客戶端界面的改動的同時,又改了客戶端推薦的算法。
那怎樣保證這些實(shí)驗(yàn)相互之間不影響呢。
答案就是要確保正交。
你可以將實(shí)驗(yàn)分成不同的層,不同層之間的用戶隨機(jī)分桶,每個用戶會進(jìn)入所有策略桶都是隨機(jī)的。這樣就能保證進(jìn)行實(shí)驗(yàn)時每組實(shí)驗(yàn)之間相互不影響。
3. 樣本足夠
做AB實(shí)驗(yàn)的時候,需要保證不同的桶之間的用戶量足夠大,用戶id足夠均勻,才能夠盡可能保證每個試驗(yàn)桶的用戶數(shù)和指標(biāo)沒有差異。
如果我們做的實(shí)驗(yàn)只有五十個用戶,那么兩三個用戶的隨機(jī)行為對策略的指標(biāo)影響就至少4%。
這樣AB實(shí)驗(yàn)觀測的指標(biāo)本身會有很大的波動,就無法正常觀測實(shí)驗(yàn)的效果。
4. 實(shí)驗(yàn)前將每個桶調(diào)平
在實(shí)際的產(chǎn)品運(yùn)行過程中,我們所觀測的指標(biāo)往往會有一些天然的差異。也就是說AA桶本身就不一定是平的。
在進(jìn)行AB實(shí)驗(yàn)的時候要確保每個桶的直接觀測指標(biāo)的表現(xiàn)是相近的,也就是說AA期的表現(xiàn)要一致,這樣在進(jìn)入AB期之后,指標(biāo)的提升和降低才具有可信度。
比如說,對于電商平臺,你需要觀察的是成交訂單數(shù)和總收入,那么在進(jìn)行實(shí)驗(yàn)之前,你要確保每個桶之間的成交訂單和收入天然是一樣的,這樣做完實(shí)驗(yàn)之后你才能看到自己的實(shí)驗(yàn)是不是有效。
本文由@克比醬 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
- 目前還沒評論,等你發(fā)揮!