偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

算法AB實(shí)驗(yàn)平臺(tái)進(jìn)化歷程和挑戰(zhàn)

大數(shù)據(jù) 數(shù)據(jù)分析
未來我們會(huì)希望借助數(shù)倉(cāng)部門的AB平臺(tái)的指標(biāo)計(jì)算和可視化通用能力,希望可以逐步增強(qiáng)AB平臺(tái)的數(shù)據(jù)可視化能力,在實(shí)驗(yàn)分流情況的可視化分析,實(shí)驗(yàn)的用戶特征的分布可視化分析,實(shí)驗(yàn)的指標(biāo)變化原因排查等方面與分析同學(xué)一起合作,提升AB實(shí)驗(yàn)的指標(biāo)報(bào)表問題分析效率。

一、AB平臺(tái)簡(jiǎn)介

AB實(shí)驗(yàn)平臺(tái)這幾年在互聯(lián)網(wǎng)公司得到了越來越廣泛的應(yīng)用,采用AB實(shí)驗(yàn)來評(píng)估產(chǎn)品和技術(shù)迭代效果也成為主流的業(yè)務(wù)新功能效果評(píng)估方式,數(shù)據(jù)驅(qū)動(dòng)的文化在這幾年得到了不少公司的廣泛的認(rèn)同,通過數(shù)據(jù)和指標(biāo)來說明產(chǎn)品效果也得到了越來越多的公司的認(rèn)可和應(yīng)用。

AB實(shí)驗(yàn)在其中就是一種很常見的產(chǎn)品效果數(shù)據(jù)評(píng)估工具,在各大公司的產(chǎn)品迭代過程中也得到了越來越廣泛的應(yīng)用。

二1.0 時(shí)代 從無到有

在AB實(shí)驗(yàn)剛開始的時(shí)候,需要解決的問題很簡(jiǎn)單:

通過某種用戶流量分組方式,將不同的用戶劃分到不同的流量組,在不同的流量組通過控制變量的方式應(yīng)用不同的產(chǎn)品策略,隨后觀察兩個(gè)組的產(chǎn)品效果差別。

這種非常樸素的實(shí)驗(yàn)思路就是最基本的AB實(shí)驗(yàn)的分流,需要注意的是在過程中需要保證控制變量和穩(wěn)定的流量比例。

一個(gè)基本AB實(shí)驗(yàn)實(shí)例

圖片圖片

一個(gè)基本的AB實(shí)驗(yàn)需要有以下要素:

  1. 實(shí)驗(yàn)?zāi)繕?biāo)和實(shí)驗(yàn)假設(shè)

實(shí)驗(yàn)?zāi)繕?biāo)決定到達(dá)到什么樣的效果實(shí)驗(yàn)才算成功,舉個(gè)例子,我希望付款率提升5%,這就是目標(biāo),其中的實(shí)驗(yàn)指標(biāo)是付款率,做實(shí)驗(yàn)之前一定要有實(shí)驗(yàn)?zāi)繕?biāo),沒有實(shí)驗(yàn)?zāi)繕?biāo)沒辦法確定實(shí)驗(yàn)是否成功,實(shí)驗(yàn)?zāi)繕?biāo)包含指標(biāo)和變化幅度兩個(gè)要素。

實(shí)驗(yàn)假設(shè)是猜想通過控制哪些因素來達(dá)到實(shí)驗(yàn)?zāi)繕?biāo),比如我們假設(shè)付款按鈕的顏色會(huì)影響用戶的付款意愿進(jìn)而影響付款率,那這里的實(shí)驗(yàn)假設(shè)就是付款按鈕顏色會(huì)影響用戶付款意愿。

  1. 實(shí)驗(yàn)對(duì)象(實(shí)驗(yàn)對(duì)象是可以用來應(yīng)用策略的用戶或者請(qǐng)求或者其他對(duì)象)
  2. 實(shí)驗(yàn)對(duì)象并不是僅僅指用戶,用戶的每一次請(qǐng)求也可以單獨(dú)做實(shí)驗(yàn),甚至每一次用戶請(qǐng)求的每一個(gè)曝光位置都可以看做一個(gè)實(shí)驗(yàn)流量,這個(gè)對(duì)象取決于具體的業(yè)務(wù)。

  3. 對(duì)照組和實(shí)驗(yàn)組(AB實(shí)驗(yàn)的核心要求是控制變量做效果對(duì)照,所以至少有一個(gè)或多個(gè)對(duì)照組策略和實(shí)驗(yàn)組策略)

  4. 對(duì)照組:一般是沒有任何策略的組,代表了現(xiàn)在的實(shí)驗(yàn)效果。

  5. 實(shí)驗(yàn)組:一般是應(yīng)用了新策略的組,代表了新策略的實(shí)驗(yàn)效果。

  6. 統(tǒng)計(jì)功效:在進(jìn)行實(shí)驗(yàn)組和對(duì)照組的流量分配的時(shí)候要注意,因?yàn)槲覀兊腁B實(shí)驗(yàn)是從整體用戶中取一部分進(jìn)行實(shí)驗(yàn),然后采用統(tǒng)計(jì)學(xué)方式進(jìn)行效果評(píng)估,所以無論是實(shí)驗(yàn)組還是對(duì)照組樣本量要滿足最基本的統(tǒng)計(jì)功效,后續(xù)的實(shí)驗(yàn)才有意義,而統(tǒng)計(jì)功效無法在實(shí)驗(yàn)之后計(jì)算,需要我們?cè)趯?shí)驗(yàn)進(jìn)行之前就做充足的調(diào)研。

