Appearance
Customer Analytics — Business Rules
Tổng quan
Domain này gom các báo cáo trả lời câu hỏi:
- khách hàng nào đang mua, quay lại, tăng/giảm giá trị,
- khách hàng đang nằm ở hạng nào,
- khách hàng nào tạo ra nhiều doanh thu nhất.
Nó không bao gồm call-center quality hay complaint workflow; các phần đó được tách sang call-center-quality.
Scope nghiệp vụ
| Nhóm | Vai trò | Ví dụ page |
|---|---|---|
| Customer overview | Danh sách và segment khách hàng | CustomerReport.tsx |
| Customer cycle | Chu kỳ mua, tần suất, rate quay lại | CustomerCycleReport.tsx |
| Membership | Phân tích theo level/bonus/revenue hiện tại | MembershipReport.tsx |
| Customer by revenue | Xếp hạng khách theo doanh thu | RankReport.tsx tab customer_by_revenue |
Luồng chính
text
Report cards
-> customer report / customer cycle / customer level
-> chọn filter branch / level / date / behavior
-> backend trả aggregate + detail table
-> user drill xuống customer detail hoặc customer listQuy tắc nghiệp vụ
| Mã | Quy tắc |
|---|---|
| BR-RCA-001 | customer report và membership report cùng đọc lớp read model customer, nhưng khác nhau ở filter lens và cột hiển thị. |
| BR-RCA-002 | customer cycle là engine riêng qua Hasura actions, không chỉ là query table/view trực tiếp. |
| BR-RCA-003 | customer_by_revenue thuộc họ rank, nhưng về meaning vẫn là customer analytics hơn là org performance. |
| BR-RCA-004 | Customer analytics chủ yếu đo hành vi và giá trị khách hàng, không đo chất lượng xử lý ticket/call. |
| BR-RCA-005 | Nhiều drill-down mở sang customer detail của module khác, nên report ở đây là read surface chứ không phải nơi sở hữu record khách hàng. |
Boundary
| Boundary | Ghi chú |
|---|---|
ecommerce | report_customer, search_report_contact_book, search_report_customer_revenue, customer-cycle actions |
user | Customer detail routes và identity surface |
crm | Chỉ chạm gián tiếp khi user mở ra các màn customer-related của CRM |
Rủi ro / Findings
| Mức | Finding |
|---|---|
| P1 | customer cycle có state/tab drift giữa purchase và rate, nên saved state có thể rơi vào tab không render. |
| P1 | CustomerReport đang lưu userBehavior sai key, có thể bleed state với campaign report. |
| P2 | MembershipReport là customer analytics thật, nhưng component name hiện vẫn là residue copy-paste. |