Vì sao "doanh thu" của bạn có ba con số khác nhau
Ba cách tính doanh thu thường gặp khi hợp nhất dữ liệu sàn TMĐT, và cách chọn một định nghĩa duy nhất cho cả công ty.
Tôi xây dựng và vận hành hệ thống báo cáo Power BI trên nền BigQuery cho ngành bán lẻ mỹ phẩm — hợp nhất dữ liệu từ KiotViet, Haravan, Shopee, TikTok Shop và showroom thành một nguồn số liệu duy nhất mà ban lãnh đạo tin dùng mỗi ngày.
Tôi tin rằng một chỉ số chỉ nên có một định nghĩa duy nhất — đó là điều kiện để dữ liệu trở thành quyết định.
Tôi bắt đầu từ nghiệp vụ bán lẻ trước khi chuyển sang phân tích dữ liệu, nên cách tôi làm báo cáo luôn bắt đầu bằng câu hỏi "người đọc sẽ ra quyết định gì từ con số này?" — thay vì làm dashboard cho đẹp rồi mới đi tìm người dùng.
Công việc của tôi trải dài toàn bộ chuỗi: lấy dữ liệu từ các nền tảng bán hàng về BigQuery, chuẩn hoá và làm sạch, dựng data model hợp lý, viết measure DAX, rồi thiết kế báo cáo Power BI cho phòng kinh doanh, marketing và ban lãnh đạo dùng hằng ngày. Tôi cũng chịu trách nhiệm phần khó nhất và ít ai thấy: đảm bảo số liệu đúng và khớp nhau giữa các nguồn.
Ba nguyên tắc tôi giữ: một chỉ số chỉ có một định nghĩa; số nào không truy được về nguồn thì không đưa lên báo cáo; và báo cáo tốt là báo cáo người ta mở lại vào tuần sau.
Ngoài giờ làm tôi học thêm Python và cách ứng dụng AI vào quy trình phân tích — chủ yếu để rút ngắn phần việc lặp lại, dành thời gian cho phần diễn giải số liệu.
Không chỉ dùng công cụ — tôi hiểu vì sao chọn công cụ đó cho bài toán đó.
Bốn bài toán thật, kể theo cấu trúc Problem → Solution → Result.

Báo cáo doanh thu hợp nhất 5 kênh bán trên một data model duy nhất, phục vụ khối kinh doanh và ban lãnh đạo.
Mỗi kênh bán xuất báo cáo theo cách riêng. Cùng một chỉ số "doanh thu" nhưng ba phòng ban ra ba con số khác nhau, họp kinh doanh mất phần lớn thời gian để tranh luận về số thay vì bàn hành động.
Chuẩn hoá dữ liệu từ KiotViet, Haravan, Shopee, TikTok Shop và showroom về BigQuery; thống nhất một định nghĩa doanh thu thuần duy nhất với các phòng ban; dựng star schema với dim Date / Channel / Brand / Product dùng chung và bộ measure DAX chuẩn.
Cắt ~X giờ/tuần công ghép số thủ công; số liệu giữa các phòng ban khớp nhau; họp kinh doanh chuyển hẳn sang bàn giải pháp.

Tự động hoá phân bổ doanh thu cho thuê kệ trưng bày theo từng mã kệ × tháng.
Dữ liệu ratecard nhập tay trên Google Sheet, phải phân bổ thủ công theo mã kệ và theo tháng. Đối chiếu bằng tay nên dễ sai và không ai truy được số về nguồn.
Xây pipeline Google Sheet → BigQuery (view tự refresh mỗi sáng) → Power BI; tạo một dim mã kệ trung tâm nối ba bảng nghiệp vụ về cùng một khoá; thiết lập quan hệ many-to-one một chiều để tránh vòng lặp; thêm bước kiểm tra dữ liệu đầu vào để dòng nhập sai không làm hỏng refresh.
Số phân bổ tự cập nhật hằng ngày, không còn bước copy tay; mọi con số truy được về đúng dòng nguồn; thời gian chốt báo cáo tháng giảm từ … xuống ….

