相信任何一位有互聯(lián)網(wǎng)公司工作經(jīng)驗的同學(xué)對“A/B 測試”這個概念一定不陌生,簡單理解就是將用戶隨機(jī)分成實驗組和參照組,然后讓兩組用戶分別使用改版后和改版前的產(chǎn)品,最后對實驗結(jié)果進(jìn)行分析比較,如果實驗組結(jié)果較好,則全量推廣改版后的產(chǎn)品,否則就維持舊版不動。這樣理解完全沒毛病,但這只是 A/B 測試的最基本的概念,這篇文章通過在 To C 業(yè)務(wù)的實踐跟你聊聊你不知道的 A/B 測試。
1. 只有互聯(lián)網(wǎng)公司才會用 A/B 測試嗎?
如果你認(rèn)為只有互聯(lián)網(wǎng)公司才會用 A/B 測試,那就大錯特錯了。其實在我們的日常生活中,A/B 測試非常常見,舉兩個例子讓大家感受一下。
1.1 物競天擇,適者生存
最早使用 A/B 測試的是大自然,想象不到吧?我們知道物種的遺傳靠基因,但基因有兩種特性,一是忠實地復(fù)制自己以保持生物的基本特征,所以才會龍生龍,鳳生鳳,老鼠的兒子會打洞;另一個特性是基因突變,當(dāng)受到環(huán)境等因素影響時,基因可能會發(fā)生突變。但誰也不清楚這種突變是好還是壞,有可能基因突變導(dǎo)致了鐮刀型細(xì)胞貧血癥,這是一種紅細(xì)胞由正常的圓餅狀變成鐮刀型,導(dǎo)致紅細(xì)胞不能順利聚集在一起,從而造成貧血的一種惡性基因突變;但也有可能導(dǎo)致長頸鹿的脖子越來越長,可以夠得著高處的樹葉,不至于在地面植物越來越稀少的環(huán)境下餓死。
這不正是大自然做的 A/B 測試實驗嗎?那些復(fù)制自己保持生物基本特性的群體就是參照組,而那些基因突變的群體就是實驗組,然后把兩者放入到真實的環(huán)境中測試,如果只有基因突變的群體活下來,說明實驗組勝出,反之則實驗組失敗。
1.2 A/B 測試助力總統(tǒng)競選
2008 年,奧巴馬競選美國總統(tǒng)成功,成為美國歷史上第一位黑人總統(tǒng),這背后縱然離不開他的個人魅力,但他的競選團(tuán)隊在背后發(fā)揮的作用也是舉足輕重的,其中的一個例子就是總統(tǒng)競選官網(wǎng)的設(shè)計。

