復盤:如何從0~1搭建AB Test系統

12 評論 36892 瀏覽 230 收藏 16 分鐘

本文筆者將對如何搭建一個AB test系統做完整的回顧以及復盤。文章講述內容包括:搭建AB text 過程中如何進行調研?如何將測試分層,制定衡量指標?以及,具體的業務流程和功能設計如何?

隨著公司業務的發展,慢慢已經從做新功能,變成優化功能,至于怎么優化功能,精細化運營已經很難直觀判斷。尤其作為裂變增長組的PM,對公司現有砍價、助力、簽到等工具的優化,尤其需要引入AB?Test這種科學的評估工具。

所以,第一時間收到要從0搭建一個AB?Test系統以后,自己就很認真的投入進去。從需求調研到競品分析,再到系統設計和功能設計,再到具體的產品設計、后臺原型和需求文檔,以及最后的首期AB?Test上線并輸出結果。

發現更換3個字的按鈕文案后,取得了一個遠超出預期的結果,按鈕點擊率從21%直接提升到39%。

以下是如何從零搭建一個AB?Test系統的回顧和復盤:

一、AB?Test

1. 什么是AB?Test?

簡單來說,就是歸屬于互聯網行業的對照實現——即通過設置實驗組和對照組,參與單一變量法來評估兩個組別的差距。自從2000年谷歌將其應用于互聯網產品以來,逐步成為互聯網精細化運營的必備方法。

簡單來說,就是就是在產品正式全面迭代之前,為同一個目標制定不少于兩個的方案,將用戶分流至對應方案內,在保證每組用戶特征相同的前提下,根據用戶的真實數據反饋,幫助產品決策。

復盤:如何從0~1搭建AB Test系統

ABTest的具體介紹個人認為VWO的寫的最好,參考:What Is A/B Testing?

2. AB Test?解決什么問題?

對一個產品設計,已經能難直觀判斷是否真的是“優化”,這個改變,可能是文案的優化、按鈕的顏色、界面的布局或者功能的迭代,也可能是推薦算法。

AB?Test可以輔助設計者通過實際用戶的使用反饋,來確定到底哪個方案更優。

復盤:如何從0~1搭建AB Test系統

3. 什么是一個好的AB測試?

  • 有明確的測試目標:【立即參加】和【加入學習】哪個文案轉化率更好?
  • 有清晰的衡量標準:訂單轉化率&按鈕點擊率。
  • 有精確的測試結果:如【立即參加】和【加入學習】,點擊率在90%的置信區間內沒有差別?

二、調研

作為一個PM,收到要搭建一個AB?Test系統的時候,最先想到要做的就是調研,既包括競品調研(第三方AB?Test供應商),也包括需求調研(需求場景、目標用戶)。

1. 競品調研

主要調研了3個AB?Test解決方案供應商,2個國內,1個國外,分別是:吆喝科技、Testing和VWO。

大概了解了AB?Test的系統構成和功能設計,這部分可以直接搜索對應的公司官網,體驗DEMO。不過很遺憾,因為公司業務的去中心化的特點,無法直接使用一些成熟的第三方服務。

2. 需求調研

目標用戶:

毫無疑問,會用到AB?Test的都是公司內部用戶,對于筆者所在的電商公司,會有PM、運營、研發(作者在第一階段忽略了研發,但研發也確實是AB?Test的使用者之一)。

接下來就到了具體向用戶收集需求的階段,作者在需求收集階段做了兩件事情:

  1. 召集了一次用戶訪談,主要為PM、運營、設計的組長,簡單收集了大家對AB?Test的需求,主要想用來測什么,有了初步的調研結果。
  2. 在公司Wiki上建了一個AB?Test項目,發給了上面說的所有潛在用戶,收集用戶需求。主要內容一是簡單介紹了AB?Test,二是設計了一個表格邀請所有潛在用戶填寫,主要涉及這幾個項目,并且舉了自己手上產品砍價文案的例子。

發給同事以后,收到了很多反饋,比如:

  • 運營同學想測試:banner高度是否影響的點擊率?
  • 設計同學想測試:不同分享按鈕的顏色能不能提升點擊率?
  • 大數據同學想測試:不同推薦算法的點擊率???
  • ……

這時候,就有了明確的目標用戶和使用場景,結合之前對競品的分析,大概知道了涉及哪些模塊和功能,就進入了下一個需求&功能梳理階段。

AB?Test需求梳理:

