我從大數據學到的事(2) A/B Testing

Johnny Chuang
14 min readNov 27, 2019

--

The MBA program of RSM

前言

上一篇文介紹的是Text Analysis,我們介紹了domain、dimension、lexicon等專有名詞,以及計算時最核心的Naïve Bayes理論。今天這篇文要討論的是同樣也是商管領域中很常見的A/B Testing。

What is A/B Test?

想像你經營著一間訂房網站。可想而知,對於這個網站而言最重要的是最後的訂房率,要想最大化訂房率,除了與產業競爭者作出區別、投放足夠的廣告之外,網站本身的配置也很重要。舉例來說,給定下訂網頁中其他元素不變,以下兩種按鈕可能會造成消費者對於訂房不同的反應:

或是這兩種:

了解像這種二元問題的優劣正是A/B test最大的優勢。A/B test的定義如下:

控制其他變因相同,比較兩種版本網頁優劣性的一種測試。

執行A/B test最重要的一點就是我們必須控制只有一個變因,否則即使得到孰優孰劣,我們也不能在沒有考慮交互作用下得到結論。

在A/B test中,我們會將來網站的訪客平均分流給兩種版本以公平地判斷誰的表現較好。通常來說,測試會持續一段足夠讓我們收集到需要數據的時間,而我們會以CTR(Click-Through Rate)當作判斷優劣的標準。有了A/B test在背後支撐,我們不再僅僅是依靠猜測及直覺來更改網頁的配置。

Click-Through Rate的公式通常為特定(關鍵)頁面的click數/impressions(總拜訪人數)。

Advantages of A/B testing

.增加銷售

因為A/B test有針對普遍消費者喜好做修改的特性,降低Bounce rate之後最直接也最重要的優點就是能夠有效增加銷售。

Bounce指的是user進入網頁後並沒有點任何連結就跳出網頁。Bounce Rate的計算方式通常為Bounce visits/Total visits。Bounce rate是一個用來衡量消費者對於網站有沒有興趣的指標。

.易於分析

在A/B test中我們想要知道的只是二元的答案,因此只需要使用敘述統計搭配上假設檢定就可以輕易得到贏家。

.需要相對小的資料數

A/B test不需要數百萬筆的資料來得到結果,就算是一個一天只有數個成功conversion的網站,也可以輕易透過A/B test的方式來決定哪個版本比較適合。網路上也有這種split test calculator可以計算需要的資料數。

.減少遺棄的購物車

遺棄的購物車(Abandoned Cart)是所有E-commerce都會面臨到的一個嚴重問題,指的是消費者將商品放入網站購物車後最後並未結帳。據大部分的調查cart abandonment rates大約在40%至75%之間。透過A/B test去針對細節做試驗並修正,我們能夠有效地增加消費者在選定想要的商品後完成結帳的意願。

A/B testing v.s Multivariate Testing

前面提到在A/B test中,最重要的事之一即是控制變量只有一個,而事實上也存在著不只一個變量的測試,我們稱之為多變量測試(Multivariate Testing, MVT)。和A/B test不同,多變量測試是為了找出多個變量之間怎樣的組合能夠達到最好的效果,他必須考慮變量之間的交互作用,也因為如此多變量測試需要的資料數遠大於一般的A/B test。在這邊舉個簡單的例子讓大家了解多變量分析存在的必要性。

若今天我們的訂房網站的下訂頁面除了下訂按鈕不同(Book Now/Reserve)之外,同時還多了一個變量是房間照片要以靜態,或是幻燈片的方式呈現,我們得到四種網站配置組合,各分配100個visitors給每個組合,實測它們後的訂房率如下:

若我們將此例中的雙變量測試用兩個A/B test執行,在第一個A/B test中我們會得到"BOOK NOW"按鈕的訂房率為(36+42)/200=39%,而"RESERVE"按鈕的訂房率為36%,因此我們會認為BOOK NOW較好。在第二個測試中靜態圖片的訂房率為30%,而幻燈片的訂房率為45%,因此做完兩次測試我們的結論將會是"BOOK NOW"配上幻燈片是最好的組合,但實際上從表格上我們得知"RESERVE"配上幻燈片才是正確解,這就是未考慮交互作用的後果。

執行MVT最大的難處在於所需的數據量。一個網站上可以變更的包含搜尋、下訂、登入圖示等多種元素,網站必須要有足夠大的流量分給每個組合,才能在測試中達到統計顯著。綜合來說,如果是網頁中較重要、較大的版本差異比較可以用A/B test,而發現表現較好的版本後,可以進一步再用MVT去找出網頁中最好的配置組合。

