自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從0到1建設(shè)智能灰度數(shù)據(jù)體系:以vivo游戲中心為例

大數(shù)據(jù)
本文介紹了vivo游戲中心在灰度數(shù)據(jù)分析體系上的實(shí)踐經(jīng)驗,從“實(shí)驗思想-數(shù)學(xué)方法-數(shù)據(jù)模型-產(chǎn)品方案”四個層面提供了一套較為完整的智能灰度數(shù)據(jù)解決方案,以保障版本評估的科學(xué)性、項目進(jìn)度以及灰度驗證環(huán)節(jié)的快速閉環(huán)。

作者 | vivo 互聯(lián)網(wǎng)數(shù)據(jù)分析團(tuán)隊-Dong Chenwei,vivo 互聯(lián)網(wǎng)大數(shù)據(jù)團(tuán)隊-Qin Cancan、Zeng Kun

本文介紹了vivo游戲中心在灰度數(shù)據(jù)分析體系上的實(shí)踐經(jīng)驗,從“實(shí)驗思想-數(shù)學(xué)方法-數(shù)據(jù)模型-產(chǎn)品方案”四個層面提供了一套較為完整的智能灰度數(shù)據(jù)解決方案,以保障版本評估的科學(xué)性、項目進(jìn)度以及灰度驗證環(huán)節(jié)的快速閉環(huán)。該方案的亮點(diǎn)在于,指標(biāo)異動根因分析方法的引入和全流程自動化產(chǎn)品方案的設(shè)計。

一、引言

游戲業(yè)務(wù)的用戶規(guī)模體量大,業(yè)務(wù)鏈路長,數(shù)據(jù)邏輯繁雜。游戲中心作為游戲業(yè)務(wù)平臺端的核心用戶產(chǎn)品,版本迭代非常頻繁,每次版本上線前都必須進(jìn)行小量級的灰度驗證。2021年以來,平均每1~2周都會有重要版本開始灰度,而且線上有時會同時有多個版本在灰度測試。

灰度的整個過程在數(shù)據(jù)層面主要涉及3個問題:

  • 如何確保版本灰度評估的科學(xué)性?
  • 如何提升灰度數(shù)據(jù)的產(chǎn)出效率,保障項目進(jìn)度?
  • 當(dāng)灰度版本出現(xiàn)指標(biāo)異常問題時,如何快速定位問題完成閉環(huán)?

近兩年來,我們逐步將灰度評估方法體系化地落地到敏捷BI等數(shù)據(jù)產(chǎn)品上,目前灰度數(shù)據(jù)體系已經(jīng)較好地解決了這3個問題。本文首先以版本灰度數(shù)據(jù)體系的基本概念和發(fā)展歷程為鋪墊,接著以“方法論+解決方案”為主線闡述游戲中心在灰度數(shù)據(jù)體系上的實(shí)踐,并展望未來。

二、灰度數(shù)據(jù)體系的發(fā)展

2.1 什么是灰度發(fā)版

當(dāng)游戲中心開發(fā)了全新的首頁界面,應(yīng)該如何驗證新的首頁是否被用戶所接受,并且功能是否完善、性能是否穩(wěn)定?

答:灰度發(fā)版。就是在新版本推送給全量用戶使用之前,按照一定策略選取部分用戶,讓他們先行體驗新版首頁,以獲得他們關(guān)于“新的首頁好用或不好用”以及“如果不好用,是哪里出了問題”的使用反饋。如果出現(xiàn)重大問題,則及時回滾舊版本;反之則根據(jù)反饋結(jié)果進(jìn)行查漏補(bǔ)缺,并適時繼續(xù)放大新版本投放范圍直至全量升級。

2.2 灰度評估方案發(fā)展階段

判斷灰度發(fā)版是否科學(xué)的關(guān)鍵在于控制變量,這一問題的解決過程,也是灰度評估方案迭代和發(fā)展的過程。

圖片

階段一:確保了對比的時間相同,但升級速度差異意味著優(yōu)先升級的用戶和未升級的用戶非同質(zhì)用戶,未能規(guī)避樣本差異對數(shù)據(jù)結(jié)果差異的影響。

階段二:確保了對比的人群相同,但用戶行為可能隨時間而變化,無法剔除前后時間因素的差異。

