網站設計中,我們經常會面臨多個設計方案的選擇,比如某個按鈕是用紅色還是用藍色,是放左邊還是放右邊。傳統的解決方案通常是集體討論表決,或者由某位專家或領導來拍板,實在決定不了時也有隨機選一個上線的。雖然傳統解決辦法多數情況下也是有效,但A/B測試(A/B-Testing)可能是解決這類問題的一個更好的方法。
所謂A/B測試,簡單來說,就是為同一個目標制定兩個方案(比如兩個頁面),讓一部分使用者使用 A 方案,另一部分使用者使用 B 方案,記錄下使用者的使用方式,看哪個方案更符合設計目標。當然,在實際操作過程之中還有許多需要注意的細節。
A/B 測試並不是互連網測試新發明的方法,事實上,自然界也存在著類似 A/B 測試的事件,比如中的達爾文雀。
達爾文雀主要生活在太平洋東部加拉帕戈斯(Galapagos)的一個名為伊莎貝拉(Isabela)的島上,一部分生活在島的西部,另一部分生活在島的東部,由於生活環境的細微不同它們進化出了不同的喙。這被認為是自然選擇學說上的一個重要例證。
同樣一種鳥,究竟哪一種喙更適合生存呢?自然界給出了她的解決方案,讓鳥兒自己變異(多個設計方案),然後優勝劣汰。具體到達爾文雀這個例子上,不同的環境中喙也有不同的解決方案。
上面的例子雖然和網站設計無關,但包含了 A/B 測試最核心的思想,即:
1、多個方案並行測試;
2、每個方案只有一個變數(比如鳥喙)不同;
3、以某種規則優勝劣汰。
需要特別留意的是第 2 點,它暗示了 A/B 測試的應用範圍,——必須是單變數。有時我們的多個設計稿可能會有非常大的差異,這樣的情況一般不太適合做 A/B 測試,因為它們的變數太多了,變數之間會有較多的幹擾,我們很難通過 A/B 測試的方法來找出各個變數對結果的影響程度。比如,馬鈴薯燒肉和豆腐鯽魚湯都挺美味,但我們很難比較馬鈴薯和豆腐哪一個對菜的美味影響更大,而馬鈴薯燒肉和豆腐燒肉則是不錯的比較。另外,雖然 A/B 測試名字中只包含 A、B ,但並不是說它只能用於比較兩個方案的好壞,事實上,你完全可以設計多個方案進行測試,“A/B 測試”這個名字只是一個習慣的叫法。
回到網站設計,一般來說,每個設計方案應該大體上是相同的,只是某一個地方有所不同,比如某處排版、文案、圖片、顏色等。然後對不同的使用者展示不同的方案。
要注意,不同的使用者在他的一次瀏覽過程中,看到的應該一直是同一個方案。比如他一開始看到的是 A 方案,則在此次會話中應該一直向他展示 A 方案,而不能一會兒讓他看 A 方案,一會兒讓他看 B 方案。同時,還需要注意控制訪問各個版本的人數,大多數情況下我們會希望將訪問者平均分配到各個不同的版本上。要做到這些很簡單,根據 cookie (比如 cookie 會話ID的最後一位元字)決定展示哪個版本就是一個不錯的方法。
下面是 A/B 測試:
可以看到,要實現 A/B 測試,我們需要做以下幾個工作:
1、開發兩個(或多個)不同的版本並部署;
2、收集資料;
3、分析資料,得出結果。