從數(shù)據(jù)產(chǎn)品經(jīng)理視角,聊聊科學(xué)的AB Test

ceci
4 評論 22552 瀏覽 120 收藏 17 分鐘
🔗 B端产品经理需要更多地进行深入的用户访谈、调研、分析,而C端产品经理需要更多地快速的用户测试、反馈、迭代

隨著ab測試在互聯(lián)網(wǎng)行業(yè)用戶增長方面的推廣,各家都搭建了自己的ab測試平臺(不限于BAT) 或者 購買了ab測試服務(wù)。今天就來看下AB測試的前世今生,能為企業(yè)解決什么問題,如何標(biāo)準(zhǔn)化ab測試流程,如何搭建一個ab測試平臺。

36Kr曾在一篇報道中寫道:“頭條發(fā)布一個新APP,其名字都必須打N個包放到各大應(yīng)用市場進行多次A/B測試而決定,張一鳴告訴同事:哪怕你有99.9%的把握那是最好的一個名字,測一下又有神馬關(guān)系呢?”

一、追本溯源

AB測試的前身是隨機對照試驗-雙盲測試,是“醫(yī)療/生物實驗將研究對象隨機分組,對不同組實施不同的干預(yù),對照起效果”。

雙盲測試中病人被隨機分成兩組,在不知情的情況下分別給予安慰劑和測試用藥,經(jīng)過一段時間的實驗后再來比較這兩組病人的表現(xiàn)是否具有顯著的差異,從而決定測試用藥是否真的有效。

2000年谷歌工程師進行了第一次AB Test,試圖確定在搜索引擎結(jié)果頁面上顯示的最佳結(jié)果數(shù)量。后來AB測試不斷發(fā)展,但基礎(chǔ)和基本原則通常保持不變,2011年,谷歌首次測試后11年,谷歌進行了7,000多次不同的AB測試。

12年奧巴馬競選網(wǎng)站的樣式,通過AB Test 找到了更能吸引募捐,幫助奧巴馬贏得了更高的募捐金額。

AB Test將不同的用戶分成不同的組,同時測試不同的方案,通過用戶反饋的真實數(shù)據(jù)來找出哪一個方案更好的過程。解決的是“多種方案需要拍腦袋確認(rèn)哪一種更好的問題”。

二、特性

  • 先驗性:A/B Test 是一種“先驗體系”,屬于預(yù)測型結(jié)論(與其相對的是后驗型的經(jīng)驗歸納)。同樣是一個方案是否好壞:A/B Test 通過小流量測試獲得具有代表性的實驗結(jié)論,來驗證方案好壞后再決定是否推廣到全量;后驗型則是通過發(fā)布版本后的版本數(shù)據(jù)對比總結(jié)得到。
  • 并行性:是指支持兩個或以上的實驗同時在線,并需要保證其每個實驗所處環(huán)境一致。并行性極大的降低了多實驗的時間成本。
  • 科學(xué)性:AB Test是用科學(xué)的方式來驗證方案,科學(xué)性體現(xiàn)在流量分配的科學(xué)性、統(tǒng)計的科學(xué)性。記得在開篇提到的“AB測試的前身是隨機對照實驗,醫(yī)療/生物實驗將研究對象隨機分組,對不同組實施不同的干預(yù),對照起效果”,這要求AB Test將相似特征的用戶均勻的分派到實驗組別中,確保每個組別的用戶特征相同。

三、統(tǒng)計學(xué)原理

3.1 抽樣

總體:“是包含所研究的全部個體(數(shù)據(jù))的集合,它通常由所研究的一些個體組成,如由多個企業(yè)構(gòu)成的集合,多個居民戶構(gòu)成的集合,多個人構(gòu)成的集合,等等”。對于一個app、web網(wǎng)站,他的所有用戶即為總體。

樣本:與總相對應(yīng),是從總體中按一定比例抽取且能代表總體的部分個體集合。例如:分別抽樣5%的app用戶,形成實驗組、對照組。

從總體到樣本的過程,即為抽樣。所以ABTest,是通過抽樣 獲取 實驗組、對照組,對比統(tǒng)計量均值,以衡量實驗效果。

抽樣面臨問題“如何從一個總體中按一定比例抽取一組隨機樣本?”,也就是樣本統(tǒng)計值是否可以代表總體參數(shù)?

3.2 參數(shù)估計

為了估計總體參數(shù),會計算樣本的統(tǒng)計量,例如:某個優(yōu)化指標(biāo)的平均值。而樣本的統(tǒng)計結(jié)果為真實的總體統(tǒng)計結(jié)果的點估計,但由于點估計樹值與總體參數(shù)值在某種程度上存在差異??梢詷?gòu)造區(qū)間估計以便獲取關(guān)于點估計值與總體參數(shù)的差異大小的信息。區(qū)間估計是在點估計的基礎(chǔ)上,給出總體參數(shù)的一個概率范圍(點估計值 +/- 邊際誤差)。