A/B Testing Tools

目前網路上已經有非常多A/B test的測試工具,比較常見的有:

  1. Google Optimize

基本上是免費的!也有360的版本需要付費。免費版可以支援3個實驗同時進行,以及多變量分析(MVT)達16個變量等等,其實對於一般的中小型網站而言非常足夠了!唯一的小小缺點可能是在設定方面需要貼代碼,對於看到code就反胃的朋友可能有點不友善(?)

2. Optimizely

業界中領先的CRO(Conversion Rate Optimization)公司,提供A/B test服務的主要是Optimizely Web。需付費使用。功能強大,頁面也蠻容易上手的,比較有趣的是不同於一般A/B test工具使用我們熟知的p-value和confidence level當作檢定的結果,Optimizely使用的是他們稱為"Stats Engine”的方式。

關於Stats Engine背後的理論可以參考這裡

3. Adobe Target

Adobe Target是企業最喜歡用的A/B test產品之一,除了個人化頁面以及客製化目標之外,他最大的特色就是在數據分流時會透過self-learning的演算法去自動分流,這個概念和下一篇文的主題非常類似,也是我個人覺得非常有趣的項目,大家可以期待一下!

4. VWO

和Optimizely是競爭對手,兩者產品相似度非常高,VWO的優勢在於較為彈性的定價模式以及比起Optimizely更為個人化的頁面。VWO最有趣的部分大概是搜尋其他工具時在第一列永遠會跳出他的廣告:

Comparing XXX(其他工具名)? Try VWO & Increase Conversions

What We Actually Did

在這個module中,課程與RSM下的eCode合作。eCode主要是在做field experiments,試圖用machine learning來最佳化使用者經驗,有興趣的朋友可以上他們的網站看看。這次合作中我們拿到RSM MBA program網站的2018年4至6月的後台數據,數據包含使用者名稱、被分配到的morph、停留頁面、停留時間、是否進入關鍵頁面等等。在這兩個月內,點進MBA網站的user會被隨機分配設計好的兩種分別為抽象和具體的morph。

抽象的morph可以理解成較為概念化版本的網頁,而具體的則是含有較多細節的版本。

我們想要了解的問題很直覺:被分配到哪個morph的user會有較高的機會申請MBA,用術語來說我們想要了解哪個morph能帶來較高的CTR。

找不到morph好的中譯QQ,可以理解為網頁的一種版本。

第一個我們想回答的即是在給定的資料中哪個morph表現得較好。若將兩個morph視為兩個獨立的伯努力分配,根據中央極限定理(Central Limit Theorem, CLT),在大樣本下統計量T(X,Y)會遵循標準常態分佈,即

有了以上觀念後,我們只要將兩個morph的CTR算出來並帶進公式中,便可以得到大家熟知的p值和z值。

A/B test的結果

由於我們的問題是哪個morph表現較好,直覺地可以設定虛無假設為兩個morph的CTR無異,而對立假設自然就為兩者有異。根據計算的結果,我們在顯著水準95%下拒絕虛無假設,即兩者CTR有顯著差異,意即morph B(abstract)的表現顯著地比morph A(concrete)好。

經過特定路徑對於申請率的影響也是一個值得分析的點。鑒於我們的dependent variable是一個虛擬變數,選擇使用logistic regression。在模型裡放入了四個independent variables,分別代表了訪客被分配了哪個morph、花費的總時間、是否經過"為何選擇RSM"相關頁面、是否經過"生活費及學費"相關頁面。將80%的data作為訓練組,剩下20%的data為試驗組,得到結果如下:

results from logistic regression

要詮釋logistic regression的結果必須先了解勝算(Odds)的概念。

勝算:一個事件成功的機率/該事件沒發生的機率

而勝算比(Odds Ratio, OR)的定義就是兩個勝算相除。在logistic裡頭我們得到的估計式都是log(OR),因此只要取指數轉換回來,就可以知道IV變動一單位DV的勝算會如何變動。舉例來說,morph1_or_not這個變數的估計式為-0.1834,取指數後可以得到exp(-0.1834)=0.8324,即當morph1_or_not由0(morph 2,abstract)變成1(morph 1,concrete)時,申請率的勝率會變成原來的83.24%。這也驗證了我們先前說abstract morph表現較好的事實。用混淆矩陣(confusion matrix)呈現這個模型的結果如下,經過計算後得到模型的準確度為89.42%。