階段三:同時確保了時間和人群相同,有以下三方面優(yōu)勢:

  • 將舊版本打包為對比包,與新版本的灰度包一起,分別對兩批同質(zhì)用戶發(fā)布,保證了灰度包和對比包的樣本屬性、時間因素一致;
  • 依據(jù)產(chǎn)品目標(biāo)計算合理的樣本量,避免樣本過少導(dǎo)致結(jié)果不可信、過多導(dǎo)致資源浪費(fèi);
  • 依托靜默安裝功能快速升級,縮短灰度驗證階段的時間。

2.3 灰度數(shù)據(jù)體系內(nèi)容    

灰度數(shù)據(jù)體系通常涉及前期流量策略和后期數(shù)據(jù)檢驗2個部分。

前者包括樣本量計算和灰度時長控制,后者包括新老版本核心指標(biāo)對比、產(chǎn)品優(yōu)化處的指標(biāo)變化或新增功能的數(shù)據(jù)表現(xiàn)。在常規(guī)的灰度評估之外,引入根因分析的方法可以提升灰度結(jié)果的解釋性。

2.4 vivo游戲中心的做法

我們搭建了“游戲中心智能灰度數(shù)據(jù)體系”,并通過三版迭代逐步解決了本文開頭提到的3個問題。數(shù)據(jù)體系由指標(biāo)檢驗結(jié)果、維度下鉆解讀、用戶屬性校驗、指標(biāo)異常診斷等主題看板以及自動化推送的灰度結(jié)論報告組成。

完整方案部署上線后,基本實(shí)現(xiàn)了灰度評估階段的自動化數(shù)據(jù)生產(chǎn)、效果檢驗、數(shù)據(jù)解讀和決策建議的閉環(huán),極大地釋放了人力。

三、灰度數(shù)據(jù)體系中的方法論

在介紹數(shù)據(jù)方案設(shè)計前,先介紹一下灰度數(shù)據(jù)體系中涉及的背景知識和方法論,幫助大家更好地理解本文。

3.1 灰度實(shí)驗

灰度實(shí)驗包括抽樣和效果檢驗兩個部分,對應(yīng)的是假設(shè)檢驗的思想以及樣本歷史差異性驗證。

3.1.1 假設(shè)檢驗

假設(shè)檢驗是先對總體參數(shù)提出一個假設(shè)值,然后利用樣本表現(xiàn)判斷這一假設(shè)是否成立。

圖片

3.1.2 樣本歷史差異性驗證

雖然灰度前事先已通過hash算法進(jìn)行抽樣,但由于抽樣的隨機(jī)性,一般會在統(tǒng)計檢驗和效果檢驗的同時,對樣本的歷史差異性進(jìn)行驗證,剔除樣本本身差異帶來的指標(biāo)波動?;叶戎芷谕ǔ?天,我們采用了7天滑動窗口取樣的方法。

圖片

3.2 根因分析

灰度指標(biāo)往往與多維屬性(如用戶屬性、渠道來源、頁面模塊等)存在關(guān)聯(lián),當(dāng)指標(biāo)的檢驗結(jié)果發(fā)生異常的顯著差異時,想要解除異常,定位出其根因所在是關(guān)鍵一步。然而,這一步常常是充滿挑戰(zhàn)的,尤其當(dāng)根因是多個維度屬性值的組合時。

為了解決這一問題,我們引入了根因分析的方法,以彌補(bǔ)了灰度檢驗結(jié)果解釋性不足的問題。我們結(jié)合了指標(biāo)邏輯分析法和Adtributor算法2種方法,以確保分析結(jié)果的可靠性。

3.2.1 指標(biāo)邏輯分析法

由于灰度實(shí)驗中構(gòu)建的指標(biāo)體系基本都是率值類指標(biāo)或均值類指標(biāo),這兩類指標(biāo)都可以通過指標(biāo)公式拆解為分子和分母兩個因子,而指標(biāo)的分子和分母均是由各個維度下的維度值相加得到。因此提出了指標(biāo)邏輯分析法,基于一定的拆解方法,從指標(biāo)因子和指標(biāo)維度2個層次對指標(biāo)值進(jìn)行邏輯拆解。

圖片

3.2.2 Adtributor算法

