Twitter的A/B測試實踐(一):為什么要測試以及測試的意義

【編者的話】A /B測試曾在多個領域產生深遠的影響,其中包括醫藥、農業、制造業和廣告。 在軟件開發中, A/B測試實驗提供了一個有價值的方式來評估新特性對客戶行為的影響。在這個系列中,我們將描述 Twitter的 A/B測試系統的技術和統計現狀。

 

本文是該系列的第一篇,主要介紹了為什么進行 A/B測試和如何避免其中的陷阱。

 

注:本文最初發布于 Twitter博客,InfoQ中文站在獲得作者授權的基礎上對文章進行了翻譯。

 

正文

實驗是 Twitter產品開發周期的核心。這種實驗文化可能是因為 Twitter對工具、研究和培訓進行了大量的投資,以確保特性團隊能夠對他們的想法進行無縫、嚴格的測試和驗證。

 

Twitter實驗的規模無論數量還是種類都是龐大的——從細微的 UI/UX變更,到新特性,到機器學習模型的改進。我們喜歡將實驗看作是是一個無盡的學習環。

AB測試

建立假設:提出新特性想法或者為現有特性提出改進建議。

定義成功指標:評估“機會大小(opportunity size)”——受該變更影響的用戶數量。正式定義實驗成功和失敗的指標;考慮可接受的折衷方案。

檢驗假設:實現擬定的變更,”檢測(instrument)“相應的日志,并執行合理性檢查以確保實驗正確配置。

學習:檢查實驗中收集的數據,吸取其中的經驗教訓,并與其他 Twitter團隊共享。

發布:收集完數據后,判斷實驗是否驗證了假設,并決定發布或者不發布。

建立另一個假設:結合實驗中的新想法,為更多的改進建立更多的假設。

A/B測試、決策制定和創新

Twitter的”產品檢測和實驗(Product Instrumentation and Experimentation)”(PIE)團隊對實驗哲學進行了大量的思考。A/B測試可以帶來很多好處,但是它也有很多眾所周知的、容易陷入的陷阱。它的結果往往是出人意料、違反直覺的。我們如何避免這種陷阱?什么時候我們應該建議進行 A/B測試,從而試驗特性或者擬定的變更?在決策制定過程中我們如何保持敏捷,且在承受重大風險的時候仍能保持嚴謹?

測試的好處以及增量測試

特性變更A/B測試文化重點關注的是它帶來的是小增量收益,大部分實驗只能帶來個位數百分比的改進,或者甚至是分數百分比。因此,有些觀點認為,這有什么意義呢?為什么不從事一些更有影響力、更有革命性的事情呢?

 

這是事實:如果存在實驗能夠提升指標,那么到目前為止,大多數實驗在以最低限度的方式提升著指標;某個實驗如果能夠為大部分用戶將某個核心指標提升數個百分點就被視為一種非凡的成功。

 

這與 A/B測試的基本原理無關。這是因為一個成熟的產品很難通過大幅度改進指標的方式改變。很多人認為的全壘打想法根本沒有帶來一點點的改進:人類原來極其不善于預測什么可行(更多信息請參閱 “Seven Rules of Thumb for Web Site Experimenters”)。大多數時候,不理想的 A/B測試結果讓我們能夠及早發現,看上去不錯的想法其實可能不怎么樣。因此我們更愿意盡可能快的獲得壞消息,重新回到繪圖板;這就是我們實驗的原因。

 

A/B測試是一種可以確保好想法不會夭折的方法,使好的想法有機會全面充分開發。當我們真正的信任某個想法,而初步實驗結果不能滿足我們的期望的時候,我們可以對產品做進一步改進,持續改進直到符合期望可以發布給數百萬的人使用。另一種方法是,構建一些感覺良好的特性并發布,之后開發其它新的想法,一年后有人意識到根本沒人在使用這個特性,它就這樣靜靜地隕落了。

 

