談?wù)劼顸c質(zhì)量管理

1 評論 17195 瀏覽 70 收藏 18 分鐘

編輯導(dǎo)語:作為一種常用的數(shù)據(jù)采集方法,數(shù)據(jù)埋點無疑在產(chǎn)品正常運營過程中起著至關(guān)重要的作用,埋點質(zhì)量管理也就顯得尤為重要。那么,在埋點過程中,有哪些常見的質(zhì)量問題?我們又應(yīng)當(dāng)采取哪些措施來預(yù)防這些問題呢?

如今互聯(lián)網(wǎng)人對于數(shù)據(jù)的使用可畏常態(tài)化,雖然有的是日常工作,有的只是幾次需求,但無論對與數(shù)據(jù)有多少依賴,在數(shù)據(jù)的使用或解讀上,以下情況大家應(yīng)該都會遇到一二。

  • 團隊來了一位新同學(xué),想分析某個功能的數(shù)據(jù)情況,但感覺無從下手。便問老員工這個功能對應(yīng)的埋點、那個頁面對應(yīng)的參數(shù),得到的不是口口相傳就是看著聊天記錄中的文檔地址。面對著黑壓壓一片的埋點信息,內(nèi)心估計已經(jīng)開始神獸奔騰了;
  • 新版本上線后進行效果分析,發(fā)現(xiàn)埋點出現(xiàn)紕漏,此時若是重要數(shù)據(jù),需要緊急找人發(fā)版,時間緊張又擔(dān)驚受怕;若此時是一般數(shù)據(jù),開發(fā)同學(xué)的回復(fù)大概率是:“和下個版一起迭代”,時隔半年一年再進行分析,這段數(shù)據(jù)波動的原因估計也沒人能說清了;
  • 測試同學(xué)拿著協(xié)作的埋點文檔,測試過程中發(fā)現(xiàn)不是字段對應(yīng)錯誤就是信息維護不全,解讀起來麻煩不說,如果碰到大版本還需要進行埋點回歸,不僅測試過程中工作量大,還有漏測的風(fēng)險。

埋點數(shù)據(jù)作為日常數(shù)據(jù)最重要的三大來源之一(包括業(yè)務(wù)數(shù)據(jù)和對外合作數(shù)據(jù)),其重要性不言而喻。上能影響推薦、AB實驗、數(shù)據(jù)分析的準(zhǔn)確;下能影響倉庫的結(jié)構(gòu)設(shè)計和日常維護成本。當(dāng)前數(shù)據(jù)更是作為資產(chǎn)被各家公司所重視。想象一下到年終盤點時,面對一團“剪不斷,理還亂”的數(shù)據(jù),會是一種什么心情。

筆者通過對最近接手的埋點質(zhì)量項目的一些經(jīng)驗總結(jié),希望通過這篇文章給大家分享一下心得體會。

一、埋點質(zhì)量問題有哪些?

埋點過程整體鏈路環(huán)節(jié)較長,囊括的角色也相對較多。出了問題排查難度大,周期長,而且涉及團隊配合問題也不好把控,下面我們來總結(jié)一下哪些環(huán)節(jié)容易出問題導(dǎo)致埋點質(zhì)量問題。

如果在數(shù)據(jù)產(chǎn)出階段不進行把控,等到了應(yīng)用階段就會出現(xiàn)數(shù)據(jù)不完整、數(shù)據(jù)重復(fù)、數(shù)據(jù)不一致、數(shù)據(jù)不匹配等數(shù)據(jù)問題。所以解決埋點質(zhì)量問題要做到“預(yù)防為主、防治結(jié)合、綜合治理”的方針,下面我們來看下如何進行埋點質(zhì)量管理。

二、如何進行埋點質(zhì)量管理?

要開展埋點質(zhì)量的管理,筆者認(rèn)為可以從以下三個角度開始執(zhí)行:意識、制度&流程、工具。

1. 意識

這里所謂的意識更多的是一種價值觀、信念或者說是一種行為“動機”,是每個同學(xué)做事對自我要求的一項軟性標(biāo)準(zhǔn),類似于“道德”。

可能讀到這大家覺得有些浮夸,怎么管理個埋點都上升到道德層面了。別著急,繼續(xù)往下看。

