AI Training Project · Dữ liệu tổng hợp, hành vi thực tế
Customer Intelligence
Platform
Một pipeline duy nhất trả lời 3 câu hỏi marketing quan trọng nhất: khách hàng nào là ai, khách nào sắp rời bỏ, và khách nào đáng đầu tư nhất — chạy thật trên 3.751 khách hàng, 22.635 đơn hàng mô phỏng mùa vụ, khách VIP và hành vi rời bỏ.
Bài toán
3 câu hỏi marketing, gộp trong 1 pipeline
Mỗi bài toán trả lời một khoảng thời gian khác nhau — quá khứ, hiện tại, tương lai — nhưng chỉ có giá trị thật khi được nhìn cùng nhau.
Khách hàng này là ai?
Gộp toàn bộ lịch sử mua hàng thành RFM, rồi dùng K-Means để tìm ra các nhóm hành vi tự nhiên — VIP, trung thành, tiềm năng, sắp mất — không cần gán nhãn thủ công.
RFM + K-Means Clustering Hiện tại · SupervisedKhách nào sắp rời bỏ?
XGBoost Classifier học từ hành vi của khách đã rời bỏ trong quá khứ để chấm điểm rủi ro churn cho từng khách hàng đang hoạt động — trước khi họ thực sự biến mất.
XGBoost Classifier · ROC-AUC 0.885 Tương lai · SupervisedKhách nào đáng đầu tư nhất?
XGBoost Regressor dự đoán khách hàng sẽ chi bao nhiêu trong 6 tháng tới, giúp marketing phân bổ ngân sách đúng người thay vì rải đều cho tất cả.
XGBoost Regressor · R² 0.75Kiến trúc
Dữ liệu chảy qua pipeline như thế nào
6 bước Python nối tiếp, mỗi bước ghi ra 1 file trung gian — không hộp đen, mọi thứ đều có thể kiểm tra lại.
Raw Data
customers.csv + transactions.csv
Feature Engineering
RFM, Tenure, NumCategories, cắt mốc thời gian
Segmentation
K-Means (k=4)
Churn Model
XGBoost Classifier
CLV Model
XGBoost Regressor
Priority Matrix
Gộp Churn × CLV → hành động
Điểm kỹ thuật quan trọng nhất: Data Leakage
Khi dự đoán tương lai, dữ liệu phải được chia theo mốc thời gian (observation / future period) — không random split. Nếu không, model sẽ "nhìn thấy" đáp án tương lai khi học, và kết quả đánh giá sẽ ảo, sụp đổ ngay khi triển khai thật.
CUTOFF_DATE = pd.Timestamp('2025-07-01')
hist = transactions[transactions.OrderDate < CUTOFF_DATE] # tính feature
future = transactions[transactions.OrderDate >= CUTOFF_DATE] # đáp án thật
01 · Unsupervised Learning
Customer Segmentation
RFM + K-Means
RFM không phải thuật toán, mà là cách nén toàn bộ lịch sử giao dịch của 1 khách hàng thành 3 con số kể được câu chuyện hành vi của họ:
K-Means sau đó tối thiểu hóa tổng bình phương khoảng cách trong từng cụm:
Silhouette Score cao nhất tại k=2 (0.427), nhưng k=4 được chọn để khớp business logic — 4 nhóm đủ để đặt chiến lược marketing riêng biệt, đánh đổi lấy một chút điểm silhouette (≈0.305).
Kết quả thật trên 3.751 khách hàng
tính trực tiếp từ dữ liệu
02 · Supervised · Classification
Churn Prediction
XGBoost Classifier
Ensemble hàng trăm cây quyết định nhỏ, xây tuần tự — cây sau sửa lỗi của cây trước, dùng xấp xỉ Taylor bậc 2 (gradient + hessian) để tìm cây tối ưu nhanh và chính xác:
L = Log Loss cho bài toán phân loại nhị phân (churn / không churn), Ω phạt cây quá phức tạp để tránh overfit.
Trên tập test 938 khách hàng: 429/493 khách sắp churn được phát hiện đúng — Recall được ưu tiên hơn Precision vì bỏ sót 1 khách sắp rời bỏ tốn kém hơn nhiều so với 1 lần chăm sóc dư.
Phân bổ rủi ro churn thật
tính trực tiếp từ dữ liệu03 · Supervised · Regression
CLV Prediction
XGBoost Regressor
Cùng cơ chế ensemble như churn, nhưng đổi hàm loss sang bài toán hồi quy — dự đoán một con số VNĐ cụ thể khách sẽ chi trong 6 tháng tới:
R²=0.75 nghĩa là model giải thích được 75% biến động chi tiêu tương lai — đủ tin cậy để xếp hạng ngân sách marketing theo từng khách hàng thay vì chia đều.
Phân bổ CLV dự đoán thật
tính trực tiếp từ dữ liệuGộp lại
Ma trận ưu tiên: Churn Risk × CLV
Một khách rủi ro churn cao nhưng CLV thấp không đáng để can thiệp gấp bằng một khách rủi ro trung bình nhưng CLV rất cao. Ma trận này là nơi 3 model gặp nhau và trở thành hành động.
CRM thực tế
Import trực tiếp từ phần mềm CRM (2 file Excel)
Dành cho dữ liệu xuất thẳng từ CRM: 1 file danh sách khách hàng (Account) + 1 file đơn hàng (Sale Order) — hai bảng này không có mã khách hàng chung, web sẽ tự khớp qua số điện thoại. Vì cấu trúc và từ vựng khác hẳn dữ liệu mẫu ở trên, model được tự huấn luyện lại từ đầu ngay trên dữ liệu bạn tải lên — trong cùng một lần bấm nút, vẫn 100% xử lý cục bộ trong trình duyệt.
Chẩn đoán khớp dữ liệu
Kết quả trên dữ liệu CRM của bạn
model tự huấn luyện, xử lý cục bộ9 nhóm đề xuất hành động
Churn Risk × CLV tercile0 khách hàng phù hợp
| Mã khách hàng | Phân khúc | Rủi ro Churn | CLV dự đoán | Đề xuất hành động | Kênh |
|---|