0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

算法AB實驗平臺進化歷程和挑戰(zhàn)

OSC開源社區(qū) ? 來源: 得物技術 ? 2023-09-18 09:25 ? 次閱讀

AB平臺簡介

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

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

1.0 時代 從無到有

在AB實驗剛開始的時候,需要解決的問題很簡單:

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

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

一個基本AB實驗實例

5f7d2476-53b8-11ee-a25d-92fbcf53809c.png

一個基本的AB實驗需要有以下要素:

實驗目標和實驗假設

實驗目標決定到達到什么樣的效果實驗才算成功,舉個例子,我希望付款率提升5%,這就是目標,其中的實驗指標是付款率,做實驗之前一定要有實驗目標,沒有實驗目標沒辦法確定實驗是否成功,實驗目標包含指標和變化幅度兩個要素。

實驗假設是猜想通過控制哪些因素來達到實驗目標,比如我們假設付款按鈕的顏色會影響用戶的付款意愿進而影響付款率,那這里的實驗假設就是付款按鈕顏色會影響用戶付款意愿。

實驗對象(實驗對象是可以用來應用策略的用戶或者請求或者其他對象)

實驗對象并不是僅僅指用戶,用戶的每一次請求也可以單獨做實驗,甚至每一次用戶請求的每一個曝光位置都可以看做一個實驗流量,這個對象取決于具體的業(yè)務。

對照組和實驗組(AB實驗的核心要求是控制變量做效果對照,所以至少有一個或多個對照組策略和實驗組策略)

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

實驗組:一般是應用了新策略的組,代表了新策略的實驗效果。

統(tǒng)計功效:在進行實驗組和對照組的流量分配的時候要注意,因為我們的AB實驗是從整體用戶中取一部分進行實驗,然后采用統(tǒng)計學方式進行效果評估,所以無論是實驗組還是對照組樣本量要滿足最基本的統(tǒng)計功效,后續(xù)的實驗才有意義,而統(tǒng)計功效無法在實驗之后計算,需要我們在實驗進行之前就做充足的調(diào)研。

算法的AB1.0主要功能

通過控制變量的方式進行AB分流實驗,并通過離線的模擬分流規(guī)則提供用戶實驗分組信息,使得數(shù)據(jù)分析可以計算實驗的指標報表。

打通基本的工程實驗鏈路,可以讓算法通過實驗配置自主的控制實驗流量和實驗策略。

1.0AB實驗的策略生效流程

在早期的實驗過程有以下鏈路:

5f904e70-53b8-11ee-a25d-92fbcf53809c.png

通過配置中心配置約定好的AB實驗配置信息,線上的服務通過配置中心的變更信息,實時變更實驗配置,從下次分流開始應用新的分流策略,同時記錄實驗日志。

報表計算方式,將實驗配置信息同步到ODPS,第二天用前一天的實驗配置對昨天的用戶進行重新分流計算,獲得昨天的用戶實驗分流信息(之所以這樣是因為實驗變更是以天為單位,離線計算可以比較方面的支撐后續(xù)的實驗分析)。

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

5fa5375e-53b8-11ee-a25d-92fbcf53809c.png

早期的AB實驗設計解決了基本的實驗分流問題也提供了一套配套的實驗指標和實驗置信度計算方案,支撐了早期的簡單業(yè)務可以通過AB實驗的方式比較科學的觀測算法模型效果。

2.0 時代 從有到全,支持復雜業(yè)務功能

新的業(yè)務需求

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

流量饑渴,更豐富的流量需求:在1.0版本的AB實驗中已經(jīng)解決了基本的實驗分流和配置的問題,但是由于一個場景中總用戶流量有限,可能會有多種業(yè)務實驗同時進行,實際實驗運行時需要在同時運行的實驗數(shù)量和每個實驗的流量大小之間做一個取舍,業(yè)務高速發(fā)展時期經(jīng)常會有用戶希望提高同時運行的實驗數(shù)量,同時保證每個實驗有充足的流量,于是我們擴展了原來的實驗流量分流模型設計,采用分層分域的正交的業(yè)務實驗劃分方式來支撐上述的流量需求。

更實時更準確的實驗報表:在早期的實驗中通過第二天的配置重算的方式得到前一天的用戶實驗分組數(shù)據(jù),這種方法可以支撐非常巨大的用戶和實驗數(shù)量,但是時效性上比較難以保證。隨著業(yè)務快速迭代,算法的實時實驗效果監(jiān)控的需求也逐漸增加,離線的實驗報表計算反饋需要等到至少1天后才能觀測,實驗反饋周期太長。于是我們調(diào)整了實驗分流和報表的計算鏈路,采用實時實驗日志埋點通過flink等實時計算平臺實時計算實驗效果,這種做法可以實時捕捉實驗流量的變化情況,對于驗證實驗分流效果有較大的效率提升。