競選團(tuán)隊一共設(shè)計了四款競選官網(wǎng)封面圖以及四款按鈕文案(如上圖所示),然后組合成 16 種官網(wǎng)樣式,給予每種樣式一定比例的流量,觀察一段時間后,從中選擇轉(zhuǎn)化率最高的那個方案。最終勝出的方案是“家庭封面 + LEARN MORE”組合,這個方案最終將總統(tǒng)競選頁面的轉(zhuǎn)化率提高了 40.6%。
2. 什么是 A/B 測試
通過兩個例子,我們比較直觀地認(rèn)識了 A/B 測試,即將用戶隨機(jī)分成參照組和實驗組,分別實驗,最終選擇效果較好的那一種方案。但如果深入研究,會發(fā)現(xiàn)另有一片天地。說了這么久,我們看看到底什么是 A/B 測試以及它能夠做什么。
我們看下維基百科對 A/B 測試的定義:
A/B 測試為一種隨機(jī)測試,將兩個不同的東西(即 A 和 B)進(jìn)行假設(shè)比較。該測試運(yùn)用統(tǒng)計學(xué)上的假設(shè)檢定和雙母體假設(shè)檢定。A/B 測試可以用來測試某一個變量兩個不同版本的差異,一般是讓 A 和 B 只有該變量不同,再測試其他人對于 A 和 B 的反應(yīng)差異,再判斷 A 和 B 的方式何者較佳。
這個定義里提到了 3 點,也是 A/B 測試的核心思想。
- 兩個不同的方案:有對比才能辨別好壞,所以至少需要同時有兩個不同的方案在并行運(yùn)行;
- 一個變量:就是中學(xué)里經(jīng)常提到的“控制變量法”,只有在單變量的情況下才能判定該變量的影響;
- 優(yōu)良判斷規(guī)則:設(shè)置一定的衡量指標(biāo),比如 PV、點擊率等等,然后對比不同方案的指標(biāo)情況,確定孰優(yōu)孰劣。
那么哪些場景會用到 A/B 測試呢?從第 1 小節(jié)我們知道,A/B 測試的適用范圍實在廣泛,大到大自然的物種進(jìn)化,小到個人的行為選擇,我們把范圍收一收,僅限于互聯(lián)網(wǎng)公司內(nèi)。那又會有哪些場景呢?那又得從互聯(lián)網(wǎng)公司的各個方面來分析,比如廣告營銷,我們可以使用 A/B 測試來驗證不同廣告策略的效果;比如算法優(yōu)化,我們可以使用 A/B 測試來比較不同模型或者參數(shù)對算法效果的影響;當(dāng)然最常見的還是產(chǎn)品的更新迭代,我們會使用 A/B 測試來驗證新的改動是否會帶動數(shù)據(jù)的提升,那該如何做好 A/B 測試呢?
3. 如何做 A/B 測試
想要做好 A/B 測試,有六大要素,分別是實驗基礎(chǔ)、安全穩(wěn)定、精確洞察、規(guī)模效率、特殊場景和實驗文化,一一詳細(xì)地聊聊。
3.1 實驗基礎(chǔ)
實驗基礎(chǔ)可以保證 A/B 測試的基本功能可用,主要包含以下幾部分。
3.1.1數(shù)據(jù)上報與數(shù)據(jù)分析平臺
巧婦難為無米之炊,數(shù)據(jù)上報是實驗的基礎(chǔ),如果沒有上報的數(shù)據(jù),那么將無法分析實驗數(shù)據(jù),更別提比較實驗的效果,所以我們需要業(yè)務(wù)進(jìn)行數(shù)據(jù)上報。我們會根據(jù)需要確定上報的數(shù)據(jù),PV/UV 是最基本的數(shù)據(jù),有的還會包括關(guān)鍵元素的點擊量、頁面停留時長等等。
有了數(shù)據(jù)還不夠,還需要數(shù)據(jù)分析平臺,讓我們可以在上面對數(shù)據(jù)進(jìn)行分析。
3.1.2 分流器
雖然我們知道 A/B 測試就是將用戶隨機(jī)分為參照組和實驗組,然后對比實驗效果,那問題來了,參照組和實驗組的用戶怎么確定?又如何保證隨機(jī)性?QQ 業(yè)務(wù)的用戶有個天然的用戶標(biāo)識:QQ 號,那么我們就會自然地想到給 QQ 號取 100 的余數(shù),余數(shù)相同的分為一組,那么就可以把所有的用戶分成 100 組,我們拿出其中一組做對照組,再拿出一組用戶做實驗組。聽起來是不是很完美?其實這里面還有一些問題。首先,QQ 號有靚號和非靚號的區(qū)別,比如 6666 開頭的用戶按照上面的規(guī)則都被分到了一組,靚號一般是需要購買的,所以靚號用戶與普通用戶在活躍度等方面存在著差別,那就無法保證用戶的隨機(jī)性以及實驗因素的單一性;其次,按照上面的規(guī)則,所有用戶最多被分成 100 組,那做了 100 次實驗之后怎么辦?所以這種方式還會導(dǎo)致實驗組很快被消耗完。有人說,可以把其中被用過的一組放置一段時間,消除前一個實驗的影響,那就會導(dǎo)致第三個問題:如果都用第 6 組作為實驗組,即使前一次實驗被放置了一段時間,那么你怎么就能確定數(shù)據(jù)變化是這次還是上次的實驗造成的呢?所以為了解決這三個問題,A/B 測試分流器必須要同時滿足三個條件:隨機(jī)性、無限性和互不干擾性。
隨機(jī)性
隨機(jī)性需要保證用戶的分組必須充分隨機(jī),不能造成具有相同屬性的用戶扎堆,比如 QQ 取余的方式就會導(dǎo)致靚號扎堆。那怎么保證隨機(jī)性呢?一種解決方案就是使用哈希函數(shù)。
無限性
所有的 QQ 號被哈希函數(shù)打散后分成若干組,無論分成多少組,總會被用完的,那如何實現(xiàn)無限分組呢?我們只需要對所有用戶重新洗牌分組即可。有兩種方式,我們可以換一種哈希函數(shù),但每次都要換一種哈希函數(shù)比較麻煩,另一種就比較簡單,使用同一種哈希函數(shù),但每次洗牌時將放入不同的標(biāo)識作為 salt。
互不干擾性
將用戶重新打散的方式能否一定保證實驗組之間互不干擾呢?我們洗牌的時候有時會發(fā)現(xiàn)牌沒洗完全,導(dǎo)致上一局某個人的很多牌在這一局中到了另一個人手里。那對全體用戶重新打散時會不會也出現(xiàn)這種情況:上一次的第 66 號組的大多數(shù)用戶被分到了這次的 88 號組里面?這種情況是可能的,如何避免呢?使用流量正交,即把上一次每一組的用戶平均分到新的分組中,比如上一次的 1 號組的所有用戶會被均勻打散到這次的所有組里面去。
3.1.3 A/B 測試配置系統(tǒng)
分流器可以將用戶均勻隨機(jī)分組,但具體的哪次產(chǎn)品改動對應(yīng)哪組實驗組,這需要專門的配置系統(tǒng)。
3.2 安全穩(wěn)定
有了實驗基礎(chǔ)的幾個部分,我們便可以開展 A/B 測試實驗了,但線上的產(chǎn)品可不能僅僅能用就行,還要考慮安全穩(wěn)定。這里的安全穩(wěn)定不僅僅是 A/B 測試相關(guān)系統(tǒng)的安全穩(wěn)定,另一方面也指對測試的業(yè)務(wù)影響應(yīng)該盡量小,如果一次實驗導(dǎo)致大盤總體的核心指標(biāo)下降 5%,那影響就非常大了。
那該如何保證 A/B 測試的安全穩(wěn)定呢?有幾個方面。
首先 A/B 測試系統(tǒng)應(yīng)該支持灰度遞增,比如一開始僅拿 1% 的流量進(jìn)行實驗,在確定對大盤沒有負(fù)面影響或者有正面影響時,在慢慢遞增灰度數(shù)量。如果一上來就拿 20% 甚至更多的量做實驗的話,那很有可能會大盤數(shù)據(jù)造成影響。
其次我們需要監(jiān)控關(guān)鍵指標(biāo),我們需要設(shè)置一些關(guān)鍵指標(biāo)并且對這些指標(biāo)進(jìn)行監(jiān)控,比如給 DAU 設(shè)定一個閾值,當(dāng)實驗時的閾值低于這個值時,那就停止相關(guān)實驗,等待分析和處理后再重新實驗。
最后需要對 A/B 測試系統(tǒng)做一些限制,比如不允許灰度時直接放量到 100%。
3.3 精確洞察
在 A/B 測試系統(tǒng)功能可用并且安全穩(wěn)定的前提下,我們就需要考慮對實驗數(shù)據(jù)的精確洞察。
首先需要進(jìn)行實驗質(zhì)量測試,檢測數(shù)據(jù)是否可信,如果上報的數(shù)據(jù)不可信,那下面的分析比較都是徒勞的。
其次對于一些復(fù)雜場景的 A/B 測試來說,還需要做一些額外的工作進(jìn)行數(shù)據(jù)洞察,比如需要進(jìn)行用戶細(xì)分群組分析、分層抽樣、歸因分析等等,因為 To C 業(yè)務(wù)中主要針對單個改動進(jìn)行 A/B 測試,所以這里不贅述復(fù)雜場景的數(shù)據(jù)洞察方法。
然后我們還要制定實驗規(guī)范和審核機(jī)制,即使實驗系統(tǒng)比較完善,但如果操作不規(guī)范也有可能導(dǎo)致實驗故障。
3.4 規(guī)模效率
接下來我們要考慮如何提高規(guī)模效率,我們希望支持盡可能多的實驗同時進(jìn)行,也希望用盡可能少的樣本得到更多的信息。
在“實驗基礎(chǔ)”部分我們提到過,A/B 實驗的分流器應(yīng)該滿足隨機(jī)性、無限性和互不干擾性三個特性,其中的無限性指的是應(yīng)該支持對有限的用戶進(jìn)行無限的分組,以保證實驗組充足可用。
如果實驗之間互不影響,那只要實驗組充足也就夠了。如果是多個實驗并行并且互相之間有影響,或者一個實驗里面有多個影響因素,那這種情況應(yīng)該怎么辦呢?業(yè)界像 Google、微軟對此都有一些研究,比如方差減少方法、多臂老虎機(jī)等等,這里也不再贅述。
3.5 特殊場景
正常情況下,如果 A/B 測試系統(tǒng)能夠包含以上四個部分,那么已經(jīng)非常完備了,但是還有一些特殊場景也會影響到 A/B 測試系統(tǒng)的設(shè)計,這里簡單提一下。
首先是網(wǎng)絡(luò)效應(yīng)。我們做 A/B 測試實驗時默認(rèn)用戶與用戶之間是獨立,比如我所處的信息流業(yè)務(wù),絕大部分情況下,消費(fèi)信息流是用戶的獨立行為。但是還有一些像微信、QQ 這樣的社交業(yè)務(wù),用戶與用戶之間互相影響,參照組和實驗組的用戶可能互相干擾,那么在設(shè)計實驗時就要考慮這些。
其次是因果推斷。這經(jīng)常發(fā)生在無法隨機(jī)分配用戶的情況下,比如霧霾期間你出門,你可能戴了口罩也有可能沒戴,戴或者不戴你只能選擇一個。這種情況下,用戶只有你一個人,再來一個人同時觀察行不行,不行,因為兩個人的自身情況可能不一樣;那我今天和明天兩天對比行不行,也不行,今天和明天的霧霾情況可能會有差異。所以這類問題是有多個潛在結(jié)果,但你只能觀測到一種,其他情況只能推測。
還有增量模型。增量模型指的是利用機(jī)器學(xué)習(xí)和實驗進(jìn)行有成本的營銷策略,比如在預(yù)算固定的情況下如何最大化市場營銷效果。
3.6 實驗文化
如果說前五個部分能夠代表一個團(tuán)隊的 A/B 測試的硬實力的話,那么實驗文化就是軟實力了。
團(tuán)隊?wèi)?yīng)該營造一個數(shù)據(jù)驅(qū)動文化,知道什么是 A/B 測試實驗,什么時候該用 A/B 測試實驗等等。另外團(tuán)隊成員之間還應(yīng)該經(jīng)?;ハ喾窒韺嶒灠咐徒?jīng)驗,交流趟過的坑、有沒有更好的實驗方法,還可以交流一些行業(yè)前沿的成果等等。
4. 騰訊看點信息流的 A/B 測試實踐
隨著 2019 年 11 月份騰訊看點的成立,原本獨立的 QQ看點、QQ瀏覽器、看點快報進(jìn)行了整合,三端的更新迭代也趨于統(tǒng)一,功能研發(fā)也有序統(tǒng)一推進(jìn),其中一個便是短內(nèi)容的研發(fā)。
所謂短內(nèi)容,從字面理解就是內(nèi)容短小精悍的內(nèi)容。與傳統(tǒng)的圖文并茂、花樣復(fù)雜的信息流內(nèi)容相比,短內(nèi)容具有低門檻、快消費(fèi)、易傳播等特點。騰訊看點的短內(nèi)容原本只有“搞笑”這一個品類,但隨著業(yè)務(wù)發(fā)展,發(fā)現(xiàn)越來越多的品類可以以短內(nèi)容的形式展現(xiàn),所以產(chǎn)品提出“短內(nèi)容支持多品類”需求。
在功能開發(fā)完成后,下一步就是 A/B 測試環(huán)節(jié),驗證用戶是否喜歡新功能以及新功能對關(guān)鍵數(shù)據(jù)的影響。理想的步驟應(yīng)該就是進(jìn)行 A/B 測試實驗,然后進(jìn)行實驗分析,判斷實驗好壞,如果新版本效果較好那么就選擇新版本,否則就維持舊版本,如圖所示。