算法的AB 1.0主要功能

  1. 通過控制變量的方式進(jìn)行AB分流實(shí)驗(yàn),并通過離線的模擬分流規(guī)則提供用戶實(shí)驗(yàn)分組信息,使得數(shù)據(jù)分析可以計(jì)算實(shí)驗(yàn)的指標(biāo)報(bào)表。
  2. 打通基本的工程實(shí)驗(yàn)鏈路,可以讓算法通過實(shí)驗(yàn)配置自主的控制實(shí)驗(yàn)流量和實(shí)驗(yàn)策略。

1.0 AB實(shí)驗(yàn)的策略生效流程

在早期的實(shí)驗(yàn)過程有以下鏈路:

圖片

  • 通過配置中心配置約定好的AB實(shí)驗(yàn)配置信息,線上的服務(wù)通過配置中心的變更信息,實(shí)時(shí)變更實(shí)驗(yàn)配置,從下次分流開始應(yīng)用新的分流策略,同時(shí)記錄實(shí)驗(yàn)日志。
  • 報(bào)表計(jì)算方式,將實(shí)驗(yàn)配置信息同步到ODPS,第二天用前一天的實(shí)驗(yàn)配置對(duì)昨天的用戶進(jìn)行重新分流計(jì)算,獲得昨天的用戶實(shí)驗(yàn)分流信息(之所以這樣是因?yàn)閷?shí)驗(yàn)變更是以天為單位,離線計(jì)算可以比較方面的支撐后續(xù)的實(shí)驗(yàn)分析)。

算法和普通業(yè)務(wù)的AB分流由于業(yè)務(wù)特性原因有較多的需求不同的地方,針對(duì)兩者區(qū)別我們也進(jìn)行了一些特殊的算法實(shí)驗(yàn)優(yōu)化設(shè)計(jì)。具體如下:

圖片圖片

早期的AB實(shí)驗(yàn)設(shè)計(jì)解決了基本的實(shí)驗(yàn)分流問題也提供了一套配套的實(shí)驗(yàn)指標(biāo)和實(shí)驗(yàn)置信度計(jì)算方案,支撐了早期的簡(jiǎn)單業(yè)務(wù)可以通過AB實(shí)驗(yàn)的方式比較科學(xué)的觀測(cè)算法模型效果。

三、2.0 時(shí)代 從有到全,支持復(fù)雜業(yè)務(wù)功能

新的業(yè)務(wù)需求

隨著公司業(yè)務(wù)發(fā)展和各個(gè)系統(tǒng)迭代優(yōu)化,用戶對(duì)于基礎(chǔ)的AB實(shí)驗(yàn)系統(tǒng)開始衍生出了一些新的,更細(xì)化更復(fù)雜的業(yè)務(wù)需求,用戶也希望AB系統(tǒng)可以幫助支撐更高效的實(shí)驗(yàn)迭代。

  • 流量饑渴,更豐富的流量需求:在1.0版本的AB實(shí)驗(yàn)中已經(jīng)解決了基本的實(shí)驗(yàn)分流和配置的問題,但是由于一個(gè)場(chǎng)景中總用戶流量有限,可能會(huì)有多種業(yè)務(wù)實(shí)驗(yàn)同時(shí)進(jìn)行,實(shí)際實(shí)驗(yàn)運(yùn)行時(shí)需要在同時(shí)運(yùn)行的實(shí)驗(yàn)數(shù)量和每個(gè)實(shí)驗(yàn)的流量大小之間做一個(gè)取舍,業(yè)務(wù)高速發(fā)展時(shí)期經(jīng)常會(huì)有用戶希望提高同時(shí)運(yùn)行的實(shí)驗(yàn)數(shù)量,同時(shí)保證每個(gè)實(shí)驗(yàn)有充足的流量,于是我們擴(kuò)展了原來的實(shí)驗(yàn)流量分流模型設(shè)計(jì),采用分層分域的正交的業(yè)務(wù)實(shí)驗(yàn)劃分方式來支撐上述的流量需求。
  • 更實(shí)時(shí)更準(zhǔn)確的實(shí)驗(yàn)報(bào)表:在早期的實(shí)驗(yàn)中通過第二天的配置重算的方式得到前一天的用戶實(shí)驗(yàn)分組數(shù)據(jù),這種方法可以支撐非常巨大的用戶和實(shí)驗(yàn)數(shù)量,但是時(shí)效性上比較難以保證。隨著業(yè)務(wù)快速迭代,算法的實(shí)時(shí)實(shí)驗(yàn)效果監(jiān)控的需求也逐漸增加,離線的實(shí)驗(yàn)報(bào)表計(jì)算反饋需要等到至少1天后才能觀測(cè),實(shí)驗(yàn)反饋周期太長(zhǎng)。于是我們調(diào)整了實(shí)驗(yàn)分流和報(bào)表的計(jì)算鏈路,采用實(shí)時(shí)實(shí)驗(yàn)日志埋點(diǎn)通過flink等實(shí)時(shí)計(jì)算平臺(tái)實(shí)時(shí)計(jì)算實(shí)驗(yàn)效果,這種做法可以實(shí)時(shí)捕捉實(shí)驗(yàn)流量的變化情況,對(duì)于驗(yàn)證實(shí)驗(yàn)分流效果有較大的效率提升。
  • 復(fù)雜實(shí)驗(yàn)形式:聯(lián)合實(shí),多集群實(shí)驗(yàn), 指定用戶實(shí)驗(yàn)需求:隨著算法工程鏈路的規(guī)范化,業(yè)務(wù)鏈路中的一些業(yè)務(wù)層之間開始進(jìn)行聯(lián)合調(diào)優(yōu)實(shí)驗(yàn),催生出了多參數(shù)跨層聯(lián)合實(shí)驗(yàn)的需求,需要在分層實(shí)驗(yàn)的基礎(chǔ)上支持聯(lián)合參數(shù)的生效機(jī)制,這在一般的分層實(shí)驗(yàn)設(shè)計(jì)中是很難支撐的。隨著工程鏈路穩(wěn)定性項(xiàng)目的進(jìn)展,大部分業(yè)務(wù)同時(shí)都具有多個(gè)不同集群,此時(shí)又需要AB系統(tǒng)也可以針對(duì)不同集群提供同場(chǎng)景不同實(shí)驗(yàn)配置的功能支撐。還有隨著精細(xì)化運(yùn)營(yíng)的展開,越來越多的實(shí)驗(yàn)只針對(duì)更精準(zhǔn)的特定用戶群才能生效,這給原來的實(shí)驗(yàn)分流和實(shí)驗(yàn)分析都帶來了不小的需求和挑戰(zhàn)。