作者在需求梳理階段,分成了主要三個方面:一是希望測試的功能(即測試的范圍),二是想通過什么數據來評估實驗差異,三是有沒有具體的分流&分流需求。

三、抽象后的使用場景

結合分層情況,從簡單到復雜,將AB測試的范圍分成了以下幾個層次,從左到右為從實現難度從容易到難,測試范圍從小到大,劃分成了4個層次和微信生態內的測試,具體如下:

  1. 表現層:主要指一些UI、文案、顏色層面,比如:按鈕文案不同,界面布局不同、某些小元素的顏色、樣式不同等,相對來說是最簡單的層次,有AB?Test系統以后,僅需要少量的前端研發就能支持的實驗。
  2. 信息層:主要某些信息是否展示,如銷量、倒計時等,也相對比較簡單。
  3. 功能層:指對單個功能的修改迭代(前面兩個層次都不涉及對功能的修改),會對用戶使用流程等造成影響。

如將之前注冊流程從3步改成2步,或迭代電商下單流程等,可以用于功能的灰度發布。

這里要指出的是:研發會在這個層面有相對較多的測試需求,如測試不同SDK的崩潰率,不同第三方服務的線上響應速度等,做系統設計的時候一定要記得收集研發的需求。

版本層,可以理解成為對功能的大幅度修改,可以使用AB?Test作為灰度發布的工具,如:首頁大的改版,商詳頁的重大改版等。

另外,有一個專屬于微信的,就是微信推送(模板消息的文案、推送策略)和分享的(文案、配圖),公司主做微信社交電商業務,也加入了考慮范圍內。

復盤:如何從0~1搭建AB Test系統

于是就有了上方這個圖,之后就到了整個功能的業務流程設計。

四、衡量指標

順便收集了需要通過什么指標來衡量AB?Test時不同版本的差異,梳理后主要有以下幾個。也需要在系統設計初期和研發溝通,確認能收集到對應數據。

  • 點擊通過率 Click-through Rate (CTR)
  • 轉化率 Conversion Rate (CR)
  • 更新率 Renewal Rate
  • 跳出率 Bounce Rate
  • 平均保留率 Average Retention
  • 平均使用量(應用,手機網站、網頁,App屏幕或游戲場景上的時間),
  • 平均每用戶事務數Average Transactions Per User
  • 凈推動者指數 Net Promoter Score (NPS)
  • 客戶滿意率 Customer Satisfaction Rate
  • 平均每用戶收入 Average Revenue Per User (ARPU)
  • 平均訂單大小 Average Order Size

五、AB?Test業務流程和功能設計

經過競品的調研,結合公司實際情況,將業務流程拆分成四步,即:

  1. 發起實驗,主要是產品或運營。
  2. 配置實驗,即通過代碼方式,實現AB版本的差異以及數據收集等。
  3. 開始實驗,即實驗上線,包括了在實驗過程中一些流量比例的管理,查看實時數據等。
  4. 結束實驗,即實驗有結果以后,結束實驗。

通過業務流程的分析,基本就能劃分出需要哪些系統功能和運營后臺功能了(其實第一個版本可以不需要運營后臺,詳細的分析在最后)。

復盤:如何從0~1搭建AB Test系統

六、完成系統設計

所有以上的合集,就是ABTest整體的業務流設計,之后就可以通過這個完整的系統設計,來指導具體的產品設計了。

復盤:如何從0~1搭建AB Test系統

七、一期功能設計(刪掉所有非必要的)

AB?Test這類相對復雜系統的搭建其實有兩種形式:一種是業務驅動的搭建方式,比較像MVP,我們先能簡單的測,再去迭代更多功能;另一種是系統架構的方式,一開始就搭建一個相對比較完善的系統功能。

大部分公司都會選擇業務驅動的方式,自己就是如此。因此,這時候就需要確定首期到底AB?Test什么?

最后,采用了業務驅動的搭建方式,并且確定了首期要上線的測試是什么——即驗證在砍價活動的列表頁,將主按鈕從【去砍價】變成【免費拿】能否提升點擊率,也就是最早提到的數據的實驗。

因為系統設計階段,基本搭建的是完整的AB?Test系統需要的功能點,這時候需要做的就是確定一期功能點。刪的方法也比較簡單,就是把所有沒有必要的功能都刪掉。最后做到,如果沒有這個功能,這個實驗就做不下去。