在我們從事各種各樣原型開發的時候,快速迭代和衡量擬定的變更帶來的影響讓我們團隊能夠及早將隱式用戶反饋吸收進產品中。我們可以發布一個變更,研究哪些能夠產生改進,哪些不能,接著為能夠進一步改進產品的變更建立假設,然后發布變更,周而復始直到擁有能夠推送給更廣泛用戶的變更。

 

有些人可能認為這種增量變更效率太低。當然,發布“大創意”聽起來遠比小改進好太多了。然而仔細想一下,將許多小變更疊加起來就能產生復合效果。回避增量變更的產品改進方法很大程度上不是一個好方針。一個好的金融投資組合要能夠平衡盡管回報不那么高但可預測的無風險賭注和高風險、高收益賭注。在這方面產品組合管理沒有什么不同。

 

這就是說,有很多東西我們不能,或者不應該測試。有些變更被設計用于形成網絡效應,而這些基于用戶分桶的 A/B測試不會捕獲(盡管確實存在其它技術能夠量化這種影響)。當只針對一個隨機比例的人群時,某些特性可能會失靈。例如,在簡單的 A/B測試中, Group DMs就不是一個可使用的特性,因為可能那些有幸獲得此特性的人想要給那些沒有獲得此特性的人留言,這使得該特性基本無用。其它特性可能是完全的正交——例如推出像 Periscope一樣的新應用程序就不是 Twitter應用實驗。但是一旦推出,A/B測試就成為一種重要的驅動應用程序內可度量增量和不那么容易度量的增量變更的方法。

 

還有另一類變更是,主要的新特性在內部構建過程中通過用戶研究進行測試,但是考慮市場戰略原因,在特定爆炸性時刻發布給所有的用戶。作為一個組織,我們在自認為對產品和用戶都有利的時候做出這個決定。我們相信盡管增量變更可能帶來更好的初始版本,使更多用戶嘗試和使用,但是我們能夠從大版本中獲得更多收益。這是產品負責人需要權衡取舍的。那么當這么一個新特性發布后,我們要對其增量變更進行 A/B測試嗎?當然啦!隨著想法的成熟,我們使用完善的科學原理指導它們的演化——并且實驗是該過程的關鍵部分。

實驗的可靠性

既然我們已經對運行實驗進行了案例說明,接著讓我們來討論怎么做可以避免陷阱。實驗的配置和分析是復雜的。即使是正常的人類行為也很容易引起對結果的偏差和誤解。這里有幾種實踐方法,可以降低風險。

需求假設

通常實驗工具能夠揭示大量數據,常常允許實驗者設計自定義的指標來衡量變更的影響。但這可能觸發 A/B測試中最隱匿的陷阱之一:“cherry-picking”和“HARKing”——從許多數據點中選擇僅僅支持你的假設的指標,或者看到數據后調整假設,從而讓它匹配實驗結果。在 Twitter,一個實驗收集上百個指標是很常見的,這些指標可以分解成大量的維度(用戶屬性、設備類型、國家等等),生成數以千計的觀測值——如果你希望擬合使其適應任何故事,就需要從中挑選。

 

我們指導實驗者遠離 cherry-picking的一個方法是,要求他們在配置階段明確指定希望改進的指標。實驗者愿意跟蹤多少指標都可以,但是只有少數指標可以用這種方式明確標記。然后工具在結果頁面突出顯示這些指標。實驗者可以自由探索所有其它已經被收集的數據,建立新的假設,但是最初的主張應該是固定的,并且要容易檢查。

實驗過程

無論工具有多好,一套配置不完善的實驗仍然會交付不理想的結果。在 Twitter,我們已經對創建實驗過程進行了投資,從而提高實驗成功、正確運行的概率。在這個過程中大多數步驟是可選的——但是我們發現,使其可用和詳細記錄能夠大大降低重新運行實驗的時間損失從而收集更多數據,并降低等待 App Store發布周期的時間損失,等等。

 