更強(qiáng)大更通用的分流模型

為了滿足更豐富的流量分配需求,我們?cè)O(shè)計(jì)了一套比較靈活通用的實(shí)驗(yàn)分流模型, 這套模型經(jīng)過多個(gè)公司的業(yè)務(wù)驗(yàn)證,可以確保在未來較長(zhǎng)的一段時(shí)間內(nèi),充分支撐我們所有業(yè)務(wù)的個(gè)各種AB實(shí)驗(yàn)分流需求。同時(shí)根據(jù)我們自己的業(yè)務(wù)發(fā)展需求,也支持了條件層,自定義分流機(jī)制等為更復(fù)雜業(yè)務(wù)設(shè)計(jì)的一些分流機(jī)制。

多層正交的實(shí)驗(yàn)流量模型

圖片

上述的分流模型將一個(gè)場(chǎng)景流量分為層和域兩種嵌套結(jié)構(gòu),通過層來隔離不同業(yè)務(wù)配置,通過域來隔離不同用戶群。用戶在該模型進(jìn)行分流的過程采用從外到內(nèi),從上到下的逐步命中,每一次進(jìn)入一個(gè)業(yè)務(wù)層都會(huì)觸發(fā)一次選桶邏輯,命中桶以后,讀取桶上的配置,如果桶內(nèi)還有層配置繼續(xù)依次命中層,觸發(fā)內(nèi)部的選桶邏輯。

該模型可以支持如下主要特點(diǎn):

  1. 分層分域,互相嵌套的流量設(shè)計(jì),支持業(yè)務(wù)域分層的正交流量,每一層都是一個(gè)單獨(dú)的業(yè)務(wù),解決流量饑渴問題,同時(shí)支持自由的流量域劃分,流量域和流量層可以互相嵌套,實(shí)現(xiàn)極其靈活的流量劃分方式。
  2. 每一個(gè)流量層采用hash模板+流量槽,層內(nèi)實(shí)驗(yàn)通過圈槽的形式?jīng)Q定實(shí)驗(yàn)在該層的流量比例,允許算法用戶自定義實(shí)驗(yàn)分流的規(guī)則,支持根據(jù)用戶的用戶特征信息進(jìn)行分流,同時(shí)支持靈活的跨層流量對(duì)齊機(jī)制。這種方式可以實(shí)現(xiàn)極為靈活的分流方式,支持各種對(duì)象和分流方式(比如用戶分流,請(qǐng)求分流,設(shè)備分流,作者分流,按地區(qū)分流等)。
  3. 支持白名單,允許用戶繞開分流機(jī)制,指定用戶的固定實(shí)驗(yàn)鏈路,用于在線上進(jìn)行特殊用戶的實(shí)驗(yàn)驗(yàn)證。
  4. 支持條件層,允許符合某種條件的用戶單獨(dú)進(jìn)行特定實(shí)驗(yàn),比如只針對(duì)新用戶進(jìn)行的實(shí)驗(yàn)。

從該模型上線以來,2年多的時(shí)間內(nèi)已經(jīng)完美支撐了算法300多個(gè)場(chǎng)景的AB流量分配需求,經(jīng)過了充分的業(yè)務(wù)驗(yàn)證,從分流層面解決了許多有特殊需求的分流業(yè)務(wù)遇到的問題。

具體層中的分流規(guī)則如下:

圖片圖片

每一個(gè)流量層根據(jù)層中的分流配置信息和用戶信息計(jì)算命中的流量槽,然后根據(jù)流量槽命中圈選了流量槽的實(shí)驗(yàn),實(shí)驗(yàn)通過擁有的流量槽數(shù)量決定實(shí)驗(yàn)流量比例。

標(biāo)準(zhǔn)的實(shí)驗(yàn)工程鏈路

圖片

通過AB實(shí)驗(yàn)的后臺(tái)改造,我們重新思考并調(diào)整了整個(gè)實(shí)驗(yàn)鏈路的工程設(shè)計(jì),在新的工程設(shè)計(jì)中,相對(duì)于上一個(gè)版本主要有以下幾個(gè)方面需要改進(jìn):

  1. 采用實(shí)驗(yàn)分流日志而不是離線的實(shí)驗(yàn)配置來計(jì)算用戶的實(shí)驗(yàn)分組信息。

