如何設(shè)計(jì)出一個(gè)實(shí)用高效的埋點(diǎn)管理系統(tǒng)?

3 評(píng)論 14831 瀏覽 56 收藏 14 分鐘

編輯導(dǎo)語:埋點(diǎn)管理系統(tǒng)的搭建在一定程度上解決了埋點(diǎn)設(shè)計(jì)管理混亂的問題,方便數(shù)據(jù)查詢,提高了團(tuán)隊(duì)的溝通效率,進(jìn)而推動(dòng)整體業(yè)務(wù)項(xiàng)目的高效進(jìn)行。本篇文章里,作者就如何設(shè)計(jì)一個(gè)高效便利的埋點(diǎn)管理系統(tǒng)做了總結(jié),一起來看一下。

一、為什么要做埋點(diǎn)管理系統(tǒng)?

如果你是一名數(shù)據(jù)分析師,是否有過這樣的經(jīng)歷:

當(dāng)你需要查詢APP產(chǎn)品埋點(diǎn)數(shù)據(jù)的時(shí)候,你不得不經(jīng)常找數(shù)據(jù)產(chǎn)品經(jīng)理去確認(rèn)是否已有埋點(diǎn),埋了哪些字段,是否已有上報(bào)數(shù)據(jù)等。常常這些埋點(diǎn)事件元信息分散在多個(gè)產(chǎn)品經(jīng)理手上,信息散亂,分析師使用埋點(diǎn)數(shù)據(jù)之前溝通成本極高,影響數(shù)據(jù)使用的效率……

不僅如此,如果遇到埋點(diǎn)數(shù)據(jù)異常,追溯埋點(diǎn)歷史問題過程也是非常的漫長,需要數(shù)據(jù)產(chǎn)品經(jīng)理去跟業(yè)務(wù)產(chǎn)品經(jīng)理確認(rèn)埋點(diǎn)需求的版本,然后數(shù)據(jù)產(chǎn)品經(jīng)理確認(rèn)埋點(diǎn)設(shè)計(jì)需求的批次,然后給到開發(fā),開發(fā)同事再去查找問題……

以上種種問題一直是困擾著我們埋點(diǎn)工作的痛點(diǎn)。埋點(diǎn)場景的痛點(diǎn)我總結(jié)為以下5點(diǎn):

  1. 埋點(diǎn)需求及埋點(diǎn)設(shè)計(jì)文檔管理散亂,產(chǎn)品、開發(fā)、測試協(xié)同溝通效率低下,嚴(yán)重影響工作效率。
  2. 埋點(diǎn)事件元信息管理散亂,常是分布在多個(gè)產(chǎn)品經(jīng)理手上,分析師使用埋點(diǎn)數(shù)據(jù)時(shí)需要查詢埋點(diǎn)需求及埋點(diǎn)事件的元信息這個(gè)過程鏈路長,溝通成本非常高,埋點(diǎn)元信息使用查詢極其不便利。
  3. 若出現(xiàn)埋點(diǎn)數(shù)據(jù)異常問題,若開發(fā)同事需要追溯埋點(diǎn)歷史數(shù)據(jù),則更是需要有當(dāng)時(shí)的埋點(diǎn)需求批次和埋點(diǎn)設(shè)計(jì)文檔作為輔助,元信息管理散亂,極其影響debug的效率。
  4. 非可視化測試,驗(yàn)收埋點(diǎn)難度太大。每次都要跑去數(shù)據(jù)庫了查詢,對(duì)于沒有寫SQL基礎(chǔ)的業(yè)務(wù)經(jīng)理來說,驗(yàn)收埋點(diǎn)數(shù)據(jù)的效率就會(huì)比埃及地下。
  5. 數(shù)據(jù)校驗(yàn)流程混亂,版本管理難度大,開發(fā)同學(xué)常常要自己開發(fā)一個(gè)后臺(tái)管理功能來管理埋點(diǎn)發(fā)布或下線的版本。

二、埋點(diǎn)管理系統(tǒng)是什么?

埋點(diǎn)管理系統(tǒng)本質(zhì)是解決數(shù)據(jù)采集及數(shù)據(jù)使用場景問題的業(yè)務(wù)系統(tǒng),業(yè)務(wù)方則是數(shù)據(jù)產(chǎn)品、數(shù)據(jù)開發(fā)工程師、數(shù)據(jù)分析師等數(shù)據(jù)團(tuán)隊(duì)的人員。