除了根因分析比較常見的維度下鉆方法以外,我們引入了Adtributor算法,以更好地應(yīng)對多維度組合影響指標(biāo)的情況,并通過兩種方法的交叉驗證來確保分析結(jié)果的可靠性。

Adtributor算法是微軟研究院于2014年提出的一種多維時間序列異常根因分析方法,在多維度復(fù)雜根因的場景下具有良好的可靠性。算法完整過程包括數(shù)據(jù)預(yù)處理、異常檢測、根因分析和仿真可視化4個步驟,我們主要借鑒了根因分析環(huán)節(jié)的方法。

圖片

四、灰度智能解決方案

4.1 整體框架 

版本灰度可以分為灰度前-灰度中-灰度后3個階段,產(chǎn)品化整體框架如下:

圖片

4.2 流程設(shè)計

基于以上框架,我們是如何設(shè)計實(shí)現(xiàn)的?

以下是描述整個過程的流程圖:

圖片

4.3 方案核心內(nèi)容

4.3.1 樣本量預(yù)估方案

看板提供:在多套置信水平跟檢驗效能標(biāo)準(zhǔn)下(默認(rèn)顯示95%置信度、80%檢驗效能),根據(jù)指標(biāo)最近表現(xiàn),預(yù)估出指標(biāo)在不同預(yù)期變化幅度下能被檢測出顯著與否的最低樣本量。

 該方案具有3大特點(diǎn):

  • 輸出多套標(biāo)準(zhǔn),靈活調(diào)整預(yù)期幅度;
  • 自動選取最近一個全量版本的數(shù)據(jù)作為數(shù)據(jù)輸入;
  • 均值類指標(biāo)和率值類指標(biāo)采用差異化的計算邏輯。

圖片

4.3.2 效果指標(biāo)顯著性檢驗方案

指標(biāo)顯著性檢驗?zāi)P托枰卮鸬膯栴}是:灰度版本相較對比版本,指標(biāo)變化在統(tǒng)計意義上是置信的還是不置信的。

目前,實(shí)現(xiàn)了三種置信水平下灰度版本與對比版本在20個業(yè)務(wù)指標(biāo)上的顯著性判斷。

實(shí)現(xiàn)過程如下:

率值類指標(biāo)

... ...
# 已得以下指標(biāo)數(shù)據(jù)
variation_visitors # 灰度版本指標(biāo)分母
control_visitors # 對比版本指標(biāo)分母
variation_p # 灰度版本指標(biāo)值
control_p # 對比版本指標(biāo)值
z # 不同置信水平(90%/95%/99%)下的z值,業(yè)務(wù)上主要關(guān)注95%置信水平下的顯著檢驗結(jié)果
# 計算指標(biāo)標(biāo)準(zhǔn)差
variation_se = math.sqrt(variation_p * (1 - variation_p))
control_se = math.sqrt(control_p * (1 - control_p))
# 計算指標(biāo)變化值和變化率
gap = variation_p - control_p
rate = variation_p / control_p - 1
# 計算置信區(qū)間
gap_interval_sdown = gap - z * math.sqrt(math.pow(control_se, 2) / control_visitors + math.pow(variation_se, 2) / variation_visitors) # 變化值置信區(qū)間下界
gap_interval_sup = gap + z * math.sqrt(math.pow(control_se, 2) / control_visitors + math.pow(variation_se, 2) / variation_visitors) # 變化值置信區(qū)間上界
confidence_interval_sdown = gap_interval_sdown / control_p # 變化率置信區(qū)間下界
confidence_interval_sup = gap_interval_sup / control_p # 變化值置信區(qū)間上界
# 顯著性判斷
if (confidence_interval_sdown > 0 and confidence_interval_sup > 0) or (confidence_interval_sdown < 0 and confidence_interval_sup < 0):
print("顯著")
elif (confidence_interval_sdown > 0 and confidence_interval_sup < 0) or (confidence_interval_sdown < 0 and confidence_interval_sup > 0):
print("不顯著")
... ...

均值類指標(biāo)