復雜實驗形式:聯(lián)合實,多集群實驗, 指定用戶實驗需求:隨著算法工程鏈路的規(guī)范化,業(yè)務鏈路中的一些業(yè)務層之間開始進行聯(lián)合調(diào)優(yōu)實驗,催生出了多參數(shù)跨層聯(lián)合實驗的需求,需要在分層實驗的基礎上支持聯(lián)合參數(shù)的生效機制,這在一般的分層實驗設計中是很難支撐的。隨著工程鏈路穩(wěn)定性項目的進展,大部分業(yè)務同時都具有多個不同集群,此時又需要AB系統(tǒng)也可以針對不同集群提供同場景不同實驗配置的功能支撐。還有隨著精細化運營的展開,越來越多的實驗只針對更精準的特定用戶群才能生效,這給原來的實驗分流和實驗分析都帶來了不小的需求和挑戰(zhàn)。

更強大更通用的分流模型

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

多層正交的實驗流量模型

5fd99d3c-53b8-11ee-a25d-92fbcf53809c.png

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

該模型可以支持如下主要特點:

分層分域,互相嵌套的流量設計,支持業(yè)務域分層的正交流量,每一層都是一個單獨的業(yè)務,解決流量饑渴問題,同時支持自由的流量域劃分,流量域和流量層可以互相嵌套,實現(xiàn)極其靈活的流量劃分方式。

每一個流量層采用hash模板+流量槽,層內(nèi)實驗通過圈槽的形式?jīng)Q定實驗在該層的流量比例,允許算法用戶自定義實驗分流的規(guī)則,支持根據(jù)用戶的用戶特征信息進行分流,同時支持靈活的跨層流量對齊機制。這種方式可以實現(xiàn)極為靈活的分流方式,支持各種對象和分流方式(比如用戶分流,請求分流,設備分流,作者分流,按地區(qū)分流等)。

支持白名單,允許用戶繞開分流機制,指定用戶的固定實驗鏈路,用于在線上進行特殊用戶的實驗驗證。

支持條件層,允許符合某種條件的用戶單獨進行特定實驗,比如只針對新用戶進行的實驗。

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

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

5ff128a8-53b8-11ee-a25d-92fbcf53809c.png

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

標準的實驗工程鏈路

60015818-53b8-11ee-a25d-92fbcf53809c.png

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

采用實驗分流日志而不是離線的實驗配置來計算用戶的實驗分組信息。

實驗日志可以捕獲每一個時刻的用戶的實驗分流情況,可以較為敏感的捕捉到實驗變更的情況。

實驗日志可觀測性強,用戶配置完實驗以后可以立刻通過日志觀測實驗的命中情況。

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

線上應用增加實驗信息的具體埋點信息, 埋點分為兩部分:

一部分透傳給客戶端,其中包含用戶命中的實驗信息,稱之為ACM埋點,客戶端在用戶進行點擊曝光等操作時上報信息中回傳服務端下發(fā)的ACM字段,這樣我們可以通過神策上報的行為日志,清楚的知道每個實驗曝光幾次,被點擊幾次,可以及時得到實驗的線上表現(xiàn),這部分行為日志還可以幫助我們實時的計算實驗策略效果報表。

另一部分作為應用的后臺日志記錄,記錄了每一次請求中用戶命中的實驗相關信息,用于計算實驗分組信息。

設計了AB實驗的后臺操作管理界面,不用再通過手動修改配置中心的配置來進行實驗配置。并將實驗發(fā)布,實驗修改,實驗配置回滾等功能做成具體的按鈕功能,極大地提高了用戶的實驗操作使用體驗。

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

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

ACM通用埋點標準

為了解決實驗的實時效果觀測問題, 我們需要想辦法將后臺的實驗命中標識信息傳遞給客戶端??紤]到其他業(yè)務場景也會有類似的埋點需求,為了埋點通用性考慮,我們規(guī)劃了一個算法的埋點標準,主要想簡化算法埋點流程和對算法的埋點信息進行統(tǒng)一的治理。

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

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


版本.業(yè)務域.內(nèi)容資源類型.資源位.實驗.自定義值

版本:標記本條ACM的遵循的規(guī)范版本,不同版本具有不同的解析規(guī)則,方便udf解析。

業(yè)務域:業(yè)務系統(tǒng)代稱,盡量簡短,比如 搜索srh。

