Show Menu
主題×

Ten common A/B testing pitfalls and how to avoid them

A/B 測試會形成多數數位行銷最佳化程式的骨幹,協助行銷人員為其訪客和客戶提供最佳化和鎖定的體驗。本節說明公司在執行A/B測試時,最常遭遇的十大陷阱。 其中也包括避免這些問題的方式,使您的公司可透過其測試成果達到更高的 ROI,並在其報告的 A/B 測試結果中擁有更高的可信度。

Pitfall 1: Ignoring the effects of the significance level

測試報告兩個選件之間的轉換率有顯著差異,但事實上沒有,這種可能性多大? 這就是測試的​ 顯著水準 ​有助判別之處。這種誤解研判通常稱為誤判,以統計術語來說就叫做「第一型錯誤」(如果您錯誤地否決虛無假設,但事實上成立)。
當您指定 A/B 測試的顯著水準時,就是在容忍接受一項體驗優於另一項體驗但其實不是 (第一型錯誤或「偽陽性」),還是要無視於驗證之間的統計差異但事實上真的有差異 (第二型錯誤或「偽陰性」),在這兩者之間做取捨。 信賴水準 ​是在測試執行之前決定。
信賴區間 (在測試完成之後決定) 受三個關鍵因素所影響: 測試的樣本大小、顯著水準及母體標準差。因為行銷人員已於測試之前選取顯著水準,且無法影響母體標準差,唯一「可控制的」因素只有樣本大小。讓您覺得舒適的信賴區間所需的樣本大小,以及達到此樣本大小所花的時間,是行銷人員在測試設計期間所必須決定的關鍵決策。
另一個直接相關的術語是​ 信賴水準 ,採取較為樂觀的作法。不同於顯著水準指出發生誤判的可能性,信賴水準代表測試不會犯此錯誤的可能性。
信賴水準和顯著水準直接相關,因為:
% - 信賴水準 = 顯著水準
在 A/B 測試中,市場行銷人員通常採用 95% 信賴準則。根據上述方程式,這相當於顯著水準 5%。以 95% 信賴水準來測試,就表示即使選件之間實際上沒有差異,您仍有 5% 的機會發現統計顯著的提升度。
如下圖所示,執行的測試越多,越可能至少有一個測試會產生誤判。例如,假設您以 95% 信賴水準執行 10 次測試,則大約有 40% 的機會發現一次以上的誤判 (假設無真正提升度: Pr(至少一次誤判) = 1 - Pr(沒有誤判) = 1 - 0.95^10 = 40%)。
在市場行銷組織裡,95% 在偽陽性與偽陰性的風險之間通常算是合理取捨。
不過,有兩種情況值得密切注意顯著水準及其對測試結果的含意: 測試後分割與測試多個選件。
  • 測試後分割: ​市場行銷人員在 A/B 測試結束後 通常會根據訪客區段來切割測試結果。常用區段包括瀏覽器類型、裝置類型、地理區、一天中的時間,以及新訪客還是再度訪問的訪客。這項作法稱為測試後分割,可以更深入洞察訪客區段。接著,市場行銷人員可利用這些見解,建立更具目標性及更有相關性和差異性的內容。
    如果轉換率真的沒有差異,則每次測試區段時,誤判的機率就等於顯著水準。如上所述,執行越多測試,就越可能在這些測試之中至少遇到一次誤判。本質上,每一個測試後區段就代表一次獨立測試。以顯著水準 5% 而言,平均每次查看 20 個測試後區段就會掉入一次誤判。上圖顯示此可能性增加的情形。
    如上所述,執行越多測試,就越可能在這些測試之中至少遇到一次誤判。本質上,每一個測試後區段就代表一次獨立測試,這也增加誤判的可能性。如果區段相互關聯,這種增加的情形甚至更明顯。
    就直接不要做測試後分割嗎? 否,測試後區段有其價值。相反地,為了避免由於測試後分割而累積的這種誤判問題,在識別測試後區段之後,請考慮在新的測試中測試此區段。或者,您可以套用 Bonferroni 校正,如下所討論。
  • 測試多個選件: ​市場行銷人員經常將兩個以上的選件 (或體驗) 相互測試。這就是為何有時會看到 A/B 測試解決方案稱為 A//B/n 測試的原因,其中,n 是您同時測試的選件數量。
    務必注意,所測試的​ 每一個 ​選件的誤判率等於顯著水準,如上所述。同樣地,在單一測試環境中有多個選件相互競爭時,實際上就是在執行多個測試。例如,假設您在 A//B/C//D/E 測試中比較五個選件,實際上會形成四次比較: 控制項至 B、控制項至 C、控制項至 D、控制項至 E。在 95% 的信賴水準下,判誤機率不是 5%,實際上是 18.5%。2
    為了將整體信賴水準保持在 95%,並避免此問題,您需要採用所謂的 Bonferroni 校正。採用此校正時,就只要將顯著水準除以比較次數,然後得出您達到 95% 信賴水準所需的顯著水準。
    如果對上述範例採用 Bonferroni 校正,則您會使用 5%/4 = 1.25% 顯著水準,這等同於個別測試的 97.75% 信賴水準 (100% - 1.25% = 98.75%)。如同在上述範例中,當您有四個測試時,此調整會將有效信賴水準維持在 95%。