Rút thời gian tải cho một báo cáo trọng yếu có data model rất nặng.
Model chứa calculated table rất nặng: mỗi lần chỉnh sửa là 30–40 phút chờ tính lại, người dùng cuối phàn nàn báo cáo mở chậm.
Khoanh vùng nút cổ chai bằng Performance Analyzer; đẩy phần tính toán nặng xuống BigQuery thay vì tính trong Power BI; giảm cardinality các cột khoá; loại bỏ cột không dùng để thu nhỏ model.
Thời gian tải giảm …%, dung lượng file giảm …%; việc bảo trì model không còn làm gián đoạn người dùng.

Quy trình đối chiếu tồn kho và giá vốn tự động giữa ERP, kho dữ liệu và báo cáo BI.
Số tồn kho và giá vốn trên ba hệ thống lệch nhau. Không có quy trình kiểm tra nên sai sót chỉ bị phát hiện khi đã lên báo cáo cuối tháng.
Xác định đúng công thức giá vốn bình quân và giá trị tồn theo từng pháp nhân; dựng bảng đối chiếu tự động theo ngày kèm ngưỡng cảnh báo chênh lệch; ghi lại data dictionary để cả nhóm dùng chung một định nghĩa.
Chênh lệch được phát hiện trong ngày thay vì cuối tháng; báo cáo tồn kho đủ tin cậy để dùng cho quyết định nhập hàng.
Dashboard đang chạy thật và code SQL công khai — bấm vào là xem trực tiếp, không cần cài gì.
Báo cáo số dư tiền 4 trang: tổng quan dòng tiền, trang thông tin và trang nhập liệu. Dựng trên Power BI, publish để xem trực tiếp trên web.
Mở ↗Power BISo sánh hiệu quả AdWords và Facebook theo tháng: chi phí, impressions, clicks, số lead, CTR, CPC và cost per lead — kèm bảng tổng hợp cạnh biểu đồ.
Mở ↗Power BIPhân tích dữ liệu thương mại điện tử: báo cáo PDF, file .pbix và bộ dữ liệu gốc để người xem tự mở lại và kiểm chứng.
Mở ↗SQLView SQL phân bổ chi phí từ sổ General Ledger về từng khách hàng và từng sản phẩm — nhiều tầng CTE, loại trừ tài khoản và tách kỳ theo tháng.
Mở ↗SQLTính Recency – Frequency – Monetary từ dữ liệu giao dịch thanh toán, rồi chia khách hàng thành các nhóm giá trị để đội kinh doanh nhắm đúng đối tượng.
Mở ↗TableauDashboard trực quan hoá dữ liệu Covid trên Tableau Public — luyện kể chuyện bằng số trên một bộ dữ liệu công khai.
Mở ↗Hành trình từ nghiệp vụ bán lẻ sang phân tích dữ liệu.
Chứng chỉ và khoá học tôi đã hoàn thành.
Power BI Data Analyst Associate — thiết kế model, DAX, triển khai và bảo mật báo cáo.
2025Ứng dụng AI agent vào quy trình phân tích và tự động hoá báo cáo. The Future Analyst.
2026Truy vấn phân tích, tối ưu chi phí query và thiết kế kho dữ liệu trên BigQuery.
2024Những gì tôi học được khi làm dữ liệu bán lẻ, viết lại cho người đến sau.
Ba cách tính doanh thu thường gặp khi hợp nhất dữ liệu sàn TMĐT, và cách chọn một định nghĩa duy nhất cho cả công ty.
Cách chia fact và dimension cho dữ liệu đa kênh, và những lỗi quan hệ khiến số liệu bị nhân đôi.
Checklist tối ưu theo thứ tự ưu tiên, từ cardinality cột khoá đến việc đẩy tính toán xuống warehouse.
Bạn có vị trí phù hợp hoặc muốn trao đổi về bài toán dữ liệu? Tôi rất sẵn lòng lắng nghe.
Tôi luôn quan tâm đến cơ hội mới và các bài toán dữ liệu thú vị. Email là cách nhanh nhất — tôi trả lời trong vòng 24 giờ vào ngày làm việc.