比較常見的例子,數(shù)據(jù)分析師在業(yè)務(wù)處于快速發(fā)展的階段大概率只讓你取數(shù),未必讓你真正去做業(yè)務(wù)數(shù)據(jù)分析的活兒。

等數(shù)據(jù)取數(shù)這類需求達(dá)到一定的數(shù)量,老板才會(huì)想著去開發(fā)可視化類的取數(shù)工具,幫助數(shù)據(jù)分析師從大量的數(shù)據(jù)查詢和報(bào)表開發(fā)的工作解脫出來,去做更加有價(jià)值的業(yè)務(wù)專題分析的工作。

回到我們的主題,埋點(diǎn)管理系統(tǒng)也常常會(huì)等到埋點(diǎn)需求非常多,從埋點(diǎn)需求產(chǎn)出端、到埋點(diǎn)需求使用方都感覺到這個(gè)合作流程已經(jīng)影響了整體的工作效率的時(shí)候,埋點(diǎn)管理系統(tǒng)才會(huì)被老板想到,這個(gè)工具是否可以替代原本的零散和低效的協(xié)同模式來提高大家的工作效率。所以,埋點(diǎn)管理系統(tǒng)本身是一個(gè)提升數(shù)據(jù)同事工作效率的工具。

埋點(diǎn)管理系統(tǒng)能解決問題主要有以下5點(diǎn):

  1. 解決了埋點(diǎn)需求及埋點(diǎn)設(shè)計(jì)管理散亂,產(chǎn)品團(tuán)隊(duì)、開發(fā)團(tuán)及測試團(tuán)隊(duì),數(shù)據(jù)應(yīng)用團(tuán)隊(duì)的協(xié)同溝通效率低下問題。
  2. 解決了數(shù)據(jù)應(yīng)用場景中需要高頻及便利地查詢查詢埋點(diǎn)事件元信息問題。
  3. 解決了開發(fā)同事在遇到埋點(diǎn)數(shù)據(jù)異常需要追溯歷史埋點(diǎn)的歷史文檔尋找的版本管理問題。
  4. 通過可視化抓包,解決了埋點(diǎn)數(shù)據(jù)驗(yàn)收的重度依賴數(shù)據(jù)庫查詢的相對(duì)低效的方法。
  5. 通過可視化對(duì)比校驗(yàn)和發(fā)布/下線能力,解決了開發(fā)同事單獨(dú)管理埋點(diǎn)需求的版本及發(fā)布場景問題,并有明確的數(shù)據(jù)校驗(yàn)流程,從而間接提升數(shù)據(jù)質(zhì)量的管理。

三、如何設(shè)計(jì)埋點(diǎn)管理系統(tǒng)?

1. 業(yè)務(wù)流程確認(rèn)

說了埋點(diǎn)管理系統(tǒng)能解決的問題,接下來聊聊埋點(diǎn)管理系統(tǒng)長啥樣,如何才能設(shè)計(jì)出解決我們以上問題的埋點(diǎn)管理系統(tǒng)。在此之前,我們先了解埋點(diǎn)場景的業(yè)務(wù)流程:

圖一:埋點(diǎn)業(yè)務(wù)流程圖1

2. 系統(tǒng)功能確認(rèn)

業(yè)務(wù)流程確認(rèn)了,我們就在對(duì)應(yīng)的業(yè)務(wù)流程上增加產(chǎn)品功能模塊去承載每個(gè)業(yè)務(wù)流程節(jié)點(diǎn)的需求,如下圖:

圖二:埋點(diǎn)業(yè)務(wù)流程圖2

3. 事件模型確認(rèn)

在了解系統(tǒng)功能設(shè)計(jì)之前,我們先了解一下埋點(diǎn)管理系統(tǒng)里涉及到的全部管理對(duì)象及對(duì)象之間的關(guān)系。

埋點(diǎn)管理系統(tǒng)一共涉及到四個(gè)對(duì)象,分別是應(yīng)用、埋點(diǎn)需求批次、埋點(diǎn)事件、事件屬性。他們之間的關(guān)系是自上而下的邏輯關(guān)系。