對于執(zhí)行層,無論是分析師或埋點產(chǎn)品必須要對出自自己手中的需求要負責(zé),時刻意識到,埋點需求是整條數(shù)據(jù)鏈路的源頭,并且用戶實時發(fā)生數(shù)據(jù)擁有著不可回溯性。如果要是從源頭開始“錯、缺、亂”,那后續(xù)的環(huán)節(jié)不僅增加了成本,同時這部分?jǐn)?shù)據(jù)也“白白流失”了。

而對于高層管理者,在任職期間要適當(dāng)?shù)亟o予數(shù)據(jù)治理一些側(cè)重,無論是在人力上還是時間上。

讓自己或自己的上級領(lǐng)導(dǎo)提升一些基礎(chǔ)建設(shè)的意識,磨刀不一定會誤砍柴功。用產(chǎn)品進行向上管理固然重要,畢竟是一個看的見、用得到并且能“體會”價值的載體。如果只在乎表面光鮮,那背后的“千瘡百孔”要何時才能有機會修補。

任何一個組織創(chuàng)建時都需要有一個文化或者信念,在做事的時候可以時刻提醒自己。所以在質(zhì)量管理的第一個重要角度是意識。

2. 制度&流程

上面講述了意識層面上的統(tǒng)一,下面開始說的就是行為上的規(guī)范。所謂無規(guī)矩不成方圓,任何一件事有一個良好的規(guī)范去執(zhí)行,那出錯的概率就會比每個人自由發(fā)揮低很多。

這里所說的制度包括兩個方面:角色流程和采集規(guī)范。

1)角色流程

埋點從需求產(chǎn)出開始要經(jīng)歷埋點開發(fā)、數(shù)據(jù)上報、數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)入庫最終到業(yè)務(wù)應(yīng)用,涉及的人員包括埋點產(chǎn)品&分析師、開發(fā)、測試、采集工程師、倉庫工程師等。

各個環(huán)節(jié)能有機組合就需要一個良好的配合制度,既能保證工作有條不紊,同時又避免了權(quán)責(zé)混亂導(dǎo)致的問題無法及時響應(yīng)。

2)采集規(guī)范

① 文檔規(guī)范

文檔規(guī)范要求負責(zé)埋點的同學(xué)列清相關(guān)需求點,包括:所需要的事件信息、統(tǒng)計位置、打點邏輯、上報時機。甚至還可能有失敗后如何處理、失敗原因、變更歷史等相關(guān)內(nèi)容,細化的需求文檔有利于降低其他環(huán)節(jié)同學(xué)的理解偏差,也便于埋點使用時了解前因后果及錯誤信息。

② 接入規(guī)范

是指業(yè)務(wù)開發(fā)同學(xué)在使用埋點組件時要嚴(yán)格遵守組件方提供SDK的使用規(guī)則,例如通用事件內(nèi)擴展字段的埋點位置、上報時機等。切不可根據(jù)“自我經(jīng)驗”進行更改優(yōu)化。

③ 命名規(guī)范

命名規(guī)范適用于埋點信息的命名,包括事件ID、事件參數(shù)以及實際的參數(shù)值,做到以下原則:

  1. 方便解讀;
  2. 不要有特殊字符,不要采用系統(tǒng)關(guān)鍵字或預(yù)置關(guān)鍵字進行命名;
  3. 字段不易過長;
  4. 版本前后字段映射統(tǒng)一等。

無法挨個維護的的參數(shù)值可以采用SPM或SCM模型來制定采集規(guī)范。

SPM叫超級位置模型,最早是受到土地戶籍制度啟發(fā)而設(shè)計的位置系統(tǒng),目的應(yīng)用于頁面的統(tǒng)計、追蹤頁面的來源等場景,通常在埋點時作為埋點參數(shù)上報到數(shù)據(jù)后臺。其編碼形式采用A.B.C.D四層級進行組合,分別代表了業(yè)務(wù)、頁面、頁面區(qū)塊、區(qū)塊內(nèi)的點位。

我們以小紅書的商城首頁舉例:

業(yè)務(wù):商城(shop_center)

頁面:首頁(home_page)

頁面區(qū)塊:變美季(beauty)

區(qū)塊內(nèi)點位:3

SPM模型命名澳大利亞·秋冬必備神級修復(fù)的位置內(nèi)容就可以寫成:shop_center.home_page.beauty.3

在統(tǒng)計數(shù)據(jù)時可以通過該參數(shù)知道這個模塊的位置的流量大小情況。