實(shí)驗(yàn)日志可以捕獲每一個(gè)時(shí)刻的用戶的實(shí)驗(yàn)分流情況,可以較為敏感的捕捉到實(shí)驗(yàn)變更的情況。

實(shí)驗(yàn)日志可觀測(cè)性強(qiáng),用戶配置完實(shí)驗(yàn)以后可以立刻通過日志觀測(cè)實(shí)驗(yàn)的命中情況。

可以在日志中附加更多的實(shí)驗(yàn)環(huán)境相關(guān)信息,做更豐富的實(shí)驗(yàn)分析,可以簡(jiǎn)化離線的實(shí)驗(yàn)分組計(jì)算邏輯。

  1. 線上應(yīng)用增加實(shí)驗(yàn)信息的具體埋點(diǎn)信息, 埋點(diǎn)分為兩部分:
  2. 一部分透?jìng)鹘o客戶端,其中包含用戶命中的實(shí)驗(yàn)信息,稱之為ACM埋點(diǎn),客戶端在用戶進(jìn)行點(diǎn)擊曝光等操作時(shí)上報(bào)信息中回傳服務(wù)端下發(fā)的ACM字段,這樣我們可以通過神策上報(bào)的行為日志,清楚的知道每個(gè)實(shí)驗(yàn)曝光幾次,被點(diǎn)擊幾次,可以及時(shí)得到實(shí)驗(yàn)的線上表現(xiàn),這部分行為日志還可以幫助我們實(shí)時(shí)的計(jì)算實(shí)驗(yàn)策略效果報(bào)表。

  3. 另一部分作為應(yīng)用的后臺(tái)日志記錄,記錄了每一次請(qǐng)求中用戶命中的實(shí)驗(yàn)相關(guān)信息,用于計(jì)算實(shí)驗(yàn)分組信息。

  4. 設(shè)計(jì)了AB實(shí)驗(yàn)的后臺(tái)操作管理界面,不用再通過手動(dòng)修改配置中心的配置來進(jìn)行實(shí)驗(yàn)配置。并將實(shí)驗(yàn)發(fā)布,實(shí)驗(yàn)修改,實(shí)驗(yàn)配置回滾等功能做成具體的按鈕功能,極大地提高了用戶的實(shí)驗(yàn)操作使用體驗(yàn)。

  5. 拆分了實(shí)驗(yàn)參數(shù)和代碼執(zhí)行鏈路,抽象出了AB參數(shù)和代碼鏈路運(yùn)行方案兩種概念,將AB變成一個(gè)弱依賴,降低實(shí)驗(yàn)參數(shù)配置錯(cuò)誤對(duì)線上業(yè)務(wù)的影響。

Ps: 為什么要同時(shí)采用兩種實(shí)驗(yàn)信息反饋鏈路,原因是第一種ACM上報(bào)的用戶實(shí)驗(yàn)信息依賴于用戶上報(bào),如果用戶遇到應(yīng)用crash或者延遲上報(bào),或者網(wǎng)絡(luò)情況突然不好,我們沒辦法獲得未上報(bào)的這部分信息,第二種很明顯,沒辦法知道發(fā)放下來的帶有實(shí)驗(yàn)信息的內(nèi)容的后續(xù)反饋情況。兩種鏈路都沒辦法完全的覆蓋全部用戶,只有互相配合才能完整的覆蓋全量用戶,至于為什么采用離線日志來做實(shí)驗(yàn)報(bào)表,ACM來做實(shí)時(shí)報(bào)表純粹是工程效率方面的考慮。

ACM通用埋點(diǎn)標(biāo)準(zhǔn)

為了解決實(shí)驗(yàn)的實(shí)時(shí)效果觀測(cè)問題, 我們需要想辦法將后臺(tái)的實(shí)驗(yàn)命中標(biāo)識(shí)信息傳遞給客戶端??紤]到其他業(yè)務(wù)場(chǎng)景也會(huì)有類似的埋點(diǎn)需求,為了埋點(diǎn)通用性考慮,我們規(guī)劃了一個(gè)算法的埋點(diǎn)標(biāo)準(zhǔn),主要想簡(jiǎn)化算法埋點(diǎn)流程和對(duì)算法的埋點(diǎn)信息進(jìn)行統(tǒng)一的治理。

ACM埋點(diǎn)主要是通過算法與客戶端約定一個(gè)固定的埋點(diǎn)內(nèi)容字段ACM,后端算法在開發(fā)時(shí)候,通過提供的SDK工具,將需要埋點(diǎn)的信息和內(nèi)容通過SDK采用特定的規(guī)范形成一串可識(shí)別的字符串內(nèi)容,客戶端同學(xué)對(duì)ACM這個(gè)約定好的字段進(jìn)行事件(曝光,點(diǎn)擊等)上報(bào),后端就可以根據(jù)上報(bào)的用戶行為日志通過實(shí)時(shí)計(jì)算工具快速的獲得某個(gè)實(shí)驗(yàn)的后續(xù)用戶反饋信息。

ACM埋點(diǎn)規(guī)范例子:

版本.業(yè)務(wù)域.內(nèi)容資源類型.資源位.實(shí)驗(yàn).自定義值
  • 版本:標(biāo)記本條ACM的遵循的規(guī)范版本,不同版本具有不同的解析規(guī)則,方便udf解析。
  • 業(yè)務(wù)域:業(yè)務(wù)系統(tǒng)代稱,盡量簡(jiǎn)短,比如 搜索srh。
  • 內(nèi)容資源類型:內(nèi)容類型或資源,比如 user_10098, cspu_1020,spu_771等。
  • 資源位:廣告位,榜單位。
  • 實(shí)驗(yàn):資源本次采用的AB實(shí)驗(yàn)策略,多個(gè)實(shí)驗(yàn)用-隔開。
  • 自定義值:

允許應(yīng)用方進(jìn)行擴(kuò)展的字段,比如 chan_latest-pos_3 代表channel為latest,pos為3。

特殊要求:自定義字段中不能出現(xiàn) ".","-","_"等字段,其他部分無此要求。

埋點(diǎn)示例:

acm: 1.srh.spu_1009.sh.kka3b.10089-1929-100.channel_hot-position_2
acm: 2.srh.spu:1009.sh.kka3b.10089;1929;100.channel:hot;position:2

埋點(diǎn)場(chǎng)景:

    request維度,覆蓋所有搜索和推薦場(chǎng)景

埋點(diǎn)動(dòng)作:

    request維度

下面是一個(gè)帶有acm信息的后端返回示例:

{
    "code": 200,
    "data": {
        "total": 3730,
        "start": 0,
        "hits": 10,
        "searchId": "161113175619737242413163",
        "searchTime": 0.024447,
        "items":[
            {
                "spuId":"xxx",
                "acm": "1.ms.prd-10092.v1ss.exp-1.kka.12",
            }
        ],
        "facet":[],
        "cache": false
    },
    "requestId": "f2ca7c08693acd54",
    "cost": 0,
    "time": 1611131759
}

實(shí)時(shí)的實(shí)驗(yàn)指標(biāo)監(jiān)控

實(shí)時(shí)實(shí)驗(yàn)指標(biāo)的計(jì)算流程

  1. 后臺(tái)服務(wù)日志實(shí)驗(yàn)分流信息需要透?jìng)鹘o客戶端;
  2. 客戶端用戶行為及時(shí)上報(bào);
  3. 行為日志被flink等實(shí)時(shí)計(jì)算平臺(tái)及時(shí)處理;
  4. 制定明確且可計(jì)算的實(shí)時(shí)指標(biāo)規(guī)范。

有了上面四個(gè)基礎(chǔ)流程,就可以計(jì)算實(shí)時(shí)的實(shí)驗(yàn)反饋指標(biāo),但是要注意實(shí)時(shí)的指標(biāo)計(jì)算往往只能反映一段時(shí)間的實(shí)驗(yàn)趨勢(shì)變化,在部分復(fù)雜指標(biāo)上很難實(shí)現(xiàn)精確的實(shí)驗(yàn)指標(biāo)計(jì)算,所以一般用來觀察實(shí)驗(yàn)指標(biāo)變化趨勢(shì),不作為最終決策依據(jù)。

實(shí)時(shí)數(shù)據(jù)處理鏈路

打通了數(shù)據(jù)鏈路并且在用戶的行為日志中包含了ACM埋點(diǎn)以后,算法就可以基于行為日志,通過flink等工具實(shí)時(shí)算計(jì)算用戶的各種指標(biāo)信息。

具體的監(jiān)控鏈路流程如下圖綠色鏈路所示:

圖片

具體實(shí)時(shí)實(shí)驗(yàn)監(jiān)控效果

最終可以達(dá)到秒級(jí)的實(shí)驗(yàn)效果反饋,極大的加快了算法對(duì)實(shí)驗(yàn)策略的反饋效率,具體效果如下圖,用戶可以自己選擇關(guān)注的實(shí)驗(yàn)信息對(duì)比不同實(shí)驗(yàn)在同一時(shí)間區(qū)間內(nèi)的指標(biāo)變化情況??梢苑浅Q杆俚牡玫骄€上的新實(shí)驗(yàn)的效果反饋信息,極大地縮短了算法對(duì)實(shí)驗(yàn)指標(biāo)的策略調(diào)整反饋周期。

圖片

四、3.0 時(shí)代 從全到優(yōu),提升用戶體驗(yàn)和實(shí)驗(yàn)效率

2.0 時(shí)代主要是從各種機(jī)制和功能方面盡量滿足業(yè)務(wù)需要,業(yè)務(wù)功能滿足以后,我們進(jìn)行了業(yè)務(wù)與擴(kuò)展,將算法的推薦業(yè)務(wù)場(chǎng)景也囊括進(jìn)來,推薦業(yè)務(wù)接入以后,雖然在基本功能上也可以滿足需求,但是推薦和搜索的業(yè)務(wù)特點(diǎn)還是有點(diǎn)不同,于是我們針對(duì)實(shí)驗(yàn)平臺(tái)的實(shí)驗(yàn)操作用戶體驗(yàn)和穩(wěn)定性方面進(jìn)行了較多的優(yōu)化。

實(shí)驗(yàn)操作易用性的建設(shè)