... ...
# 已得以下指標(biāo)數(shù)據(jù)
variation_visitors # 灰度版本指標(biāo)分母
control_visitors # 對比版本指標(biāo)分母
variation_p # 灰度版本指標(biāo)值
control_p # 對比版本指標(biāo)值
variation_x # 灰度版本單用戶指標(biāo)值
control_x # 對比版本單用戶指標(biāo)值
z # 不同置信水平(90%/95%/99%)下的z值,業(yè)務(wù)上主要關(guān)注95%置信水平下的顯著檢驗結(jié)果
# 計算指標(biāo)標(biāo)準(zhǔn)差
variation_se = np.std(variation_x, ddof = 1)
control_se = np.std(control_x, ddof = 1)
# 計算指標(biāo)變化值和變化率
gap = variation_p - control_p
rate = variation_p / control_p - 1
# 計算置信區(qū)間
gap_interval_sdown = gap - z * math.sqrt(math.pow(control_se, 2) / control_visitors + math.pow(variation_se, 2) / variation_visitors) # 變化值置信區(qū)間下界
gap_interval_sup = gap + z * math.sqrt(math.pow(control_se, 2) / control_visitors + math.pow(variation_se, 2) / variation_visitors) # 變化值置信區(qū)間上界
confidence_interval_sdown = gap_interval_sdown / control_p # 變化率置信區(qū)間下界
confidence_interval_sup = gap_interval_sup / control_p # 變化值置信區(qū)間上界
# 顯著性判斷
if (confidence_interval_sdown > 0 and confidence_interval_sup > 0) or (confidence_interval_sdown < 0 and confidence_interval_sup < 0):
print("顯著")
elif (confidence_interval_sdown > 0 and confidence_interval_sup < 0) or (confidence_interval_sdown < 0 and confidence_interval_sup > 0):
print("不顯著")
... ...

看板展示如下:

圖片

4.3.3 負(fù)向指標(biāo)自動根因分析方案

灰度場景的負(fù)向指標(biāo)自動化根因分析方案包括異動檢測、樣本歷史差異性驗證、指標(biāo)邏輯拆解和Adtributor自動根因分析4個步驟。

圖片

其中,Adtributor自動根因分析能計算出同一層級的維度中對指標(biāo)異動貢獻(xiàn)最大的那個因素,我們通過對指標(biāo)維度進(jìn)行分層和設(shè)置相互關(guān)系來適應(yīng)具體的指標(biāo)業(yè)務(wù)場景,構(gòu)建起多層級歸因算法邏輯模型,從而實(shí)現(xiàn)業(yè)務(wù)層面根因結(jié)論的自動化輸出。

圖片

看板展示如下:

圖片

4.3.4 灰度報告智能拼接推送方案

圖片

版本信息內(nèi)容的自動獲取:

通過打通發(fā)版平臺獲取版本號、實(shí)際在裝量、發(fā)版累計天數(shù)以及版本相關(guān)內(nèi)容,作為灰度報告的開頭。

結(jié)論呈現(xiàn):

根據(jù)指標(biāo)是否全正向/部分負(fù)向/全負(fù)向、是否樣本不均勻等各種統(tǒng)計結(jié)果自動組合對應(yīng)到預(yù)設(shè)的結(jié)論文案中,一共預(yù)設(shè)了10多種結(jié)論模版。  

核心指標(biāo)顯著性檢驗解讀(根據(jù)灰度階段不同,解讀不同類型指標(biāo)):

  • T+1~T+2:性能類指標(biāo)、活躍率指標(biāo)

  • T+3~T+6:活躍表現(xiàn)指標(biāo)、分發(fā)表現(xiàn)指標(biāo)、下載安裝過程轉(zhuǎn)化指標(biāo)
  • T+7:活躍表現(xiàn)指標(biāo)、分發(fā)表現(xiàn)指標(biāo)、下載安裝過程轉(zhuǎn)化指標(biāo)、后項轉(zhuǎn)化類指標(biāo)

下鉆一級模塊維度歸因解讀:

如果灰度版本前期已明確輸入具體到某個一級模塊的改動點(diǎn),會自動進(jìn)行該模塊的解讀,以及輸出其他有指標(biāo)差異的模塊的數(shù)據(jù);如果灰度版本沒有輸入模塊層面的改動點(diǎn),就輸出指標(biāo)效果顯著(正向顯著、負(fù)向顯著)的一級模塊的解讀結(jié)論。

樣本量均勻性解讀:

業(yè)務(wù)類指標(biāo),通過顯著性檢驗判斷是否分布均勻;非業(yè)務(wù)類指標(biāo),通過分布差異來判斷。