可以利用總體標(biāo)準(zhǔn)差 或 樣本標(biāo)準(zhǔn)差 計算 邊際誤差。

(1)已知總體標(biāo)準(zhǔn)差

假設(shè):總體標(biāo)準(zhǔn)差=20,歷史數(shù)據(jù)顯示總體符合正態(tài)分布;抽取100個個體形成樣本,樣本均值為82。

樣本標(biāo)準(zhǔn)差=總體標(biāo)準(zhǔn)差/?開根號(樣本個數(shù))=20/ ?開根號(100)=2

故樣本符合均值為82、標(biāo)準(zhǔn)差為2 的正態(tài)分布

=> 查標(biāo)準(zhǔn)正態(tài)分布表得到,任何正態(tài)分布隨機變量都有95%的值在均值附近+/-1.96個標(biāo)準(zhǔn)差以內(nèi)。

=> 當(dāng)樣本均值是正態(tài)分布時,一定有95%的樣本均值落在總體均值?+/- 3.96(1.96*2=3.96)?=> 總體均值=樣本均值+/- 3.96 =?82?+/-3.96

=> 有95%的把握相信區(qū)間(78.08,85.92)包括總體均值。

**95%為置信水平,(78.08,85.92)為置信區(qū)間,邊際誤差為 ?Z分布(總體標(biāo)準(zhǔn)差/開根號(樣本個數(shù)))。

(2)已知樣本標(biāo)準(zhǔn)差,未知總體標(biāo)準(zhǔn)差

總體均值 = 樣本均值 +/- t分布(樣本標(biāo)準(zhǔn)差/開根號(樣本個數(shù)))

基于以上論述,可以得到 在某種置信水平下,置信區(qū)間(78.08,85.92)包括總體均值,論證了 “樣本統(tǒng)計值和總體參數(shù)相似程度”。

接下來,文中將介紹 如何知道一個方案是好還是壞呢?——可以通過假設(shè)檢驗來確認(rèn)是否應(yīng)該拒絕關(guān)于總計參數(shù)值。

3.3 假設(shè)檢驗

嘗試性的假設(shè)為原假設(shè)H0,與原假設(shè)對立的是備擇假設(shè)H1.?在AB測試中,原假設(shè)H0: 實驗組和參照組不存在差異,備擇假設(shè)是存在差異。

在假設(shè)檢驗的過程中會出現(xiàn)以下情況(橫向為真實情況,總想為結(jié)論):

我們做實驗時,期望盡可能的控制?第一/二類錯誤。

第一類錯誤:原假設(shè)為真時拒絕了原假設(shè) 首先我們?nèi)菀追傅木褪堑谝活愬e誤,就是原假設(shè)為真時拒絕了原假設(shè),說白了就是過來就是 2 個版本無差異時候,我們錯誤 的認(rèn)為他們有差異。

第一類錯誤出現(xiàn)的概率稱之為檢驗的顯著性水平α,一般取0.05或0.01。通過指定α 從而控制出錯概率。

犯第一類的假設(shè)檢驗稱之為 顯著性檢驗,通過P值來判斷:P值為z值的概率值(查表),是樣本所提供的證據(jù)對原假設(shè)支持成都的度量,p值越小說明反對原假設(shè)的證據(jù)越多。當(dāng)P值<=顯著性水平α, 則拒絕H0。

請注意此處的描述“不能拒絕H0 或 拒絕H0”,而不能描述為H1為真(如果控制?第一類 不控制??第二類,僅能如此描述)。

第二類錯誤:原假設(shè)為假時接受了原假設(shè),也就是 “2 個版本有差異時候,我們認(rèn)為他們沒有差異 ”,這個概率記為β ,不犯第二類錯誤的概率為的1-?β。1-?β:當(dāng)H0為假時,作出拒絕H0的正確結(jié)論的概率稱之為“檢驗的功效”,通常最低的統(tǒng)計功效值為80%。

綜上,通常情況下 AB實驗中, 95%+的置信水平,<5%顯著性水平 , > 80%統(tǒng)計功效,可以被認(rèn)為實驗是有效的,結(jié)果有代表性是可信的。

曾經(jīng)一度也曾有大量文章由于p值無法提供一個人類期望的結(jié)論,而抨擊p值已死。p值在統(tǒng)計學(xué)的意義中是用來推斷,而非歸納總結(jié)。僅用p值來確認(rèn)顯著性直接得到結(jié)論是不恰當(dāng)?shù)?,同學(xué)的先輩們聽到都會跳起來,引入統(tǒng)計功效、置信區(qū)間才能科學(xué)的解釋實驗數(shù)據(jù)。

