Bối cảnh dự án
Khách hàng: chuỗi trà sữa 30 cửa hàng tại TP.HCM, Hà Nội, Đà Nẵng. Doanh thu ~8 tỉ/tháng. Trước đây: mỗi cửa hàng báo cáo qua Excel, gửi email cho head office mỗi tuần. Tổng hợp mất 2 ngày làm việc, data thường trễ 3-5 ngày.
Vấn đề cần giải quyết
- Không biết cửa hàng nào đang underperform realtime
- Không thể so sánh KPI theo ca, theo nhân viên
- Tồn kho nguyên liệu báo cáo trễ → waste cao
Kiến trúc dữ liệu
KiotViet làm POS cho tất cả 30 cửa hàng → kết nối qua REST API vào Azure SQL Database → Power BI DirectQuery + Import hybrid.
Data model: Star schema 6 bảng
Fact_Orders: order_id, store_key, product_key, staff_key, date_key, qty, amount, discount
Dim_Store: store_key, name, city, area, manager, open_date
Dim_Product: product_key, name, category (Trà sữa/Topping/Đồ ăn), cost, price
Dim_Staff: staff_key, name, store_key, role, join_date
Dim_Date: đủ time intelligence columns
Dim_Shift: shift_key (Morning/Afternoon/Evening), start_time, end_time
5 dashboard chính
- Executive Overview: Doanh thu vs KH, YoY, top/bottom 5 stores
- Store Ranking: Bubble chart revenue × margin × growth
- Product Mix: ABC analysis, heatmap doanh thu theo giờ
- Staff Performance: Revenue/order per staff, shift comparison
- Inventory Alert: Tồn kho warning, waste tracker
Kết quả sau 3 tháng
Giảm thời gian báo cáo từ 2 ngày/tuần → 0 (tự động). Phát hiện 3 cửa hàng underperform liên tục → điều chỉnh địa điểm + menu. Giảm waste nguyên liệu 18% nhờ inventory alert.
Sẵn sàng xây dựng dashboard Power BI?
Kết nối với freelancer Power BI đã kiểm duyệt, xem báo cáo nhúng ngay trên trình duyệt và tải file .pbix về sau khi thanh toán.
Đào Ngọc Tú
Cộng tác viên chuyên gia tại SenData. Chia sẻ kiến thức về phát triển Power BI, trực quan hóa dữ liệu và best practice business intelligence.