負(fù)向診斷解讀:

根據(jù)多層級自動化根因模型輸出的結(jié)果,按照不同維度類型映射的修飾詞、維度數(shù)量定位(單維度/多維度)以及樣本歷史差異性驗證結(jié)論,對應(yīng)不同的模版,最終拼接出負(fù)向診斷文案。

五、寫在最后

對于業(yè)務(wù)灰度發(fā)版中科學(xué)評估和快速決策的要求,我們結(jié)合了多種方法,從“實(shí)驗思想-數(shù)學(xué)方法-數(shù)據(jù)模型-產(chǎn)品方案”四個層面提供了一套較為完整的智能灰度數(shù)據(jù)體系解決方案。

本文希望能為業(yè)務(wù)中的灰度數(shù)據(jù)體系建設(shè)提供參考,但仍應(yīng)結(jié)合各業(yè)務(wù)自身的特點(diǎn)進(jìn)行合理設(shè)計。方案中涉及的數(shù)據(jù)模型設(shè)計在這里不詳細(xì)介紹,感興趣的同學(xué)歡迎和筆者一起探討學(xué)習(xí)。

此外,灰度數(shù)據(jù)體系仍有待改進(jìn)之處,這里先拋出來,有一些也已經(jīng)在研究解決中:

  • 在灰度流量分組的時候,通常采用隨機(jī)分組的方式。但是由于完全隨機(jī)的不確定性,分完組后,2組樣本在某些指標(biāo)特性上可能天然就分布不均。相較于后置的樣本均勻性驗證的方法,也可考慮分層抽樣的方式來避免這一問題;
  • 在灰度指標(biāo)分析的流程中,自動多維根因分析模型還存在提升的空間,目前模型非常依賴于本身數(shù)據(jù)源中維度的全面性,且只能檢測出定量部分的原因。后續(xù)希望把定量的根因模型,結(jié)合定性因素進(jìn)行更全面更準(zhǔn)確的解讀;
  • 游戲中心目前整個灰度的解決方案本質(zhì)上還是基于2 sample-test的檢驗?zāi)P?,但該模型需要根?jù)灰度版本相較于對比版本在核心指標(biāo)上的預(yù)期提升,來提前估算最小樣本量,實(shí)際灰度過程中可能會出現(xiàn)核心指標(biāo)未達(dá)如預(yù)期的情況。未來可嘗試mSPRT等檢驗方法,削弱最小樣本量對顯著性結(jié)果的限制。

參考文獻(xiàn):

  1. 茆詩松, 王靜龍, 濮曉龍. 《高等數(shù)理統(tǒng)計(第二版)》
  2. 是老李沒錯了. 《五分鐘掌握AB實(shí)驗和樣本量計算原理》. CSDN博客
  3. Ranjita Bhagwan, Rahul Kumar, Ramachandran Ramjee, et al. 《Adtributor: Revenue Debugging in Advertising Systems》

責(zé)任編輯:未麗燕 來源: vivo互聯(lián)網(wǎng)技術(shù)
相關(guān)推薦

2024-11-13 21:18:02

2023-03-06 11:35:55

經(jīng)營分析體系

2022-12-22 10:55:24

vivo代碼

2022-06-06 21:53:08

云原生云計算

2016-12-30 17:04:57

2024-04-24 08:15:40

數(shù)據(jù)模型大模型AI

2017-01-05 21:05:40

2023-04-10 07:40:50

BI 體系數(shù)據(jù)中臺

2011-07-08 09:55:02

數(shù)據(jù)中心防震

2024-01-31 09:00:12

人工智能數(shù)據(jù)模型

2018-08-07 09:52:12

京東金融應(yīng)用

2013-05-06 17:51:27

2013-06-04 14:00:57

2021-05-12 14:11:09

云計算云原生

2016-11-28 16:23:23

戴爾

2022-05-09 08:35:43

面試產(chǎn)品互聯(lián)網(wǎng)

2022-12-29 08:56:30

監(jiān)控服務(wù)平臺

2019-09-09 16:33:10

華為

2017-01-18 09:33:07

數(shù)據(jù)構(gòu)建價值

2021-06-18 13:07:13

博睿數(shù)據(jù)數(shù)據(jù)鏈DNA運(yùn)維
點(diǎn)贊
收藏

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