圖三:埋點(diǎn)事件模型圖

4. 系統(tǒng)功能架構(gòu)設(shè)計(jì)

通過埋點(diǎn)業(yè)務(wù)流程及事件模型的梳理,我們得出了多個(gè)系統(tǒng)功能模塊,拆解出來的埋點(diǎn)系統(tǒng)功能結(jié)構(gòu)如下圖:

圖四:埋點(diǎn)管理系統(tǒng)功能結(jié)構(gòu)圖

下面我們將對(duì)系統(tǒng)的每個(gè)功能模塊展開闡述:

1)應(yīng)用管理

應(yīng)用管理功能主要是承載業(yè)務(wù)團(tuán)隊(duì)新增一個(gè)APP/小程序/H5/web端等業(yè)務(wù)產(chǎn)品對(duì)象,我們需要在系統(tǒng)里先創(chuàng)建一個(gè)新的埋點(diǎn)產(chǎn)品對(duì)象,然后才有后續(xù)增加的埋點(diǎn)需求及事件元信息等。

這個(gè)模塊包含應(yīng)用新增、刪除、編輯等基礎(chǔ)功能。產(chǎn)品團(tuán)隊(duì)需要負(fù)責(zé)的埋點(diǎn)產(chǎn)品都可以放在這里統(tǒng)一管理。

圖五:應(yīng)用管理列表圖

2)埋點(diǎn)需求管理

埋點(diǎn)需求管理功能主要承載集中管理業(yè)務(wù)團(tuán)隊(duì)提過來給產(chǎn)品團(tuán)隊(duì)的埋點(diǎn)需求文檔,這里可以創(chuàng)建需求、編輯需求、下鉆需求、下線需求等。

在這里,需求按照批次來進(jìn)行管理,每一個(gè)埋點(diǎn)需求都有一個(gè)唯一的批次號(hào),掛載到對(duì)應(yīng)的應(yīng)用及版本上,并且點(diǎn)擊單個(gè)埋點(diǎn)需求批次號(hào),可以直接下鉆到該埋點(diǎn)需求下的全部事件列表。

圖六:埋點(diǎn)需求管理列表圖

3)事件管理

管理功能則承載來所有埋點(diǎn)需求拆解出來需要開發(fā)的埋點(diǎn)事件元信息,這里可以創(chuàng)建事件、編輯事件、下鉆事件、搜索事件、下線事件等。

事件是埋點(diǎn)拆解的最小對(duì)象單元,在這里每個(gè)事件都要掛載在對(duì)應(yīng)的埋點(diǎn)需求批次上,系統(tǒng)里沒有獨(dú)立自自己游蕩的事件。這樣所有的應(yīng)用、埋點(diǎn)需求批次和事件都有了映射關(guān)系。當(dāng)需要使用埋點(diǎn)數(shù)據(jù)時(shí),先來埋點(diǎn)管理系統(tǒng)查找埋點(diǎn)需求批次,這種清晰的映射關(guān)系在查詢埋點(diǎn)元信息時(shí)提供了高效的途徑。

圖七:事件管理列表圖

4)屬性管理

屬性管理功能模塊承載的是常用的有共性的屬性。一個(gè)個(gè)獨(dú)立的屬性常用屬性,比如用用戶ID、用戶客戶端系統(tǒng)、在線時(shí)長等屬性,可以在屬性管理這里完成注冊。

在用戶新建事件時(shí),可以直接引用已注冊完成的屬性綁定到事件上,減少用戶填寫事件屬性信息時(shí)的大量重復(fù)填寫工作。

5)埋點(diǎn)校驗(yàn)

走到這里,埋點(diǎn)已經(jīng)開發(fā)完成了,到了測試、驗(yàn)收、上線的環(huán)節(jié)。這里的埋點(diǎn)校驗(yàn)包含兩部分,可視化抓包測試及開發(fā)環(huán)境和測試環(huán)境的信息對(duì)比。完成這兩個(gè)環(huán)節(jié)之后,開發(fā)同事才可以把埋點(diǎn)發(fā)布到正式環(huán)境。

可視化抓包測試:

