top of page

Cohort Analysis là gì? Phân tích giữ chân khách hàng theo nhóm (kèm ví dụ Power BI)

3 ngày trước
10 phút đọc

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ả.


Cohort Analysis dashboard Power BI theo dõi retention rate khách hàng e-commerce

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.


Sơ đồ giải thích Cohort Analysis phân nhóm khách hàng theo thời gian

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.


So sánh retention rate giữa cohort Facebook Ads và Google Ads qua thời gian

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ể.


Phân loại Cohort Analysis theo thời gian, hành vi và phân khúc khách hàng

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.


Query SQL tính retention rate cho Cohort Analysis trong database

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 đề.


Cohort retention heat map Power BI với màu sắc thể hiện tỷ lệ giữ chân khách hàng

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.


So sánh Cohort Analysis và RFM Analysis trong phân tích khách hàng

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.



Nguồn tham khảo


[1] CohEx: A Generalized Framework for Cohort Explanation. https://arxiv.org/html/2410.13190v2

Bình luận


bottom of page