Pitfall 2: Declaring winners of multiple offer tests with no statistically significant difference

在多次選件測試中,市場行銷人員通常會將提升度最高的選件宣佈為測試獲勝者,即使獲勝者和第二名之間沒有統計顯著的差異也一樣。當替代項之間的差異小於替代項與控制項之間的差異,就會發生此狀況。下圖說明此概念,黑色誤差線代表 95% 提升度信賴區間。每一個選項相對於控制選件的真正提升度為 95%,很可能納入信賴區間內 (誤差線所示的範圍)。
選件 A 和 B 在測試期間有最高觀察提升度,選件 C 在未來測試中不太可能勝過這些選項,因為 C 的信賴區間沒有與 A 或 B 的信賴區間重疊。不過,即使選件 A 在測試期間有最高觀察提升度,選件 B 在未來測試中仍很有可能表現良好,因為信賴區間重疊。
在此,結論為選件 A 和 B 都應該視為測試的獲勝者。
測試通常不可能執行得夠久來找出替代項的真正相對效能,且替代項之間的效能差異往往太小,而難以大幅影響轉換率。在此情況下,您可以將結果解讀為不分勝負,並採用其他考量,例如與頁面的其他元素一起規劃或結合,以決定應該實作的選件。在多個測試中,您必須欣然接受會有多個獲勝者,在某些情況下,這極可能讓網站開發的方向出現更多可能性。
請注意,如果您不要識別轉換率最高的選件,則是將所有選件相互比較。在上述範例中,您有 n=5 個選件 - 您必須進行 n(n-1)/2 次比較,或 5*(5-1)/2 = 10 次比較。在此情況下,Bonferroni 校正要求測試的顯著水準為 5%/10 = 0.5%,這對應於信賴水準 99.5%。但是,如此高的信賴水準,可能需要以不合理的超長時間執行測試。

Pitfall 3: Ignoring the effects of statistical power

統計檢定力是測試在選件之間偵測到轉換率有真正差異的機率。因為轉換事件的隨機本質 (或統計學家常說的「或然率」),測試可能不會顯示統計顯著的差異,即使兩個選件之間的轉換率長期存在真正差異也一樣。這就叫做運氣不好或機遇。未能偵測到轉換率的真正差異就稱為偽陰性 (或第二型誤差)。
有兩個關鍵因素可決定測試的檢定力。第一個是樣本大小,也就是測試包含的訪客數目。第二個是您要讓測試偵測的轉換率差異的強度。這或許稍微需要倚靠直覺,但如果您只有興趣偵測很大的轉換率差異,則會有相當高的機會,測試真的會偵測到這樣大的差異 - 有點像是透過紙巾捲筒來看時,發現您的客廳有隻大象或蒼蠅。沿著這幾條線,您要偵測的差異越小,您需要的樣本就越大,因而取得這麼大的樣本大小所花的時間也越長。
現在的市場行銷人員在極多的測試中都動力不足。換言之,他們使用的樣本大小太小。這表示即使轉換率實際上存在實質差異,他們偵測到真肯定也是機會渺茫。事實上,如果您連續執行動力不足的測試,誤判次數可能比得上 (甚至壓過) 真肯定次數。這通常會導致對網站實作中性變更 (浪費時間),或實際上會減少轉換率的變更。
為了避免測試動力不足,請注意動力充足測試的一般標準包括 95% 的信賴水準和 80% 的統計檢定力。此測試指出您有 95% 的機率避免誤判,也有 80% 的機率避免誤判。

步驟4:使用單尾測試

