Giới Thiệu
Dữ liệu trong Mixpanel được lưu trữ và phân tách theo từng project. Hiện tại, bạn không thể truy vấn dữ liệu giữa nhiều project khác nhau. Mixpanel hỗ trợ 4 loại dữ liệu chính cho phân tích:
- Events (sự kiện)
- User profiles (hồ sơ người dùng)
- Group profiles (hồ sơ nhóm)
- Lookup tables (bảng tra cứu)
Trong ngôn ngữ data warehouse, events tạo thành fact table, trong khi user profiles, group profiles và lookup tables là các dimension tables.
So Sánh Event Property vs User Profile Property
Event Property
- Chi tiết về một sự kiện cụ thể
- Cung cấp ngữ cảnh cần thiết cho phân tích
- Bất biến sau khi được ghi lại
- Cho biết trạng thái tại thời điểm sự kiện xảy ra
Profile Property
- Chi tiết về người dùng nói chung
- Mô tả người dùng ở thời điểm hiện tại
- Có thể là giá trị tĩnh hoặc động
- Phản ánh trạng thái hiện tại
Ví Dụ Thực Tế
Lấy ví dụ về một sản phẩm streaming nhạc, bạn muốn trả lời các câu hỏi:
- Bài hát và nghệ sĩ nào phổ biến nhất tuần này?
- Phân bố số lượng bài hát được phát mỗi tuần theo người dùng?
- A/B test nào hiệu quả hơn trong việc chuyển đổi từ tài khoản Free sang Premium?
Cấu Trúc Của Một Event
Event bao gồm các thông tin:
- User ID của người thực hiện
- Thời gian xảy ra
- Các thuộc tính bổ sung (IP, thiết bị,…)
- Dữ liệu liên quan (song_id, artist,…)
Profiles và Lookup Tables
User Profiles
- Join với events qua distinct_id
- Mặc định được index theo events
Group Profiles
- Join qua group key tùy chọn
- Events được index theo property này
- Cho phép phân tích funnel/retention theo group
Lookup Tables
- Join qua key tùy chọn
- Không index events theo join key
- Dùng cho filter, breakdown
- Không thể dùng cho phân tích funnel
Kết Luận
Mô hình dữ liệu của Mixpanel được thiết kế để hỗ trợ phân tích hành vi người dùng một cách linh hoạt và chi tiết. Việc hiểu rõ cách tổ chức và mối quan hệ giữa các loại dữ liệu sẽ giúp bạn xây dựng và phân tích dữ liệu hiệu quả hơn.