SCM叫超級內(nèi)容模型,用來標(biāo)識唯一一塊內(nèi)容的模型,在埋點時SCM模型的數(shù)據(jù)作為埋點參數(shù)上報到數(shù)據(jù)后臺,其編碼形式和SPM一樣也是通過A.B.C.D四個層級進行編碼,只不過四個層級記錄的信息與SPM有所差別,分別是:內(nèi)容來源、投放算法、算法版本以及對應(yīng)的人群。

還以上面的內(nèi)容為例:

內(nèi)容來源(content_source):shop

投放算法(algorithm):cf

算法版本(version):3.3

對應(yīng)人群(crowd):woman

該條內(nèi)容:澳大利亞·秋冬必備神級修復(fù)的內(nèi)容情況如:shop.cf.3.3.woman

可以統(tǒng)計不同位置下該條內(nèi)容所展示的信息和流量情況SPM和SCM作為兩種不同的編碼規(guī)范,我覺得可以根據(jù)自己的需要進行相關(guān)的改良,比如更改層級或更改定義等。

3. 工具

1) 埋點模型

埋點模型采用的是事件模型,事件模型描述了一個人做某件事情所需要的幾個重點要素:時間(when)、地點(where)、人物(who)、途徑(how)、結(jié)果(what)。

例如:小明4月3號早上9點用小米手機在京東買了一個iPhone12,轉(zhuǎn)譯到埋點語言就是:

以上設(shè)備信息均為虛擬信息,僅作參考

實現(xiàn)以上信息采集的埋點方式當(dāng)前行業(yè)內(nèi)有:代碼埋點、無埋點。

① 代碼埋點

代碼埋點是根據(jù)具體埋點需求進行數(shù)據(jù)采集的方式,這也是用戶行為數(shù)據(jù)最早的采集方式。

代碼埋點可支持客戶端埋點和服務(wù)端埋點??蛻舳寺顸c主要采集用戶行為,服務(wù)端埋點更多采集的是業(yè)務(wù)數(shù)據(jù)。

優(yōu)點:

  1. 埋點可以做到按需采集、減少無效的信息上報;
  2. 事件觸發(fā)方式可以自定義,降低端上的資源消耗。

缺點:

  1. 新增埋點周期較長,需要跟隨版本迭代;
  2. 管理成本較高,造成系統(tǒng)代碼“冗余”;
  3. 采集數(shù)據(jù)有“缺失”,只能獲取到上線之后的數(shù)據(jù)。

② 無埋點

無埋點是識別端上各區(qū)塊元素,對其進行全面的采集。

優(yōu)點:

  1. 新版本上線也可看到歷史數(shù)據(jù);
  2. 前端埋點成本低,管理成本低;
  3. 埋點范圍覆蓋相對較廣。

缺點:

  1. 數(shù)據(jù)冗余過剩;
  2. 對應(yīng)用開發(fā)的元素命名和開發(fā)規(guī)范要求嚴(yán)格;
  3. 不能進行自定義數(shù)據(jù)的采集;
  4. 服務(wù)端壓力較大。

為了埋點數(shù)據(jù)全&準(zhǔn)的兩個準(zhǔn)則,一般可以采取兩種方式組合的方式。重點業(yè)務(wù)、非重點頁面采用代碼埋點,重點頁面非重點業(yè)務(wù)采用無埋點。合理分配兩種埋點策略做到不丟不漏在合理的維護成本范圍內(nèi),盡可能多而全的采集。

2)埋點平臺

雖然有了意識上的“統(tǒng)一“、制度上的規(guī)范,但我相信依舊有一些團隊在沿用公用文檔維護埋點信息。

文檔化維護方式在信息量小的時候問題還不凸顯,但當(dāng)面對成百上千的埋點就會出現(xiàn)埋點信息維護不全、查找困難、測試同學(xué)面對“海量”的上報數(shù)據(jù)頭暈眼花極容易漏測、實際上報與需求不符無法及時發(fā)現(xiàn)等問題。

所以埋點質(zhì)量的最后一個環(huán)節(jié)就需要通過平臺化來進行輔助管理,主要管理的方向有以下幾個方向:

  1. 元數(shù)據(jù)管理完善、可溯源,提升查詢效率;
  2. 自動化測試+人工校驗、降低漏測風(fēng)險;
  3. 質(zhì)量監(jiān)控,提升對錯誤埋點的發(fā)現(xiàn)效率;
  4. 引入埋點流程、輔助進行“團隊管理”。

① 元數(shù)據(jù)的完善