在特定顯著水準下,單尾檢定只需要選件之間的轉換率有較小的觀察差異,就可判定獲勝者。這似乎很迷人,因為可提早決定獲勝者,而且往往比使用雙尾檢定時更早。但俗話說「天下沒有白吃的午餐」,單尾檢定有其代價。
在單尾檢定中,您是測試選件 B 是否優於選件 A。在測試開始之前,必須決定測試方向 (在統計學用語中叫做「事前」)。換言之,在起始測試​ 之前 ,您必須決定是否要測試 B 優於 A,還是 A 優於 B。不過,如果您查看 A/B 測試的結果,看到 B 優於 A, 然後 ​就決定進行單尾檢定,以查明該差異是否為統計顯著,您就違反統計檢定背後的假設。違反測試的假設就表示信賴區間不可靠,且測試的誤判率高於您的預期。
您可以將單尾檢定想像成將選件交給已先入為主的法官受審。在單尾檢定中,您已決定何者將是勝出選件,且希望證明如此,而不讓每一個體驗有公平機會來證明自己是獲勝者。單尾檢定僅適用於罕見情況,其中您只有興趣某個選件是否優於另一個選件,而不是反過來。為了避免單尾檢定的問題,請使用 A/B 測試解決方案,這種測試一律採用雙尾檢定,例如 Adobe Target。

皮特佛爾五:監控測試

市場行銷人員經常會監視 A/B 測試,直到測試決定顯著結果為止。在達到統計顯著性之後,到底為何要測試?
很可惜,不是那麼簡單。並不是要阻止,而是事實證明監視結果不利於測試的有效統計顯著性。實際上會大幅增加誤判的可能性,使信賴區間變得不可信。
這似乎會造成混淆。聽起來像是說在測試中途查看結果,就會造成失去統計顯著性。實際情形並非如此。下列範例會解釋原因。
假設您模擬兩個選件的 10,000 次轉換,而兩個選件都有 10% 的轉換率。因為轉換率相同,將兩個選件彼此測試時,您應該偵測不到轉換提升度有任何差異。根據 95% 的信賴區間,在將 10,000 個觀察值全部收集之後來評估測試時,測試就產生預期的 5% 誤判率。因此,如果執行其中 100 次測試,則平均會得到五次真肯定 (實際上,在此例子中,全部肯定都是假的,因為兩個選件之間的轉換率沒有差異)。不過,如果在測試期間對測試評估 10 次 (每 1,000 個觀察值),結果誤判率會升高到 16%。監視測試會使誤判的風險超過三倍! 怎麼會這樣?
若要瞭解為何如此,您必須考量在偵測到與沒有偵測到顯著結果時,所要採取的不同動作。偵測到統計顯著結果時,就會停止測試,並宣佈獲勝者。不過,如果結果不是統計顯著,則容許測試繼續。此狀況特別偏袒正面結果,因此使測試的有效顯著水準失真。
為了避免此問題,在起始測試之前,您應該決定測試執行的適當時間長度。在測試期間查看測試結果,以確定您正確實施測試,雖然這樣很好,但在達到必要的訪客數目之前,請勿下結論或停止測試。換言之,不准偷看!

皮特佛爾6:提早停止測試

在測試剛開始的幾天,如果其中一個選件表現得比其他選件好很多或差很多,就會很想停止測試。不過,當觀察值數目太少時,觀察到正提升度或負提升度極有可能只是機遇,因為轉換率以很少的訪客數目來算平均值。隨著測試收集更多的資料點,轉換率就會往真正長期值收斂。
下圖顯示長期轉換率相同的五個選件。選件 B 的前 2,000 位訪客轉換率不足,經過很久之後,預估轉換率才回到真正長期比率。
此現象稱為「趨向平均數的迴歸」,當選件在測試最初幾天表現良好,但長期卻未能保持這種表現水準時,就會令人失望。此外,當良好選件因為在測試初期偶然表現欠佳而未實施時,也可能導致收入損失。
很像監視測試的陷阱一樣,解決這些問題的最佳之道是在執行測試之前,決定足夠的訪客數目,然後讓測試一直執行到此數目的訪客已看到選件為止。

皮特佛爾七:在測試期間變更流量分配

我們建議您不要在測試期間變更流量分配百分比,因為這可能會偏斜您的測試結果,直到資料正常化為止。 例如,假設您有A/B測試活動,其中80%的流量指派給體驗A(控制項),而20%的流量指派給體驗B。在測試期間,您會將每個體驗的配置變更為50%。 幾天後,您將流量分配變更為100%至體驗B。
在此案例中,使用者如何指派給體驗?
如果您手動將體驗B的分配分割變更為100%,原先分配給體驗A(控制項)的訪客會保留在最初指派的體驗(體驗A)中。 流量分配的變化只影響新進入者。
如果您想要變更百分比或大幅影響每個體驗的訪客流量,建議您建立新活動或複製活動,然後編輯流量分配百分比。
如果您在測試期間變更不同體驗的百分比,資料會經過幾天的時間進行標準化,尤其是當許多購買者是舊訪客時。 另一個例子是,如果您的A/B測試流量分配被分割為50/50,然後您將分割變更為80/20,則在變更後的頭幾天,結果可能看起來有偏差。 如果平均轉換時間較長,表示購買需要數小時甚至數天的時間,這些延遲的轉換可能會影響您的報表。 因此,在第一次體驗中,當數量從50%變更為80%,而平均轉換時間為兩天時,在測試的第一天,只有來自50%人口的訪客會進行轉換,儘管今天有80%的人口會進入體驗。 這讓轉換率看起來銳減,但在80%的訪客花了兩天轉換後,轉換率會再次正常化。

