Cohort Analysis là gì? Phân tích giữ chân khách hàng theo nhóm (kèm ví dụ Power BI)
Cohort Analysis (phân tích nhóm khách hàng theo thời gian) là phương pháp chia khách hàng thành các nhóm dựa trên đặc điểm chung (thường là thời điểm bắt đầu sử dụng sản phẩm), sau đó theo dõi hành vi của từng nhóm qua các giai đoạn để đo lường retention rate, churn rate và hiệu quả chiến dịch marketing.
Ví dụ, một công ty e-commerce muốn biết khách hàng đăng ký trong tháng 1/2026 có quay lại mua hàng sau 3 tháng không. Thay vì nhìn chung chung "tỷ lệ khách quay lại là 40%", Cohort Analysis giúp bạn thấy rõ: nhóm tháng 1 giữ được 50%, nhóm tháng 2 chỉ còn 30%, nhóm tháng 3 tăng lên 55%. Từ đó phát hiện tháng 2 có vấn đề gì trong trải nghiệm khách hàng hoặc chiến dịch marketing không hiệu quả.

Mục lục
I. Cohort Analysis là gì?
Cohort Analysis là kỹ thuật phân nhóm khách hàng hoặc người dùng dựa trên đặc điểm chung trong một khoảng thời gian cụ thể, sau đó theo dõi hành vi của họ qua các giai đoạn tiếp theo. Framework CohEx định nghĩa cohort là "nhóm các thực thể chia sẻ đặc điểm chung trong một khoảng thời gian xác định" [1].
Mục tiêu chính là trả lời câu hỏi: "Khách hàng bắt đầu với chúng tôi vào thời điểm X có hành vi thế nào sau 1 tháng, 3 tháng, 6 tháng?". Điều này giúp bạn:
Phát hiện xu hướng giữ chân khách hàng (retention) thay đổi như thế nào theo thời gian
So sánh hiệu quả giữa các nhóm khách hàng khác nhau
Xác định thời điểm khách hàng có nguy cơ rời bỏ cao nhất
Trong bối cảnh phân tích dữ liệu hiện đại, Cohort Analysis trở thành công cụ cần thiết để đo lường customer lifetime value và cải thiện chiến lược giữ chân khách hàng.

II. Tại sao cần Cohort Analysis trong phân tích dữ liệu?
Nhiều doanh nghiệp chỉ nhìn vào chỉ số tổng thể như "tỷ lệ khách hàng quay lại là 45%". Con số này che giấu những biến động quan trọng. Cohort Analysis giải quyết vấn đề bằng cách tách riêng từng nhóm khách hàng để so sánh.
1. Phát hiện xu hướng giữ chân khách hàng theo thời gian
Khi bạn ra mắt tính năng mới hoặc thay đổi trải nghiệm người dùng, retention rate có thể thay đổi. Cohort Analysis giúp bạn thấy rõ nhóm khách hàng nào bị ảnh hưởng.
Ví dụ thực tế: một ứng dụng fintech phát hiện retention tháng thứ 3 của nhóm đăng ký tháng 9/2025 giảm từ 60% xuống 42%. Điều tra cho thấy tháng đó họ thay đổi giao diện onboarding, khiến người dùng mới bối rối. Không có Cohort Analysis, họ chỉ thấy "tỷ lệ giữ chân chung giảm nhẹ" mà không biết nguyên nhân cụ thể.
2. Đo lường hiệu quả chiến dịch marketing
Mỗi chiến dịch marketing thu hút một nhóm khách hàng với đặc điểm riêng. Cohort Analysis cho phép bạn so sánh chất lượng khách hàng giữa các kênh.
Một công ty SaaS chạy quảng cáo Facebook và Google Ads đồng thời. Cohort Analysis cho thấy:
Nhóm khách từ Facebook có retention tháng 1 cao (70%) nhưng giảm nhanh xuống 30% ở tháng 3
Nhóm từ Google Ads retention tháng 1 thấp hơn (55%) nhưng ổn định ở mức 50% đến tháng 6
Kết luận: Google Ads mang lại khách hàng chất lượng cao hơn về dài hạn, mặc dù conversion ban đầu thấp hơn. Quyết định phân bổ ngân sách marketing từ đây trở nên rõ ràng.

