Phân khúc bằng K-means và RFM là chia khách thành nhóm theo ba chỉ số: lần mua gần nhất (R), số lần mua (F) và tổng tiền đã chi (M). Một nghiên cứu trên dữ liệu của một cửa hàng phụ kiện thời trang ở Thái Nguyên đã chia khách thành 4 nhóm, mỗi nhóm cần cách chăm sóc riêng.
RFM là gì?
RFM là mô hình đánh giá giá trị và mức độ gắn bó của khách dựa trên lịch sử mua:
Recency (R), độ gần: khoảng thời gian từ lần giao dịch gần nhất đến lúc phân tích. R càng nhỏ, khách càng mới mua.
Frequency (F), tần suất: số lần khách mua trong một khoảng thời gian.
Monetary (M), giá trị: tổng tiền khách chi qua các giao dịch.
Nhiều nghiên cứu cho thấy ba chỉ số này là những yếu tố quan trọng để mô tả hành vi mua hàng. Chúng cũng dễ tính từ dữ liệu bán hàng mà cửa hàng nào cũng có.
K-means gom khách thành nhóm như thế nào?
K-means là thuật toán học máy không giám sát. Nghĩa là bạn không cần gắn nhãn trước cho khách. Thuật toán tự tìm nhóm dựa trên mức giống nhau.
Mức giống nhau được đo bằng khoảng cách Euclid. Mỗi khách là một điểm trong không gian ba chiều (R, F, M). Hai khách có khoảng cách càng nhỏ thì hành vi mua càng giống nhau, và càng dễ được xếp vào cùng một nhóm.
Thuật toán chạy theo bốn bước lặp:
Chọn k tâm nhóm ban đầu.
Tính khoảng cách từ mỗi khách đến từng tâm.
Xếp mỗi khách vào nhóm có tâm gần nhất.
Tính lại tâm của từng nhóm, rồi lặp lại cho đến khi kết quả không đổi nữa.
Nhóm tác giả chọn K-means vì đơn giản, chạy nhanh, dễ triển khai và dễ diễn giải hơn một số phương pháp phân cụm khác.
Quy trình 5 bước trong nghiên cứu
Thu thập dữ liệu. Dữ liệu giao dịch gồm lịch sử mua, danh mục sản phẩm, thời gian mua. Kèm theo là dữ liệu nhân khẩu học như độ tuổi, giới tính, khu vực sống.
Làm sạch dữ liệu. Xử lý giá trị thiếu, loại bỏ giá trị bất thường và chuẩn hóa để dữ liệu nhất quán.
Tính R, F, M cho từng khách. Từ các cột mã hóa đơn, mã khách, tên hàng, ngày mua, số lượng và đơn giá, nhóm tác giả tính R từ ngày mua gần nhất, đếm số lần mua để có F, và cộng tiền để có M. Phần này làm được bằng bảng tính đơn giản.
Đưa ba chỉ số về cùng thang đo. Nghiên cứu dùng chuẩn hóa Min-Max, đưa mỗi chỉ số về khoảng từ 0 đến 1. Bước này cần thiết vì M tính bằng tiền sẽ lấn át R và F nếu để nguyên.
Chọn số nhóm và chạy K-means. Phương pháp Elbow được dùng để chọn số nhóm. Chỉ số WCSS (tổng bình phương khoảng cách trong nhóm) giảm mạnh khi số nhóm tăng từ 1 đến 4, rồi giảm chậm từ 4 trở đi. Vì vậy nghiên cứu chọn k = 4.
Kết quả: 4 nhóm khách từ tập dữ liệu nghiên cứu
Tập dữ liệu mẫu gồm khoảng 200 khách của một cửa hàng bán lẻ phụ kiện thời trang nữ ở Thái Nguyên, lấy từ giao dịch năm 2026. Các con số dưới đây chỉ đúng với tập dữ liệu này, không phải số liệu chung của thị trường.
| Nhóm | Số khách trong tập dữ liệu | Đặc điểm RFM | Ý nghĩa | | --- | --- | --- | --- | | 0 | 87 | R thấp, F cao, M cao | Khách giá trị cao, mua thường xuyên, đóng góp doanh thu lớn | | 1 | 70 | R, F, M ở mức trung bình | Khách tiềm năng, có thể thành khách trung thành | | 2 | 20 | R thấp, F thấp, M thấp | Khách mới hoặc giá trị thấp, cần khuyến khích mua thêm | | 3 | 23 | R cao, F thấp, M trung bình | Khách có nguy cơ rời bỏ, cần chương trình giữ chân |
Trong bảng tính mẫu của nghiên cứu, một khách mua gần đây (R bằng 25 ngày) và mua 5 lần được xếp vào nhóm VIP. Một khách đã 181 ngày chưa quay lại thì rơi vào nhóm có nguy cơ rời bỏ.
Mỗi nhóm cần một cách chăm sóc khác
Nghiên cứu đề xuất cách làm cho từng nhóm:
Khách giá trị cao (VIP): giữ bằng chương trình khách thân thiết và ưu đãi riêng. Đây là nhóm đóng góp doanh thu chủ yếu.
Khách tiềm năng: gửi thư giới thiệu sản phẩm và gợi ý món phù hợp để tăng giá trị mỗi lần mua.
Khách có nguy cơ rời bỏ: ưu tiên chiến dịch nhắc quay lại, ưu đãi cá nhân hóa hoặc đợt giảm giá ngắn.
Khách mới hoặc giá trị thấp: kích thích bằng khuyến mại và gợi ý sản phẩm để tăng tần suất mua.
Ngoài marketing, kết quả phân nhóm còn giúp cửa hàng quản lý tồn kho tốt hơn và phân bổ nguồn lực hợp lý hơn. Nhóm tác giả cũng gợi ý hướng mở rộng: dùng dữ liệu lớn hơn, thêm dữ liệu hành vi trực tuyến, và so sánh K-means với các thuật toán khác như DBSCAN, Fuzzy C-Means hay phân cụm phân cấp.
Áp dụng cho cửa hàng nhỏ: bắt đầu từ bảng tính
Bạn chưa cần đội phân tích dữ liệu. Hãy bắt đầu như nghiên cứu:
Xuất lịch sử đơn hàng ra file bảng tính với mã khách, ngày mua và số tiền.
Tính R, F, M cho từng khách.
Chuẩn hóa ba cột về thang 0 đến 1.
Chạy K-means bằng công cụ phân tích bạn quen, hoặc chia nhóm thủ công theo ngưỡng nếu danh sách còn nhỏ.
Đặt tên cho từng nhóm và viết một kế hoạch chăm sóc riêng.
Chạy lại định kỳ, vì khách đổi nhóm theo thời gian. Khách VIP lâu không mua sẽ trôi sang nhóm có nguy cơ rời bỏ.
Gửi tin theo nhóm trên Zalo
Có danh sách nhóm rồi, bước khó là gửi đúng tin cho đúng nhóm. Nếu khách của bạn ở trên Zalo, Zame, phần mềm chạy trên tài khoản Zalo cá nhân, giúp làm phần này:
Hẹn giờ gửi cho từng nhóm khách: chẳng hạn nhóm VIP nhận tin ưu đãi riêng vào đầu tháng, còn nhóm có nguy cơ rời bỏ nhận tin hỏi thăm sau một khoảng thời gian chưa quay lại.
Mỗi khách một phiên bản: AI của Zame soạn nhiều biến thể từ một mẫu tin, mỗi khách nhận một bản khác nhau, nên tin cho cùng một nhóm vẫn đọc tự nhiên.
Đo theo chiến dịch: dashboard realtime của Zame cho thấy số tin đã gửi, khách mới và tỉ lệ thành công của từng chiến dịch, xem theo 7, 30 hoặc 90 ngày, để bạn so cách chăm sóc giữa các nhóm.
Câu hỏi thường gặp
Cửa hàng nhỏ có cần dùng K-means không, hay chia theo ngưỡng RFM là đủ?
Danh sách nhỏ thì chia theo ngưỡng là đủ để bắt đầu. K-means hữu ích khi số khách lớn và ranh giới giữa các nhóm khó đặt bằng tay. Nghiên cứu trên dùng tập khoảng 200 khách.
Vì sao phải chuẩn hóa R, F, M?
Ba chỉ số có đơn vị khác nhau: ngày, lần, tiền. Không chuẩn hóa thì cột tiền có giá trị lớn sẽ quyết định gần hết kết quả phân nhóm.
Chọn số nhóm bằng cách nào?
Dùng phương pháp Elbow: vẽ WCSS theo số nhóm và chọn điểm mà đường cong bắt đầu giảm chậm. Trong nghiên cứu, điểm đó là 4 nhóm.
Các con số 87, 70, 20, 23 có áp dụng cho cửa hàng của tôi không?
Không. Đó là kết quả trên tập dữ liệu của một cửa hàng phụ kiện thời trang ở Thái Nguyên. Cửa hàng của bạn sẽ ra số nhóm và số khách mỗi nhóm khác.
Bảng phân nhóm chỉ có ích khi mỗi nhóm nhận đúng tin của mình. Gửi tin riêng cho nhóm VIP và nhóm sắp rời bỏ với Zame, mỗi khách một phiên bản, đúng lịch bạn đặt.