復(fù)盤:如何從0~1搭建AB Test系統(tǒng)
本文筆者將對(duì)如何搭建一個(gè)AB test系統(tǒng)做完整的回顧以及復(fù)盤。文章講述內(nèi)容包括:搭建AB text 過程中如何進(jìn)行調(diào)研?如何將測(cè)試分層,制定衡量指標(biāo)?以及,具體的業(yè)務(wù)流程和功能設(shè)計(jì)如何?
隨著公司業(yè)務(wù)的發(fā)展,慢慢已經(jīng)從做新功能,變成優(yōu)化功能,至于怎么優(yōu)化功能,精細(xì)化運(yùn)營(yíng)已經(jīng)很難直觀判斷。尤其作為裂變?cè)鲩L(zhǎng)組的PM,對(duì)公司現(xiàn)有砍價(jià)、助力、簽到等工具的優(yōu)化,尤其需要引入AB?Test這種科學(xué)的評(píng)估工具。
所以,第一時(shí)間收到要從0搭建一個(gè)AB?Test系統(tǒng)以后,自己就很認(rèn)真的投入進(jìn)去。從需求調(diào)研到競(jìng)品分析,再到系統(tǒng)設(shè)計(jì)和功能設(shè)計(jì),再到具體的產(chǎn)品設(shè)計(jì)、后臺(tái)原型和需求文檔,以及最后的首期AB?Test上線并輸出結(jié)果。
發(fā)現(xiàn)更換3個(gè)字的按鈕文案后,取得了一個(gè)遠(yuǎn)超出預(yù)期的結(jié)果,按鈕點(diǎn)擊率從21%直接提升到39%。
以下是如何從零搭建一個(gè)AB?Test系統(tǒng)的回顧和復(fù)盤:
一、AB?Test
1. 什么是AB?Test?
簡(jiǎn)單來說,就是歸屬于互聯(lián)網(wǎng)行業(yè)的對(duì)照實(shí)現(xiàn)——即通過設(shè)置實(shí)驗(yàn)組和對(duì)照組,參與單一變量法來評(píng)估兩個(gè)組別的差距。自從2000年谷歌將其應(yīng)用于互聯(lián)網(wǎng)產(chǎn)品以來,逐步成為互聯(lián)網(wǎng)精細(xì)化運(yùn)營(yíng)的必備方法。
簡(jiǎn)單來說,就是就是在產(chǎn)品正式全面迭代之前,為同一個(gè)目標(biāo)制定不少于兩個(gè)的方案,將用戶分流至對(duì)應(yīng)方案內(nèi),在保證每組用戶特征相同的前提下,根據(jù)用戶的真實(shí)數(shù)據(jù)反饋,幫助產(chǎn)品決策。
ABTest的具體介紹個(gè)人認(rèn)為VWO的寫的最好,參考:What Is A/B Testing?
2. AB Test?解決什么問題?
對(duì)一個(gè)產(chǎn)品設(shè)計(jì),已經(jīng)能難直觀判斷是否真的是“優(yōu)化”,這個(gè)改變,可能是文案的優(yōu)化、按鈕的顏色、界面的布局或者功能的迭代,也可能是推薦算法。
AB?Test可以輔助設(shè)計(jì)者通過實(shí)際用戶的使用反饋,來確定到底哪個(gè)方案更優(yōu)。
3. 什么是一個(gè)好的AB測(cè)試?
- 有明確的測(cè)試目標(biāo):【立即參加】和【加入學(xué)習(xí)】哪個(gè)文案轉(zhuǎn)化率更好?
- 有清晰的衡量標(biāo)準(zhǔn):訂單轉(zhuǎn)化率&按鈕點(diǎn)擊率。
- 有精確的測(cè)試結(jié)果:如【立即參加】和【加入學(xué)習(xí)】,點(diǎn)擊率在90%的置信區(qū)間內(nèi)沒有差別?
二、調(diào)研
作為一個(gè)PM,收到要搭建一個(gè)AB?Test系統(tǒng)的時(shí)候,最先想到要做的就是調(diào)研,既包括競(jìng)品調(diào)研(第三方AB?Test供應(yīng)商),也包括需求調(diào)研(需求場(chǎng)景、目標(biāo)用戶)。
1. 競(jìng)品調(diào)研
主要調(diào)研了3個(gè)AB?Test解決方案供應(yīng)商,2個(gè)國(guó)內(nèi),1個(gè)國(guó)外,分別是:吆喝科技、Testing和VWO。
大概了解了AB?Test的系統(tǒng)構(gòu)成和功能設(shè)計(jì),這部分可以直接搜索對(duì)應(yīng)的公司官網(wǎng),體驗(yàn)DEMO。不過很遺憾,因?yàn)楣緲I(yè)務(wù)的去中心化的特點(diǎn),無法直接使用一些成熟的第三方服務(wù)。
2. 需求調(diào)研
目標(biāo)用戶:
毫無疑問,會(huì)用到AB?Test的都是公司內(nèi)部用戶,對(duì)于筆者所在的電商公司,會(huì)有PM、運(yùn)營(yíng)、研發(fā)(作者在第一階段忽略了研發(fā),但研發(fā)也確實(shí)是AB?Test的使用者之一)。
接下來就到了具體向用戶收集需求的階段,作者在需求收集階段做了兩件事情:
- 召集了一次用戶訪談,主要為PM、運(yùn)營(yíng)、設(shè)計(jì)的組長(zhǎng),簡(jiǎn)單收集了大家對(duì)AB?Test的需求,主要想用來測(cè)什么,有了初步的調(diào)研結(jié)果。
- 在公司W(wǎng)iki上建了一個(gè)AB?Test項(xiàng)目,發(fā)給了上面說的所有潛在用戶,收集用戶需求。主要內(nèi)容一是簡(jiǎn)單介紹了AB?Test,二是設(shè)計(jì)了一個(gè)表格邀請(qǐng)所有潛在用戶填寫,主要涉及這幾個(gè)項(xiàng)目,并且舉了自己手上產(chǎn)品砍價(jià)文案的例子。
發(fā)給同事以后,收到了很多反饋,比如:
- 運(yùn)營(yíng)同學(xué)想測(cè)試:banner高度是否影響的點(diǎn)擊率?
- 設(shè)計(jì)同學(xué)想測(cè)試:不同分享按鈕的顏色能不能提升點(diǎn)擊率?
- 大數(shù)據(jù)同學(xué)想測(cè)試:不同推薦算法的點(diǎn)擊率???
- ……
這時(shí)候,就有了明確的目標(biāo)用戶和使用場(chǎng)景,結(jié)合之前對(duì)競(jìng)品的分析,大概知道了涉及哪些模塊和功能,就進(jìn)入了下一個(gè)需求&功能梳理階段。
AB?Test需求梳理:
作者在需求梳理階段,分成了主要三個(gè)方面:一是希望測(cè)試的功能(即測(cè)試的范圍),二是想通過什么數(shù)據(jù)來評(píng)估實(shí)驗(yàn)差異,三是有沒有具體的分流&分流需求。
三、抽象后的使用場(chǎng)景
結(jié)合分層情況,從簡(jiǎn)單到復(fù)雜,將AB測(cè)試的范圍分成了以下幾個(gè)層次,從左到右為從實(shí)現(xiàn)難度從容易到難,測(cè)試范圍從小到大,劃分成了4個(gè)層次和微信生態(tài)內(nèi)的測(cè)試,具體如下:
- 表現(xiàn)層:主要指一些UI、文案、顏色層面,比如:按鈕文案不同,界面布局不同、某些小元素的顏色、樣式不同等,相對(duì)來說是最簡(jiǎn)單的層次,有AB?Test系統(tǒng)以后,僅需要少量的前端研發(fā)就能支持的實(shí)驗(yàn)。
- 信息層:主要某些信息是否展示,如銷量、倒計(jì)時(shí)等,也相對(duì)比較簡(jiǎn)單。
- 功能層:指對(duì)單個(gè)功能的修改迭代(前面兩個(gè)層次都不涉及對(duì)功能的修改),會(huì)對(duì)用戶使用流程等造成影響。
如將之前注冊(cè)流程從3步改成2步,或迭代電商下單流程等,可以用于功能的灰度發(fā)布。
這里要指出的是:研發(fā)會(huì)在這個(gè)層面有相對(duì)較多的測(cè)試需求,如測(cè)試不同SDK的崩潰率,不同第三方服務(wù)的線上響應(yīng)速度等,做系統(tǒng)設(shè)計(jì)的時(shí)候一定要記得收集研發(fā)的需求。
版本層,可以理解成為對(duì)功能的大幅度修改,可以使用AB?Test作為灰度發(fā)布的工具,如:首頁大的改版,商詳頁的重大改版等。
另外,有一個(gè)專屬于微信的,就是微信推送(模板消息的文案、推送策略)和分享的(文案、配圖),公司主做微信社交電商業(yè)務(wù),也加入了考慮范圍內(nèi)。
于是就有了上方這個(gè)圖,之后就到了整個(gè)功能的業(yè)務(wù)流程設(shè)計(jì)。
四、衡量指標(biāo)
順便收集了需要通過什么指標(biāo)來衡量AB?Test時(shí)不同版本的差異,梳理后主要有以下幾個(gè)。也需要在系統(tǒng)設(shè)計(jì)初期和研發(fā)溝通,確認(rèn)能收集到對(duì)應(yīng)數(shù)據(jù)。
- 點(diǎn)擊通過率 Click-through Rate (CTR)
- 轉(zhuǎn)化率 Conversion Rate (CR)
- 更新率 Renewal Rate
- 跳出率 Bounce Rate
- 平均保留率 Average Retention
- 平均使用量(應(yīng)用,手機(jī)網(wǎng)站、網(wǎng)頁,App屏幕或游戲場(chǎng)景上的時(shí)間),
- 平均每用戶事務(wù)數(shù)Average Transactions Per User
- 凈推動(dòng)者指數(shù) Net Promoter Score (NPS)
- 客戶滿意率 Customer Satisfaction Rate
- 平均每用戶收入 Average Revenue Per User (ARPU)
- 平均訂單大小 Average Order Size
五、AB?Test業(yè)務(wù)流程和功能設(shè)計(jì)
經(jīng)過競(jìng)品的調(diào)研,結(jié)合公司實(shí)際情況,將業(yè)務(wù)流程拆分成四步,即:
- 發(fā)起實(shí)驗(yàn),主要是產(chǎn)品或運(yùn)營(yíng)。
- 配置實(shí)驗(yàn),即通過代碼方式,實(shí)現(xiàn)AB版本的差異以及數(shù)據(jù)收集等。
- 開始實(shí)驗(yàn),即實(shí)驗(yàn)上線,包括了在實(shí)驗(yàn)過程中一些流量比例的管理,查看實(shí)時(shí)數(shù)據(jù)等。
- 結(jié)束實(shí)驗(yàn),即實(shí)驗(yàn)有結(jié)果以后,結(jié)束實(shí)驗(yàn)。
通過業(yè)務(wù)流程的分析,基本就能劃分出需要哪些系統(tǒng)功能和運(yùn)營(yíng)后臺(tái)功能了(其實(shí)第一個(gè)版本可以不需要運(yùn)營(yíng)后臺(tái),詳細(xì)的分析在最后)。
六、完成系統(tǒng)設(shè)計(jì)
所有以上的合集,就是ABTest整體的業(yè)務(wù)流設(shè)計(jì),之后就可以通過這個(gè)完整的系統(tǒng)設(shè)計(jì),來指導(dǎo)具體的產(chǎn)品設(shè)計(jì)了。
七、一期功能設(shè)計(jì)(刪掉所有非必要的)
AB?Test這類相對(duì)復(fù)雜系統(tǒng)的搭建其實(shí)有兩種形式:一種是業(yè)務(wù)驅(qū)動(dòng)的搭建方式,比較像MVP,我們先能簡(jiǎn)單的測(cè),再去迭代更多功能;另一種是系統(tǒng)架構(gòu)的方式,一開始就搭建一個(gè)相對(duì)比較完善的系統(tǒng)功能。
大部分公司都會(huì)選擇業(yè)務(wù)驅(qū)動(dòng)的方式,自己就是如此。因此,這時(shí)候就需要確定首期到底AB?Test什么?
最后,采用了業(yè)務(wù)驅(qū)動(dòng)的搭建方式,并且確定了首期要上線的測(cè)試是什么——即驗(yàn)證在砍價(jià)活動(dòng)的列表頁,將主按鈕從【去砍價(jià)】變成【免費(fèi)拿】能否提升點(diǎn)擊率,也就是最早提到的數(shù)據(jù)的實(shí)驗(yàn)。
因?yàn)橄到y(tǒng)設(shè)計(jì)階段,基本搭建的是完整的AB?Test系統(tǒng)需要的功能點(diǎn),這時(shí)候需要做的就是確定一期功能點(diǎn)。刪的方法也比較簡(jiǎn)單,就是把所有沒有必要的功能都刪掉。最后做到,如果沒有這個(gè)功能,這個(gè)實(shí)驗(yàn)就做不下去。
最后和研發(fā)反復(fù)溝通以后,并且根據(jù)當(dāng)前研發(fā)資源加了一些白名單、流量比例調(diào)整等,同事去掉了很多非必要功能,包括了版本分流、實(shí)時(shí)查看數(shù)據(jù)等(在上面的系統(tǒng)架構(gòu)圖中用虛線框住的部分)。那么,減掉這些以后,就是一期需要做的功能,這時(shí)候搭建AB?Test系統(tǒng)的主要需求分析和設(shè)計(jì)階段就完成了。
1. 具體產(chǎn)品設(shè)計(jì)
之后就進(jìn)入具體的產(chǎn)品設(shè)計(jì),簡(jiǎn)單來說就是結(jié)合競(jìng)品“抄”了,這部分沒有太多值得分享的點(diǎn)。關(guān)鍵的事項(xiàng)都已經(jīng)在之前做了,不外乎做原型,交互設(shè)計(jì),寫文檔之類,不再贅述。
2. 上線后的結(jié)果
首期上線以后,取得了還算不錯(cuò)的效果,修改一個(gè)三個(gè)字的文案,用戶點(diǎn)擊進(jìn)入商詳?shù)狞c(diǎn)擊率直接從21%提升到了39%。
看到結(jié)論的時(shí)候也略顯震驚,雖然筆者大概能猜到新文案會(huì)好一些。但遠(yuǎn)沒有意料到簡(jiǎn)單的三個(gè)字會(huì)有這么大的變化,點(diǎn)擊率幾乎翻了一倍(可以在99.99%置信度里認(rèn)為方案二更好)。
略有感慨:PM隨時(shí)隨刻要對(duì)未知的充滿好奇和敬畏。
于是這就完成了AB?Test系統(tǒng)從0~1的搭建!!
一些復(fù)盤的Tips
1. 是否需要一個(gè)專門的運(yùn)營(yíng)后臺(tái)來管理實(shí)驗(yàn)?
初期不需要,如果是專注于做實(shí)驗(yàn),得出結(jié)論,在一期的時(shí)候只需要有基礎(chǔ)的系統(tǒng)功能就行(實(shí)現(xiàn)版本差異、分流、看數(shù)據(jù)這三步)。
因?yàn)樵趯?shí)際開發(fā)出運(yùn)營(yíng)后臺(tái)之后,發(fā)現(xiàn)運(yùn)營(yíng)后臺(tái)能做的事情非常有限,反倒花了很多的資源和精力,不過完成的系統(tǒng)架構(gòu)分析一定是必不可少的。
2. 在收集實(shí)驗(yàn)場(chǎng)景的時(shí)候一定要問研發(fā)
自己在做的時(shí)候就是只收集了產(chǎn)品、運(yùn)營(yíng)、設(shè)計(jì)的需求,到后期的時(shí)候才發(fā)現(xiàn)研發(fā)也是AB?Test的用戶之一,在設(shè)計(jì)的時(shí)候也需要覆蓋他們的使用場(chǎng)景。
3. 公司是否有必要自己做一個(gè)AB?Test系統(tǒng)?
必要性不強(qiáng),現(xiàn)在可用的這類第三方服務(wù)商很多,比如:GrowingIO、VWO等,他們提供了很完善的后臺(tái)功能和SDK,只需要比較少的接入成本就能開始測(cè)試。
如果不是公司規(guī)模特別大,或者有限制無法接入第三方平臺(tái),建議都使用第三方服務(wù)。
4. 在什么階段應(yīng)該引入AB?Test?
最常用到AB?Test的就是增長(zhǎng)部門,但什么時(shí)候應(yīng)該引入AB?Test,應(yīng)該是在找到了一條相對(duì)比較可靠的增長(zhǎng)路徑之后,通過AB?Test來優(yōu)化這條路徑。
因?yàn)锳B?Test所能帶來的優(yōu)化基本都是百分比型的,對(duì)還沒有找到自己核心增長(zhǎng)方式的業(yè)務(wù)來說,提升有限,反倒會(huì)花費(fèi)很多資源。增長(zhǎng)PM在那個(gè)階段應(yīng)該更加投入到能帶來指數(shù)型或者倍數(shù)增長(zhǎng)的方式里去。
本文由 @ 陌紫豐田 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于 CC0 協(xié)議
請(qǐng)教一下,AB TEST結(jié)束以后,所有方案直接下線嗎?還是選擇較優(yōu)方案全部開發(fā)給用戶呢
大佬,原型圖可以分享下嗎?
同問,希望有原型學(xué)習(xí)一下;然后你文章中有涉及置信度的細(xì)節(jié)設(shè)計(jì)方法論嗎? 能否詳細(xì)說說呀
大佬,能分享下原型學(xué)習(xí)學(xué)習(xí)嗎?
有沒有可以使用的abtest平臺(tái),想體驗(yàn)一下,求安利?
我目前也在做ab test系統(tǒng),有些問題想請(qǐng)教一下~
您好請(qǐng)問, 對(duì)于調(diào)調(diào)整頁面布局,按鈕形狀等表現(xiàn)層的部分 不需要移動(dòng)端發(fā)版么?
需要的,版本里面就需要提前支持不同的方案,依據(jù)分層和分流的規(guī)則來決定投入使用的是哪一個(gè)方案,對(duì)應(yīng)的產(chǎn)生實(shí)驗(yàn)數(shù)據(jù)
提個(gè)問題,去砍價(jià) 免費(fèi)拿這個(gè)測(cè)試。兩次實(shí)驗(yàn)針對(duì)的都是同一批用戶嗎? 有沒有在整個(gè)流程用控制變量的方式進(jìn)行
AB Test實(shí)驗(yàn)都是同一時(shí)間進(jìn)行的,所以是同一批用戶。AB Test系統(tǒng)存在的目的就是為了控制變量,不過也有更加嚴(yán)謹(jǐn)?shù)膶?shí)驗(yàn)方式
同一時(shí)間? 同一時(shí)間怎么做到2個(gè)方案同步進(jìn)行的。 你說錯(cuò)了吧。
不應(yīng)該是同一時(shí)間,同一批用戶,不同分組嗎?比如相同的時(shí)間內(nèi),50%新用戶注冊(cè)需要綁定手機(jī),50%新用戶注冊(cè)不需要綁定手機(jī)
確定測(cè)試的目標(biāo)用戶范圍后,采用隨機(jī)的方式將這批用戶進(jìn)行分流,因?yàn)殡S機(jī)可以排除用戶自身的一些因素帶來的結(jié)果偏差