III. Các loại Cohort Analysis phổ biến
1. Time-based Cohort (Nhóm theo thời gian)
Đây là loại phổ biến nhất, phân nhóm khách hàng dựa trên thời điểm họ thực hiện hành động đầu tiên: đăng ký, mua hàng lần đầu, hoặc cài đặt app.
Ví dụ:
Cohort tháng 1/2026: tất cả khách hàng đăng ký trong tháng 1
Cohort tháng 2/2026: khách hàng đăng ký trong tháng 2
Bạn theo dõi xem mỗi cohort có bao nhiêu người quay lại sau 1 tháng, 2 tháng, 3 tháng. Time-based cohort giúp phát hiện xu hướng theo mùa vụ hoặc tác động của thay đổi sản phẩm.
2. Behavior-based Cohort (Nhóm theo hành vi)
Thay vì thời gian, bạn phân nhóm dựa trên hành vi cụ thể: khách mua sản phẩm A, khách dùng tính năng B, hoặc khách tham gia chương trình khuyến mãi C.
Ví dụ trong e-commerce:
Cohort "Mua giày thể thao": khách hàng có đơn hàng đầu tiên là giày thể thao
Cohort "Mua váy dự tiệc": khách hàng có đơn hàng đầu tiên là váy dự tiệc
So sánh hai cohort này cho thấy nhóm nào có tỷ lệ mua lần hai cao hơn, giúp bạn điều chỉnh chiến lược cross-sell.
3. Segment-based Cohort (Nhóm theo phân khúc)
Kết hợp nhiều tiêu chí: nhân khẩu học, địa lý, nguồn traffic. Ví dụ: "Khách nữ 25-34 tuổi từ TP.HCM đăng ký qua Facebook trong Q1/2026".
Loại này phức tạp hơn nhưng cho insight sâu khi bạn cần hiểu hành vi của phân khúc cụ thể.

IV. Ví dụ Cohort Analysis thực tế trong e-commerce
Một cửa hàng thời trang trực tuyến muốn hiểu tại sao doanh thu Q2/2026 giảm mặc dù lượng khách mới tăng. Họ xây dựng cohort table theo tháng đăng ký và theo dõi tỷ lệ khách quay lại mua hàng.
Kết quả phát hiện:
Cohort tháng 1/2026: 100 khách, retention tháng 1 là 45%, tháng 2 là 30%, tháng 3 là 25%
Cohort tháng 2/2026: 150 khách, retention tháng 1 là 50%, tháng 2 là 35%
Cohort tháng 3/2026: 200 khách, retention tháng 1 chỉ còn 25%
Doanh nghiệp nhận ra vấn đề: tháng 3 họ chạy chiến dịch giảm giá sâu thu hút nhiều khách nhưng chất lượng kém. Những khách này chỉ mua khi có sale, không trung thành. Quyết định điều chỉnh: ngừng giảm giá quá sâu, tập trung vào chương trình tích điểm để giữ chân khách chất lượng cao từ tháng 1 và 2.
Thêm một lớp phân tích: họ chia nhỏ cohort tháng 1 theo kênh. Phát hiện khách từ email marketing có retention 60% so với 35% từ quảng cáo Facebook. Chiến lược mới: đầu tư nhiều hơn vào email và remarketing cho khách hàng cũ.
V. Cách xây dựng Cohort Table từng bước
1. Phân nhóm khách hàng theo tiêu chí thời gian
Bước đầu tiên là xác định "sự kiện khởi đầu" (cohort entry event). Đối với e-commerce, thường là ngày mua hàng đầu tiên. Đối với SaaS, là ngày đăng ký.
Trong SQL, bạn viết query tìm ngày sự kiện đầu tiên của mỗi khách:
WITH first_purchase AS (
SELECT
customer_id,
MIN(order_date) AS cohort_date
FROM orders
GROUP BY customer_id
)
SELECT
customer_id,
DATE_TRUNC('month', cohort_date) AS cohort_month
FROM first_purchase;Kết quả là bảng gán mỗi khách vào một cohort month.
2. Tính retention rate cho từng cohort
Tiếp theo, tính xem sau mỗi tháng có bao nhiêu khách trong cohort quay lại. Công thức retention rate:
Retention Rate (tháng N) = (Số khách hoạt động trong tháng N / Tổng số khách trong cohort) × 100%
Ví dụ: cohort tháng 1/2026 có 200 khách. Sau 1 tháng (tháng 2), 90 khách mua hàng. Retention tháng 1 = 90/200 = 45%.
SQL query mở rộng:
WITH cohort_data AS (
SELECT
customer_id,
DATE_TRUNC('month', MIN(order_date)) AS cohort_month,
DATE_TRUNC('month', order_date) AS order_month
FROM orders
GROUP BY customer_id, order_date
),
cohort_size AS (
SELECT cohort_month, COUNT(DISTINCT customer_id) AS total_customers
FROM cohort_data
GROUP BY cohort_month
),
cohort_activity AS (
SELECT
cohort_month,
order_month,
COUNT(DISTINCT customer_id) AS active_customers
FROM cohort_data
GROUP BY cohort_month, order_month
)
SELECT
ca.cohort_month,
ca.order_month,
ca.active_customers,
cs.total_customers,
ROUND(100.0 * ca.active_customers / cs.total_customers, 2) AS retention_rate
FROM cohort_activity ca
JOIN cohort_size cs ON ca.cohort_month = cs.cohort_month
ORDER BY ca.cohort_month, ca.order_month;Kết quả là bảng với các cột: cohort_month, order_month, retention_rate.

