Build Data Systems from Scratch #01 (Phần 1): Bài toán xây hệ thống dữ liệu để growth kênh Email
Series mới về Data Engineer hơi technical một tẹo, dành riêng cho subscribers trả phí
Dạo gần đây mình đang phải growth kênh email marketing. Và càng làm thì mình càng gặp một vấn đề khá khó chịu là: data thì có đó, nhưng lại bị kẹt trong ActiveCampaign - một tool email marketing công ty mình đang dùng.
Tool này thì vẫn có reports riêng, nhưng với nhu cầu của mình thì gần như không xem được gì nhiều.
Mình muốn có một dashboard tổng quan hơn để nhìn được performance của cả kênh email marketing.
tuần này email performance đang tăng hay giảm?
campaign nào đang kéo open/click tốt hơn?
automation nào đang hoạt động ổn?
list nào chất lượng hơn?
email nào đang đóng góp tốt cho growth?
…
Và quan trọng hơn, mình muốn cả team cũng xem được dashboard đó để mỗi khi có ai đó hỏi số liệu thì mình lại phải vào ActiveCampaign chụp màn hình kết quả rất thủ công.
Vì vậy mình quyết định làm 1 chiếc dashboard Email Marketing. Mình thậm còn dùng AI prompt ra luôn cái template output rồi.
Nhưng đương nhiên mọi chuyện không đơn giản như vậy :))))
Lý tưởng nhất là data từ ActiveCampaign sẽ tự động được kéo về một nơi lưu trữ riêng, sau đó mình chỉ cần query và build dashboard từ đó. Nhưng Data Engineer công ty mình đương nhiên quá bận không thể ưu tiên mình :)))
Mà tải Excel từ ActiveCampaign về dựng dashboard thì mỗi lần muốn refresh data mình lại phải lên tải data về rất mệt.
Lúc đó mình mới nghĩ:
Nếu không thể nhờ DE, vậy mình tự đi học cách làm xong tự kéo data về xem sao. Kiểu ko dựa vào ai thì tự dựa vào mình vậy :))))
Đó là lý do mình bắt đầu học Data Engineering. Đương nhiên một lần nữa :))) mình đã đánh giá cao bản thân :)))))
Lần đầu học Data Engineering: chạy mất dép sau 1 tháng :))))
Hồi đầu học Data Engineering, thầy dạy khá bài bản. Mình được học cách viết code ETL, dùng Spark, rồi đẩy data vào database trên máy. Lúc học thì khá cuốn, nhưng đến lúc làm mới ngợp :))
Mình từng thử viết code để gọi API, kéo data về máy cá nhân. Tưởng chỉ cần vài đoạn Python là xong. Nhưng API lại giới hạn mỗi lần chỉ trả về vài chục dòng, nên muốn lấy đủ data thì phải xử lý viết vòng lặp các thứ, mà trình Python của mình thì không đủ cao :))) AI chỉ thì đọc chẳng hiểu gì.
Thế là sau một thời gian vật lộn, mình bỏ cuộc và chuyển sang học những thứ khác trước.
Sau đó mình biết đến một cách dễ tiếp cận hơn
Sau này khi đi làm và học thêm, mình bắt đầu nghe nhiều hơn về cloud, modern data stack và các tool như Airbyte.
Mình mới nhận ra là ngoài đời không phải lúc nào team cũng tự viết mọi thứ từ đầu.
Có những phần đã có tool hỗ trợ khá tốt rồi, ví dụ như connector để kéo data từ các nguồn như ActiveCampaign về data warehouse.
Thay vì tự viết code để gọi API, xử lý từng page data, rồi tự build toàn bộ pipeline từ đầu, mình có thể dùng Airbyte để xử lý phần extract/load trước.
Còn phần mình cần tập trung hơn là:
hiểu data flow
biết data đi từ đâu tới đâu
biết lưu data ở đâu
biết xử lý lại thành structure nào
và cuối cùng là build dashboard phục vụ bài toán marketing
Với mình, đây là cách bắt đầu thực tế hơn.
Project này mình sẽ build gì?
Mục tiêu của project này là build một data system cho để kéo dữ liệu từ ActiveCampaign → Airbyte → BigQuery → Dashboard
Trong đó:
ActiveCampaign là nơi data email gốc của mình đang được lưu
Airbyte là công cụ kéo data về
BigQuery là nơi lưu & xử lý data
Và cuối cùng là Dashboard - nơi cả team có thể check performance
Series này sẽ đi full cả quy trình đó. Đây là series mình viết trong lúc đang tự build và tự học. Nên nó sẽ không phải kiểu: “đây là best practice chuẩn chỉnh của Data Engineering.” Mà giống một cuốn sổ ghi chép về mình gặp bài toán gì, mình thử cách nào, mình lỗi ở đâu, mình hiểu thêm được gì.
Đương nhiên là mình hứa một ngày đẹp trời mình sẽ học lại quy trình chuẩn chỉnh :))))
Tạm kết
Bài đầu intro sương sương vậy, ở bài tiếp theo, mình sẽ bắt đầu từ phần nền móng nhất: Setup môi trường để chạy pipeline trên Cloud.
À series này khá hard core nên mình sẽ để dành cho paid subscriber thôi. Nếu bạn mong muốn đọc có thể subscribe ủng hộ mình nha.
Mong là bạn sẽ thấy series này hữu ích ^^ Hẹn gặp bạn trong bài viết tiếp theo.







cho e hỏi c có dùng tool nào để gửi email mkt k ạ
Cái này có áp dụng được cho kênh group FB ko ạ? :))) E cũng muốn học lỏm để kéo data cho team MKT