美團配送A/B平臺評估體系建設與實踐

點擊▲關注 “中生代技術”   給公衆號標星置頂

更多精彩技術內容 第一時間直達

2019年5月6日,美團正式推出新品牌“美團配送”,發佈了美團配送新願景:“每天完成一億次值得信賴的配送服務,成爲不可或缺的生活基礎設施。”現在,美團配送已經服務於全國400多萬商家和4億多用戶,覆蓋2800餘座市縣,日活躍騎手超過70萬人,成爲全球領先的分鐘級配送網絡。

本文從評估體系建設的原因開始入手,重點闡述了美團配送技術團隊在A/B評估體系構建過程中的一些思考和具體的實踐,包括如何建立完備的指標體系、如何建立科學權威的評估方式等等。希望能夠給大家一些啓發和幫助。

即時配送的三要素是“效率”、“成本”、“體驗”,通過精細化的策略迭代來提升效率,降低成本,提高體驗,不斷地擴大規模優勢,從而實現正向循環。但是,策略的改變,不是由我們隨便“拍腦袋”得出,而是一種建立在數據基礎上的思維方式,數據反饋會告訴我們做的好不好,哪裏有問題,以及衡量可以帶來多少確定性的增長。

而A/B實驗就是精細化迭代的一個“利器”,通過爲同一個迭代目標制定兩個或多個版本的方案,在同一時間維度,讓組成成分相同(或相似)的A/B羣組分別採用這些版本,然後收集各羣組的體驗數據和業務數據,最後分析、評估出最好的版本,幫助我們作出正確的決策,使迭代朝着更好的方向去演進。基於此,構建一個適用於配送業務的A/B平臺就應運而生了。

1. A/B平臺簡介

如上圖所示,A/B實驗可以看作一個“無盡”的學習環,我們通過提出假設、定義成功指標、檢驗假設(A/B實驗)、分析學習、發佈、建立另一個假設,這就形成一個完整的閉環,通過多輪實驗迭代,使策略趨於更優。基於上述對A/B實驗劃分的5個步驟,我們將A/B實驗的完整生命週期分爲三個階段:

  • 實驗前,提出該實驗假設,定義實驗成功的指標,確定分流策略;

  • 實驗中,即驗證假設的階段,根據配置階段的分流策略進行分流和埋點上報;

  • 實驗後,進行實驗分析與學習,並基於實驗報告決定是否發佈。

按照功能劃分,我們將A/B平臺分爲三個模塊,實驗配置管理模塊、分流以及埋點上報模塊和在線分析模塊,分別對應於A/B實驗生命週期的實驗前、實驗中和實驗後三個階段。

在實驗配置模塊,用戶可以基於實驗前提出的假設、定義的成功指標快速創建實驗,並基於特定的分流策略完成分流配置;分流以及埋點上報模塊,提供JAR包接入的形式,異步獲取實驗配置進行本地分流計算和埋點上報;在線分析模塊,依據用戶在實驗配置管理模塊選取的用於說明實驗效果的指標、分流埋點上報模塊記錄的日誌,自動地產生各實驗的實驗報告,供實驗觀察者使用,然後根據實驗效果幫助他們作出正確的決策。具體流程如下圖所示:

2. 爲什麼要強調評估體系建設

2.1 分流業務場景需要

業界的A/B平臺建設基本以《Overlapping Experiment Infrastructure: More, Better, Faster Experimentation》這篇論文爲藍本進行展開, 引入分層模型以及在分流算法中加入層編號因子來解決“流量飢餓”和“正交”問題,並且通過引入域的概念,支持域和層之間的相互嵌套,使分層實驗模型更加靈活,進而滿足多種場景下的A/B訴求。如下圖所示,將流量通過Hash取模的方式即可實現流量的均勻劃分。