四、科學(xué)分流

4.1 分流

分流是將用戶分入AB實驗的過程。

如何知道一個用戶應(yīng)該咋哪些實驗中呢?

對用戶id進行hash并取模后得到實驗。如果用戶量夠大,可以設(shè)置按1000,10000取模,得到的用戶組會變多。這種方式記為單層實驗架構(gòu),每個用戶只會分入一個組中,在同一時刻只會參與一個實驗。

這里的用戶id,不特指user_id,由于實驗的范圍不同,用戶id可以使用user_id、device_id、cookieid,以及global_id,global_id在各家公司稱呼不同,但表達意思均為全局流量id,是基于多種id得到的唯一id。

4.2?多層重疊實驗

如果有多個大流量實驗同時在線,如何增加新的實驗?zāi)兀?/p>

Google的文章中描述了多層重疊實驗,可以解決這個問題,也是業(yè)內(nèi)的主要方式,多層重疊實驗可以實現(xiàn)?“更多、更好、更快”做AB Test。

多層重疊實驗的幾個概念:

  • 域:域是對用戶流量的一種縱向劃分,將流量垂直的切分成多塊,多個域中的實現(xiàn)相互沒有干擾,保證實驗純度。
  • 層:層是對域流量的一個橫向劃分。每個層使用獨立的Hash函數(shù)對用戶進行分桶,使得多個層之間的用戶流量是正交的。如下圖所示,每個層中的實驗對其他層的影響都是正交的,,一份流量穿越每層實驗時,都會被再次隨機打散,參與第一層中實驗X的用戶,均勻的分散在層B中,使層B中的實驗也可以獨立進行分析,并得到準(zhǔn)確的分析結(jié)果。層內(nèi)實驗為互斥實驗。層內(nèi)多實驗互斥關(guān)系(下圖)與域的互斥關(guān)系相同,只是表述粒度不同。該流量可以繼續(xù)以“域”劃分為層,無限嵌套,但這樣復(fù)雜度會急劇增加,是不推薦的。

如果實驗是相互影響的(例如 實驗A更改按鈕樣式,實驗B更改按鈕文案),兩個實驗室需要設(shè)置為互斥實驗,建議放在同一層中。如果實驗間無影響(例如在UI、搜索、廣告推薦實驗),則可以在不同層進行實驗。

此外,精細化運營、國際化時本土化產(chǎn)品策略中 需要面向指定流量進行AB測試,如 對巴西的用戶AB Test。驗收測試的同學(xué),也需要將自己的id加入測試人群,但這批用戶的數(shù)據(jù)不應(yīng)該參與效果分析。特殊號碼過濾:如有些用戶id在分發(fā)時做了特殊人群的投放,需要過濾該人群。

五、AB Test 系統(tǒng)

上文中提到的均是AB測試的原理,為提升ABTest的速度,ABTest的代碼早已被封裝為了產(chǎn)品,如 商業(yè)化的有Optimize、吆喝科技、testin等,BAT TMD也都有自家的AB?Test系統(tǒng)。

TO 產(chǎn)品、運營、算法 同學(xué)(做實驗的人):

  1. 創(chuàng)建實驗,并同步實驗信息到服務(wù)端、客戶端開發(fā),以便其寫代碼時使用實驗code;
  2. 獲取實驗結(jié)果。

TO C端用戶(不局限于C端,這里僅是泛指,被實驗的人),將決定該用戶在哪些實驗中。

AB Test系統(tǒng)也和其他系統(tǒng)一樣,有管理模塊、權(quán)限模塊等。

各家AB Test系統(tǒng):

美團AB測試平臺:https://tech.meituan.com/2019/11/28/advertising-performance-experiment-configuration-platform.html

大眾點評: ?https://www.csdn.net/article/2015-03-24/2824303

Optimiz:http://www.googleoptimizedemos.com/

吆喝科技:http://www.appadhoc.com/

六、如何科學(xué)的做AB測試(AB測試標(biāo)準(zhǔn)化)

有了ABTest的概念,了解了原理,購買或者自建了系統(tǒng),如何建立標(biāo)準(zhǔn)化流程讓其在團隊中完整的執(zhí)行下來?

6.1 ABTest的局限性

在討論ABTest標(biāo)準(zhǔn)化執(zhí)行過程前,我們先看了解下ABTest的局限性,莫過于將其神化。

(1)ABTest是驗證方案、想法的策略,而不是戰(zhàn)略。

看到知乎中的一句話無比贊同:

“你可以用A/B測試讓你在已經(jīng)到達的山上越來越高,但你不能用它來發(fā)現(xiàn)一座新的山脈。如果你的產(chǎn)品真正需要的是一個完整的改造,那么A/B測試可能做不到”。

張一鳴在清華經(jīng)管學(xué)院,對問題“PM是否可以產(chǎn)品設(shè)計上是否更多的依賴ABtest而非直覺?”的解答:

“我們認(rèn)為這和ABtest同樣重要。我們反對從邏輯到邏輯,從邏輯到邏輯,很容易失之毫厘謬以千里。有一手的體驗?zāi)軒臀覀冞h離偏差,我們愿意把用戶的感受、體會帶到公司。我們?nèi)蚧牡谝患虑槭呛M庥脩舴答?,提供?lián)系方式,讓用戶可以直接聯(lián)系到我們。PM是需要sense的,AB的science可以用來的降低在細節(jié)層面的精力付出。

(2)ABTest是有開發(fā)成本的

(3)ABTest的數(shù)據(jù)只有現(xiàn)象,沒有詳情

ABTest可以給出實驗組比對照組的效果好現(xiàn)象,但無法給出過程數(shù)據(jù)。測試相對復(fù)雜的方案,ABTest無法表述出具體是哪個方面呈現(xiàn)出了優(yōu)勢。

6.2 ABTest的標(biāo)準(zhǔn)化流程

此外,AB測試時,需要警惕辛普森悖論。

后續(xù):ABTest的相關(guān)知識點還會在本文中陸續(xù)補充,期望了解點可以在評論中@我,我會逐一回復(fù)并補充到文章中的。

 

本文由 @cecil 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 1.96是基于標(biāo)準(zhǔn)正太分布

    回復(fù)
  2. 區(qū)間估計不對吧

    回復(fù)
  3. 大家期待已久的《數(shù)據(jù)產(chǎn)品經(jīng)理實戰(zhàn)訓(xùn)練營》終于在起點學(xué)院(人人都是產(chǎn)品經(jīng)理旗下教育機構(gòu))上線啦!

    本課程非常適合新手?jǐn)?shù)據(jù)產(chǎn)品經(jīng)理,或者想要轉(zhuǎn)崗的產(chǎn)品經(jīng)理、數(shù)據(jù)分析師、研發(fā)、產(chǎn)品運營等人群。

    課程會從基礎(chǔ)概念,到核心技能,再通過典型數(shù)據(jù)分析平臺的實戰(zhàn),幫助大家構(gòu)建完整的知識體系,掌握數(shù)據(jù)產(chǎn)品經(jīng)理的基本功。

    學(xué)完后你會掌握怎么建指標(biāo)體系、指標(biāo)字典,如何設(shè)計數(shù)據(jù)埋點、保證數(shù)據(jù)質(zhì)量,規(guī)劃大數(shù)據(jù)分析平臺等實際工作技能~

    現(xiàn)在就添加空空老師(微信id:anne012520),咨詢課程詳情并領(lǐng)取福利優(yōu)惠吧!

    來自廣東 回復(fù)
  4. 你好,我現(xiàn)在是產(chǎn)品經(jīng)理,正在往數(shù)據(jù)產(chǎn)品經(jīng)理的方向?qū)W習(xí),在社區(qū)搜索關(guān)鍵詞的時候就看到了你寫的文章。所以想請教一下您目前工作職責(zé)有哪些,工作中都會和哪些崗位的人合作,您典型的1天工作場景是如何的呢?ヾ(≧?≦謝謝≧?≦)ノ

    來自重慶 回復(fù)
专题
15625人已学习14篇文章
在我们的生活中,因为大数据的应用,很多事情变得越来越便利。本专题的文章分享了大数据的应用场景。
专题
15688人已学习12篇文章
运费是电商的基础功能模块之一,承担着商品运费计算的作用。本专题的文章分享了如何设计运费规则。
专题
16952人已学习12篇文章
如何搞懂财务和业务之间的关系,并推进业务系统财务模块的建设呢?本专题的文章分享了财务系统的设计指南。
专题
13648人已学习12篇文章
如何快速了解一个行业?这需要你对这一行业进行细致的调研,了解当下的整体市场环境与未来的发展趋势,进而为后续的产品规划做好准备。本专题的文章分享了行业调研指南。
专题
13325人已学习12篇文章
知识管理是什么?通常来看,想理解知识管理,可以从业务、管理、实施等视角切入。本专题的文章分享了如何做知识管理。
专题
12447人已学习14篇文章
近年来,盲盒大量出现在公众视野,引起了一波又一波消费热潮。本专题的文章分享了解读盲盒营销。