所有的實驗者都被要求記錄他們的實驗。你在改變什么?你期望的結果是什么?期望的“受眾規模”(將要看到這一特性的用戶比例)?收集這些數據不僅保證了實驗者考慮過這些問題,而且讓我們能夠建立一個制度性學習的資料庫——一份已經實驗的正式記錄和實驗結果,包括負面結果。我們可以用此提醒后面的實驗。

 

實驗者還可以利用實驗牧羊人的優勢。實驗牧羊人都是經驗豐富的工程師和數據科學家,負責評審實驗假設和擬定的指標,以減少實驗出錯的幾率。這是可選的,建議不具有約束力。隨著人們對實驗正確配置、跟蹤正確的指標、能夠正確分析實驗結果有了更多的信心,該項目也從參與者中收到了大量的反饋。

 

一些團隊也會舉行每周例會,在例會上評審實驗結果以便決定哪些應該哪些不應該發布給更廣泛的受眾。這有助于解決 cherry-picking和誤解統計顯著性的問題。重要的是要注意這不是一場“給我一個理由說不”的例會——我們已經明確,“紅色”實驗發布,“綠色”實驗不發布。這里重要的是坦誠及明確我們引入變更的期望和結果,而不是容忍停滯和獎勵短期收益。引入這些評審顯著提高了我們發布的變更的整體質量。同時這也是個有趣的會議,因為我們能夠看到團隊正在進行的所有工作以及人們對產品的看法。

 

另一個我們經常使用的實踐是使用 “holdbacks”,如果可能——向99%(或者其它高百分比)的用戶推送該特性,并觀測隨著時間推移關鍵指標是如何偏離被阻止的1%的。這使得我們能夠快速迭代和發布,同時密切關注實驗的長期影響。這也是一種很好的驗證實驗中真正實現的收益的方法。

實驗培訓

確保實驗者提防陷阱最有效的方法之一就是培訓他們。Twitter數據科學家會開設多門實驗和統計直覺課程,其中統計直覺是所有新工程師加入公司后的前幾周都要參加的課程。目標是使工程師、PM、EM和其它一些角色熟悉實驗過程、警告、陷阱和最佳實踐。增強實驗品質和陷阱的意識有助于我們避免在可避免的錯誤和誤解上浪費時間,讓人們更快洞察和改進節奏和質量。

即將推出

在后面的文章中,我們將介紹我們的實驗工具 DDG是如何工作的;我們將直接介紹一些我們遇到的有趣的統計問題——檢測有偏差的分桶,使用(或不使用)第二控制(control)進行合理性檢查,自動確定合適的 bucket大小,基于會話的指標和處理異常值。

致謝

感謝 Lucile Lu,Robert Chang,Nodira Khoussainova和 Joshua Lande對此文章的反饋。很多人都為 Twitter實驗背后的理念和工具作出了貢獻。我們想特別感謝 Cayley Torgeson,Chuang Liu,Madhu Muthukumar,Parag Agrawal,和Utkarsh Srivastava。

 

查看英文原文:https://blog.twitter.com/2015/the-what-and-why-of-product-experimentation-at-twitter-0

 

感謝郭蕾對本文的審校。

 

本文由吆喝科技授權轉載自InfoQ,原文鏈接:http://www.infoq.com/cn/articles/twitter-ab-test-practise-part01

6150 Views
即刻實踐文章理論 A/B測試 灰度發布 產品優化 免費申請
Please wait...

訂閱我們

對于每位訂閱讀者,每兩周,吆喝科技會為您發送4篇精選文章,可能是最新的A/B測試實踐,也會是你所期待的增長干貨。
qq宠物捕鱼大师 河北时时选号技巧 甘肃快三遗漏 吉林省快三预测大小单双 五分时时彩开奖官网 算出重庆时时口诀 快速时时计算方法 下载陕西快乐10分钟 秒速时时彩手机版下载 时时一位必中口诀 快乐12分析软件