這種是面向C端用戶進行流量選擇的傳統A/B實驗,採用上述的分流方式基於這樣的假設:參與實驗的流量因子是相互獨立的、隨機的,服從獨立同分布。但是,配送業務場景下的A/B實驗,涉及到用戶、騎手、商家三端,請求不獨立,策略之間相互影響並且受線下因素影響較大。

傳統A/B實驗的分流方式,無法保證分出的兩個羣組實驗組和對照組的流量都是無差別的,無法避免因流量分配不平衡而導致的A/B羣組差異過大問題,很容易造成對實驗結果的誤判。爲滿足不同業務場景的訴求,我們的A/B平臺建設採取了多種分流策略,如下圖所示:

針對策略之間的相互影響、請求不獨立場景下的A/B實驗,我們採取限流准入的分流方式,針對不同的實驗,選取不同的分流因子。在實驗前,我們通過AA分組,找出無差別的實驗組和對照組,作爲我們實驗分流配置的依據,這種分流方式要求我們要有一套完整刻畫流量因子的指標體系,只要刻畫流量因子的指標間無統計顯著性,我們就認爲分出的實驗組和對照組無差別。

2.2 業務決策的重要依據

在實驗後的效果評估環節,通常允許實驗者用自定義的指標來衡量不同策略帶來的影響。但這樣做會帶來如下兩個問題:

  • 首先,由實驗者來負責實驗效果的評估,很難做到客觀。同時也無法避免實驗者僅僅選擇支持自己假設的指標,來證明自己的實驗結論;

  • 其次,所有的策略迭代都是爲業務服務,如果實驗者用自定義的、與業務認知不一致的指標,來說明實驗效果、推動業務灰度,這種方式往往難以被採納。

因此,權威的評估體系對於對齊大家認知,並幫助我們在策略迭代方面作出正確的決策,尤爲重要。

3. A/B評估體系構建

A/B評估體系的構建,要解決A/B平臺兩個核心問題:第一,要有一套用於刻畫流量因子(區域、騎手、商家)的權威的、完備的指標體系,幫助實驗者完成實驗前的AA分組和實驗後的效果評估;第二,要建立一套科學的評估方法,幫助實驗者作出正確的決策。

3.1 權威完備的指標體系

指標的權威性體現在:刻畫分流因子,用於實驗前AA分組和證明實驗假設的指標,必須經過治理且業務認知一致,這樣才能對齊認知,使得實驗結果更具說服力;指標的完備性體現在:評估體系中的指標,不僅要有經過第三方獨立生產治理且各業務方認知一致的治理指標,而且還要有實驗者爲了更全面的分析,描述實驗過程,自定義的探索指標。

整體架構

治理指標強調的是指標的權威性和生產的規範性,而探索性指標強調的是指標的多樣性和生產的靈活性。在評估體系中要實現這兩類指標的統一,既要包含用於說明實驗效果的治理指標,又要包含幫助實驗者更好迭代實驗所需的探索指標。

爲實現上述的統一,指標層面要有分級運營的策略:治理指標按照業務認知一致性和算法內部認知一致性分別定級爲P0、P1,這一類指標在生產前必須要有嚴格的註冊、評審,生產環節需要交給獨立的第三方團隊(數據團隊)生產,保證指標的權威性,產出後打通指標與字段的映射關係,對用戶屏蔽底層實現邏輯;對於探索性指標,定級爲P2,強調的是生產的靈活性和快速實現,因此,它的生產就不宜帶有指標註冊和評審等環節。

爲保證其快速實現,希望基於物理表和簡單的算子配置就可以實現效果分析時即席查詢使用。基於如上的問題拆解,我們進行了如下的架構設計:

數據集成

爲了支持監控和分析,在數據集成環節,我們集成了實驗配置數據、業務數據和染色數據,以便實驗者在效果評估環節不僅可以查看流量指標(PV、UV和轉化率),也可以深入探索策略變動對業務帶來的影響。