Confusion matrix and accuracy

我們還使用了T-test測試了花費時間和申請率之間的關係,和直覺相符,在95%顯著水準下我們相信花費時間越多的人越容易按下申請。除此之外,更進一步地對於常見的使用者路徑進行分析,有趣的是即使在排除可能的共線性問題之後,我們所謂的intermediate outcomes,一些被我們定義為"小成就"的頁面 (CV assessment, contact us, download brochure, register for an event),對於最後的申請率統計上仍沒有顯著幫助,算是違反直覺的一個例子。

Takeaways & Reflections

.驗證直覺&推翻直覺

一般來說申請MBA這種大事,我們會認為申請者應會將program研究透徹,因此具體的網站應較為吸引人。但用我們現有的數據跑出來的結果顯然不是如此。相對地,即使使用者和網頁有進一步互動(intermediate outcomes),申請率卻不一定會提高。對我來說,驗證所有直覺的不一定是好測試,但推翻直覺的絕對是有價值的測試。在不同的直覺假設下不斷驗證和推翻,讓我們說話的起手式不再是我覺得…,而是有數據在背後佐證,我認為就是A/B test最大的優點。.

.p-hacking

Example of p-hacking

P-hacking: The practice of reanalyzing data in many different ways to yield a target result.

在這個報告中做了非常多假設檢定後,我才開始正視p-hacking這個問題。 p-hacking白話解釋就是用盡各種手段得到理想中的p值。這種先有結果才有檢定的做法非常危險,透過刪除outliers、當跑出理想結果時就將實驗停止,或是不斷更換統計方法直到得到顯著效果等等方式,科學家有一千零一招可以操弄p值。

在進行統計分析時我認為有主觀意識是在所難免,畢竟沒有主觀直覺的帶領何來假設?但重要的是必須維持實驗的可重複性,同樣的數據在不同時間給不同人做實驗應該要有相同的結果。為此NIMH(National Institute of Mental Health)也已經制定了一系列實驗的規章,為的就是要遏止為了追求p值的惡劣風氣。

關於NIMH以及P-hacking可以參考這個網站

.混淆矩陣的精準度缺陷

從上面的程式碼可以看見我的混淆矩陣的精準度計算公式,事實上這樣直覺性的計算方式有非常大的改進空間,例如使用F1-score或是ROC-score來當作衡量的指標都是較好的方式。

關於F1-score可以參考這裡,而ROC-score可以參考這個

結語

和上一個相比,這個module較側重整理資料和分析,關於RSM MBA的網站還有蠻多想法是值得測試的,但迫於時間壓力還是只能在每個module中盡力驗證完核心的想法。而在這個報告中複習了不少R,算是小小的收穫。

下一篇文我將會分享最後一個module,也是我最有興趣、收穫最多的一個。這篇文中提到的A/B test是以靜態的方式隨機分配morph給使用者,在這個情境下我們也只有兩種morph做比較。倘若我們今天有數個不同的morph,其分別適合不同類型的使用者,我們能不能透過機器學習來讓電腦自動分配較適合的morph給不同的使用者呢?

在這邊先賣個關子XD這就是下一篇文Web Morphing的核心想法。

這篇文到這邊就差不多結束了。有什麼疑問或覺得需要改進的都歡迎留言給我,如果覺得寫的還行的話可以幫我拍拍手!謝謝大家:)

References

Davenport, Thomas (2009), “How to Design Smart Business Experiments”

Anderson, Eric and Duncan Simester (2011) “A Step-by-Step Guide to Smart Business Experiments”

Gallo, Amy. “A Refresher on A/B Testing”. Digital article # H03R3D-PDF-ENG June 28, 2017.

Ledolter and Swersey (2007), Testing 1–2–3: Experimental Design with Applications in Marketing and Service Operations, Stanford University Press.

Berman, Ron and Pekelis, Leonid and Scott, Aisling and Van den Bulte, Christophe, p-Hacking and False Discovery in A/B Testing (December 11, 2018)

Goldfarb, A. and Tucker, C. (2011). Online Display Advertising: Targeting and Obtrusiveness. Marketing Science 201130:3 , 389–404

Chamorro-Premuzic, Tomas and Nahai, Nathalie. “Why We’re So Hypocritical About Online Privacy”, Harvard Business Review, May 01, 2017

Edward Tung(2019), “SMOTE + ENN : 解決數據不平衡建模的採樣方法”

Thomas Insel(2014), “P-hacking”

--

--