最后和研發反復溝通以后,并且根據當前研發資源加了一些白名單、流量比例調整等,同事去掉了很多非必要功能,包括了版本分流、實時查看數據等(在上面的系統架構圖中用虛線框住的部分)。那么,減掉這些以后,就是一期需要做的功能,這時候搭建AB?Test系統的主要需求分析和設計階段就完成了。

1. 具體產品設計

之后就進入具體的產品設計,簡單來說就是結合競品“抄”了,這部分沒有太多值得分享的點。關鍵的事項都已經在之前做了,不外乎做原型,交互設計,寫文檔之類,不再贅述。

2. 上線后的結果

首期上線以后,取得了還算不錯的效果,修改一個三個字的文案,用戶點擊進入商詳的點擊率直接從21%提升到了39%。

看到結論的時候也略顯震驚,雖然筆者大概能猜到新文案會好一些。但遠沒有意料到簡單的三個字會有這么大的變化,點擊率幾乎翻了一倍(可以在99.99%置信度里認為方案二更好)。

略有感慨:PM隨時隨刻要對未知的充滿好奇和敬畏。

復盤:如何從0~1搭建AB Test系統

于是這就完成了AB?Test系統從0~1的搭建??!

一些復盤的Tips

1. 是否需要一個專門的運營后臺來管理實驗?

初期不需要,如果是專注于做實驗,得出結論,在一期的時候只需要有基礎的系統功能就行(實現版本差異、分流、看數據這三步)。

因為在實際開發出運營后臺之后,發現運營后臺能做的事情非常有限,反倒花了很多的資源和精力,不過完成的系統架構分析一定是必不可少的。

2. 在收集實驗場景的時候一定要問研發

自己在做的時候就是只收集了產品、運營、設計的需求,到后期的時候才發現研發也是AB?Test的用戶之一,在設計的時候也需要覆蓋他們的使用場景。

3. 公司是否有必要自己做一個AB?Test系統?

必要性不強,現在可用的這類第三方服務商很多,比如:GrowingIO、VWO等,他們提供了很完善的后臺功能和SDK,只需要比較少的接入成本就能開始測試。

如果不是公司規模特別大,或者有限制無法接入第三方平臺,建議都使用第三方服務。

4. 在什么階段應該引入AB?Test?

最常用到AB?Test的就是增長部門,但什么時候應該引入AB?Test,應該是在找到了一條相對比較可靠的增長路徑之后,通過AB?Test來優化這條路徑。

因為AB?Test所能帶來的優化基本都是百分比型的,對還沒有找到自己核心增長方式的業務來說,提升有限,反倒會花費很多資源。增長PM在那個階段應該更加投入到能帶來指數型或者倍數增長的方式里去。

 

本文由 @ 陌紫豐田 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自Unsplash,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 大佬,原型圖可以分享下嗎?

    來自廣東 回復
  2. 同問,希望有原型學習一下;然后你文章中有涉及置信度的細節設計方法論嗎? 能否詳細說說呀

    來自廣東 回復
  3. 大佬,能分享下原型學習學習嗎?

    來自上海 回復
  4. 有沒有可以使用的abtest平臺,想體驗一下,求安利?

    來自上海 回復
  5. 我目前也在做ab test系統,有些問題想請教一下~

    來自廣東 回復
  6. 您好請問, 對于調調整頁面布局,按鈕形狀等表現層的部分 不需要移動端發版么?

    來自北京 回復
    1. 需要的,版本里面就需要提前支持不同的方案,依據分層和分流的規則來決定投入使用的是哪一個方案,對應的產生實驗數據

      來自廣東 回復
  7. 提個問題,去砍價 免費拿這個測試。兩次實驗針對的都是同一批用戶嗎? 有沒有在整個流程用控制變量的方式進行

    回復
    1. AB Test實驗都是同一時間進行的,所以是同一批用戶。AB Test系統存在的目的就是為了控制變量,不過也有更加嚴謹的實驗方式

      來自廣東 回復
    2. 同一時間? 同一時間怎么做到2個方案同步進行的。 你說錯了吧。

      來自江西 回復
    3. 不應該是同一時間,同一批用戶,不同分組嗎?比如相同的時間內,50%新用戶注冊需要綁定手機,50%新用戶注冊不需要綁定手機

      來自廣東 回復
    4. 確定測試的目標用戶范圍后,采用隨機的方式將這批用戶進行分流,因為隨機可以排除用戶自身的一些因素帶來的結果偏差

      來自四川 回復