目錄
contents
03
疫情后上海,人口真的流失了么
04
數據血緣落地實施
01
9種最常用數據分析方法,解決90%
分析難題
02
標簽的分類、設計及實現方法
驅動力
9種最常用數據分析方法,
解決90%分析難題
關聯分析,也叫作“購物籃分析”,是一種通過研究用戶消費數據,將不同商品之間進行關聯,并挖掘二者之間聯系的分析方法。
關聯分析目的是找到事務間的關聯性,用以指導決策行為。如“67%的顧客在購買啤酒的同時也會購買尿布”,因此通過合理的啤酒和尿布的貨架擺放或捆綁銷售可提高超市的服務質量和效益。關聯分析在電商分析和零售分析中應用相當廣泛。
文章來源:一個數據人的自留地
原文鏈接://mp.weixin.qq.com/s/lG8ph-lG719SoYt-ESa_3A
一、關聯分析
關聯分析需要考慮的常見指標:
· 支持度:指A商品和B商品同時被購買的概率,或者說某個商品組合的購買次數占總商品購買次數的比例。
· 置信度:指購買A之后又購買B的條件概率,簡單說就是因為購買了A所以購買了B的概率。
· 提升度:先購買A對購買B的提升作用,用來判斷商品組合方式是否具有實際價值。
二、對比分析
對比法就是用兩組或兩組以上的數據進行比較。對比法是一種挖掘數據規律的思維,能夠和任何技巧結合,一次合格的分析一定要用到N次對比。
驅動力
對比主要分為以下幾種:
· 橫向對比:同一層級不同對象比較,如江蘇不同市茅臺銷售情況。
· 縱向對比:同一對象不同層級比較,如江蘇南京2021年各月份茅臺銷售情況。
· 目標對比:常見于目標管理,如完成率等。
· 時間對比:如同比、環比、月銷售情況等,很多地方都會用到時間對比。
聚類分析屬于探索性的數據分析方法。從定義上講,聚類就是針對大量數據或者樣品,根據數據本身的特性研究分類方法,并遵循這個分類方法對數據進行合理的分類,最終將相似數據分為一組,也就是“同類相同、異類相異”。
在用戶研究中,很多問題可以借助聚類分析來解決,比如,網站的信息分類問題、網頁的點擊行為關聯性問題以及用戶分類問題等等。其中,用戶分類是最常見的情況。
常見的聚類方法有不少,比如K均值(K-Means),譜聚類(Spectral Clustering),層次聚類(Hierarchical Clustering)。
以最為常見的K-means為例,可以看到,數據可以被分到黃藍綠三個不同的簇(cluster)中,每個簇有其特有的性質。
? ? ? ? 留存分析是一種用來分析用戶參與情況/活躍程度的分析模型,考查看進行初始行為后的用戶中, 經過一段時間后仍然存在客戶行為(如登錄、消費)。留存不僅是個可以反映客戶粘性的指標,更多地反映產品對用戶的吸引力。
按照不同周期,留存率分為三類:
第一種是日留存,日留存又可以細分為以下幾種:
· 次日留存率:(當天新增的用戶中,第2天還登錄的用戶數)/第一天新增總用戶數;
· 第3日留存率:(第一天新增用戶中,第3天還有登錄的用戶數)/第一天新增總用戶數;
· 第7日留存率:(第一天新增用戶中,第7天還有登錄的用戶數)/第一天新增總用戶數;
· 第14日留存率:(第一天新增用戶中,第14天還有登錄的用戶數)/第一天新增總用戶數;
· 第30日留存率:(第一天新增用戶中,第30天還有登錄的用戶數)/第一天新增總用戶數。
第二種是周留存,以周度為單位的留存率,指的是每個周相對于第一個周的新增用戶中,仍然還有登錄的用戶數。
第三種是月留存,以月度為單位的留存率,指的是每個月相對于第一個周的新增用戶中,仍然還有登錄的用戶數。
留存率是針對新用戶的,其結果是一個矩陣式半面報告(只有一半有數據),每個數據記錄行是日期、列為對應的不同時間周期下的留存率。正常情況下,留存率會隨著時間周期的推移而逐漸降低。
三、聚類分析
四、留存分析
驅動力
下面以月留存為例生成的月用戶留存曲線:
帕累托法則,源于經典的二八法則——“世界上80%的財富掌握在20%的富人手里”。而在數據分析中,這句話可以理解為20%的數據產生了80%的效果,需要圍繞找到的20%有效數據進行挖掘,使之產生更大的效果。
帕累托法則一般會用在產品分類上,此時就表現為ABC分類。常見的做法是將產品SKU作為維度,并將對應銷售額作為基礎度量指標,將這些銷售額指標從大到小排列,并計算累計銷售額占比。
百分比在 70%(含)以內,劃分為 A 類。百分比在 70~90%(含)以內,劃分為 B 類。百分比在 90~100%(含)以內,劃分為 C 類。
五、帕累托分析
六、象限分析?
比如一個商超進行產品分析的時候,就可以對每個商品的利潤進行排序,找到前20%的產品,那這些產品就是能夠帶來較多價值的商品,可以再通過組合銷售、降價銷售等手段,進一步激發其帶來的收益回報。
按照A、B、C分組對產品進行了分類,根據產品的效益分為了三個等級,這樣就可以針對性投放不同程度的資源,來產出最優的效益。
象限法是通過對兩種及以上維度的劃分,運用坐標的方式,人工對數據進行劃分,從而傳遞數據價值,將之轉變為策略。象限法是一種策略驅動的思維,常應用在產品分析、市場分析、客戶管理、商品管理等場景,像RFM模型、波士頓矩陣都是象限法思維。
下面這個RFM模型就是利用象限法,將用戶分為8個不同的層級,從而對不同用戶制定不同的營銷策略。
驅動力
象限法的優勢:
(1)找到問題的共性原因
通過象限分析法,將有相同特征的事件進行歸因分析,總結其中的共性原因。例如上面廣告的案例中,第一象限的事件可以提煉出有效的推廣渠道與推廣策略,第三和第四象限可以排除一些無效的推廣渠道;
(2)建立分組優化策略
針對投放的象限分析法可以針對不同象限建立優化策略,例如RFM客戶管理模型中按照象限將客戶分為重點發展客戶、重點保持客戶、一般發展客戶、一般保持客戶等不同類型。給重點發展客戶傾斜更多的資源,比如VIP服務、個性化服務、附加銷售等。給潛力客戶銷售價值更高的產品,或一些優惠措施來吸引他們回歸。
A/Btest,是將Web或App界面或流程的兩個或多個版本,在同一時間維度,分別讓類似訪客群組來訪問,收集各群組的用戶體驗數據和業務數據,最后分析評估出最好版本正式采用。
A/Btest的流程如下:
1、現狀分析并建立假設:分析業務數據,確定當前最關鍵的改進點,作出優化改進的假設,提出優化建議;比如說我們發現用戶的轉化率不高,我們假設是因為推廣的著陸頁面帶來的轉化率太低,下面就要想辦法來進行改進了。
2、設定目標,制定方案:設置主要目標,用來衡量各優化版本的優劣;設置輔助目標,用來評估優化版本對其他方面的影響。
3、設計與開發:制作2個或多個優化版本的設計原型并完成技術實現。
4、分配流量:確定每個線上測試版本的分流比例,初始階段,優化方案的流量設置可以較小,根據情況逐漸增加流量。
5、采集并分析數據:收集實驗數據,進行有效性和效果判斷:統計顯著性達到95%或以上并且維持一段時間,實驗可以結束;如果在95%以下,則可能需要延長測試時間;如果很長時間統計顯著性不能達到95%甚至90%,則需要決定是否中止試驗。
6、最后:根據試驗結果確定發布新版本、調整分流比例繼續測試或者在試驗效果未達成的情況下繼續優化迭代方案重新開發上線試驗。
七、ABtest
?八、漏斗分析?
漏斗思維本質上是一種流程思路,在確定好關鍵節點之后,計算節點之間的轉化率。這個思路同樣適用于很多地方,像電商的用戶購買路徑分析、app的注冊轉化率等等。
上圖是經典的營銷漏斗,形象展示了從獲取用戶到最終轉化成購買這整個流程中的一個個子環節。
整個漏斗模型就是先將整個購買流程拆分成一個個步驟,然后用轉化率來衡量每一個步驟的表現,最后通過異常的數據指標找出有問題的環節,從而解決問題,優化該步驟,最終達到提升整體購買轉化率的目的。
著名的海盜模型AARRR模型就是以漏斗模型作為基礎的,從獲客、激活、留存、變現、自傳播五個關鍵節點,分析不同節點之間的轉化率,找到能夠提升的環節,采取措施。
驅動力
用戶路徑分析追蹤用戶從某個開始事件直到結束事件的行為路徑,即對用戶流向進行監測,可以用來衡量網站優化的效果或營銷推廣的效果,以及了解用戶行為偏好,其最終目的是達成業務目標,引導用戶更高效地完成產品的最優路徑,最終促使用戶付費。
如何進行用戶行為路徑分析?
1、計算用戶使用網站或APP時的每個第一步,然后依次計算每一步的流向和轉化,通過數據,真實地再現用戶從打開APP到離開的整個過程。
2、查看用戶在使用產品時的路徑分布情況。例如:在訪問了某個電商產品首頁的用戶后,有多大比例的用戶進行了搜索,有多大比例的用戶訪問了分類頁,有多大比例的用戶直接訪問的商品詳情頁。
3、進行路徑優化分析。例如:哪條路徑是用戶最多訪問的;走到哪一步時,用戶最容易流失。
4、通過路徑識別用戶行為特征。例如:分析用戶是用完即走的目標導向型,還是無目的瀏覽型。
5、對用戶進行細分。通常按照APP的使用目的來對用戶進行分類。如汽車APP的用戶可以細分為關注型、意向型、購買型用戶,并對每類用戶進行不同訪問任務的路徑分析,比如意向型的用戶,他進行不同車型的比較都有哪些路徑,存在什么問題。還有一種方法是利用算法,基于用戶所有訪問路徑進行聚類分析,依據訪問路徑的相似性對用戶進行分類,再對每類用戶進行分析。
6、最后:根據試驗結果確定發布新版本、調整分流比例繼續測試或者在試驗效果未達成的情況下繼續優化迭代方案重新開發上線試驗。
九、路徑分析
?八、漏斗分析?
漏斗思維本質上是一種流程思路,在確定好關鍵節點之后,計算節點之間的轉化率。這個思路同樣適用于很多地方,像電商的用戶購買路徑分析、app的注冊轉化率等等。
上圖是經典的營銷漏斗,形象展示了從獲取用戶到最終轉化成購買這整個流程中的一個個子環節。
整個漏斗模型就是先將整個購買流程拆分成一個個步驟,然后用轉化率來衡量每一個步驟的表現,最后通過異常的數據指標找出有問題的環節,從而解決問題,優化該步驟,最終達到提升整體購買轉化率的目的。
著名的海盜模型AARRR模型就是以漏斗模型作為基礎的,從獲客、激活、留存、變現、自傳播五個關鍵節點,分析不同節點之間的轉化率,找到能夠提升的環節,采取措施。
驅動力
01 什么是數據標簽?
文章來源:數據學堂
原文鏈接://mp.weixin.qq.com/s/qLlTdhqo6yWK2-aNfh-vGg
在開展對數據的各種分析應用之前,如果在數據倉庫的基礎上再開展一些數據標簽的工作,提前做一些準備工作,那么后續對數據應用的設計開發將更加深入、更加便利,也更容易快速交付。
整個數據中臺的系統規劃如下圖所示。從這里可以看到,數據標簽介于數據倉庫與數據集市之間,在數據倉庫之上,是為數據集市做的準備工作。
標簽的分類、設計及實現方法
* 數據標簽在數據中臺中的位置
如果以數據標簽為基礎再開展各種數據分析與應用,那么對數據的分析利用將更加深入與便捷,這就是數據標簽的作用。
標簽由標簽和標簽值組成,打在目標對象上,如下圖所示。
* 打標簽示例
標簽由互聯網領域逐步推廣到其他領域,打標簽的對象也由用戶、產品等擴展到渠道、營銷活動等。
· 在互聯網領域,標簽有助于實現精準營銷、定向推送、提升用戶差異化體驗等;
· 在行業領域,標簽更多助力于戰略分級、智能搜索、優化運營、精準營銷、優化服務、智慧經營等。
02 數據標簽的分類
對數據打標簽,可以由淺入深地分為以下三種類型。
1)屬性標簽,就是對業務實體各種屬性的真實刻畫。比如企業類型、所處行業、經營范圍、所處地域等信息,用戶性別、年齡段、職業狀況、身高體重等信息,發票類別、代開發票、作廢發票、異常發票等信息。
這些標簽可以從某些字段直接獲得,也可以通過某些字段進行一個條件判斷獲得。
2)統計標簽,就是對業務實體從某個維度的度量進行的匯總,比如企業的月經營業績、月增長額、季增長額、前n名的客戶或供應商的交易額等。
通過這些統計可以真實地反映該企業的經營狀況。
3)算法標簽,就是通過某些算法推理得到的特性。算法標簽相對比較復雜,但非常有用。它既可以設計得簡單易行,如企業的行業地位、交易成功率、客戶開拓能力、客戶忠誠度、企業成長度等。
也可以運用一些數據挖掘算法進行推算,如通過用戶近期的購買商品推算該用戶的性別、職業、興趣喜好、購物習慣,以及是否懷孕、是否有小孩等信息,以便日后的精準營銷、商品推薦。
驅動力
事實標簽是描述實體的客觀事實,關注實體的屬性特征,如一個部件是采購件還是非采購件,一名員工是男性還是女性等,標簽來源于實體的屬性,是客觀和靜態的。
規則標簽是對數據加工處理后的標簽,是屬性與度量結合的統計結果,如貨物是否是超重貨物,產品是否是熱銷產品等,標簽是通過屬性結合一些判斷規則生成的,是相對客觀和靜態的。
模型標簽則是洞察業務價值導向的不同特征,是對于實體的評估和預測,如消費者的換機消費潛力是旺盛、普通還是低等,標簽是通過屬性結合算法生成的,是主觀和動態的。
華為將標簽分為事實標簽、規則標簽和模型標簽,如下圖所示。
* 三種類型的標簽
數據標簽通常按照以下步驟分析設計。
1、確定標簽對象
數據標簽的設計首先從確定標簽對象開始。數據標簽是規劃在數據集市這邊的,就意味著它的設計與數據分析業務息息相關。
真實的世界有那么多的事物,每個事物都有那么多的屬性,因此漫無目的地打標簽沒有意義。給什么事物打什么樣的標簽,一定是與分析業務息息相關的。
數據標簽的對象可以是人(個人/群體)、事物與關系,比如用戶、企業、訂單、發票,以及開票行為、供銷關系,等等。
03 數據標簽的設計
04 數據標簽的實現
給什么對象打標簽,關鍵在于我們對數據分析與應用的興趣點,對哪些方面的事物感興趣。譬如,要進行精準營銷就要關注用戶的購物喜好,要進行防虛開風控就要關注企業開票行為,等等。
2、打通對象關系
很多標簽,特別是算法標簽,都是通過比對某個對象方方面面的狀況推算出來的。如何才能推算呢?就需要通過某些key值將該事物方方面面的屬性關聯起來。
譬如,將用戶通過訂單與其購買的商品關聯起來,然后又將哪些是嬰兒用品關聯起來,那么通過這些關聯就可以推算某用戶是否有了小孩;將企業所處的行業與地域關聯起來,同時匯總各行業、各地區的平均水平,就可以推算該企業在本行業、在該地區的經濟地位,等等。
3、標簽類目設計
確定了標簽對象,打通了對象關系,那么就正式進入標簽設計環節。
標簽的設計首先按類目進行劃分,把標簽對象按照業務劃分成多個不同的方面,接著再依次確認每個類目下都有哪些標簽。
通過以上分析,確定了數據標簽的對象以及標簽的類目,接著就是數據標簽的設計實現。
每個標簽都有它的規則,通過一系列腳本定期生成。但數據標簽設計實現的核心是標簽融合表,即標簽按照什么樣的格式存儲在數據庫中。
標簽融合表的設計通常有兩種形式:縱向融合表與橫向融合表,如下圖所示。
* 標簽融合表的設計
驅動力
縱向融合表,就是每個對象的每個標簽都是一條記錄,如一個用戶的每種興趣偏好都是一條記錄,我們能識別出他的多少種興趣偏好是不確定的。
縱向融合表的設計比較靈活,每個對象的標簽可多可少,我們也可以自由地不斷增加新的標簽。然而,每個對象的每個標簽都是一條記錄,會導致數據量比較大。
橫向融合表,就是將一個對象的多個標簽按照字段放到一個表中。由于多個標簽都放到了這一條記錄中,因此橫向融合表的每個對象一條記錄,可以大大降低標簽的數據量。
然而,一旦需要增加新的標簽,就需要修改表結構,從而增加新字段。這樣,不僅需要修改標簽生成程序,還要修改標簽查詢程序,維護成本較高。因此,橫向融合表往往應用于那些設計相對固定的屬性標簽或統計標簽。
華為標簽管理分為標簽體系建設和打標簽。
1、標簽體系建設
(1)選定目標對象,根據業務需求確定標簽所打的業務對象,業務對象范圍參考公司發布的信息架構中的業務對象。
(2)根據標簽的復雜程度進行標簽層級設計。
(3)進行詳細的標簽和標簽值設計,包括標簽定義、適用范圍、標簽的生成邏輯等
· 事實標簽應與業務對象中的屬性和屬性值保持一致,不允許新增和修改。
· 規則標簽按照業務部門的規則進行相關設計。
· 模型標簽根據算法模型生成。
2、打標簽
(1)打標簽數據存儲結構
打標簽是建立標簽值與實例數據的關系,可以對一個業務對象、一個邏輯數據實體、一個物理表或一條記錄打標簽。
05 華為數據標簽管理體系
為了方便從“用戶”視角查找、關聯、消費標簽,可增加用戶表,將標簽歸屬到該“用戶”下,這里的“用戶”是泛指,可以是具體的人,也可以是一個組織、一個部門、一個項目等。
(2)打標簽的實現方法
事實標簽:根據標簽值和屬性允許值的關系由系統自動打標簽。
規則標簽:設計打標簽邏輯由系統自動打標簽。
模型標簽:設計打標簽算法模型由系統自動打標簽。
驅動力
疫情后上海,人口真的流失了么
來源:真叫盧俊(ID:zhenjiaolujun0426)
原文鏈接://mp.weixin.qq.com/s/VF128e4Fb7sHWKklwIN0qQ
上海到底因為這次疫情,流失了多少人口?
有人說1天1萬,有人說到現在已經走了500萬了。
曾經這個話題一度成為了網上輿論關注的焦點,上海這座城市,也因此深陷漩渦中心。
疫情后,上海真的在經歷一場前所未有的人口流失嗎?
或許看完這篇文章,對于這個爭議話題,你會有更客觀的判斷和答案。
01
第一個數據,是關于地鐵客流量的。
我想沒有什么數字比地鐵客流量能更真實的反映出上海人口情況。
上海是一座超級通勤大都市,每天乘坐地鐵通勤的人達到千萬級別以上,這個數字排名全國第一,全世界僅次于首爾。
因此,如果上海人口真的外流嚴重,地鐵總客流量一定會大幅下降的,其實整個疫情期間,我們團隊對上海地鐵客流量做過一次全記錄。
大家可以先看下當時居家隔離的我們,統計的數據情況:
這是上海地鐵今年2-3月份每天的客運量。
你會發現在之前正常生活的節奏中,基本上工作日的時候上海地鐵每天保持1000萬人次的流量,在雙休日在600-800萬左右;
但是疫情襲來之后我們可以發現,工作日的數字只有200萬,雙休日下滑到了100萬,從1000萬到200萬,這是一個巨大的變化,整個城市的節奏也明顯的慢了下來。
這個數值不能說不大。
那么解封后上海地鐵總客流量恢復得如何了?
可以看到,其實在整個6-7月份,上海日均客流量是沒有恢復到正常水平的。
六月工作日日均只有800萬左右、周末雙休日400萬
七月稍微好一點,工作日900萬,周末雙休500萬
但是八月之后上海地鐵客流量就穩步上升,到了九月整個上海的地鐵客流已經恢復到正常。
工作日1100-1200萬,周末600萬的水平
然后我們拉一下總體的數據只這樣的:
驅動力
最后放一張我假期前上午9點25在虹橋火車站,乘坐地鐵2號線前往靜安寺的實景圖片,從這樣的人潮洶涌的場景中。
身為他們其中一份子,我相信這座城市已經滿血復活,但是疫情封控肯定是會加劇城市短時間的遷入和遷出的。
那么,上海最近三個月的遷入遷出情況如何?
從遷出數據來看,上海六月開始遷出的規模指數有緩慢上升提高的趨勢,但結合全年數據來看,上海遷出最大的時間節點并不是在疫情后,而是春節期間和中秋節達到峰值。
那如果同樣是遷出數據,今年6月-8月,和去年相比有沒有變化呢?
除了百度地圖,我們還找到另一個數據,從這個圖中可以看到,上海在今年1月份人口流出達到了極大值,凈流出411萬人,這個數字在2月并沒有達到平衡。
伴隨著上海封控,地鐵運輸的客流量停滯,最低的時候只有1000人
不過6月1日上海解封后,整個地鐵客流量跟著復工復產的節奏,逐步恢復到了往日常態。
每日都會發布關于這個城市地鐵日均客流量數據,我相信這是上海人口沒有新聞中那樣大幅度流失的最好證明。
02
關于這一點,在百度地圖上,詳細記錄了上海每天的遷徙規模指數,有遷入和遷出兩個維度。
驅動力
03
還有一個非常直觀的數據維度:上海企業和個稅收入規模有沒有減少?
如果上海在疫情后直接走了幾百萬人,那么不管是企業還是個人所得稅,肯定是會斷崖式下跌的。
很明顯,上海依然在疫情后表現出來非常強勢的稅收體量。
我們通過上海統計局官網可以查到:
不論是企業所得稅規模,還是個人所得稅規模,目前上海上半年都沒有受到疫情影響,甚至2022年高于同期2021年的水平,在全國也依舊保持高位,一直第一的水平。
所以,我們可以推斷出從正式封控的3月,到解封的第一個月6月,上海沒有出現大幅的人口流出的情況。
當然,這里還缺了7、8月的數據,第三季度上海的企業所得稅,和個人所得稅規模,大概率會在今年10月公布,到時候我們也將為大家持續關注。
按照這個走勢看來,我們依然對上海的經濟活力保持相對樂觀,持有信心。
04?
眾所周知,上海是一座流動人口巨大的城市。
根據第七次人口普查數據情況來看,目前上海常住人口共2487萬,其中外省市來滬常住人口就有1047萬。
上海每兩個人,就有一個是流動人口。
另外能夠反映這座城市流動人口變動情況的,還有租賃市場。
如果上海疫情后流動人口暴跌500萬,恐怕這兩個月受到影響最大的應該就是租賃市場了吧。
但是不僅解封后租金有一小波上漲,從最近一個月的掛牌租賃房源價格來看,大部分也在漲價,比如說漲的最狠的是幾個區,松江、嘉定、普陀。
這意味著有60萬人在春節后沒有回到上海,這也是這座城市的特點。
反而是疫情后,上海月度人口流動數據值得我們進一步關注。
從五月開始,上海每月凈流出人口規模達到了67萬、55萬、90萬、33萬
如此一加起來,總共流出245萬。
不過如果用這個數字來佐證上海人口的流出也不免牽強。
畢竟從去年的4月開始,每個月也都有差不多30萬的人口流出。
所以我們看到,疫情后流出上海的人口規模,其實沒有增加到很夸張的程度。
驅動力
05
我想表達什么?
其實并不是想要反駁什么。
疫情解封后的確有人正在離開上海,比如當初畫面里的那些人,他們可能短暫停留在上海就遇到了疫情;
從城市的維度來比較,放在全國來看,上海5月份在克而瑞監控的房源租金同環比TOP10漲幅城市里也排在了第二,僅次于天津。
讓人意外的是,上半年飽受疫情影響,甚至被預言人口將大量流失的上海,租金不僅沒降,反而還漲了不少,來自克而瑞的數據也佐證了這一點。
2022年1月以來,55城個人房源租金連續8個月同比下降,同比2021年8月下跌的城市更是達到了43個,租金同比下跌的城市比列高達78%
而8月上海租金108.8元/㎡/月,較7月環比上漲5.29%,較2021年8月同比上漲9.52%,是55個主要城市中同比漲幅排名第二的城市。
這個數據雖然不能夠直接推斷上海的人口沒有大幅流失。
但是可以從另一個角度反向推論,上海人口大幅流失的觀點是有漏洞的。
如果上海人口直接走了500萬,我相信整個城市租賃市場迎來的將會是一波很大的震蕩,同樣,我們最近做了一個上海商場空置率的選題:
實地走訪了上海幾個被點名空置率奇高的商場,不僅沒有看到傳聞中那般人走茶涼的商場。
反而看到,在便是工作日的情況下,我們看到幾個商場依然人氣很足,甚至排起了長隊。
所以,不論是個人房源,商場商鋪,還是辦公樓的租賃情況,我們依然沒有辦法看到可以證明上海人口大幅流失的情況。
驅動力
比如很多當初的港臺明星選擇暫時離開上海,因為他們的工作實在需要全國跑;
......
疫情確實動搖了不少人對定居在這座城市的想法,但那畢竟是少數。
很奇怪的是,上海解封后的第一個月,我們看到這樣的新聞已經麻木到習以為常了
多少多少萬人正在離開上海,標題很有吸引力,配圖也有帶著一定的情緒。
將疫情后的上海塑造成一座空城的形象,很大程度上上海也被這樣給妖魔化了。
我們最后來看兩組組數據:
上海財政收入雖然同比去年減少了900多億,但是在全國依然保持全國第一
上半年上海整個城市還是創造了2萬億的GDP,排名僅次于北京位列第二。
所以,我們有理由對這座經濟和產業底蘊強大的城市,依然懷抱著更多的信心。
驅動力
數據血緣落地實施
在復雜的社會分工協作體系中,我們需要明確個人定位,才能更好的發揮價值,數據也是一樣,于是,數據血緣應運而生。
今天這篇文章會全方位的講解數據血緣,并且給出具體的落地實施方案。
感謝公司團隊:蔡博士、李璐、群華、石峰、盛文的頂層設計、需求描述、技術支持、前端實現等。
感謝857社區:幻星的亮點思路,賴志明和黎明星的審核,李俊與阿丞的思考與反饋。
一、數據血緣是什么
數據血緣是在數據的加工、流轉過程產生的數據與數據之間的關系。
提供一種探查數據關系的手段,用于跟蹤數據流經路徑。
二、數據血緣的組成
1、數據節點
數據血緣中的節點,可以理解為數據流轉中的一個個實體,用于承載數據功能業務。例如數據庫、數據表、數據字段都是數據節點;從廣義上來說,與數據業務相關的實體都可以作為節點納入血緣圖中,例如指標、報表、業務系統等。
按照血緣關系劃分節點,主要有以下三類:流出節點->中間節點->流入節點
文章來源于857Hub ,作者大數據李奇峰
原文鏈接://mp.weixin.qq.com/s/7gY97Zn98ZdV02m20mLOnA
流出節點: 數據提供方,血緣關系的源端節點。
中間節點: 血緣關系中類型最多的節點,既承接流入數據,又對外流出數據。
流入節點: 血緣關系的終端節點,一般為應用層,例如可視化報表、儀表板或業務系統。
2、節點屬性
當前節點的屬性信息,例如表名,字段名,注釋,說明等。
3、流轉路徑
驅動力
4、流轉規則-屬性
流轉規則體現了數據流轉過程中發生的變化,屬性則記錄了當前路徑對數據的操作內容,用戶可通過流轉路徑查看該路徑規則與屬性,規則可以是直接映射關系,也可以是復雜的規則,例如:
數據映射: 不對數據做任何變動,直接抽取。
數據清洗: 表現數據流轉過程中的篩選標準。例如要求數據不能為空值、符合特定格式等。
數據轉換: 數據流轉過程中,流出實體的數據需要進行特殊處理才能接入到數據需求方。
數據調度: 體現當前數據的調度依賴關系。
數據應用: 為報表與應用提供數據。
三、我們為什么需要數據血緣
1、日益龐大的數據開發導致表間關系混亂,管理成本與使用成本激增
數據血緣產生最本質的需求。大數據開發作為數據匯集與數據服務提供方,龐大的數據與混亂的數據依賴導致管理成本與使用成本飆升。
數據流轉路徑通過表現數據流動方向、數據更新量級、數據更新頻率三個維度的信息,標明了數據的流入流出信息:
數據流動方向: 通過箭頭的方式表明數據流動方向
數據更新量級: 數據更新的量級越大,血緣線條越粗,說明數據的重要性越高。
數據更新頻率: 數據更新的頻率越高,血緣線條越短,變化越頻繁,重要性越高。
2、數據價值評估,數據質量難以推進
表的優先級劃分,計算資源的傾斜,表級數據質量監控,如何制定一個明確且科學的標準。
3、什么表該刪,什么表不能刪,下架無依據
業務庫,數倉庫,中間庫,開發庫,測試庫等眾多庫表,是否存在數據冗余(一定存在)。以及存儲資源如何釋放?
4、動了一張表,錯了一堆表
你改了一張表的字段,第二天醒來發現郵件里一堆任務異常告警。
5、ETL任務異常時的歸因分析、影響分析、恢復
承接上個問題,如果存在任務異常或者ETL故障,我們如何定位異常原因,并且進行影響分析,以及下游受影響節點的快速恢復。
6、調度依賴混亂
數據依賴混亂必然會帶來調度任務的依賴混亂,如何構建一個健壯的調度依賴。
7、數據安全審計難以開展
針對銀行、保險、政府等對安全關注度較高的行業,數據安全-數據泄露-數據合規性需要重點關注。
由于數據存在ETL鏈路操作,下游表的數據來源于上游表,所以需要基于數據全鏈路來進行安全審計,否則可能會出現下游數據安全等級較低,導致上游部分核心數據泄露。
四、數據血緣可以做什么
1、流程定位,追蹤溯源
3、流轉路徑
驅動力
通過可視化方式,將目標表的上下游依賴進行展示,一目了然。
2、確定影響范圍
通過當前節點的下游節點數量以及類型可以確定其影響范圍,可避免出現上游表的修改導致下游表的報錯。
3、評估數據價值、推動數據質量
通過對所有表節點的下游節點進行匯總,排序,作為數據評估依據,可重點關注輸出數量較多的數據節點,并添加數據質量監控。
5、歸因分析,快速恢復
當某個任務出現問題時,通過查看血緣上游的節點,排查出造成問題的根因是什么。同時根據當前任務節點的下游節點進行任務的快速恢復。
6、梳理調度依賴
可以將血緣節點與調度節點綁定,通過血緣依賴進行ETL調度。
7、數據安全審計
數據本身具有權限與安全等級,下游數據的安全等級不應該低于上游的安全等級,否則會有權限泄露風險。
可以基于血緣,通過掃描高安全等級節點的下游,查看下游節點是否與上游節點權限保持一致,來排除權限泄露、數據泄露等安全合規風險。
五、數據血緣落地方案
目前業內常見的落地數據血緣系統以及應用,主要有以下三種方式:
1、采用開源系統:
Atlas、Metacat、Datahub等
驅動力
采用開源系統最大的優點是投入成本較低,但是缺點主要包括?
1. 適配性較差,開源方案無法完全匹配公司現有痛點。
2. 二開成本高,需要根據開源版本進行定制化開發。
2、廠商收費平臺:
億信華辰,網易數帆等
4、提供數據下架依據
例如以下數據節點,無任何下游輸出節點,且并無任何存檔需求,則可以考慮將其下架刪除。
驅動力
2、構建元數據管理系統
目前市面上所有的血緣系統都需要依賴于元數據管理系統而存在。
元數據作為血緣的基礎,一是用于構建節點間的關聯關系,二是用于填充節點的屬性,三是血緣系統的應用需要基于元數據才能發揮出最大的價值。所以構建血緣系統的前提一定是有一個較全面的元數據。
3、技術選型:圖數據庫
目前業內通常采用圖數據庫進行血緣關系的存儲。
對于血緣關系這種層級較深,嵌套次數較多的應用場景,關系型數據庫必須進行表連接的操作,表連接次數隨著查詢的深度增大而增多,會極大影響查詢的響應速度。
而在圖數據庫中,應用程序不必使用外鍵約束實現表間的相互引用,而是利用關系作為連接跳板進行查詢,在查詢關系時性能極佳,而且利用圖的方式來表達血緣關系更為直接。
下圖為圖數據庫與關系型數據庫在查詢人脈時的邏輯對比:
此類數據平臺中會內置數據血緣管理系統,功能較為全面,使用方便。但是同樣也有以下缺點:
1. 貴
2. 需要ALL IN平臺,為保障數據血緣的使用,數據業務需要全部遷移到廠商平臺中。
3、自建
通過圖數據庫、后端、前端自建數據血緣管理系統,此方案開發投入較大,但是有以下優點
1、因地制宜,可根據核心痛點定制化開發元數據及數據血緣系統。
2、技術積累,對于開發人員來說,從0-1開發數據血緣系統,可以更深刻的理解數據業務。
3、平臺解耦,獨立于數據平臺之外,數據血緣的開發不會對正常業務造成影響。
接下來我們講講如何自建數據血緣系統
六、如何構建數據血緣系統
1、明確需求,確定邊界
在進行血緣系統構建之前,需要進行需求調研,明確血緣系統的主要功能,從而確定血緣系統的最細節點粒度,實體邊界范圍。
例如節點粒度是否需要精確到字段級,或是表級。一般來說,表級粒度血緣可以解決75%左右的痛點需求, 字段級血緣復雜度較表級血緣高出許多,如果部門人數較少,可以考慮只精確到表級粒度血緣。
常見的實體節點包括:任務節點、庫節點、表節點、字段節點、指標節點、報表節點、部門節點等。血緣系統可以擴展數據相關的實體節點,可以從不同的場景查看數據走向,例如表與指標,指標與報表的血緣關系。但是實體節點的范圍需要明確,不可無限制的擴展下去。
明確需求,確定節點粒度與范圍之后,才可根據痛點問題給出準確的解決方案,不至于血緣系統越建越臃腫,提高ROI(投入產出比)。
驅動力
(2)節點操作:
基于可視化的血緣節點與當前節點附帶的元數據屬性,我們可以設想一些自動化操作例如:
節點調度:直接基于血緣開啟當前表節點的調度任務?
屬性修改:通過前端修改當前節點的元數據屬性并保存
6、血緣統計分析
數據血緣構建完成后,我們可以做一些統計分析的操作,從不同層面查看數據的分布與使用情況,從而支撐業務更好更快更清晰。
以我們團隊舉例,在工作過程中,我們需要以下血緣統計用于支撐數據業務,例如:
數據節點下游節點數量排序,用于評估數據價值及其影響范圍
4、血緣關系錄入:自動解析and手動登記
自動解析:
獲取到元數據之后,首先可以根據元數據表中的SQL抽取語句,通過SQL解析器可自動化獲取到當前表的來源表【SQL解析器推薦jsqlparse】,并進行血緣關系錄入。
手動登記:
如果當前表無SQL抽取語句,數據來源為手動導入、代碼寫入、SparkRDD方式等無法通過自動化方式確定來源表的時候,我們需要對來源表進行手動登記,然后進行血緣關系的錄入。
5、血緣可視化
血緣系統構建完成后,為了能夠更好的體現血緣價值,量化產出,需要進行血緣可視化的開發,分為兩步:
(1)鏈路-屬性展示:
根據具體節點,通過點擊操作,逐級展示血緣節點間的鏈路走向與涉及到的節點屬性信息。
驅動力
7、血緣驅動業務開展
數據血緣構建完成,統計分析結果也有了,業務痛點也明確了,接下來我們即可利用數據血緣驅動業務更好更快開展。
我們團隊目前落地的血緣相關業務有以下幾點:
(1)影響范圍告警:
將血緣關系與調度任務打通,監測當前血緣節點的調度任務,如果當前節點調度出現異常,則對當前節點的所有下游節點進行告警。
(2)異常原因探查:
還是將血緣關系與調度任務打通,監測當前血緣節點的調度任務,如果當前節點調度出現異常,則會給出當前節點的直接上游節點,用于探查異常原因。
(3)異常鏈路一鍵恢復:
基于上一應用,異常原因定位并且修復完成之后,可以通過血緣系統,一鍵恢復當前數據節點的所有下游節點調度任務,真正實現一鍵操作。
?(4)支撐數據下架:
目前團隊已經根據探查孤島節點即無上下游節點的節點,累計歸檔數據表628張,節省了13%的存儲空間。
(5)數據質量監控:
查詢當前節點的所有上游節點,用于業務追蹤溯源
數據節點輸出報表信息詳情統計,用于報表的上架與更新
查詢孤島節點,即無上下游節點的節點,用于數據刪除的依據
驅動力
準確率是數據血緣中最核心的指標,例如影響范圍告警,血緣的缺失有可能會造成重要任務沒有被通知,造成線上事故。
我們在實踐中通過兩種途徑,盡早發現有問題的血緣節點:
人工校驗: 通過構造測試用例來驗證其他系統一樣,血緣的準確性問題也可以通過構造用例來驗證。實際操作時,我們會從線上運行的任務中采樣出一部分,人工校驗解析結果是否正確。
用戶反饋: 全量血緣集合的準確性驗證是個漫長的過程,但是具體到某個用戶的某個業務場景,問題就簡化多了。實際操作中,我們會與一些業務方深入的合作,一起校驗血緣準確性,并修復問題。
2、覆蓋率
定義: 當有數據資產錄入血緣系統時,則代表數據血緣覆蓋了當前數據資產。被血緣覆蓋到的數據資產占所有數據資產的比例即為血緣覆蓋率。
血緣覆蓋率是比較粗粒度的指標。作為準確率的補充,用戶通過覆蓋率可以知道當前已經支持的數據資產類型和任務類型,以及每種覆蓋的范圍。
在內部,我們定義覆蓋率指標的目的有兩個,一是我方比較關注的數據資產集合,二是尋找當前業務流程中尚未覆蓋的數據資產集合,以便于后續血緣優化。
當血緣覆蓋率低時,血緣系統的應用范圍一定是不全面的,通過關注血緣覆蓋率,我們可以知曉血緣的落地進度,推進數據血緣的有序落地。
3、時效性
定義: 從數據資產新增和任務發生修改的時間節點,到最終新增或變更的血緣關系錄入到血緣系統的端到端延時。
對于一些用戶場景來說,血緣的時效性并沒有特別重要,屬于加分項,但是有一些場景是強依賴。不同任務類型的時效性會有差異。
例如:故障影響范圍告警以及恢復,是對血緣實時性要求很高的場景之一。如果血緣系統只能定時更新T-1的狀態,可能會導致嚴重業務事故。
提升時效性的瓶頸,需要業務系統可以近實時的將任務相關的修改,以通知形式發送出來,并由血緣系統進行更新。
對當前血緣中所有節點輸出的下游節點數量進行排序,可以精確的判斷某張表的影響范圍大小,從而可以根據此對高排序表進行數據質量的監控。
(6)數據標準化監控:
如果當前公司制定了基于庫、表、字段的命名規范,我們可以通過探查血緣中的所有數據節點,并命名規范進行匹配,得到不符合規范的庫、表、字段進行整改。
當然了,此業務僅基于元數據也可實現,放在此處屬于博主強行升華了。
(7)數據安全審計:
團隊基于用戶職級、部門、操作行為等權重對目前的庫表進行了數據權限等級劃分,權限等級越高,當前表的安全級別越高。
團隊基于血緣進行數據全鏈路的安全等級監測,如果發現下游節點安全等級低于上游節點,則會進行告警并提示整改。確保因為安全等級混亂導致數據泄露。
八、血緣系統評價標準
在推動數據血緣落地過程中,經常會有用戶詢問:血緣質量如何?覆蓋場景是否全面?能否解決他們的痛點?做出來好用嗎?
于是我也在思考,市面上血緣系統方案那么多,我們自建系統的核心優勢在哪里,血緣系統的優劣從哪些層次進行評價,于是我們團隊量化出了以下三個技術指標:
1、準確率
定義: 假設一個任務實際的輸入和產出與血緣中該任務的上游和下游相符,既不缺失也不多余,則認為這個任務的血緣是準確的,血緣準確的任務占全量任務的比例即為血緣準確率。
電話:15801365057
郵箱:kai.zhao@yeepay.com
地址:朝外大街甲6號