元數(shù)據(jù)管理主要包含以下內(nèi)容:事件基礎(chǔ)信息、業(yè)務(wù)組織架構(gòu)、當(dāng)前開發(fā)狀態(tài)、操作日志及變動日志。

  1. 事件基礎(chǔ)信息:事件ID&名稱、參數(shù)ID&名稱、參數(shù)值ID&名稱,統(tǒng)計口徑、上報時機、版本、需求地址等。
  2. 業(yè)務(wù)組織架構(gòu):事件歸屬的頁面、功能層級結(jié)構(gòu)等信息。
  3. 當(dāng)前開發(fā)狀態(tài):該事件所處的流轉(zhuǎn)狀態(tài),包括:需求中、需求完成、開發(fā)中、開發(fā)完成、測試中、測試上線、灰度、正式上線。
  4. 操作日志及變動日志:記錄系統(tǒng)上所有人員對于元數(shù)據(jù)的操作日志以及該事件歷史版本變動日志等。

有了完備的元數(shù)據(jù)信息,還需要提供完善的篩選和查找機制,讓埋點使用人員可以方便管理和查詢。

同時平臺可以根據(jù)埋點組件規(guī)范和埋點信息自動生成一段代碼給到業(yè)務(wù)開發(fā)同學(xué),即降低了代碼埋點的開發(fā)成本,也降低了出錯的概率。

② 自動化測試

對于測試而言,有了完善元數(shù)據(jù)后埋點平臺可以提供:

  • 自動化的測試功能:可以根據(jù)實際上報的數(shù)據(jù)明細自動比對元數(shù)據(jù)模塊下維護的信息內(nèi)容,在每次測試任務(wù)中都會自動提醒哪些事件不符合規(guī)范,極大的提高了測試效率,加上后期的人工校驗,也會降低漏測的概率。
  • 規(guī)范的數(shù)據(jù)展示方式以及詳細的信息記錄:傳統(tǒng)的測試方式一邊需要對著文檔、一邊需要看著一條巨長的上報數(shù)據(jù)來找到需要比對的信息來確認(rèn)埋點是否準(zhǔn)確。平臺完全可以結(jié)構(gòu)化上報數(shù)據(jù),隱藏?zé)o關(guān)維度信息,并根據(jù)上報內(nèi)容關(guān)鍵字(事件或參數(shù)信息)自動去元數(shù)據(jù)內(nèi)進行數(shù)據(jù)查詢,埋點同學(xué)每次測試任務(wù)只需要了解版本需求范圍即可。

③ 質(zhì)量監(jiān)控

即使測試通過了,埋點數(shù)據(jù)就一定讓人放心了么?肯定不是的。上線后面對大樣本使用,用戶App什么樣的機型都有,甚至?xí)淮鄹囊恍┬畔ⅰ?/p>

為了能讓最終上報的數(shù)據(jù)減少錯誤,埋點平臺可以提供質(zhì)量管理模塊,具體監(jiān)控策略可以根據(jù)數(shù)據(jù)質(zhì)量評估標(biāo)準(zhǔn)通用的5項準(zhǔn)則:完整性、及時性、唯一性、穩(wěn)定性、準(zhǔn)確性進行設(shè)定。

④ 引入埋點流程輔助

管理整個埋點平臺使用流程,可以根據(jù)上面2.制度&流程的角色流程進行劃分和管理。上線前每個環(huán)節(jié)由相關(guān)負責(zé)人員進行確認(rèn),多層確認(rèn)機制可以保證埋點信息的完善和準(zhǔn)確,也為后續(xù)管理上帶來了極大的便利性。埋點平臺功能框架參考如下:

三、寫在最后

數(shù)據(jù)質(zhì)量問題在業(yè)務(wù)發(fā)展到一定階段都會遇到,就像升職以后需要管理團隊一樣,不同級別面臨的問題不一樣,所需要采用的手段也不一樣。

希望本篇文章可以讓那些即將面臨這個問題或已經(jīng)身在其中的小伙伴能有一部分可借鑒的地方。因篇幅問題,涉及SDK、埋點設(shè)計以及平臺搭建的部分都沒法詳細展開描述,如果對此感興趣或有疑問的同學(xué)歡迎一起交流。

 

作者:一個數(shù)據(jù)人的自留地;公眾號:一個數(shù)據(jù)人的自留地

本文由@一個數(shù)據(jù)人的自留地 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議。

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 關(guān)注了你的公眾號,內(nèi)容真的很贊,對我的味,比心

    來自湖南 回復(fù)