Bạn vừa được nhận vào vị trí Data Analyst Junior tại MinMart - một chuỗi siêu thị bán lẻ đang phát triển mạnh tại Việt Nam với:
Sếp giao cho bạn nhiệm vụ đầu tiên: Phân tích dữ liệu bán hàng để hiểu rõ hơn về hoạt động kinh doanh và đưa ra các đề xuất cải thiện.
────────────────────────────────────
| Đặc điểm | Mô tả |
|---|---|
| 🎯 Dành cho Beginner | Các bài tập từ dễ đến khó, có hướng dẫn chi tiết |
| 📊 Dữ liệu thực tế | Mô phỏng dữ liệu bán lẻ thực tế tại Việt Nam |
| 💼 Kỹ năng cần thiết | SQL, Excel/Python, Data Visualization |
| 🏆 Portfolio ready | Hoàn thành = 1 project để show trong CV |
────────────────────────────────────
Dữ liệu được tổ chức theo mô hình Star Schema - chuẩn Data Warehouse phổ biến nhất:
┌─────────────┐
│ dim_time │
└─────┬───────┘
│
┌─────────────┐ ┌─────┴───────┐ ┌─────────────┐
│dim_customer │─────│ fact_sales │─────│ dim_product │
└─────────────┘ └─────┬───────┘ └─────────────┘
│
┌─────┴───────┐ ┌─────────────┐
│ dim_store │ │dim_promotion│
└─────────────┘ └─────────────┘
Sếp của bạn đặt ra các câu hỏi sau, và bạn cần dùng dữ liệu để trả lời:
────────────────────────────────────
────────────────────────────────────
────────────────────────────────────
────────────────────────────────────
🎯 Mục tiêu cuối cùng: Hoàn thành báo cáo phân tích và trình bày được cho ban lãnh đạo.
Bảng chính chứa 500,000 giao dịch từ 01/2023 - 12/2024
| Cột | Mô tả | Ví dụ |
|---|---|---|
| transaction_key | ID giao dịch | 1, 2, 3... |
| time_key | FK liên kết dim_time | 365 |
| customer_key | FK liên kết dim_customer | 1234 |
| product_key | FK liên kết dim_product | 56 |
| store_key | FK liên kết dim_store | 12 |
| promotion_key | FK liên kết dim_promotion | 5 (0 = không KM) |
| quantity | Số lượng mua | 2 |
| unit_price | Đơn giá | 500,000 |
| gross_amount | Tiền trước giảm giá | 1,000,000 |
| discount_amount | Tiền được giảm | 100,000 |
| net_amount | Tiền sau giảm giá | 900,000 |
| cost_amount | Giá vốn | 400,000 |
| profit | Lợi nhuận | 500,000 |
────────────────────────────────────
| Bảng | Số records | Mô tả |
|---|---|---|
| dim_time | 731 ngày | Thông tin thời gian để phân tích theo ngày/tháng/quý/năm |
| dim_customer | 123,000 KH | Segments: Standard → Bronze → Silver → Gold → Platinum |
| dim_product | 495 SP | Categories: Điện tử, Thời trang, Mỹ phẩm, Thực phẩm, Đồ gia dụng |
| dim_store | 80 cửa hàng | Types: Flagship, Standard, Mini, Kiosk, Online |
| dim_promotion | 49 KM | Types: Discount, Buy X Get Y, Bundle, Flash Sale, Member Only |
| Option | Công cụ | Phù hợp với |
|---|---|---|
| A | SQLite + Azure Data Studio | Muốn luyện SQL (khuyến nghị) |
| B | Excel / Google Sheets | Chưa biết SQL |
| C | Python + Pandas | Đã biết Python |
| Tiêu chí | Điểm | Mô tả |
|---|---|---|
| ✅ Chính xác | 40 | Query chạy được, logic đúng, số liệu khớp |
| ⚡ Kỹ thuật | 25 | Code clean, đúng loại JOIN/GROUP BY, có comment |
| 💡 Insights | 25 | Patterns có ý nghĩa, giải thích được "tại sao" |
| 🎨 Trình bày | 10 | Báo cáo rõ ràng, charts dễ hiểu |
────────────────────────────────────
💪 Lưu ý: Đây là challenge dành cho beginner, nên đừng lo nếu chưa perfect! Quan trọng là hoàn thành và học được từ feedback.