Pitfall 8: Not considering novelty effects

如果未給與足夠時間來執行測試,可能會發生其他非預期的事情。這一次不是統計學問題,而只是訪客對於變更的反應。如果您變更網站中妥善建立的部分,則再度訪問的訪客剛開始可能比較不會完整參與新選件,因為這會改變平常的工作流程。這可能暫時造成優秀的新選件未能發揮最佳表現,直到再度造訪的訪客開始習慣為止 - 在優秀選件提供長期增益之前需要付出的小代價。
為了判斷新選件表現欠佳是因為新穎效應,還是選件真的很差,您可以將訪客分成新訪客和再度造訪的訪客,以比較轉換率。如果只是因為新穎效應,新選件終將會讓新訪客接受。最後,當再度訪問的訪客習慣新的改變時,選件也會被他們接受。
新穎效應也可能逆轉情況。訪客通常會正面回應改變,就只是因為這會帶來新的事物。一段時間後,隨著新內容不再新鮮,或不再引起訪客的興趣,轉換率就會下降。此效應很難辨認,但仔細監視轉換率的改變查明的關鍵。

Pitfall 9: Not considering differences in the consideration period

思索期是指從 A/B 測試解決方案提供選件給訪客開始,一直到訪客轉換為止的一段期間。這對於會重大影響思索期的選件很重要。例如,暗示截止時間的選件,像是「限時優惠 - 本星期日以前購買」。
這種選件會促使訪客儘快轉換,如果在選件過期後立即停止測試,就更有利,因為替代選件可能有更長的截止時間或沒有截止時間,因此,思索期更長。期間內的替代方案會在測試終止之後獲得轉換,但如果您在截止時間最後才停止測試,則進一步的轉換不會算入測試轉換率。
下圖顯示兩位不同的訪客在星期日下午同時看見的兩個選件。選件 A 的思索期很短,訪客在當天稍後才轉換。不過,選件 B 的思索期較長,看到選件 B 的訪客思索了一下,最後在星期一上午轉換。如果您在星期日晚上停止測試,則與選件 A 相關聯的轉換會算入選件 A 的轉換量度,而與選件 B 相關聯的轉換不會算入選件 B 的轉換量度。這樣明顯不利於選件 B。
為了避免此陷阱,請預留一些時間,讓看到測試選件的訪客在測試停止接受新輸入之後得以轉換。此步驟可讓您公平比較選件。

Pitfall 10: Using metrics that do not reflect business objectives

市場行銷人員可能想要在上層漏斗圖中使用高流量和低變異轉換量度,例如點選率 (CTR),以儘快達到足夠的測試轉換次數。不過,請仔細考慮 CTR 是否適合代替您想要達成的業務目標。CTR 較高的選件可容易導致收入偏低。當選件吸引到購買傾向偏低的訪客,或選件本身 (例如,折扣選件) 只會導致收入偏低時,就會發生這種情形。
以如下的滑雪選件為例。它產生的 CTR 遠高於自行車選件,但因為訪客在追蹤自行車選件時,平均會花更多錢,讓特定訪客看見自行車選件的預期收入會較高。因此,以 CTR 為量度的 A/B 測試所挑出的選件不會使收入最大化 - 基本的商業目標。
為了避免此問題,請仔細監視業務量度,以辨別選件帶來的業務衝擊,或者,可能的話,最好採用更接近業務目標的量度。

Conclusion: Success with A/B testing by recognizing and stepping around the pitfalls

在瞭解常見的 A/B 測試陷阱之後,希望您能夠辨別何時何處可能掉入陷阱。我們也希望您已更充分瞭解 A/B 測試所涉及的某些統計學和機率概念,這些經常被認為是數學專業人士的領域。
下列步驟有助於您避免這些陷阱,並專注於從 A/B 測試中達成更好的結果:
  • 根據相關的業務目標,仔細考慮測試的正確量度。
  • 在測試開始之前選定信賴水準,並於測試結束之後遵循此臨界值來評估結果。
  • 在測試開始之前計算樣本大小 (訪客數目)。
  • 在停止測試之前,等待達到計算的樣本大小。
  • 在進行測試後分割或評估多個替代項時,調整信賴水準。例如,使用 Bonferroni 校正。