天天看點

大道至簡的資料治理方法論

資料分析師的角色猶如一位大廚,原料有問題,大廚肯定烹饪不出色香味俱佳的大菜,資料有問題,資料分析師得出的結論自然也就不可靠。

如果你是一位大廚,剛剛眉飛色舞地給客人描繪了如何搭配一道色香味俱佳的大菜,甚至連炒菜的手法都一一交代了,當你備好了各種為這道菜增鮮增色的調料後準備烹饪時,才發現所需的主要原料有問題。

資料分析師的角色猶如一位大廚,原料有問題,大廚肯定烹饪不出色香味俱佳的大菜,資料有問題,資料分析師得出的結論自然也就不可靠,再好的資料分析方法論也隻是建立在失真的資料基礎上,苦心建構的資料體系當然也被白白浪費了。

過往的項目中,筆者也時常遇到這樣的情況,客戶用永洪科技的産品做了一些精美專業的資料報告,卻因資料不準而影響了報告的使用價值。

大道至簡的資料治理方法論

前兩篇文章筆者分别探讨了面對資料名額如何分析,以及如何建構系統化的資料體系,本文是“資料化營運方法論系列”文章的第三篇,重點探讨的核心話題是——資料治理。

備注:

第一篇《大道至簡的資料分析方法論》連結http://yonghongtech.com/html/news/company/2016/0129/460.html

第二篇《大道至簡的資料體系建構方法論》連結http://yonghongtech.com/html/news/media/2016/0308/466.html

資料治理是一項基礎工作,在很多人眼中是一項苦活兒累活兒,但是越是這樣的工作越是不能忽視,基礎打紮實了,上層建築才會更穩固。

下面,筆者先從髒資料的種類及處理方法談起。

髒資料的種類及處理方法

首先,我們來了解一下髒資料的種類,明白我們可能會面對哪些問題。

1 資料缺失:缺一些記錄,或者一條記錄裡缺一些值(空值),或者兩者都缺。原因可能有很多種,系統導緻的或人為導緻的可能性都存在。如果有空值,為了不影響分析的準确性,要麼不将空值納入分析範圍,要麼進行補值。前者會減少分析的樣本量,後者需要根據分析的計算邏輯,選擇用平均數、零、或者等比例随機數等來填補。如果是缺一些記錄,若業務系統中還有這些記錄,則通過系統再次導入,若業務系統也沒有這些記錄了,隻能手工補錄或者放棄。

2 資料重複:相同的記錄出現多條,這種情況相對好處理,去掉重複記錄即可。但是怕就怕不完全重複,比如兩條會員記錄,其餘值都一樣,就是住址不一樣,這就麻煩了,有時間屬性的還能判斷以新值為準,沒有時間屬性的就無從下手了,隻能人工判斷處理。

3 資料錯誤:資料沒有嚴格按照規範記錄。比如異常值,價格區間明明是100以内,偏偏有價格=200的記錄;比如格式錯誤,日期格式錄成了字元串;比如資料不統一,有的記錄叫北京,有的叫bj,有的叫beijing。對于異常值,可以通過區間限定來發現并排除;對于格式錯誤,需要從系統級别找原因;對于資料不統一,系統無能為力,因為它并不是真正的“錯誤”,系統并不知道bj和beijing是同一事物,隻能人工幹預,做一張清洗規則表,給出比對關系,第一列是原始值,第二列是清洗值,用規則表去關聯原始表,用清洗值做分析,再好一些的通過近似值算法自動發現可能不統一的資料。

4 資料不可用:資料正确,但不可用。比如位址寫成“北京海澱中關村”,想分析“區”級别的區域時還要把“海澱”拆出來才能用。這種情況最好從源頭解決,即資料治理。事後補救隻能通過關鍵詞比對,且不一定能全部解決。

bi對資料的要求

接下來,我們了解一下bi對資料的要求,結合上面髒資料的種類,中間的規避手段就是資料治理。

1 結構化:資料必須是結構化的。這可能是句廢話,如果資料是大段的文本,比如微網誌,那就不能用bi做量化的分析,而是用分詞技術做語義的分析,比如常說的輿情分析。語義分析不像bi的量化分析一樣百分百計算準确,而是有機率的,人的語言千變萬化,人自己都不能保證完全了解到位,系統就更不可能了,隻能盡可能提高準确率。

2 規範性:資料足夠規範。這麼說比較含糊,簡單來講就是解決了上述各類髒資料的問題,把所有髒資料洗成“幹淨資料”。

3 可關聯:如果想将兩個次元/名額做關聯分析,這兩個次元/名額必須能關聯上,要麼在同一張表裡,要麼在兩張有可關聯字段的表裡。

資料治理的原則

前面講了髒資料的處理方法,但那些都是治标不治本的應對方法,且需要長期耗費大量時間和人力來做這種痛苦的工作。要想從根本上改善髒資料的問題,還是需要做好資料治理的規範工作。

簡單來講,資料治理就是要限制輸入,規範輸出。

1 限制輸入:你永遠想不到使用者會輸入哪些值,是以别給使用者太多發揮的空間,做好限制工作。該使用者填寫的,系統必須設定為“必填”;值有固定選項的,一定用清單讓使用者選,别再手工輸入;系統在錄入送出時就做好檢查,格式不對,值不在正常範圍内,直接報錯的情況必須讓使用者重新輸入;設計錄入表單時盡量原子化字段,比如上面說的位址,設計時就分成國家、省、市、區、詳細位址等多個字段,避免事後拆分;錄入資料儲存的資料表也盡量統一,不要産生有大量相同資料的表,造成資料重複隐患。

2 規範輸出:老闆看不同人做的報表,同一個“收益率”名額,每張報表的值都不一樣,老闆的内心一定是崩潰的,不知該罵誰,隻能全罵。排除計算錯誤的情況,一般都是統計口徑不一緻造成的。是以要統一語義,做一個公司級别的語義字典(不是資料庫的資料字典)。所有給人看的報告上的名額名稱,都要在語義字典中備案,語義字典明确定義其統計口徑和含義。不同統計口徑的名額必須用不同的名詞。如果發現一個詞已經在語義字典中有了,就必須走流程申請注冊一個新詞到語義字典。

資料治理的落地

髒資料的處理需要etl工具,語義字典不一定要借助于系統。事實上,由于這類系統過于複雜,國内鮮見實施成功的案例,用excel加制度就能達到很好的效果。

關于落地推廣政策,說來也簡單,老大拍闆說必須實行,再用優先話語權吸引一個部門試點,再橫向擴充。哪個部門先落地,哪個部門就能按最符合自己習慣的用詞來命名名額,相當于占坑。後面的部門都要遵從前人的标準,重名但意義不同的名額需要另外找詞兒命名。這樣就不怕沒人積極主動。

以上,就是精煉版的資料治理方法論。大家都知道這是個苦活,但是筆者還要提醒的是,越晚動手越苦。有了經驗以後,做新業務系統設計時,大家就可以充分考慮資料治理的規範了。

本文作者:王桐

來源:51cto

繼續閱讀