3. Trực quan hóa bằng Power BI hoặc SQL
Cohort table dạng số khó đọc. Bạn cần trực quan hóa bằng heat map (bản đồ nhiệt) với màu sắc thể hiện mức độ retention.
Trong Power BI:
Import dữ liệu từ SQL query ở bước 2
Tạo matrix visual với cohort_month làm hàng, số tháng kể từ cohort (month offset) làm cột
Dùng conditional formatting để tô màu: xanh đậm cho retention cao, đỏ cho retention thấp
Thêm tooltip hiển thị số lượng khách cụ thể khi hover
Nếu dùng Python, thư viện seaborn có hàm heatmap tạo cohort chart nhanh:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Giả sử df_cohort là DataFrame từ SQL query
cohort_pivot = df_cohort.pivot_table(
index='cohort_month',
columns='month_offset',
values='retention_rate'
)
sns.heatmap(cohort_pivot, annot=True, fmt='.0f', cmap='RdYlGn')
plt.title('Cohort Retention Analysis')
plt.show()Kết quả là một bảng màu trực quan, giúp bạn nhanh chóng phát hiện cohort nào có vấn đề.

VI. Công cụ hỗ trợ Cohort Analysis: Power BI, SQL, Google Analytics
1. Power BI
Power BI không có visual cohort sẵn, nhưng bạn xây dựng được qua matrix + conditional formatting. Ưu điểm là tích hợp tốt với hệ thống dữ liệu doanh nghiệp và cho phép tương tác (filter theo kênh, sản phẩm, vùng địa lý).
Trong chương trình Agentic AI Analytics, học viên thực hành xây Semantic Model để AI Agents tự động tạo cohort report dựa trên câu hỏi nghiệp vụ. Điều này giảm thời gian từ "muốn biết retention" đến "có dashboard" từ vài ngày xuống vài phút.
2. SQL
SQL là nền tảng để tính toán cohort. Bạn cần thành thạo window functions (LAG, LEAD), CTE (Common Table Expressions) và phép nối bảng. SQL cho quyền kiểm soát hoàn toàn logic nghiệp vụ và xử lý được dữ liệu lớn.
Hạn chế: SQL chỉ tính toán, không trực quan hóa. Bạn cần kết hợp với công cụ BI hoặc Python.
3. Google Analytics
Google Analytics 4 có sẵn cohort report trong mục "Retention". Bạn chọn cohort theo ngày người dùng đầu tiên truy cập và xem retention theo ngày/tuần. Ưu điểm là đơn giản, không cần code.
Nhược điểm: chỉ phù hợp với dữ liệu web/app, không tùy biến sâu. Nếu bạn cần phân tích cohort theo hành vi mua hàng cụ thể (vd mua sản phẩm A rồi quay lại mua B), Google Analytics không đủ
linh hoạt.
So sánh nhanh
Công cụ | Độ linh hoạt | Độ khó | Phù hợp với |
Power BI | Cao | Trung bình | Doanh nghiệp cần dashboard tương tác |
SQL | Rất cao | Cao | Analyst cần kiểm soát logic chi tiết |
Google Analytics | Thấp | Dễ | Marketing team, startup nhỏ |
VII. Cohort Analysis vs RFM Analysis: Khác biệt và khi nào dùng
Cả hai đều là kỹ thuật phân khúc khách hàng, nhưng mục đích và cách tiếp cận khác nhau.
Cohort Analysis theo dõi hành vi của nhóm khách hàng theo thời gian. Câu hỏi trả lời: "Nhóm khách đăng ký tháng 1 có trung thành không? Xu hướng retention thay đổi thế nào qua các tháng?".
RFM Analysis (Recency, Frequency, Monetary) phân loại khách hàng tại một thời điểm dựa trên ba yếu tố: mới mua gần đây thế nào, mua bao nhiêu lần, chi bao nhiêu tiền. Câu hỏi trả lời: "Khách hàng nào có giá trị cao nhất hiện tại? Ai có nguy cơ rời bỏ?".
Khi nào dùng Cohort Analysis?
Đo lường hiệu quả thay đổi sản phẩm hoặc chiến dịch marketing
So sánh chất lượng khách hàng giữa các kênh acquisition
Dự báo customer lifetime value dựa trên xu hướng retention
Khi nào dùng RFM Analysis?
Xác định khách hàng VIP để tặng ưu đãi đặc biệt
Thiết kế chiến dịch email marketing theo phân khúc (vd gửi voucher cho nhóm "nguy cơ rời bỏ")
Phân bổ nguồn lực chăm sóc khách hàng
Trong thực tế, hai phương pháp bổ trợ nhau. Bạn dùng Cohort Analysis để hiểu xu hướng dài hạn, dùng RFM để hành động ngay với từng nhóm khách.

