Data analysis process – Quy trình thực hiện một bài phân tích dữ liệu
Tiếp theo chuỗi bài về tổng quan hướng ngành phân tích dữ liệu thì mình sẽ chia sẻ cho các bạn các bước của một bài phân tích dữ liệu từ A tới Á theo kinh nghiệm thực tế của mình + tham khảo từ framework của một vài big tech company trên thế giới (như Google, Microsoft, IBM..,).
Cơ bản thì quá trình thực hiện data analysis gồm 6 bước chính (từ trái sang) như hình bên dưới. Data analysis bắt đầu từ bài toán/câu hỏi của doanh nghiệp cho tới lúc quyết định được đưa ra cho bài toán đó dựa trên sự hỗ trợ của data insights từ quá trình thực hiện data analysis. Song song với việc list ra các bước để thực hiện bài phân tích, mình cũng add thêm %workload và %contribution vào end result của các bước trong quá trình phân tích này để các bạn có thể hình dung quá trình này một cách thực tế nhất.
Để dễ hình dung, hãy tưởng tượng quá trình phân tích dữ liệu để đưa ra data insights giống như quá trình nấu một món ăn ngon (output: data insights = món ăn ngon).
1. Ask (Đặt câu hỏi phân tích)
Trước khi nấu ăn thì chúng ta nên biết mình sẽ nấu món gì, cho ai ăn? Khi chưa có câu hỏi phân tích giống như bạn muốn nấu ăn nhưng chưa biết mình sẽ nấu gì. Bước này là một bước cực kỳ quan trọng nhưng hay bị bỏ quên nhất khi thực hiện data analysis, điều này xảy ra không chỉ với newbie mà đôi khi các anh chị đi làm một thời gian rồi cũng hay gặp phải, bản thân mình cũng không ngoại lệ. Chúng ta hay có thói quen nhảy vào lấy data phân tích luôn mà quên dừng lại một nhịp để đặt một số câu hỏi căn cốt như:
- Bài phân tích này sinh ra để làm gì? Nó có thực sự mang lại value gì cho business không? Vấn đề mình đang giải quyết thông qua bài phân tích này là gì?
- Với dữ liệu hiện có so với câu hỏi phân tích thì mình đang có/thiếu gì?
- Đối tượng sẽ sử dụng insights của bài phân tích này là ai?
Thông thường trong công việc hằng ngày của mình, các câu hỏi cho các data analysis project sẽ đến từ các cấp quản lý, các phòng ban liên quan đặt cho team Business Intelligence hoặc đôi khi nội bộ team mình cũng tự đặt những câu hỏi phân tích để tìm hiểu sâu hơn các vấn đề mà doanh nghiệp đang gặp phải, từ đó làm các bài phân tích và propose insights & recommendation với cấp trên. Các vấn đề trong doanh nghiệp thì muôn hình vạn trạng, tùy vào business model của công ty bạn và domain bạn đang làm.
Quá trình mình đi mentor thì đa số học viên của mình cũng gặp khó khăn ở phần thực hiện phân tích vì chưa thực sự hiểu mình nên làm gì với đống dữ liệu được giao trong bài tập/project mà nhảy thẳng luôn vô bước 2,3,4 ở trên. Mình luôn cố gắng khuyến khích học viên làm kỹ bước đầu tiên, đặt ra các câu hỏi và mục đích phân tích rõ ràng, luôn đặt câu hỏi “Why” (Tại sao phải làm?) trước khi hỏi “How” (Làm như thế nào?). Khi có được các câu hỏi phân tích rõ ràng giống như chúng ta có được kim chỉ nam cho bài phân tích của mình, từ đó lên được các ý tưởng chính cho bài phân tích. Sau khi có được các ý tưởng phân tích chính thì chúng ta sẽ dễ dàng build lên mindmap phân tích chi tiết cho từng ý chính một cách đầy đủ và logical hơn. Có được mindmap phân tích thì bài phân tích chúng ta sẽ dễ đi vào trọng tâm hơn, cover được các yếu tố quan trọng ảnh hưởng trực tiếp tới vấn đề phân tích từ đó insights đưa ra cũng sẽ hữu ích và value cho business hơn.
2. Prepare & process data (chuẩn bị và xử lý dữ liệu)
Mình gộp bước 2 (prepare và process data) lại chung một mục vì thường 2 bước này sẽ được làm cùng nhau. Để nấu được một món ăn ngon thì cần phải có nguyên liệu = Prepare & collect data. Sau đó nguyên liệu phải được sơ chế, làm sạch, tẩm ướp trước khi được nấu lên = process data để cho ra clean data sẵn sàng cho việc phân tích. Bước này cũng quan trọng không kém vì nếu data không được xử lý gọn gàng, sạch sẽ thì sẽ khó mà phân tích được. Khi có data gọn gàng sạch sẽ nhưng bạn tính toán các chỉ số sai thì lúc đó mọi phân tích và insights đưa ra đều không sử dụng để ra quyết định được. Vì thế nên cả quá trình làm sạch data và tính toán đều nên được làm kỹ lưỡng.
Thông thường bước chuẩn bị và xử lý dữ liệu sẽ tốn nhiều workload nhất của người thực hiện phân tích như các bạn có thể thấy trong sơ đồ ở đầu bài. Dữ liệu cần thiết cho việc phân tích sẽ không nằm chung một chỗ, chung source mà sẽ nằm ở nhiều bảng dữ liệu khác nhau, nhiều source khác nhau (trong data warehouse, external files (excel, csv), từ các hệ thống khác). Người phân tích phải collect tất cả data cần thiết dựa vào các câu hỏi đã đặt ở bước số 1 sau đó xử lý đống data đó thành clean data để có thể thực hiện phân tích được.
Các công cụ phổ biến để thực hiện collect & process data hiện nay đó là SQL và Python + một số kiến thức về hạ tầng & cơ sở dữ liệu + một ít kiến thức về thống kê như bài viết trước mình có chia sẻ. Tưởng tượng các công cụ và kiến thức này giống như dụng cụ nấu ăn trong bếp. Càng thực hành nhiều và kết hợp nhuần nhuyễn chúng thì quá tình xử lý dữ liệu sẽ ngày càng trơn tru, hiệu quả và đỡ tốn thời gian hơn. Với mỗi bài toán thì dữ liệu cần lại khác nhau, không bài nào giống bài nào ^^, vì vậy để làm tốt bước này thì theo mình chỉ có cách làm nhiều và rút kinh nghiệm dần. Ngoài kỹ năng xử lý dữ liệu thì hạ tầng về dữ liệu cũng là một yếu tố quan trọng ảnh hưởng đến thời gian xử lý dữ liệu.
Mình cũng chia sẻ thêm về hạ tầng dữ liệu ở Shopee – nơi làm việc hiện tại lúc mình viết bài viết này. Rất may mắn Shopee là một trong các công ty theo đánh giá cá nhân mình là nới có hạ tầng dữ liệu tiến tiến nhất hiện nay. Các task về xử lý big data được hỗ trợ rất tốt, dữ liệu được tổ chức khoa học và đặc biệt là các product phục vụ cho việc phân tích dữ liệu cũng được công ty chú trọng phát triển. Vì thế nên thời gian mình và team dành cho việc xử lý dữ liệu được giảm đi khá nhiều thay vào đó mình có thêm thời gian hơn cho việc phân tích và tìm ra insights.
3. Analyze data:
Sau khi dữ liệu đã được xử lý gọn gàng sạch sẽ và có thể dùng đề phân tích được thì bước tiếp theo đó là phân tích để tìm câu trả lời cho bài toán ban đầu.
Thông thường đa số các project phân tích thực hiện chủ yếu 2 loại phân tích là Descriptive và Diagnostic. (bài viết về các loại hình phân tích các bạn có thể xem tại đây)
Trước khi đi sâu vô một bài toán thì ta cũng cần phải biết những chỉ số hiện tại của đối tượng mà mình đang phân tích như thế nào? Chỗ nào đang cao, chỗ nào đang thấp so với benchmark? Ta dùng descriptive analysis để trả lời.
Ví dụ câu hỏi phân tích: Trong campaign vừa rồi có team đang chưa đạt được target về đơn hàng và doanh thu đề ra? Vì sao? Có cách gì để cải thiện cho campaign lần sau hay không?
Các câu hỏi descriptive:
- Số lượng đơn hàng và doanh thu trong campaign vừa qua là bao nhiêu? So sánh với các campaign trước và ngày bình thường?
- Ngân sách campaign so với các campaign trước?
- Số lượng đơn hàng, doanh thu và tỉ lệ chuyển đổi trong campaign chia theo location/user segment/channel/loại promotion? Chỗ nào đang là chỗ rớt số mạnh nhất so với benchmark?
Sau khi có được các thông tin cơ bản về tình hình hiện tại thì bước tiếp theo mình sẽ làm các phân tích sâu hơn để tìm ra câu trả lời cho câu hỏi phân tích. Quá trình này sẽ bao gồm một số gạch đầu dòng như:
- So sánh các chỉ số quan trọng với benchmark đã đặt ra ở bước 1 để đánh giá được tình hình
- Xem xu hướng, đào sâu vào từng yếu tố/giai đoạn tốt/bất thường để tìm ra các yếu tố gây ảnh hưởng nhiều nhất.
- Xem mối liên hệ giữa các yếu tố với nhau, có tìm ra được pattern chung gì không?
Tiếp tục với ví dụ trên:
- Sau khi thấy được thông tin ở bước descriptive là campaign hiện tại vẫn giữ nguyên mức ngân sách so với 2 campaign gần nhất, tuy nhiên tỉ lệ chuyển đổi ở location X đang drop xx% và ở channel Y đang drop %YY so với 2 campaign gần nhất, còn lại các chỉ số này ở các location và channel khác vẫn đang ổn định.
- Mà location X và channel Y đang đóng góp vào 20% tổng số đơn hàng hằng ngày nên khả năng cao nguyên nhân cốt lõi đến từ đây
- Ta tiếp tục đi sâu vào đề tìm hiểu nguyên nhân gây ra tình trạng tỉ lệ chuyển đổi giảm => location X giảm ở Thành phố/quận nào, channel Y giảm vì sao, có sự kiện đặt biệt gì từ các đối thủ chính trong dịp này không? …,
Qua ví dụ này các bạn có thể thấy bước Analyze data khá thú vị và cần một số kiến thức nhất định về lĩnh vực bạn đang phân tích để các bạn có thể đưa ra được các insight hữu ích do doanh nghiệp, giống như trong bài viết này mình có chia sẻ. Kỹ năng thực hiện analyze data sẽ được cải thiện dần qua thời gian nếu bạn làm đủ nhiều + có một cách tiếp cận khoa học và logic theo các bước trong bài này mình chia sẻ.
4. Share insights:
Bước share insights này sẽ bao gồm một số mục chính như:
- Visualize các kết quả phân tích thành các biểu đồ trực quan.
- Tóm tắt insights, highlight các số liệu + nhận định quan trọng thông qua bài phân tích.
- Đưa ra một số khuyến nghị từ kết quả phân tích cho những người ra quyết định.
Theo kinh nghiệm thực tế của mình bước này chiếm khoảng 20% workload của bài phân tích nhưng lại quyết định tới 80% kết quả cuối cùng. Một bài phân tích hay, dùng nhiều kỹ thuật phân tích và công nghệ xịn sò nhưng cuối cùng cấp trên không hiểu được message mà bài phân tích này muốn truyền tải là gì? Các insights và số liệu đưa ra không đủ sức thuyết phục thì sẽ làm anh em BI Analyst/ DA cực kỳ nản chí. Bước này thoạt nghe có vẻ đơn giản nhưng theo mình thấy nó cũng cần khá nhiều thời gian để luyện tập và rút kinh nghiệm.
Một số tips bản thân mình áp dụng để làm bước này tốt hơn:
- Luyện tập mindset và kỹ năng trực quan hóa dữ liệu qua biểu đồ, các bạn có thể tham khảo thêm cuốn sách “Storytelling with data“ của tác giả Cole Nussbaumer Knaflic. Cuốn này được mệnh danh là sách gối đầu giường của dân data, trong cuốn sách tác giả có hệ thống hóa lại hầu hết các dạng biểu đồ + cách trực quan hóa + trình bày các biểu đồ này một cách chuyên nghiệp và đạt hiểu quả cao nhất. Mỗi loại biểu đồ sẽ có một công dụng riêng, việc chọn đúng biểu đồ + tư duy đúng về cách trình bày sẽ giúp message mà mình muốn truyền tải sẽ dễ dàng được audiences tiếp nhận hơn.
- Học cách viết highlights/narratives theo format của các công ty management consulting lớn trên thế giới như: Mckinsey, Bain, BCG..,. Ngoài việc trình bày các kết quả phân tích bằng biểu đồ thì việc tóm tắt lại các thông tin + số liệu quan trọng cũng là một phần nên được chú trọng. Bản thân Shopee cũng đang áp dụng format của các công ty này cho hầu hết các báo cáo hằng này của business. Khi áp dụng format của các công ty này thì thời gian cấp trên/người ra quyết định dành cho việc consume các insights giảm đi đáng kể, việc misunderstanding cũng giảm đi từ đó hiệu quả của bài phân tích được nâng lên rõ rệt. Thông thường cấp trên có rất ít thời gian để đọc các phân tích của chúng ta nên càng trình bày ngắn gọn, súc tích, đầy đủ và khoa học thì bài phân tích của chúng ta sẽ càng được đánh giá cao.
- Học tập từ đồng nghiệp và các team khác trong công ty
5. Action
Thông thường bước này thì BI Analyst/DA sẽ không phải là người thực hiện như trong bài viết trước mình có chia sẻ. Việc action sẽ do những người ra quyết định/các team liên quan thực hiện, thường bước này sẽ diễn ra sau khi data insights đã đi qua bước “kiểm định” ở trên. Các cải tiến có thực sự hiệu quả trong thực tế hay không thì cần một quá trình đánh giá lại sau khi các thay đổi đã được thực hiện một thời gian. BI Analyst/DA ở bước này sẽ tham gia vào việc theo dõi cũng như đánh giá tiến độ, hiệu quả của các cải tiến này.
Kết
Đó là tổng quan về quá trình thực hiện một bài phân tích mà mình tổng hợp được từ mấy năm đi làm vừa qua, mong là vài viết sẽ cung cấp thêm một vài thông tin hữu ích cho bạn, cám ơn đã ghé thăm blog của mình.
*Disclaimers: Các bài viết mình chia sẻ trên blog chủ yếu đến từ trải nghiệm cá nhân và kinh nghiệm của bản thân mình, với mong muốn mang đến thêm nhiều góc nhìn bổ ích cho công việc và cuộc sống của các bạn. Mong rằng các bạn sẽ đón nhận và góp ý những điều mình chia sẻ với một tư duy mở và phát triển. Bài viết đôi khi sẽ sử dụng một số thuật ngữ tiếng Anh vì nếu dịch sang tiếng Việt sẽ hơi khó hiểu nên mình vẫn sẽ giữ nguyên bản. Cám ơn các bạn đã ghé thăm blog của mình.