面試官A:你知道AB測試怎么做嗎?
面試官B:你有AB測試的經(jīng)驗嗎?
面試官C:AB測試的統(tǒng)計學原理可以簡單說一下嗎?
... ...
現(xiàn)在,互聯(lián)網(wǎng)場景下,越來越多的公司or面試官開始考察AB-Test相關的知識
似乎是懂了AB測試,年薪就達到XX萬(請自行腦補)
那么,為了大家都能年薪XX萬,我們今天來聊下
AB-Test那些事兒
AB-Test的起源
AB測試的概念來源于醫(yī)學的雙盲實驗。
用戶被隨機分組成兩組,在不知情的情況下,拿到了測試用藥和安慰劑。經(jīng)過一段時間的實驗后,比較這兩組病人的表象是否具有顯著的差異,從而決定測試用藥是否有效。
同樣,互聯(lián)網(wǎng)公司們在采取AB測試時也用了同樣的概念
將web或者app界面或者流程,拆分為多個版本,在同一時間段里,分別讓同質化的用戶使用。之后收集相關的業(yè)務數(shù)據(jù),最后評估出最好的版本,從而達到效果最大化。
從本質上來說,AB-Test是對某唯一變化的有效性進行測試的實驗
#請忽略我的強行過渡
很多同學說,知道了AB-test的起源,對我們實際工作并沒有啥幫助
那么,接下來,讓我們說說AB-Test的具體步驟把
AB-Test的步驟
開局先上圖:
根據(jù)上圖,我們把AB-Test拆分為實驗前 + 實驗中 + 實驗后來大致講解下實驗的流程及步驟
實驗前:
1、設定項目目標:即本次AB測試的主體是什么,一個頁面優(yōu)化,一個app功能,一個文案修改?
2、本次測試的用戶群體:是面對整體用戶,還是部分用戶?是需要分版本生效,還是全部生效?
3、預計會達到的目標:比如點擊率,如預期10%上漲至15%,需要有個心理預期
4、計算樣本量:根據(jù)預計效果,以及顯著性水平,計算出所需樣本量
5、計算流量分配比例:當計算出樣本量后,我們需要根據(jù)當前流量,制定分流計劃,是分群還是分層,或者同時進行
6、規(guī)劃整理以上內(nèi)容,進行AB測試前的文檔落盤,方便實驗后進行效果觀測和實驗結果評估
實驗中:
1、實驗上線:根據(jù)事前設定的 測試功能,分流比例,投放人群進行線上AB測試
2、空白組確認:空白組,是否真的空白組,一定需要確認
3、AB生效確認:檢驗線上AB是否生效,以及AB測試是否按照計劃比例分流
4、如果為了驗證分流是否有效,及實驗效果的顯著性檢驗,我們在AB時,可以進行AA實驗
實驗后:
1、實驗有效性檢測:判斷實驗是否達到最小樣本量,從而能夠以較大概率避免兩個統(tǒng)計錯誤的發(fā)生(棄真錯誤 &? 取偽錯誤)。一般情況下,通過AA實驗的顯著性差異檢驗,就能判斷實驗結果有效
2、實驗效果比較:即通過對比AB實驗下,實驗組及基準組的區(qū)別,是否有顯著差異,是否達到預期,從而判斷后續(xù)迭代策略
以上,就差不多是AB-Test的整體步驟
當然,在實驗的過程中,也會碰到很多坑
我們也提前幫大家“預警“一下都有哪些坑
AB-Test的一些坑
1、用戶屬性一定要一致
如果上線一個實驗,我們對年輕群體上線,年老群體不上線,實驗后拿著效果來對比,即使數(shù)據(jù)顯著性檢驗通過,那么,實驗也是不可信的。因為AB測試的基礎條件之一,就是實驗用戶的同質化。即實驗用戶群,和非實驗用戶群的 地域、性別、年齡等自然屬性因素分布基本一致。
2、一定要在同一時間維度下做實驗
舉例:如果某一個招聘app,年前3月份對用戶群A做了一個實驗,年中7月份對用戶群B做了同一個實驗,結果7月份的效果明顯較差,但是可能本身是由于周期性因素導致的。所以我們在實驗時,一定要排除掉季節(jié)等因素。
3、AB測試一定要從小流量逐漸放大
如果上線一個功能,直接流量開到50%去做測試,那么如果數(shù)據(jù)效果不好,或者功能意外出現(xiàn)bug,對線上用戶將會造成極大的影響。所以,建議一開始從最小樣本量開始實驗,然后再逐漸擴大用戶群體及實驗樣本量。
4、如果最小樣本量不足該怎么辦
如果我們計算出來,樣本量需要很大,我們分配的比例已經(jīng)很大,仍舊存在樣本量不足的情況,那么我們只能通過拉長時間周期,通過累計樣本量來進行比較
5、是否需要上線第一天就開始看效果?
由于AB-Test,會影響到不同的用戶群體,所以,我們在做AB測試時,盡量設定一個測試生效期,這個周期一般是用戶的一個活躍間隔期。如招聘用戶活躍間隔是7天,那么生效期為7天,如果是一個機酒app,用戶活躍間隔是30天,那生效期為30天
6、用戶是否生效?
用戶如果被分組后,未觸發(fā)實驗,我們需要排除這類用戶。因為這類用戶本身就不是AB該統(tǒng)計進入的用戶(這種情況較少,如果有,那在做實驗時打上生效標簽即可)
7、用戶不能同時處于多個組
如果用戶同時屬于多個組,那么,一個是會對用戶造成誤導(如每次使用,效果都不一樣),一個是會對數(shù)據(jù)造成影響,我們不能確認及校驗實驗的效果及準確性
8、如果多個實驗同時進行,一定要對用戶分層+分組
比如,在推薦算法修改的一個實驗中,我們還上線了一個UI優(yōu)化的實驗,那么我們需要將用戶劃分為4個組:A、老算法+老UI,B、老算法+新UI,C、新算法+老UI,D、新算法+新UI,因為只有這樣,我們才能同時進行的兩個實驗的參與改動的元素,做數(shù)據(jù)上的評估
9、特殊情況(實際情況)
樣本量計算這步,可能在部分公司不會使用,更多的是偏向經(jīng)驗值;
假設檢驗這一步,部分公司可能也不會使用;
大部分公司,都會有自己的AB平臺,產(chǎn)運更偏向于平臺上直接測試,最后在一段時間后查看指標差異。
對于這兩種情況,我們需要計算不同流量分布下的指標波動數(shù)據(jù),把相關自然波動下的閾值作為波動參考,這樣能夠大概率保證AB實驗的嚴謹及可信度
以上,就是本期內(nèi)容,希望對你有幫助