可視化抓包功能頁主要提供給產(chǎn)品經(jīng)理和測試同學(xué)可以現(xiàn)場抽樣測試事件數(shù)據(jù),檢查上報(bào)的屬性是否已經(jīng)完整,屬性值是否準(zhǔn)確。

圖八:埋點(diǎn)數(shù)據(jù)實(shí)時(shí)抓包圖

對(duì)比與同步:

在線對(duì)比和發(fā)布功能頁則是承載了開發(fā)童鞋對(duì)比生產(chǎn)環(huán)境和測試環(huán)境埋點(diǎn)元信息的差異之處,幫助快速確認(rèn)已經(jīng)進(jìn)行了變更處理之處。及支持開發(fā)童鞋在線可視化發(fā)布埋點(diǎn)事件,便捷高效。

圖九:埋點(diǎn)需求對(duì)比及同步功能圖

6)埋點(diǎn)監(jiān)控

埋點(diǎn)監(jiān)控功能承載的則是埋點(diǎn)管理系統(tǒng)全部埋點(diǎn)事件的及任務(wù)運(yùn)行的結(jié)果監(jiān)控。包括展示全部埋點(diǎn)應(yīng)用統(tǒng)計(jì)數(shù)、埋點(diǎn)需求統(tǒng)計(jì)數(shù)、事件統(tǒng)計(jì)數(shù)、有效在線事件統(tǒng)計(jì)數(shù)、異常的埋點(diǎn)事件數(shù)、未處理的埋點(diǎn)需求/事件數(shù)等,是統(tǒng)計(jì)和展示整個(gè)系統(tǒng)管理對(duì)象及對(duì)象運(yùn)行情況的監(jiān)控功能模塊。

方便參與埋點(diǎn)工作的同事了解整體產(chǎn)品的埋點(diǎn)任務(wù)運(yùn)行情況,和及時(shí)發(fā)現(xiàn)埋點(diǎn)上報(bào)數(shù)據(jù)的異常情況。也是埋點(diǎn)管理系統(tǒng)的一個(gè)必不可少的模塊。

四、寫在最后

以上從埋點(diǎn)管理系統(tǒng)的定位和解決的痛點(diǎn)問題,及系統(tǒng)的建設(shè)過程給大家闡述一遍,希望能幫助大家在對(duì)埋點(diǎn)管理系統(tǒng)及建設(shè)有個(gè)相對(duì)完整的認(rèn)識(shí)。

最后,總結(jié)幾點(diǎn)系統(tǒng)建設(shè)過程中的思考分享給大家:

1)埋點(diǎn)管理系統(tǒng)是一個(gè)服務(wù)于數(shù)據(jù)團(tuán)隊(duì)但涉及合作團(tuán)隊(duì)較多的系統(tǒng)。在不同公司,可能埋點(diǎn)業(yè)務(wù)流程不一樣,而我這里分享的是我經(jīng)歷過的埋點(diǎn)工作場景中協(xié)同效率比較高效的埋點(diǎn)業(yè)務(wù)流程,希望能提供參考借鑒。

2)埋點(diǎn)需求批次跟應(yīng)用版本號(hào)不完全保持一致,不要當(dāng)作是形同對(duì)象而相互替代。因?yàn)楹芸赡茉诤笃诎姹驹黾釉缙诎l(fā)版的產(chǎn)品功能的埋點(diǎn)。如果當(dāng)作同一個(gè)問題處理,將導(dǎo)致埋點(diǎn)需求管理能力可擴(kuò)展性太弱,很快整個(gè)系統(tǒng)都陷入了管理瓶頸。

3)埋點(diǎn)管理系統(tǒng)真實(shí)可以提升業(yè)務(wù)、產(chǎn)品、開發(fā)、數(shù)據(jù)分析多個(gè)團(tuán)隊(duì)的協(xié)同效率,用起來非常爽,能早建設(shè)盡早建設(shè)。

此處完結(jié)。

 

本文由 @九果女孩Maky 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載

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

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 超級(jí)棒?。?!

    來自遼寧 回復(fù)
  2. 請(qǐng)問,批量同步的功能是解決什么問題呢。謝謝回復(fù)

    來自廣東 回復(fù)
  3. 很不錯(cuò)

    來自廣東 回復(fù)