抖音集團指標管理與消費體系建設實踐
一、指標建設的痛點
1. 面臨的數據挑戰
抖音集團,作為字節跳動國內信息和服務業務的核心板塊,旗下擁有抖音、今日頭條、西瓜視頻等眾多知名產品。相信大家的手機里都安裝了不止一個抖音集團的 App。
平臺管理的數據量在幾年前就已超過 EB 級別,指標資產數據超過 600PB,這為我們的數據管理帶來了巨大的挑戰。
2. 火山引擎數智平臺
我們的數據平臺承載著一項重要使命:成為推動增長的敏捷數智引擎。
火山引擎數智平臺的整體架構分為四個層次:數據引擎層、數據建設管理層、數據分析應用層和解決方案與咨詢服務層。這四層協同工作,覆蓋了數據從采集到分析的全生命周期。
我們的數據產品有兩個核心特點:敏捷和易用。
首先,敏捷體現在速度和靈活性上。數據流程全面加速,無論是數據采集、加工還是分析消費,都實現了實時性,系統能夠處理十億級數據的亞秒級查詢。
其次,在易用性方面,我們致力于打造低門檻、快速上手和廣泛協同的數據處理環境。即使沒有技術或統計學背景,團隊成員也能輕松搭建數據門戶、開展 AB 測試。平臺支持無代碼操作,讓每個人都能快速成為數據的探索者和分析者。
此外,數據產品具有無縫協同能力,與飛書、日歷、業務系統等工具的整合,讓數據隨時隨地為決策服務。
總結而言,我們的數據團隊致力于通過敏捷和易用的產品,實現對業務的高標準服務。我們的目標是達到"0987"的服務標準——0 重大線上問題,90% 的需求滿足率,80% 以上的分析師查詢數倉覆蓋率,以及超過 70% 的業務用戶滿意度。
3. 指標建設的痛點
抖音的業務發展可劃分為三個顯著的階段:探索期、成長期和成熟期。
在探索期,我們的焦點在于快速迭代和業務導向,迅速適配業務調整,尋找可持續的增長模式。這一時期,我們面臨的主要挑戰是縮短交付周期,以實現快速的市場響應。
隨著業務步入成長期和成熟期,數據質量和效率的重要性日益凸顯。我們遭遇了三大主要難點:
- 指標管理的不統一:存在“同名不同義”或“同義不同名”的現象,使得僅依靠文檔或基礎管理平臺難以有效管理指標。
- 指標口徑的不統一:業務人員常面臨指標定義不清晰、技術口徑不明確的問題,這無疑增加了理解和使用指標的難度和成本。
- 指標消費的不統一:早期的指標定義和數據取數口徑分散,導致在新的業務場景出現時,數倉不得不創建冗余的表和重復的指標,造成了資源的浪費。
4. 整體技術方案
面對這些挑戰,我們認識到要提升數據質量和效率,必須針對性地解決指標管理、口徑和消費的統一問題。我們的解決思路是構建一個生產促進消費、消費反饋促進管理的閉環能力。這樣的良性循環不僅確保了指標體系的價值,也使其在抖音業務中能夠持續、有效地運轉。
整個解決方案分為三層:
- 第一層是指標生產,包括模型的設計,以及數據質量和穩定性上的一些保障方案。
- 第二層是指標管理,核心要解決的是指標的效率問題,還要保證指標的一致性。
- 第三層是指標消費,最終以指標專題這種方式實現指標一處定義多處消費的模式,以服務化的方式給到上游應用。
二、指標管理實踐
1. 指標管理的核心問題
接下來探討指標管理實踐中的一些關鍵問題。
我們認為,要實現高效的指標管理,必須解決以下三個核心問題:
- 指標一致性問題:包括“同名不同義”、“同義不同名”以及指標間值沖突等問題。一致性是指標管理的基石,它直接影響數據的準確性和可靠性。
- 指標的持續保鮮和有效迭代:短期內研發指標相對容易,但長期維護其活力和有效性則更具挑戰。為此,我們將從機制和流程的角度出發,建立保障措施,確保指標能夠持續優化和更新,以適應不斷變化的業務需求。
- 效率問題:包括指標定義和拆解的效率。在快節奏的業務環境中,快速響應和處理數據至關重要,要通過流程優化和技術迭代,提升指標管理的效率,以支持快速決策。
綜上所述,我們的目標是在流程和機制上解決指標的持續保鮮問題,并推動指標中臺產品能力的迭代升級,以解決指標一致性和管理效率問題。通過這些措施,建立一個更加健壯、靈活且高效的指標管理體系。
2. 整體協作流程
接下來通過一個具體的例子來闡述我們整體的協作流程。比如一位分析師提了一個指標需求,在指標平臺中進行了需求登記。我們的業務應用層數據 BP 數倉同學接到這個指標需求之后,會去判斷這個指標以前有沒有建設過,是否能夠復用,如果沒有的話,會先去做指標的拆解。在拆解過程中,如果發現了一些指標的基礎元素上的缺失,比如缺少一些原子指標或者修飾詞等,就會引入基建同學或者公共層數據同學來進行基礎元素的完善。最終應用層的同學去做好指標模型的開發。
在面向需求交付的過程中,我們一般情況下也是希望對接業務的數據同學能夠端到端地完成需求交付的閉環。當然如果需要依賴的核心公共層數據缺失,那么會引入公共層的同學去完善公共數據的建設。最終把模型注冊到指標平臺,以服務化的方式給到下游去進行消費。
整體協作流程中的關鍵步驟包括:
- 需求登記:首先,分析師需要在我們的指標平臺上進行登記。這一步驟是整個協作流程的起點,通過平臺提供的工具,需求得以明確和記錄。
- 指標檢查與拆解:數倉開發人員接到新需求后,首先檢查該指標是否已經存在。如果尚未存在,開發人員將負責指標拆解,構建新的指標定義,包括原子指標和修飾詞等,這是確保指標精確性和一致性的關鍵步驟。
- 模型創建與綁定:隨后,從基建側著手,開發人員創建相應的數據模型和表結構,并進行模型綁定。這一環節是將指標從概念轉化為可操作、可查詢的數據實體。
- 交付與應用:完成模型綁定后,新構建的指標最終交付給數據產品團隊或分析師。這一交付不僅包括指標本身,還包括了指標的詳細文檔和使用指南。
- 全鏈路追蹤:在整個指標的生命周期中,從模型綁定、指標分類歸屬到原子指標的對應,每個階段都與指標消費環節緊密相連。這種端到端的流程設計,確保了每個指標的消費過程都是可追蹤的,為數據的全鏈路追溯和優化奠定了基礎。
3. 權責一致的組織設計
要保證整套流程能夠持續運轉下去,需要有權責分明的組織設計,確保從需求提出到指標實現的每個環節都有明確的責任主體,每個角色都能在其專業領域內發揮最大的作用。這不僅可以提高工作效率,也能夠保障數據的質量和一致性。
- 業務負責人:首先,業務負責人是需求和指標模型的提出者。他們通常是商業智能分析師或產品經理,擁有深厚的業務知識和專業背景。其職責是確保指標的原子定義和業務限定清晰無誤,擁有最終解釋權,是第一責任人。他們需要在各自領域內制定明確、無歧義的標準,保障指標建模的準確性和一致性。
- 數據應用層:緊接著,數據應用層的團隊負責將這些指標模型轉化為實際的數據產品。他們需要選擇合適的實現方式,確保指標的準確實現和及時產出。與業務負責人的密切溝通是他們工作的關鍵,以確保對指標口徑的理解完全一致,避免任何可能的歧義。
- 公共層數據團隊:最后,基礎信息的維護和管理由公共層數據團隊統一負責,需要確保數據的一致性和可追溯性。
4. 如何保障指標的一致性
要確保指標的一致性,主要從兩個方面考慮:
(1)指標拆解的規范性:指標拆解過程必須遵循嚴格的規范,確保每個指標的精確性和一致性。
- 基礎信息配置:涵蓋數據域、業務過程、度量、修飾詞、統計粒度、時間周期、指標單位和數據類型,這些是構成指標的基礎元素。
- 指標拆解定義:細分為原子指標、衍生指標和復合指標。
- 原子指標由業務過程和度量構成。
- 衍生指標是在原子指標的基礎上加入修飾詞和時間周期。
- 復合指標則是通過四則運算或統計方法修飾詞從衍生指標生成。
(2)指標中臺產品能力的唯一性校驗:通過指標唯一性校驗和原子指標/修飾詞的相似性校驗來確保指標在平臺上的一致性和準確性。
- 指標唯一性校驗確保每個指標在系統中都是獨一無二的。
- 原子指標和修飾詞的相似性校驗幫助我們避免指標定義的冗余和歧義。
5. 如何提升指標拆解效率
指標拆解是數據管理中最為耗時的部分,提升這一環節的效率非常重要。我們從以下兩個方面著手提升指標拆解和管理的效率。
- 理念革新:首先,在理念上我們提倡“先聚焦核心”。我們認為,理想的指標管理最終形態可能是達到“無為而治”。我們根據業務特性和指標復用性,綜合考量并制定拆解方案。例如,在短視頻業務中,我們采取的是“先開發后拆解”的策略,以適應快速變化的業務需求。
- 流程優化:其次,我們通過梳理和沉淀業務過程、原子指標和修飾詞,建立指標生產操作手冊和指標樹。這些措施有助于標準化和加速指標拆解過程。同時,我們還開發了批量化腳本,自動化常規的拆解任務,減少人工操作,大幅提升效率。
比如要投入到一條業務線上的指標管理,我們往往采取的一個策略是讓偏公共層的專業數倉同學去系統性地梳理出一個業務過程,原子指標、修飾詞是什么,最終把這條業務線上最核心的指標做好管理,并且會整理出相應的管理手冊,推廣到整條業務線上去,從而做好全員的指標管理。
6. 探索大模型自動拆解
我們也在探索通過大模型的方式去完成自動化拆解,只需要把對應的表和字段錄入進去,通過大模型就可以自動拆解出原子指標修飾詞和時間周期。
7. 指標先生產后管理實踐
我們團隊對業務需求的承諾是明確的——保證 90% 的需求滿足率。為了達到這個目標,敏捷性成為我們優先考慮的關鍵因素。
在處理普通業務需求時,特別是在短視頻業務中,我們采取了一種靈活的策略。為了保持敏捷,我們不會對這類需求進行前期的指標管理。相反,我們直接開發并上線 ClickHouse 表,以快速響應業務需求。
隨著業務的發展,當這些表格需要被應用到決策看板時,我們會異步進行指標的錄入和拆解。這樣做不僅保證了業務的敏捷性,同時也確保了數據的可管理性和可分析性。
當然,如果遇到性能問題,比如當表格不再滿足 SLA 要求時,我們會進行模型的重構和指標下沉到公共層。這一過程是我們數據管理成熟度的體現,確保了數據的長期穩定性和可用性。
通過我們的中臺產品一體化架構,即使在異步進行指標管理時,也只需 20 分鐘就能完成單表的指標管理工作。這大大提升了我們的效率,同時也保證了數據的質量和一致性。
三、指標生產實踐
1. 指標生產的模型設計原則
指標生產的模型設計遵循從明細到匯總的層次化設計原則,依次構建了明細層、輕粒度匯總層和粗粒度匯總層。
在輕粒度匯總層,我們希望能夠覆蓋盡可能多的維度,下游偏應用層的指標開發盡可能依賴于輕粒度匯總層,而不要直接去依賴于明細層,當然也會兼顧性能和成本。另外,一般選擇單業務過程,當然如果多個過程從業務視角上來看總是連在一起去看的,那么也會把他們放在一個模型里面去做加工計算。
粗粒度匯總層往往最終應用是給到下游直接去做消費,所以需要關注其性能,以及指標業務上的擴展性。從實踐經驗來看,粗粒度匯總層一般情況下選擇三個左右的維度為宜。
2. 指標生產的質量保證體系
首先要明確保障的對象和內容。需要從業務視角出發,清晰界定我們所要保障的對象。這包括:
- 產品模塊的梳理:了解每個產品模塊的具體情況。
- 責任分配:明確每個模塊的責任人,包括產品經理、開發人員和數據分析師(DA)。
- 保障標準:設定具體的標準,如產出時間、用戶體驗等,確保數據的準確性和及時性。
第二,要保障方案的實施,通過工具化和平臺化來賦能整個保障過程。這涉及到:
- 全鏈路血緣:分析模塊之間的關系、消費情況和協同依賴,確保數據的一致性和可追溯性。
- 日常化管理:利用飛書群等工具,對異常告警進行播報和推送,實現數據質量的日常治理。
在需求交付的全鏈路流程中,數據質量的保障是至關重要的。例如:
- 開發測試階段:我們要求管理層的決策指標必須經過正確性、一致性和合理性的測試。
- 發布上線階段:實施嚴格的變更管控,確保數據的穩定性。
- 線上運維階段:從數據視角、工程視角以及應急機制出發,全方位保障數據的質量。
總之,數據質量的保障是一個系統工程,需要我們在每一個環節都投入關注和努力。
3. 指標生產的穩定性方案
在對外的商業化的數據產品,或者面向于服務管理層的業務時會非常注重指標生產的穩定性,我們主要面臨兩個核心問題:
- 首先,上游管理難。由于上游鏈路眾多且保障能力參差不齊,因為有的可能是偏工程團隊在管理,而且整條鏈路可能上游有的時候高達幾十層,這使得上游管理的復雜性大大增加。這通常占到了整體故障的 40%。
- 其次,保障如何做到日常化。我們經常遇到優化后短期內效果顯著,但隨著時間推移,穩定性又逐漸變差的情況。
為了應對這些挑戰,我們提出了一個三層解決方案:
- 建立規范:我們定義了數據分層產出規范、指標新增和下線規范,以及研發規范,確保每一步都有明確的標準和流程。
- 鏈路優化:我們不僅優化了上游鏈路,還對計算任務進行了細致的調整,以提升整體的處理效率和穩定性。
- 日常化治理:關鍵在于量化穩定性問題,通過持續發現問題和優化推送,我們將治理工作融入日常。此外,在運維保障中,日常值班機制、SLA 簽署和故障響應體系的建立也是我們穩定性保障中不可或缺的部分。
總結而言,通過建立規范、優化鏈路和日常化治理,我們能夠系統性地提升指標生產的穩定性,確保我們的數據處理既高效又可靠。
四、指標消費實踐
1. 指標專題的概念和優勢
指標消費的核心思路是構建整個抖音官方的指標專題。指標專題可以理解為一組維度和指標的集合,類似于虛擬表,屏蔽了底層的物理實現,具有如下優勢:
- 搭建成本低:以目錄結構管理,可以靈活添加指標/維度。
- 找指標快:體系清晰,信息一目了然。
- 跨集群、跨數據源:可以方便地跨集群、跨數據源聯合分析。
- 智能路由:基于當前選擇的維度或指標智能化地路由到一個穩定性、性能最佳的模型。
2. 指標專題的管理和維護
指標專題是指標查找、理解口徑、使用指標的一站式入口,服務于產品、運營、分析師和戰略等不同角色。它不僅提供了指標的綜合搜索功能,還具備面向應用場景的專題應用能力。
面向對象的特點包括:
- 目錄結構的靈活性:可以靈活地創建專題空間,管理員可以根據業務需求定義指標專題及其分類目錄,確保業務指標體系的清晰展現。
- 權限分級的精細化管理:專題信息由管理員統一維護,確保了信息的可靠性。同時,支持多角色設定,包括業務線管理員、指標專題管理員、指標分類管理員,提高了操作的靈活性。
- 指標導入的便捷性:簡化了指標導入流程,使得指標的添加和管理變得更加容易。
通過這些特點,不僅提高了指標管理的效率,也加強了數據的可訪問性和透明度,為決策提供了堅實的數據支持。
3. 指標列表-快速理解業戶核心指標體系
我們的指標列表不僅是一個展示工具,更是一個強大的管理平臺。
- 可以幫助我們快速理解整個業務線的核心指標到底是什么。
- 靈活、清晰地展示指標優先級。
- 頁面可作為業務模塊指標體系直接分享。
4. 指標詳情頁-展現指標相關重要信息
指標詳情頁是一個全面展現指標相關信息的地方。包括三大組成部分:
- 業務詳情頁:這里匯聚了指標的核心業務信息,包括其定義、用途和業務影響。提供了近期數據的快照,使用戶能夠迅速把握指標的動態變化。此外,還關聯了高熱度的看板,使得業務團隊能夠從宏觀角度理解指標在實際業務中的應用和價值。
- 技術詳情頁:深入技術層面,展示了每個指標的技術口徑和計算邏輯,以及它們所關聯的數據模型。為數據工程師和技術團隊提供了一個清晰的技術視角,幫助他們更好地理解、維護和優化指標。
- 消費血緣:通過展示指標的血緣關系,幫助用戶追溯數據的加工流程。這種可視化的血緣分析不僅方便了問題的診斷和定位,也加強了數據的透明度和可追溯性。
5. 指標消費應用
指標專題消費的核心思路還是希望能夠做到指標一次定義多處消費。指標專題的應用通過如下一些方式為工作效率帶來了提升:
- 決策看板:通過專題指標與風神的直接打通,在可視化的 BI 工具中,可直接基于維度和指標快速搭建所需的數據看板,決策者可以快速獲取深度分析,為決策提供強有力的數據支持。
- 自助取數:Chat BI 大模型的應用,降低了數據獲取的技術門檻,讓每個用戶都能成為數據的探索者。
- 日報推送:自動化的日報推送不僅節省了時間,也確保了信息傳遞的時效性和個性化。
五、總結展望
價值衡量是從生產視角和消費指標來審視指標管理的健康程度,比如有多少指標在管理中,有多少指標規范地下沉到了公共層。
從消費視角,我們會關注通過指標專題進行統一下游消費的比例是多少,還會關注消費后的業務反饋,通過指標專題給到下游消費是否對指標一致性和指標的可理解性得到提升。
上圖中展示了電商業務的實踐結果,從定性角度來看,指標體系對數據團隊最大的收益是指標一致性和指標復用性帶來的人效提升;對于分析師和業務同學來說,更多的是提升了整個指標的可理解性,并降低了溝通成本。
最后分享一下我們對未來工作的規劃。首先,仍會致力于轉變傳統的數據交付方式,希望以指標及服務化的方式去提供穩定、可復用的數據產品。具體工作仍將圍繞以下三個核心部分展開:
- 指標生產:我們正朝著標準化、配置化、自動化的方向邁進,這一過程將確保指標生產的高效率和高質量。
- 指標管理:通過大模型自動化指標拆解,增強了指標的可理解性。這不僅提升了數據的透明度,也使得數據管理更為直觀和便捷。
- 指標消費:我們致力于打造一體化數據架構,實現一處定義、多處消費的模式。這將簡化數據應用流程,提高數據的利用率。