對於那些在實驗配置環節不能確定流量是否真正參加實驗的場景(例如:選擇了特定區域進行實驗,該區域產生的單隻有滿足特定條件時才能觸發實驗),我們不能直接通過限制確定的區域來查看業務指標。因爲此時查看的指標並不是真正參與實驗的流量所對應的指標。因此在數據集成環節,我們同時將實驗前的實驗配置數據和實驗中的染色數據(針對每個參與實驗的流量,每次操作所產生的數據,都會打上實驗場景、實驗組以及具體的分組標記,我們該數據爲染色數據)同步到數倉。

在數據基建環節,將業務數據模型和染色數據模型通過流量實體作爲關聯條件進行關聯,構建實驗粒度模型。

數據基建

在數據基建層,我們基於指標分級運營的思路,由數據團隊和算法團隊分別構建實體粒度(區域、騎手、GeoHash)和實驗粒度的實體寬表模型,以滿足P0/P1指標和P2指標的訴求;爲實現指標的規範化建設和靈活建設的統一,在物理模型和對外提供應用的指標池之間,我們提供了元數據管理工具和模型配置工具,從而實現離線數據快速接入評估體系的指標池。

由數據團隊建設的實體寬表模型,對應着治理指標(P0/P1指標),必須在生產後通過元數據管理工具完成指標與物理字段的映射,將指標的加工口徑封裝在數據層,對用戶屏蔽物理實現,確保治理指標的一致性。由算法團隊獨立建設的實體寬表模型,對應着挖掘指標(P2指標),爲確保其接入評估體系指標池的靈活性和方便性,我們在數據基建環節,通過標籤的形式對指標口徑做部分封裝,在模型配置環節完成指標邏輯的最終加工。

元數據管理

元數據管理層,是實現指標權威性的關鍵。治理指標在本層實現註冊、評審,達到業務認知一致性和算法內部認知一致性的目的。同時,本層還完成了治理指標與數據基建層物理模型之間的綁定,爲後續的模型配置建立基礎。

模型配置

模型配置工具,是打通物理模型與評估指標池的橋樑,它通過輸入組件、操作組件和應用組件,將離線數據接入到評估體系中,滿足實驗前AA分組和實驗後AB評估的需求。首先,輸入組件可以對應不同的數據源,既可以接入治理的離線指標,也可以接入特定庫下的物理表。其次,操作組件提供了分組操作、算子操作、過濾操作和測試操作,通過分組操作,確定模型包含的維度;通過算子操作,將算子作用在指標或標籤字段上,在取數環節實現指標的二次計算;通過過濾操作,實現數據的過濾;通過測試操作,保證模型配置質量。最後,應用組件可以將配置的模型註冊到不同的應用上,針對A/B場景主要是AA分組和AB評估。具體接入流程如下圖所示:

3.2 科學權威的評估方式

評估報告的可靠和權威性主要體現在兩個方面:一是評估指標的可靠性和權威性;二是評估方式的科學性。在上一節中,我們重點討論瞭如何構建可靠權威的指標體系。在這一節,我們重點討論如何進行科學的評估。

在討論科學評估之前,我們再重溫一下A/B實驗的定義:A/B實驗,簡單來說,就是爲同一個目標制定兩個版本或多個版本的方案,在同一時間維度,分別讓組成成分相同(相似)的A/B羣組分別採用這些版本,收集各羣組的體驗數據和業務數據,最後分析、評估出最好版本,正式採用。其中A方案爲現行的設計(稱爲控制組), B方案是新的設計(稱爲實驗組)。分析A/B實驗的定義,要實現科學權威的評估,最重要的兩點在於:

  • 第一,確保在實驗前分出無差別的實驗組和對照組,避免因流量分配不平衡導致的AB羣組差異過大,最終造成對於實驗結果的誤判;

  • 第二,確保對實驗結果作出準確的判斷,能夠準確的判斷新策略相對於舊策略的優勢是不是由自然波動引起的,它的這一優勢能否在大規模的推廣中反映出來。