內(nèi)容資源類型:內(nèi)容類型或資源,比如 user_10098, cspu_1020,spu_771等。

資源位:廣告位,榜單位。

實驗:資源本次采用的AB實驗策略,多個實驗用-隔開。

自定義值:

允許應用方進行擴展的字段,比如 chan_latest-pos_3 代表channel為latest,pos為3。

特殊要求:自定義字段中不能出現(xià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

埋點場景:

request維度,覆蓋所有搜索和推薦場景

埋點動作:

request維度

下面是一個帶有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
}

實時的實驗指標監(jiān)控

實時實驗指標的計算流程

后臺服務日志實驗分流信息需要透傳給客戶端;

客戶端用戶行為及時上報;

行為日志被flink等實時計算平臺及時處理;

制定明確且可計算的實時指標規(guī)范。

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

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

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

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

602b6162-53b8-11ee-a25d-92fbcf53809c.png

具體實時實驗監(jiān)控效果

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

6053fe1a-53b8-11ee-a25d-92fbcf53809c.png

3.0 時代 從全到優(yōu),提升用戶體驗和實驗效率

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

實驗操作易用性的建設

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

實驗參數(shù)的易用性工具

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

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

60775540-53b8-11ee-a25d-92fbcf53809c.png

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

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

609fb968-53b8-11ee-a25d-92fbcf53809c.png

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

60c5d63e-53b8-11ee-a25d-92fbcf53809c.png

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

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

60da94f2-53b8-11ee-a25d-92fbcf53809c.png

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

為了滿足靈活的實驗流量劃分,我們設計了一套通用的實驗流量模型,但是該流量模型的可視化方面一直是一個不小的難題,最基本的我們希望能直觀的展示層與層,層與桶(用戶域)之間的布局結構和用戶流量的命中順序關系。

我們進行了一些更能直觀體現(xiàn)實驗布局的探索,目前我們采用一個標準的樹狀結構來表示個實驗分流模型。實驗模型中的業(yè)務層和用戶桶我們都會用圖標進行區(qū)分,由于層桶結構可以嵌套多次,我們通過將結構關系進行拆分,將桶頁面主視圖和層頁面主視圖進行了分別設計。

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

60eacf2a-53b8-11ee-a25d-92fbcf53809c.png

桶頁面主視圖:桶頁面的主視圖可以同時觀察到該桶內(nèi)的各個子業(yè)務層和業(yè)務層內(nèi)部的子實驗桶信息,可以用來直觀的對照具體的實驗命中鏈路從上往下核對實驗命中路徑。

界面顯示如下(測試數(shù)據(jù)):

60f2eb4c-53b8-11ee-a25d-92fbcf53809c.png

通過將層桶結構進行主要的功能拆分,可以在復雜場景的視圖布局清晰度和易用性上達到一個比較好的平衡。

實驗信息的完善

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

611e0818-53b8-11ee-a25d-92fbcf53809c.png

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

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

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

解決方案:

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

6137db94-53b8-11ee-a25d-92fbcf53809c.png

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

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

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

解決的辦法有如下方案:

615eb8e0-53b8-11ee-a25d-92fbcf53809c.png

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

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

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

常見的實驗分析問題

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

61811282-53b8-11ee-a25d-92fbcf53809c.png

實驗中的辛普森悖論

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

落實到我們的AB實驗中就是如果一個實驗A在一個較長的實驗周期內(nèi)每天指標都高于實驗B,實驗A的整體周期指標未必高于實驗B。

61d1eb80-53b8-11ee-a25d-92fbcf53809c.png

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

第一天 因為剛剛重新分流,所以所有用戶對實驗來說都是新用戶,a組 505萬,b組 495萬 ,1%的正常誤差。

第二天 因為老用戶要保持分流一致,組內(nèi)用戶=新用戶+次留老用戶, 新用戶會重新分組,老用戶沿用之前的分組,此時有兩種情況:

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

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

未來的改進方向

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

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

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 互聯(lián)網(wǎng)

    關注

    54

    文章

    11073

    瀏覽量

    102614
  • 算法
    +關注

    關注

    23

    文章

    4587

    瀏覽量

    92503
  • 實驗平臺
    +關注

    關注

    0

    文章

    7

    瀏覽量

    2601