在上了多品類類型的短內(nèi)容后,A/B 測試的實驗結(jié)果顯示實驗組每天的時長均比參照組高 15%!看到這樣的數(shù)據(jù),你的第一反應(yīng)是什么:新功能有更好的效果。如果你這樣想,那表示你的 A/B 測試的能力還處于剛?cè)腴T的水平。我們先別急著對比分析,而是要先檢查數(shù)據(jù)是否正確。一般會有什么原因?qū)е聰?shù)據(jù)質(zhì)量出現(xiàn)問題呢?
可能是分流系統(tǒng),比如哈希函數(shù)導(dǎo)致分流不隨機(jī);可能是實驗人員操作不規(guī)范,導(dǎo)致實驗組不僅受本次實驗影響還收到其他實驗的影響;可能是數(shù)據(jù)上報的問題,因為數(shù)據(jù)上報口徑不一致導(dǎo)致數(shù)據(jù)有差異;也有可能是用戶的問題,比如大量的網(wǎng)絡(luò)爬蟲導(dǎo)致數(shù)據(jù)異常。也就是說,A/B 測試的任何環(huán)境都有可能導(dǎo)致數(shù)據(jù)質(zhì)量出現(xiàn)問題,那有什么檢查數(shù)據(jù)質(zhì)量的方法嗎?
這里有兩個方法。一是 A/A 測試,通過給參照組和實驗組配置一樣的功能,然后測試實驗數(shù)據(jù)是否有顯著偏差,如果出現(xiàn)了顯著偏差,那說明數(shù)據(jù)質(zhì)量肯定是有問題的;二是樣本比例測試,實驗組和參照組的樣本比例一般是 1:1,如果兩者顯著不等于 1:1,那說明其中一個用戶組丟失了一部分用戶。
所以,當(dāng)我們發(fā)現(xiàn)實驗組的用戶時長每天比參照組都要高 15% 時,我們對數(shù)據(jù)質(zhì)量進(jìn)行了檢測,最終發(fā)現(xiàn)原來是兩者的數(shù)據(jù)上報口徑存在差異,一個是把內(nèi)容中線的曝光和隱藏的間隔作為時長,另一個則是把內(nèi)容卡片的曝光和隱藏的間隔作為時長。
因此,當(dāng)進(jìn)行完 A/B 測試后,先不要急著分析下結(jié)論,一定得確保實驗數(shù)據(jù)質(zhì)量。這時,我們更新下 A/B 測試的流程。