無論是實驗前確保實驗組和對照組流量無顯著性差異,還是實驗後新策略較舊策略的指標變動是否具有統計上的顯著性,無一例外,它們都蘊含着統計學的知識。接下來,我們重點論述一下A/B實驗所依賴的統計學基礎以及如何依據統計學理論做出科學評估。

假設檢驗

兩個假設

A/B實驗是一種對比試驗,我們圈定一定的流量進行實驗,實驗結束後,我們基於實驗樣本進行數據統計,進而驗證實驗前假設的正確性,我們得出這一有效結論的科學依據便是假設檢驗。假設檢驗是利用樣本統計量估計總體參數的方法,在假設檢驗中,先對總體均值提出一個假設,然後用樣本信息去檢驗這個假設是否成立。我們把提出的這個假設叫做原假設,與原假設對立的結論叫做備擇假設,如果原假設不成立,就要拒絕原假設,進而接受備擇假設。

兩類錯誤

對於原假設提出的命題,我們需要作出判斷,要麼原假設成立,要麼原假設不成立。因爲基於樣本對總體的推斷,會面臨着犯兩種錯誤的可能:第一類錯誤,原假設爲真,我們卻拒絕了;第二類錯誤,原假設爲僞,我們卻接受了。顯然,我們希望犯這兩類錯誤的概率越小越好,但對於一定的樣本量n,不能同時做到犯這兩類錯誤的概率很小。

在假設檢驗中,就有一個對兩類錯誤進行控制的問題。一般來說,哪一類錯誤所帶來的後果嚴重、危害越大,在假設檢驗中就應該把哪一類錯誤作爲首要的控制目標。在假設檢驗中,我們都執行這樣一個原則,首先控制犯第一類錯誤的概率。這也是爲什麼我們在實際應用中會把要推翻的假設作爲原假設,這樣得出的結論更具說服力(我們有足夠充分的證據證明原來確定的結論是錯誤的),所以通常會看到,我們把要證明的結論作爲備擇假設。

T檢驗

常見的假設檢驗方法有Z檢驗、T檢驗和卡方檢驗等,不同的方法有不同的適用條件和檢驗目標。Z檢驗和T檢驗都是用來推斷兩個總體均值差異的顯著性水平,具體選擇哪種檢驗由樣本量的大小、總體的方差是否已知決定。在樣本量較小且總體的方差未知的情況下,這時只能使用樣本方差代替總體方差,樣本統計量服從T分佈,應該採用T統計量進行檢驗。T統計量具體構造公式如下圖所示,其中f是T統計量的自由度,S1、S2是樣本標準差。

T檢驗的流程是,在給定的棄真錯誤概率下(一般取0.05),依據樣本統計量T是否落在拒絕域來判斷接受還是拒絕原假設。實際上在確定棄真錯誤概率以後,拒絕域的位置也就相應地確定了。

使用T統計量進行判斷的好處是,進行決策的界限清晰,但缺陷是決策面臨的風險是籠統的。例如T=3落入拒絕域,我們拒絕原假設,犯棄真錯誤的概率爲0.05;T=2也落入拒絕域,我們拒絕原假設,犯棄真錯誤的概率也是0.05。事實上,依據不同的統計量進行決策,面臨的風險也是有差別的。爲了精確地反映決策的風險度,我們仍然需要P值來幫助業務來做決策。

利用P值決策

P值是當原假設爲真時,所得到的樣本觀察結果或更極端的結果出現的概率。如果P值很小,說明這種情況發生的概率很小,但是在這次試驗中卻出現了,根據小概率原理,我們有理由拒絕原假設,P值越小,我們拒絕原假設的理由越充分。P值可以理解爲犯棄真錯誤的概率,在確定的顯著性水平下(一般取0.05),P值小於顯著性水平,則拒絕原假設。

基於假設檢驗的科學評估

圍繞着科學評估要解決的兩個問題,實驗前,針對圈定的流量使用假設檢驗加上動態規劃算法,確保分出無差別的實驗組和對照組;實驗後,基於實驗前選定的用於驗證假設結論的指標,構造T統計量並計算其對應的P值,依據P值幫我們做決策。

