ELT方法的變革對數據驅動營運的重要性/Laurence Chen
當BI團隊導入了資料倉儲、自動化、還有ELT做為工作流程,一方面可以有效處理大量的資料,另一方面資料產出的節奏也足以快速回應管理階層的提問。因此,營運的決策不再需要時常等待,數據也因此更有機會為企業的營運創造價值。
在我所讀過談論數據驅動營運這類概念的作品,最早出版的一本書是彼得.杜拉克 (Peter Drucker)出版於1964年的《成效管理》(Managing for Results)。
書中談論的數據分析方法,引入了交易(Transaction)的概念做為分攤「間接成本」的基準;透過這個方法,可以看出企業的獲利主要從哪些客戶而來、從哪些通路而來、從哪些產品而來。
原本透過成本會計方法認定還會勉強賺錢的產品,一旦用了上述的分析方法,很可能得出的新結論是:「已經失去競爭力,應該要大幅改造或是果斷捨棄,而不是因為可以拿來分攤間接成本,所以繼續保留」。
近 60 年過去了,杜拉克的分析方法已經被很多企業採用,而數據驅動營運的重要性更是有增無減。
然而,在實務中,我常常看到幾種場景,嚴重地妨礙了數據驅動營運的實現。
不合用的工具
資料分析師處理數據的工具有哪些?可以快速想到的有Excel、R、Python、Julia、SQL等等。而哪一種最常被採用、被最多人採用?自然是Excel,因為它最容易上手。
最容易上手、充滿彈性固然是優點,但是,如果只用Excel,而沒有逐步導入其它的工具,很快會遇到工具帶來的限制。
首先是軟體的效能瓶頸問題。今日許多公司的營運方式已經大幅數位化,需要被分析的資料量大幅增加的前提之下,就算只是在中型的企業,資料分析師撞到Excel效能瓶頸也不是奇怪的事。
雖然Excel可以放入的列上限約100萬,但實務上大概到 30 萬左右,程式就蠻容易卡住的。一旦接近了Excel的瓶頸,就算換成了最新的電腦也沒有用,因為效能瓶頸來自軟體,而非硬體。
此外,只使用 Excel 來處理資料,還有缺乏自動化的問題。對於每週、每月都要生成的報表,從原始資料到最後的產出,資料分析師往往要不停地用Excel向下拉出一條新的行,一直拉、一直拉,直到完成最後的報表。
由於是人工操作,每次報表拉完都必須小心地核對。在這種場景下,資料分析師做的Excel下拉操作,本質上就是在跑迴圈;換言之,這是一種用人腦來跑電腦程式的數據處理方式。
上述工作流程的本質,是固定操作的重複執行;因為單調、但不容許錯誤,所以適合改成讓程式自動化來執行。如果沒有做自動化的話,隨著數據的日益增加,會造成費時、容易出錯、甚至資料分析師的士氣低落。
缺乏彈性的工作流程
當BI(商業情報/商業智慧,Business Intelligence)團隊導入了資料倉儲(data warehouse)與自動化數據清理的概念,並且有了「資料工程師」與「資料分析師」的分工之後,就可以突破Excel這類圖形化介面工具的軟體效能問題、以及不易自動化的限制。
然而,解決了舊的問題,卻帶來了新的需求溝通問題、以及難以快速反應的問題。
理論上的工作分配應該是:
管理階層提出問題;
資料分析師分析資料、以回答管理階層的提問;
資料工程師寫ETL(Extract、 Transform、 Load),把資料從原始資料來源(data source)搬移並做資料轉換,最後存放到資料倉儲,將可供分析的資料備齊。
但實務中的工作流程卻可能是:
管理階層提出問題;
問題經過資料分析師的分析之後,很可能會發現既有的資料不足夠回答,需要引入新的資料;
需要新資料,這就一路把工作延伸到了資料工程師一端。資料工程師尋找了所需的原始資料來源 ,並且在資料倉儲中設計了合理的資料表,並且開發對應的 ETL 程式,將資料灌入資料倉儲;
新資料備齊後、交給資料分析師之後,卻常常發現問題還是無法回答;因為新資料的缺值太嚴重,需要再做一些處理、又或是必須再引入新的資料。於是又回到了步驟3。反覆在3與4之間不斷輪迴數次之後,才終於可以回答管理階層提出的問題。
上述工作流程的工作速度並不一致:步驟1的速度最快、步驟2的速度次之,而步驟3則是瓶頸。
採用ETL的數據團隊,工作流程就像戰爭中拉得過長的補給線;資料分析師不斷在管理階層與資料工程師間來回溝通需求,疲於奔命。同時,後方支援的資料工程師忙得焦頭爛額。
這種分工場景很容易有充滿怨懟的團隊:
管理階層認為:「為什麼每問一個問題,常常要很久很久才能得到答案,決策的時效都拖過了。」
資料分析師認為:「不是我在拖,是資料沒有備齊,巧婦難為無米之炊。」
資料工程師則認為:「為什麼同事跟我要資料永遠都是在擠牙膏,永遠沒有辦法一次把需求說清楚。程式要不停地修改,沒有辦法一次做對,當然做不快。」
現代的工作流程:ELT
什麼是ELT呢?ELT 是指:
資料在原始資料來源與資料倉儲間的移動,只保留取出(Extract)與存入(Load),捨棄了資料轉換(Transform)。
資料轉換,也就是資料形狀轉換與資料清理,改成在資料倉儲內部透過SQL來完成。
這樣一來,資料工程師的工作會因為從寫ETL變成了只寫EL,因而大幅下降;又或是甚至可以活用一些現成的SaaS服務來完成。另外,資料轉換的部分因為可以透過門檻較低的SQL來進行,這就帶來了一種新的可能性:資料轉換讓資料分析師自行完成。
ELT不只是技術詞彙,更是一種BI團隊的工作流程
ELT改變了工作流程:本來由資料分析師提出需求、再由資料工程師才能完成實作的資料轉換(Transform),變成可以由資料分析師提出需求、並且自行完成實作。
於是,同一項工作的規畫與執行本來是交給不同的人來做,在改造工作流程之後,變成是交給同樣的人來做;如此一來,針對資料轉換工作的會議需求就自動消除了。
結語
當BI團隊導入了資料倉儲、自動化、還有ELT做為工作流程,一方面可以有效處理大量的資料,另一方面資料產出的節奏也足以快速回應管理階層的提問。
因此,營運的決策不再需要時常等待,數據也因此更有機會為企業的營運創造價值。