在確定了數(shù)據(jù)質(zhì)量可靠的情況下,下面就需要對數(shù)據(jù)進(jìn)行分析。根據(jù) A/B 測試的目的或者業(yè)務(wù)類型的不同,用來衡量實驗效果的核心指標(biāo)也不同。大部分互聯(lián)網(wǎng)產(chǎn)品會以用戶指標(biāo)為核心指標(biāo),比如用戶次留、PV、UV、點擊率、使用時長等等;有的特殊的互聯(lián)網(wǎng)產(chǎn)品,比如電商網(wǎng)站會有一些其他的核心指標(biāo),比如下單率、評分、聯(lián)系客服量等等。
確定了實驗的核心衡量指標(biāo),下面就可以進(jìn)行實驗分析了。如果發(fā)現(xiàn)實驗組的指標(biāo)比參照組有所提升,即使有很細(xì)微的提升,那也是算是一個比較令人欣慰的現(xiàn)象,代表新的改動對數(shù)據(jù)增長有正向效果。但一般情況下,比較少有實驗?zāi)軌蚱鸬秸蛐Ч蛘哒f需要經(jīng)過多次的改動后才能迎合用戶。那如果我們發(fā)現(xiàn)實驗效果是負(fù)向的,那該如何做呢,真的就像流程圖里面畫的那樣“保持舊版本”嗎?
相信大部分人肯定不會立馬決定放棄新版本的,一方面新版本注入了大家的心血,直接舍棄太可惜,另一方面新版本代表未來趨勢。所以在發(fā)現(xiàn)用戶更喜歡老版本時,我們應(yīng)該想辦法改進(jìn)新版本。這里介紹一種“用戶細(xì)分群組分析”的方法。
所謂用戶細(xì)分群組分析,就是根據(jù)用戶的使用產(chǎn)品的用途將用戶進(jìn)行分組,嘗試分析哪部分用戶受影響最大,找出并解決他們的痛點。具體方法如下:1)用戶分組:用聚類模型根據(jù)用戶的用途將用戶分組;2)分組實驗分析:分析哪些用戶組是整體指標(biāo)下降的來源;3)重點組內(nèi)分析:對重點用戶組,分析用戶的行為痛點;4)定位痛點:根據(jù)數(shù)據(jù)洞察,在產(chǎn)品設(shè)計層面下定位痛點;5)改進(jìn)迭代:針對痛點進(jìn)行改進(jìn);6)重新實驗:開展新一期的實驗,驗證改進(jìn)是否用幫助。
在騰訊看點短內(nèi)容引進(jìn)“長內(nèi)容”類型的內(nèi)容時,發(fā)現(xiàn)實驗組的核心數(shù)據(jù)要比參照組少 0.6% 左右。這里先普及下背景,短內(nèi)容頁面的內(nèi)容大多是圖文,即上面是文字下面是圖片的組合,短內(nèi)容的文字一般不超過 6 行,而長內(nèi)容的文字行數(shù)不限。在引進(jìn)“長內(nèi)容”時,我們默認(rèn)將文字展開,對于數(shù)據(jù)的下滑,我們認(rèn)為長內(nèi)容的文字部分較長,會減少其他內(nèi)容的曝光,所以設(shè)置了一條規(guī)則,長內(nèi)容的文字部分超過 6 行則折疊,然后重新上線實驗,果然數(shù)據(jù)又恢復(fù)了正常。
在實驗分析階段,我們了解到當(dāng)新版本沒有滿足預(yù)期效果時,我們需要對新版本進(jìn)行迭代更新。我們再次完善 A/B 測試的流程:

在確定發(fā)布新版本后,我們便開始進(jìn)行灰度發(fā)布。發(fā)布前期的節(jié)奏一般較慢,從 1% 放量到 10% 需要半天左右的時間,放量過程中需要保持對數(shù)據(jù)的監(jiān)控,在確認(rèn)沒有問題后,會很快地從 10% 放量到 99%,保留 1% 的用戶在參照組繼續(xù)觀察,一周后 100% 全量。
5. 小結(jié)
本文主要介紹了 To C 業(yè)務(wù)的 A/B 測試。一個完善的 A/B 測試需要包含六個要素:實驗基礎(chǔ)、安全穩(wěn)定、精確洞察、規(guī)模效率、特殊場景和實驗文化,每個要素依次遞進(jìn);然后以騰訊看點信息流業(yè)務(wù)舉例,完善了 A/B 測試的流程,A/B 測試不僅僅只是簡單的對比實驗組和參照組效果,還需要在完成實驗后對數(shù)據(jù)質(zhì)量進(jìn)行檢查,以及在實驗分析后進(jìn)行分析決策,如果新版本的效果不理想還需要迭代改進(jìn)。
文源:FEPulse
特別提示:關(guān)注本專欄,別錯過行業(yè)干貨!
PS:本司承接 小紅書推廣/抖音推廣/百度系推廣/知乎推廣:關(guān)鍵詞排名,創(chuàng)意短視頻,筆記種草,代寫代發(fā)等;
咨詢微信:139 1053 2512 (同電話)
首席增長官CGO薦讀:
- 《小紅書推廣:筆記排名,KOC種草,達(dá)人筆記,數(shù)據(jù)優(yōu)化》
- 《硅谷增長專家Andrew Chen:AB測試的陷阱》
- 《產(chǎn)品運(yùn)營快速啟動 AB測試的 5 個步驟》
更多精彩,關(guān)注:增長黑客(GrowthHK.cn)
增長黑客(Growth Hacker)是依靠技術(shù)和數(shù)據(jù)來達(dá)成各種營銷目標(biāo)的新型團(tuán)隊角色。從單線思維者時常忽略的角度和高度,梳理整合產(chǎn)品發(fā)展的因素,實現(xiàn)低成本甚至零成本帶來的有效增長…
本文經(jīng)授權(quán)發(fā)布,不代表增長黑客立場,如若轉(zhuǎn)載,請注明出處:http://m.allfloridahomeinspectors.com/cgo/31220.html