熱線電話:13121318867

登錄
首頁精彩閱讀數據分析師成長記(一):如何讓你的數據處理更加專業而高效?
數據分析師成長記(一):如何讓你的數據處理更加專業而高效?
2019-12-10
收藏
數據分析師成長記(一):如何讓你的數據處理更加專業而高效?

作者 | 數據海洋

來源 | haiyangxinyong

“數據質量是生命線”,不管是對數據從業者來說,還是針對數據應用者來說,是一樣重要的,所以在SQL語言來提取數據的時候一定要保證數據的準確性。

日常的數據需求來源于各個方面,每個崗位根據自己的崗位目標與定位需要不同的數據內容與數據粒度來進行支持各種業務決策。不管這個數據需求是來源于自己要做的數據分析,還是業務部門同事或者你的老板的需求,請讀者在寫SQL提取數據的時候牢記“九字箴言”:

“理邏輯、寫代碼、看數據”!

并且按這個邏輯順序來執行,是數據工作很好的習慣,從而保證數據的準確性。

01 理邏輯

1. 理解清楚需求

收到的業務需求要解決什么問題,誰提出來的,業務需求的描述內容是什么?往往業務需求包括我們自己作為業務人員給數據團隊人員提需求的時候,總會很粗的說要提取什么數據內容。但對于需求中很重要的二個部分沒有進行描述:

① 數據要解決什么問題。

② 數據具體的內容以及具體內容業務定義。

所以收到需求的時候,不管你是在業務團隊還是在數據團隊,先花時間去理解這個數據需求,然后對業務需求做上你理解的相關說明。如果你在理解業務需求中,有很多不明白或者覺得不夠清楚就記錄下來,然后統一與需求提出人員一起當面進行溝通。

例如:需要看某段時間內,會員的購買金額。這個購買金額是如何計劃的,假設在一個電商中,一個用戶購買商品產生訂單,在進行支付時間,訂單商品金額可能會有多個內容。

舉個具體例子,某個訂單一共有10件商品,288元,在用戶支付時候:

① 該會員使用了一張優惠券滿100減20

② 該會員還使用在自己的積分支付抵扣了50元

在用戶收到商品的時候,該會員退貨了一件商品30元?!鞠炔豢紤]退貨后要扣除相應的優惠券金額,所以該會員退貨30元,需要扣除相應比例優惠金額,最終退還給她的要小于30元?!?/span>

數據分析師成長記(一):如何讓你的數據處理更加專業而高效?

在這種場景下,要統計的金額是:

A. 訂單商品金額288元

B. 還是扣除退貨后的258元

C. 還是扣除優惠券、積分后的218元

D. 還是上述條件都要扣除188元;

如果你對業務比較熟悉,根據業務部門的需求以及你理解的目的做出相應的建議,然后在數據結果中進行備注。但是還是需要與業務需求人進行口徑明確。

作者在工作中碰到過這個案例的時候,我和業務需求溝通的時候,我給他的建議是:我把會員的訂單金額,我也統計好幾個衍生的字段優惠占比、退貨占比,這也是會員購物行為要關注的重要行為,你可以根據這二個比例,再對會員進行價值分層后,再根據這二個指標來分析:會員的優惠特征,以及退貨特征。這樣可以通過這二個占比指標,進一步細分會員。例如:占比比較高的會員,如果數量達到一定規模,從而可以進一步制定更有針對性的策略。

1. 把業務需求轉化為數據需求

在寫SQL代碼之前應該進行二步的操作:

①明確需求的業務內容。就是要提取哪些數據指標,以及要哪些維度。然后需要把對應的數據指標與維度進行業務角度進行內容定義明確。【可以進一步思考,每個數據指標可以用來衡量業務什么內容?!?/span>

② 把明確的業務定義轉化為對應要提取數據指標,根據數據指標定義明確用什么樣的邏輯來統計出相應的數據指標。

02寫代碼

在需求邏輯理完以后。

1. 需要明確“數據原材料”在哪。梳理一下各個要提取的數據指標需要的哪些表?哪些表中的哪些字段?對相關字段要進行哪些邏輯處理。