VIII. Câu hỏi thường gặp
Cohort Analysis khác gì với phân tích xu hướng thông thường?
Phân tích xu hướng nhìn toàn bộ dữ liệu theo thời gian (vd "doanh thu tháng 1 đến tháng 6"). Cohort Analysis tách riêng từng nhóm khách hàng để so sánh, phát hiện được sự khác biệt giữa các nhóm mà phân tích xu hướng che giấu.
Cần bao nhiêu dữ liệu để làm Cohort Analysis?
Tối thiểu 3-6 tháng dữ liệu với ít nhất vài trăm khách hàng mỗi cohort. Nếu cohort quá nhỏ (dưới 50 khách), kết quả dễ bị méo do nhiễu ngẫu nhiên.
Làm sao biết retention rate tốt hay xấu?
Phụ thuộc ngành. SaaS B2B thường có retention tháng 1 từ 70-90%, e-commerce thấp hơn (30-50%). Thay vì so sánh với tiêu chuẩn chung, hãy so sánh các cohort với nhau để tìm insight.
Có thể dùng Cohort Analysis cho sản phẩm offline không?
Được, miễn bạn có dữ liệu khách hàng. Ví dụ chuỗi cửa hàng bán lẻ theo dõi khách qua thẻ thành viên, nhà hàng qua app đặt bàn. Cohort Analysis vẫn áp dụng để đo loyalty.
Churn rate và retention rate có quan hệ gì?
Churn rate (tỷ lệ rời bỏ) = 100% - Retention rate. Nếu retention tháng 1 là 60%, churn là 40%. Hai chỉ số này là hai mặt của một vấn đề.
IX. Kết luận
Cohort Analysis giúp bạn nhìn xa hơn các chỉ số tổng hợp để hiểu sâu hành vi khách hàng theo thời gian. Thay vì "retention trung bình là 45%", bạn biết chính xác cohort nào có vấn đề, thời điểm nào khách hàng rời bỏ nhiều nhất, và kênh marketing nào mang lại khách chất lượng cao.
Để áp dụng hiệu quả, bạn cần kết hợp ba yếu tố: tư duy phân tích rõ ràng (đặt đúng câu hỏi), kỹ năng kỹ thuật (SQL, Power BI) và hiểu biết nghiệp vụ (biết retention rate bao nhiêu là tốt trong ngành của mình). Framework CohEx mở rộng khả năng giải thích cohort bằng cách kết hợp nhiều chiều dữ liệu, giúp phân tích sâu hơn nguyên nhân đằng sau các con số [1].
Trong bối cảnh dữ liệu ngày càng phức tạp, việc điều phối AI Agents để tự động hóa cohort report trở thành lợi thế cạnh tranh. Thay vì mất vài ngày để viết query và vẽ dashboard, bạn hỏi AI "Retention của cohort tháng 3 so với tháng 1 thế nào?" và nhận kết quả trong vài phút. Đó là hướng đi mà chương trình Agentic AI Analytics hướng tới: biến analyst từ người thực thi thủ công thành người điều phối hệ thống thông minh.
Lưu ý: phần dưới đây giới thiệu chương trình đào tạo của Mastering Data Analytics.
📚 Bắt đầu sự nghiệp Analytics vững vàng trong kỷ nguyên AI
Mastering Data Analytics (MDA) là một trong những đơn vị đào tạo phân tích dữ liệu tại Việt Nam, mang chương trình Agentic AI Analytics đến với người học. Sau hơn 6 năm đào tạo phân tích dữ liệu, MDA đã đồng hành cùng 3.000+ học viên và 250+ doanh nghiệp lớn như Heineken, Prudential, P&G, AEON, BIDV, Coca-Cola, Unilever.Điểm khác biệt của MDA không nằm ở những lời hứa kiểu '5 phút phân tích data với ChatGPT' hay 'vibe coding dashboard'. Chúng tôi rèn đúng bộ ba tạo nên lợi thế cạnh tranh thật sự thời AI: tư duy phân tích hệ thống, chuyên môn vững chắc và năng lực điều phối AI
Agents.
Khám phá chương trình: Agentic AI Analytics, Finance Analytics
Tư vấn lộ trình miễn phí qua Zalo: 0961 48 66 48
Fanpage: Mastering Data Analytics
Nguồn tham khảo
[1] CohEx: A Generalized Framework for Cohort Explanation. https://arxiv.org/html/2410.13190v2




Bình luận