業(yè)務(wù)場(chǎng)景鋪開以后,使用的業(yè)務(wù)團(tuán)隊(duì)和人員也變得更為復(fù)雜,于是我們?cè)卺槍?duì)特定場(chǎng)景的使用和業(yè)務(wù)人員使用習(xí)慣方面做了不少的功能改進(jìn)和優(yōu)化。根據(jù)我們收集的算法人員的參數(shù)配置,白名單配置,流量調(diào)整等功能使用痛點(diǎn),我們進(jìn)行了針對(duì)性的優(yōu)化。

實(shí)驗(yàn)參數(shù)的易用性工具

實(shí)驗(yàn)參數(shù)配置是AB實(shí)驗(yàn)的最主要的功能,為了優(yōu)化用戶體驗(yàn)在實(shí)驗(yàn)參數(shù)使用方面的體驗(yàn),我們收集了一些常見的用戶在使用參數(shù)配置時(shí)候經(jīng)常遇到的問題,并針對(duì)性做了功能和體驗(yàn)的優(yōu)化。

場(chǎng)景1:隨著業(yè)務(wù)發(fā)展,算法配置的業(yè)務(wù)層越來越多,由于約定的參數(shù)規(guī)范是同一層的可配置實(shí)驗(yàn)參數(shù)應(yīng)該一致,同一個(gè)實(shí)驗(yàn)參數(shù)配置也應(yīng)該出現(xiàn)在同一層,但是隨著層數(shù)增多和部分參數(shù)使用不規(guī)范,估算某個(gè)實(shí)驗(yàn)參數(shù)的實(shí)際生效流量就變得很困難(參數(shù)有后覆蓋前面的規(guī)則)。有可能出現(xiàn)你給a實(shí)驗(yàn)配置了 10%流量的 recallSize = 20 但是后續(xù)該參數(shù)被別人的同名參數(shù)覆蓋導(dǎo)致實(shí)際參數(shù)生效流量不符合預(yù)期的情況。

圖片圖片

參數(shù)流量著色分析:使用參數(shù)流量的著色分析可以清楚的知道某個(gè)實(shí)驗(yàn)參數(shù)都在哪些實(shí)驗(yàn)中有配置,這些實(shí)驗(yàn)如果同屬于一個(gè)業(yè)務(wù)層則無流量覆蓋,如果有些實(shí)驗(yàn)不屬于同一個(gè)業(yè)務(wù)層,有可能出現(xiàn)參數(shù)覆蓋的情況。流量著色就是通過程序,一鍵計(jì)算某個(gè)參數(shù)最終的流量結(jié)果分布情況,可以方便的看到某個(gè)參數(shù)最終的線上真實(shí)流量比例。

包含某參數(shù)配置的所有實(shí)驗(yàn)查詢:

圖片圖片

某參數(shù)的實(shí)際生效流量分布:

圖片圖片

場(chǎng)景2:實(shí)驗(yàn)參數(shù)越來越復(fù)雜,同一個(gè)參數(shù)往往有多個(gè)不同的版本需要同時(shí)觀測(cè)實(shí)驗(yàn)的效果,這種時(shí)候可能由于時(shí)間久遠(yuǎn)或者實(shí)驗(yàn)變更頻繁,或者參數(shù)過多,很多時(shí)候在進(jìn)行實(shí)驗(yàn)觀測(cè)和調(diào)整的時(shí)候需要確認(rèn)實(shí)驗(yàn)中的參數(shù)配置信息,特地為這些需要對(duì)比參數(shù)的場(chǎng)景制作了便捷的實(shí)驗(yàn)參數(shù)對(duì)比的功能。

實(shí)驗(yàn)參數(shù)對(duì)比:可以比較清晰的對(duì)比同一個(gè)實(shí)驗(yàn)參數(shù)在同一層其他實(shí)驗(yàn)中分別是什么值,可以大幅度提高實(shí)驗(yàn)流量調(diào)整期間需要進(jìn)行的實(shí)驗(yàn)信息核對(duì)工作效率。

圖片圖片

實(shí)驗(yàn)布局的操作和展示優(yōu)化

為了滿足靈活的實(shí)驗(yàn)流量劃分,我們?cè)O(shè)計(jì)了一套通用的實(shí)驗(yàn)流量模型,但是該流量模型的可視化方面一直是一個(gè)不小的難題,最基本的我們希望能直觀的展示層與層,層與桶(用戶域)之間的布局結(jié)構(gòu)和用戶流量的命中順序關(guān)系。

我們進(jìn)行了一些更能直觀體現(xiàn)實(shí)驗(yàn)布局的探索,目前我們采用一個(gè)標(biāo)準(zhǔn)的樹狀結(jié)構(gòu)來表示個(gè)實(shí)驗(yàn)分流模型。實(shí)驗(yàn)?zāi)P椭械臉I(yè)務(wù)層和用戶桶我們都會(huì)用圖標(biāo)進(jìn)行區(qū)分,由于層桶結(jié)構(gòu)可以嵌套多次,我們通過將結(jié)構(gòu)關(guān)系進(jìn)行拆分,將桶頁(yè)面主視圖和層頁(yè)面主視圖進(jìn)行了分別設(shè)計(jì)。

  • 層頁(yè)面主視圖:可以便捷的觀察到當(dāng)前層內(nèi)的不同流量桶和子桶內(nèi)的其他子業(yè)務(wù)層,主要是用于尋找自己的業(yè)務(wù)層位于某一個(gè)用戶桶內(nèi),觀察某些桶的流量比例和參數(shù)等。子業(yè)務(wù)層內(nèi)的流量桶信息不予顯示。