AA分組

首先看如何解決第一個問題:避免因流量分配不平衡,A/B組本身差異過大造成對實驗結果的誤判。爲解決該問題,我們引入了AA分組:基於實驗者圈定的流量,通過AA分組將該流量分爲無顯著性差異的實驗組和對照組。我們這樣定義無顯著性差異這一約束:首先,實驗者選取的用於刻畫實驗流量的指標,在實驗組和對照組之間無統計上的顯著性(即上節所描述的基於均值的假設檢驗);其次,在所分出的實驗組和對照組之間,這些指標的差值最小,即一個尋找最優解的過程。從實驗者的實驗流程看,在實驗前,圈定進入該實驗的流量,然後確定用於刻畫實驗流量的指標,最後調用AA分組,爲其將流量分成合理的實驗組和對照組。

A/B效果評估

A/B效果評估是實驗者在實驗後,依據評估報告進行決策的重要依據。因此,我們在實驗後的效果評估環節,效果評估要達成三個目標即權威、靈活性和方便。

首先,權威性體現在用於作出實驗結論所依賴的指標都是經過治理、各方達成一致的指標,並且確保數據一致性,最終通過假設檢驗給出科學的實驗結論,幫助實驗者作出正確的判斷。其次,靈活性主要體現在採用列轉行的形式,按需自動生成報表告別“煙囪式”的報表開發方式。第三,方便主要體現在不僅可以查看用於說明實驗效果的指標,還可以選擇查看接入到評估體系裏的任意指標;不僅可以查看其實驗前後對比以及趨勢變化,還可以做到從實驗粒度到流量實體粒度的下鑽。效果如下圖所示:

技術實現

不管是實驗前的AA分組,還是實驗後的效果評估,我們要解決的一個核心問題就是如何靈活地“取數”,爲我們的AA分組和AB效果分析提供一個靈活穩定的取數服務。因此,我們整個架構的核心就是構建穩定、靈活的取數服務,具體架構如下圖所示。離線建模和指標模型管理完成數據和元數據建設,建立權威完備的指標體系;中間的取數服務作爲上層各應用服務和指標體系的“橋樑”,爲上層各應用服務提供其所依賴的指標。

4. 總結與展望

目前,A/B實驗已成爲許多互聯網公司評估其新產品策略和方法的“金標準”,在美團配送業務場景下,它被廣泛應用於調度策略、定價策略、運力優化、ETA時間預估等業務場景,爲我們的策略迭代制定數據驅動型決策。特別是針對配送場景下這種策略之間相互影響,請求不獨立場景下的A/B實驗,結合配送技術團隊的具體實踐,跟大家分享了我們目前的解決思路。

最後再補充一點,在A/B實驗領域,實驗的流量規模應該有足夠的統計能力,才能確保指標的變化有統計意義的。爲了更好地達到這個目標,未來我們將通過輔助工具建設,在實驗前,依據實驗者所關注的指標以及敏感度給出流量規模的建議,方便實驗者在實驗前快速地圈定其實驗所需的流量。

5. 作者簡介

王鵬,美團技術專家,2016年加入美團。

啓政,美團高級工程師,2018年加入美團。

連恆,美團高級工程師,2016年加入美團。

----------  END  ----------

招聘信息

中生代技術社區提供內推服務啦,對應BAT,網易,頭條等大廠對接到用人部門

有需求請添加羣直聘小姐姐Elsa的微信

申請備註(姓名+公司+技術方向)才能通過哦!

也許你還想看

 

蘇寧6億會員是如何做到精確快速分析的?

 

爲什麼我不推薦你盲目追求微服務?遲早要喫虧!

 

首席架構師李佐輝:浙江移動SRE轉型實踐

 

波波老師大解密:如何成爲優秀的架構師?

   END     
#接力技術,鏈接價值#

好兄弟,來一個一鍵三連⤵️️

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章