原文標題:算法AB實驗平臺進化歷程和挑戰(zhàn)

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    遺傳算法及其進化硬件設計研究

    遺傳算法(Genetic Algorithms,GAs)是進化計算中的重要領域,也是人工智能迅速發(fā)展的重要領域,它是一類模擬自然進化過程和達爾文“適者生存”的算法。這一
    發(fā)表于 07-10 13:28 ?16次下載

    差分進化算法研究進展

    針對一種新興的進化算法— —差分進化算法,介紹該算法的基本原理、算法流程、
    發(fā)表于 01-08 18:16 ?11次下載

    什么是進化算法

    進化算法包括遺傳算法進化程序設計、進化規(guī)劃和進化策略等等,
    發(fā)表于 08-03 15:31 ?2532次閱讀

    進化算法

    進化算法-2000-5-冶金工業(yè)出版社-云慶夏。
    發(fā)表于 04-12 10:48 ?0次下載

    基于演化硬件的多目標進化算法的研究

    基于演化硬件的多目標進化算法的研究
    發(fā)表于 01-08 14:47 ?0次下載

    基于種群進化速度的動態(tài)煙花算法

    基于種群進化速度的動態(tài)煙花算法_杜振鑫
    發(fā)表于 01-07 21:28 ?3次下載

    基于模糊高斯學習策略的粒子群進化融合算法

    針對粒子群優(yōu)化(PSO)算法存在的開發(fā)能力不足,導致算法精度不高、收斂速度慢以及微分進化算法具有的探索能力偏弱,易陷入局部極值的問題,提出一種基于模糊高斯學習策略的粒子群一
    發(fā)表于 11-27 17:35 ?1次下載

    基于差分進化算法的改進

    針對差分進化(DE)算法存在的尋優(yōu)精度低、收斂速度慢等問題,借鑒混沌分散策略、反向學習策略(OBL)以及跨種群并行機制,提出一種基于反向學習的跨種群差分進化算法(OLCPDE)。采用混
    發(fā)表于 12-04 16:30 ?0次下載
    基于差分<b class='flag-5'>進化</b><b class='flag-5'>算法</b>的改進

    約束優(yōu)化進化算法研究

    約束優(yōu)化進化算法主要研究如何利用進化計算方法求解約束優(yōu)化問題,是進化計算領城的一個重要研究課題.約束優(yōu)化問題求解存在約束區(qū)域離散、等式約束、非線性約束等
    發(fā)表于 12-28 11:45 ?0次下載

    混合多種約束的并行約束差分進化算法

    針對約束差分進化算法中單一約束處理技術無法適合所有優(yōu)化問題的情況,提出了一種混合多種約束處理技術的并行約束差分進化算法。該算法將種群分成多個
    發(fā)表于 01-02 16:40 ?0次下載

    流水車間調(diào)度量子差分進化算法

    針對阻塞流水車間調(diào)度問題( BFSP),提出了一種新穎的量子差分進化(NQDE)算法,用于最小化最大完工時間。該算法將量子進化算法(QEA)
    發(fā)表于 01-14 16:17 ?0次下載

    自學習差異進化算法

    速度,引入隨機個體遷入機制增加群體多樣性。實驗以周期動態(tài)函數(shù)為測試對象,比較自學習差異進化算法與部分智能優(yōu)化算法的性能,結果表明,新算法有更
    發(fā)表于 03-13 16:46 ?0次下載

    基于反向學習的自適應差分進化算法

    個體;同時,采用高斯分布隨機性提高單個個體的開發(fā)能力,通過擴充種群的多樣性,避免算法過早收斂,整體上平衡全局搜索與局部尋優(yōu)的能力。采用CEC 2014中的6個測試函數(shù)進行仿真實驗,并與其他差分進化
    發(fā)表于 03-29 17:44 ?1次下載

    進化算法為搜索策略實現(xiàn)神經(jīng)架構搜索的方法

    神經(jīng)網(wǎng)絡的發(fā)展歷程,分類介紹以進化算法為搜索策略實現(xiàn)神經(jīng)架構搜索的方法和過程,并比較基于進化算法的不同神經(jīng)架構搜索
    發(fā)表于 03-22 14:37 ?15次下載
    以<b class='flag-5'>進化</b><b class='flag-5'>算法</b>為搜索策略實現(xiàn)神經(jīng)架構搜索的方法

    求解動態(tài)優(yōu)化問題的鄰域搜索差分進化算法

    候選解,選取候選解集合中的最優(yōu)解并對種群最優(yōu)個體進行迭代,增強算法局部搜索能力。在傳統(tǒng)基于距離的排斥方案中,引人 hill-valley函數(shù)追蹤鄰近峰,提高算法尋優(yōu)精度。實驗結果表明,與SADE、人工免疫網(wǎng)絡動態(tài)優(yōu)化、多種群競爭
    發(fā)表于 04-27 11:32 ?3次下載
    求解動態(tài)優(yōu)化問題的鄰域搜索差分<b class='flag-5'>進化</b><b class='flag-5'>算法</b>