圖片圖片

  • 桶頁(yè)面主視圖:桶頁(yè)面的主視圖可以同時(shí)觀察到該桶內(nèi)的各個(gè)子業(yè)務(wù)層和業(yè)務(wù)層內(nèi)部的子實(shí)驗(yàn)桶信息,可以用來直觀的對(duì)照具體的實(shí)驗(yàn)命中鏈路從上往下核對(duì)實(shí)驗(yàn)命中路徑。界面顯示如下(測(cè)試數(shù)據(jù)):

圖片圖片

通過將層桶結(jié)構(gòu)進(jìn)行主要的功能拆分,可以在復(fù)雜場(chǎng)景的視圖布局清晰度和易用性上達(dá)到一個(gè)比較好的平衡。

實(shí)驗(yàn)信息的完善

算法的實(shí)驗(yàn)在進(jìn)行實(shí)驗(yàn)分析報(bào)表的時(shí)候往往需要對(duì)比多個(gè)指標(biāo)綜合觀察實(shí)驗(yàn)效果,之前都是算法人員跟分析人工對(duì)齊某個(gè)實(shí)驗(yàn)什么時(shí)候開始什么時(shí)候結(jié)束,需要觀察哪些指標(biāo)等信息。為了方便后續(xù)自動(dòng)化的進(jìn)行實(shí)驗(yàn)效果分析,我們完善了實(shí)驗(yàn)的實(shí)驗(yàn)時(shí)長(zhǎng),核心指標(biāo),輔助指標(biāo)等功能,方便用戶進(jìn)行實(shí)驗(yàn)的分析信息管理,后續(xù)通過自動(dòng)化功能依賴這種信息可以實(shí)現(xiàn)實(shí)驗(yàn)報(bào)表指標(biāo)流程的自動(dòng)化計(jì)算。

圖片圖片

服務(wù)穩(wěn)定性的改進(jìn)

動(dòng)態(tài)白名單功能優(yōu)化

白名單操作是一個(gè)使用頻次較高的AB實(shí)驗(yàn)操作功能, 實(shí)驗(yàn)參數(shù)配置好以后往往需要通過白名單來小范圍的驗(yàn)證策略效果。但是早期的白名單設(shè)計(jì)時(shí)候考慮到白名單會(huì)影響用戶的分流,所以白名單信息和實(shí)驗(yàn)布局配置信息一起被用戶感知,這也導(dǎo)致每一次的白名單變更都需要重新發(fā)布實(shí)驗(yàn)配置,給線上的配置穩(wěn)定性造成了威脅。

解決方案:

基于白名單的設(shè)計(jì)和生效流程,我們嘗試通過流程和配置格式改進(jìn)優(yōu)化,使得白名單的配置可以實(shí)時(shí)生效同時(shí)又不影響原來的實(shí)驗(yàn)配置,如下圖所示:

圖片

動(dòng)態(tài)白名單功能改動(dòng)相當(dāng)于將白名單的配置信息獨(dú)立出來,在白名單有修改的時(shí)候獨(dú)立加載,同時(shí)不觸發(fā)配置信息本身的更新。但是考慮到兼容性問題,我們每次配置信息改動(dòng)也會(huì)額外觸發(fā)白名單的重新更新,描述配置更新相當(dāng)于一次全量更新,配置和白名單都會(huì)更新。白名單更新相當(dāng)于實(shí)時(shí)只更新新增的白名單信息。

并發(fā)操作Ark發(fā)布實(shí)驗(yàn)的優(yōu)化

由于AB實(shí)驗(yàn)的配置下發(fā)方式是通過Ark配置中心提供的配置通知功能實(shí)現(xiàn)的,目前后臺(tái)操作Ark進(jìn)行配置發(fā)布的時(shí)候是通過http接口進(jìn)行了,使用接口同時(shí)操作同一個(gè)Ark配置集的時(shí)候,大量操作容易產(chǎn)生并發(fā),并發(fā)問題會(huì)導(dǎo)致Ark操作直接失敗,這種情況極大地阻礙了實(shí)驗(yàn)配置發(fā)布過程的流暢性。

解決的辦法有如下方案:

圖片圖片

經(jīng)過仔細(xì)評(píng)估和方案選擇,我們決定方案2,3,4同步進(jìn)行,最終完全解決了實(shí)驗(yàn)操作時(shí)候的并發(fā)問題。

實(shí)驗(yàn)效果分析的探索和優(yōu)化

在過去2年的AB實(shí)驗(yàn)的實(shí)踐和改進(jìn)過程中,我們也十分注重實(shí)驗(yàn)效果方面的分析和問題歸因,根據(jù)遇到的實(shí)際實(shí)驗(yàn)分析問題和情況,總結(jié)了一部分常見的實(shí)驗(yàn)分析相關(guān)經(jīng)驗(yàn)文檔,其中涉及實(shí)驗(yàn)流程標(biāo)準(zhǔn)化,實(shí)驗(yàn)指標(biāo)選取,實(shí)驗(yàn)指標(biāo)的統(tǒng)計(jì)功效分析,實(shí)驗(yàn)指標(biāo)的p值和置信度分析,以及常見的實(shí)驗(yàn)中遇到的問題等。

常見的實(shí)驗(yàn)分析問題

我們總結(jié)了一些實(shí)驗(yàn)效果分析中常見的問題和可能的原因,可以幫助排查AB實(shí)驗(yàn)中遇到的常見問題。具體如下表:

圖片

實(shí)驗(yàn)中的辛普森悖論