2. 開始寫SQL代碼。SQL代碼盡量按代碼規范來進行;在不影響代碼美觀的情況下,盡量詳細進行相關的需求內容、代碼行、字段進行備注說明。

在寫完代碼后,養成一個習慣。花點時間去閱讀一下寫完的代碼,像在 dbeaver的客戶端中,因為對語法的相關格式會高亮,所以稍微花時間就很容易檢查出錯誤。

如果在企業的實際工作環境中,像一般代碼如果沒有注意的話,例如:時間范圍,表關聯產生迪卡爾積等很容易導致公司的整個數據庫“卡住”的,或者一段代碼的數據庫跑半天還沒有出來,但沒有及時關閉。從而嚴重影響了公司其它同事或者相關數據應用的效率。

這些情況,我在工作中經常發生。所以我曾經在團隊做個要求,新人或者業務部門的分析師必須有一個“師傅”,當他們寫比較復雜的SQL的時間,師傅們需要幫助查看一下。

數據分析師成長記(一):如何讓你的數據處理更加專業而高效?

關于SQL代碼的錯誤:

1. 語法錯誤。語法錯誤SQL會執行不下去,所以這是必須要看錯誤在哪些地方。

2. 邏輯錯誤。是指SQL程序沒有報錯,而且順利的執行下去了。但是可能SQL語言跑出來的結果不是你想的,也就是跑出來的數據是錯誤的。邏輯錯誤形式:

① 沒有跑出數據。這種和語法錯誤很容易發現。例如:會員表中的ID直接與訂單表中的ID關聯,沒有報錯。但是關聯不上沒有數據。從而需要檢查代碼是哪出問題。

② 有跑出數據。這種情況往往不用心的話,很難發現。例如:在過濾條件的時候,對時間的過濾可以缺少幾天,或者需要相關過濾的值沒有過濾;在統計會員數的時候,沒有進行去重。這些因為sql語言代碼順利執行,所以可能不會引起去足夠的重視去對代碼進行檢查。

03看數據

SQL沒有報語法錯誤,跑完后有數據的情況下。千萬避免數據提取后,語法不報錯,就直接數據復制到EXCEL,然后發給相關的同事或者領導。這樣做非常不專業:如果出現數據錯誤非常容易導致決定失誤或者明顯的數據錯誤或者異常會讓同事或者領導懷疑你的能力與做事態度,這在職場中很要命的哦!

所以一定要檢查一下,你提取的數據。對數據進行相關查看,例如:看一下各個字段的最大最小值,看一下數據的記錄數,對一些數據指標進行簡單的比率計算?!具@些內容放在excel上,相信花個10分鐘足夠?!拷Y合你自己的基本的業務常識,就可以對提取的數據是否有明顯錯誤或者可能存在錯誤進行判斷。

再根據明顯錯誤的內容或者異常的數據指標,回到代碼中去檢查是否問題。例如:在一個提取過去某段時間每周會員數的需求中,當提取出來的數據發現有2周的會員數據明顯偏高。當你檢查代碼沒有問題,如果你對業務不熟悉可能問一下之前的老同事這個數據是否正常,也許他會告訴是正常的,去年做了活動或者去年在這個時間點有疑似被刷單的了導致會員數增長異常。

當你把這個數據發給相關同事的時候,你會把這個情況備注說明在excel或者相關文檔中。

假設一下,如果你提取的數據,經過上述流程和相關的檢查,在發給同事中再把相關數據指標、數據提取的范圍和內容進行說明,對明顯的數據異常你也做了備注說明。你同事收到這樣一份數據是一個“什么樣的心情呢?”。

數據分析師成長記(一):如何讓你的數據處理更加專業而高效?

04 總結

數據工作是一個非常非常嚴謹的工作習慣和態度,這樣用SQL代碼統計出來的數據才不會是“有質量問題”的“產品”。有質量問題的產品會導致非常嚴重的后果,如果你數據出現錯誤,從而基于數據做出的決策有可能是“災難性”的。

例如:你統計新會員數,如果你數據沒有去重,可能會導致結果說某段時間廣告投入效果很好,應該持續加大。所以嚴格按照上述的步驟來執行,才能讓你分析的數據質量好,你的部門同事或者老板會對你的“專業性”給出非常高的贊揚。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