辛普森悖論(英語:Simpson's paradox),是概率和統(tǒng)計(jì)中的一種現(xiàn)象,其中趨勢(shì)出現(xiàn)在幾組數(shù)據(jù)中,但當(dāng)這些組被合并后趨勢(shì)消失或反轉(zhuǎn)。這個(gè)結(jié)果在社會(huì)科學(xué)和醫(yī)學(xué)科學(xué)統(tǒng)計(jì)中經(jīng)常遇到,當(dāng)頻率數(shù)據(jù)被不恰當(dāng)?shù)亟o出因果解釋時(shí)尤其成問題。當(dāng)干擾變量和因果關(guān)系在統(tǒng)計(jì)建模中得到適當(dāng)處理時(shí),這個(gè)悖論就可以得到解決。辛普森悖論已被用來說明統(tǒng)計(jì)誤用可能產(chǎn)生的誤導(dǎo)性結(jié)果。

落實(shí)到我們的AB實(shí)驗(yàn)中就是 如果一個(gè)實(shí)驗(yàn)A在一個(gè)較長(zhǎng)的實(shí)驗(yàn)周期內(nèi)每天指標(biāo)都高于實(shí)驗(yàn)B,實(shí)驗(yàn)A的整體周期指標(biāo)未必高于實(shí)驗(yàn)B。

圖片圖片

本圖想說明一個(gè)問題,如果一個(gè)實(shí)驗(yàn)周期跨很多天,每天觀測(cè)實(shí)驗(yàn)效果的情況下,如果某個(gè)實(shí)驗(yàn)組用戶數(shù)量(或者某個(gè)指標(biāo))長(zhǎng)期每天穩(wěn)定高于另一個(gè)實(shí)驗(yàn)組,不能說明分流不均勻。

第一天  因?yàn)閯倓傊匦路至鳎运杏脩魧?duì)實(shí)驗(yàn)來說都是新用戶,a組 505萬,b組 495萬 ,1%的正常誤差。

第二天 因?yàn)槔嫌脩粢3址至饕恢?,組內(nèi)用戶=新用戶+次留老用戶, 新用戶會(huì)重新分組,老用戶沿用之前的分組,此時(shí)有兩種情況:

情況1  (合理) 老用戶按原來的分流, 新用戶分流誤差 1%。

情況2 (不合理) 老用戶按原來的分流,新用戶必須要保證誤差 2%,才能逆轉(zhuǎn)第二天的分組誤差情況,但是此種情況下第二天的新老用戶比例會(huì)嚴(yán)重不均勻,同時(shí)沒辦法保持分流策略的一致性,理論上不可能實(shí)現(xiàn)。

五、未來的改進(jìn)方向

未來我們會(huì)希望借助數(shù)倉(cāng)部門的AB平臺(tái)的指標(biāo)計(jì)算和可視化通用能力,希望可以逐步增強(qiáng)AB平臺(tái)的數(shù)據(jù)可視化能力,在實(shí)驗(yàn)分流情況的可視化分析,實(shí)驗(yàn)的用戶特征的分布可視化分析,實(shí)驗(yàn)的指標(biāo)變化原因排查等方面與分析同學(xué)一起合作,提升AB實(shí)驗(yàn)的指標(biāo)報(bào)表問題分析效率。

在AB實(shí)驗(yàn)平臺(tái)本身的實(shí)驗(yàn)信息操作和性能,穩(wěn)定性方面我們也有一些新的想法,希望將來可以打通開發(fā)環(huán)境,測(cè)試環(huán)境,生產(chǎn)環(huán)境,實(shí)現(xiàn)一個(gè)界面可以跨環(huán)境操作,降低算法同學(xué)使用不同環(huán)境AB需要在不同系統(tǒng)切換的問題,同時(shí)在將來還希望借助sidecard的形式增強(qiáng)AB實(shí)驗(yàn)的分流能力和分流穩(wěn)定性,兼顧分流性能和分流平臺(tái)功能迭代效率。

責(zé)任編輯:武曉燕 來源: 得物技術(shù)
相關(guān)推薦

2022-12-10 15:25:51

進(jìn)化歷程Vue

2024-07-23 10:02:49

2022-11-07 14:03:46

2018-05-14 12:30:37

數(shù)據(jù)驅(qū)動(dòng)算法優(yōu)化

2016-10-17 09:55:54

云IAMIT云計(jì)算

2024-02-02 08:12:40

AB實(shí)驗(yàn)雙盲測(cè)試搜索實(shí)驗(yàn)

2011-10-03 20:23:34

2011-11-10 14:42:11

2012-07-12 09:25:03

蘋果Mac OS X

2013-01-28 14:46:48

移動(dòng)廣告移動(dòng)互聯(lián)網(wǎng)

2022-07-31 20:29:28

日志系統(tǒng)測(cè)

2024-03-25 11:37:40

機(jī)器學(xué)習(xí)人工智能進(jìn)化算法

2022-12-28 08:31:38

平臺(tái)設(shè)計(jì)應(yīng)用

2010-07-27 14:04:52

2020-07-20 10:40:31

云計(jì)算云平臺(tái)IT

2022-01-10 17:20:51

物聯(lián)網(wǎng)設(shè)備管理IOT

2010-06-13 17:21:41

Linux下dhcp測(cè)

2024-08-13 11:59:07

2025-01-10 14:35:23

2024-05-15 08:00:00

DevOps平臺(tái)工程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)