Cohort Analysis là gì? Vì sao số liệu tổng có thể che khuất việc mất khách?

Mcna Cohort Analysis Explained
Cohort Analysis là cách chia khách hàng thành các nhóm có cùng mốc khởi đầu rồi theo dõi hành vi của từng nhóm theo thời gian. Trong bán lẻ và thương mại điện tử, mốc khởi đầu thường là lần mua đầu tiên. Cách phân tích này giúp trả lời một câu hỏi mà tổng số người mua trong tháng không giải đáp được: trong những người đã mua lần đầu, bao nhiêu người tiếp tục quay lại?

Giả sử tổng số người mua tăng từ 160 lên 214. Cùng lúc đó, tỷ lệ quay lại trong tháng kế tiếp của hai nhóm khách mới lần lượt là 40% và 20%. Hai kết quả có thể cùng đúng vì tổng số người mua bao gồm cả khách mới. Để thấy điều gì đang xảy ra với khách cũ, cần theo dõi từng nhóm qua các kỳ.

Các số liệu trong bài là giả định để minh họa cách tính và diễn giải.

1. Cohort Analysis là gì?

1.1. Cohort là nhóm khách có chung mốc khởi đầu

Một cohort là nhóm người đáp ứng cùng điều kiện gia nhập trong một khoảng thời gian. Ví dụ, cohort tháng 1 gồm những khách có đơn hàng hợp lệ đầu tiên trong tháng 1. Một người thuộc cohort tháng 1 vẫn nằm trong nhóm đó khi quay lại mua vào tháng 3.

Điều kiện gia nhập cần phục vụ câu hỏi đang xét. Nếu muốn tìm hiểu khả năng chuyển từ mua thử sang mua lại, hãy chọn đơn đầu tiên. Nếu muốn đánh giá hành vi sau khi tham gia chương trình thành viên, hãy chọn ngày tham gia và quy định rõ sự kiện nào được tính là quay lại. Tài liệu Cohort Exploration của Google Analytics phân biệt hai điều kiện này thành Inclusion criterion và Return criterion [1].

1.2. Tuổi cohort giúp so sánh các nhóm ở cùng giai đoạn

Trong báo cáo theo tháng lịch, cohort tháng 1 bước sang tháng tuổi thứ nhất vào tháng 2. Cohort tháng 2 bước sang tháng tuổi thứ nhất vào tháng 3. Hai mốc thuộc hai tháng lịch khác nhau nhưng cùng đại diện cho tháng kế tiếp sau tháng mua đầu.

Nếu so cả hai cohort trong tháng 3, bạn đang so tháng tuổi thứ hai của nhóm tháng 1 với tháng tuổi thứ nhất của nhóm tháng 2. Nếu muốn biết nhóm nào có tỷ lệ quay lại tốt hơn ngay sau tháng mua đầu, hãy so cùng cột tháng tuổi thứ nhất.

2. Vì sao số liệu tổng có thể che khuất việc mất khách?

2.1. Khách mới có thể bù cho số khách cũ quay lại giảm

Giả sử cửa hàng bắt đầu có khách từ tháng 1, nhận diện được khách qua các kênh và đếm mỗi người một lần trong từng tháng. Khách mới là người có đơn hợp lệ đầu tiên trong tháng. Khách cũ là người có đơn trong tháng và từng mua trước tháng đó.

Số người mua theo tháng lịch, dữ liệu giả định
Tháng Khách mới Khách cũ có mua trong tháng Tổng người mua
Tháng 1 100 0 100
Tháng 2 120 40 160
Tháng 3 180 34 214

Từ tháng 2 sang tháng 3, tổng số người mua tăng 54. Cửa hàng có thêm 60 khách mới, trong khi số khách cũ có mua giảm 6. Nếu chỉ xem tổng, bạn sẽ thấy tăng trưởng nhưng chưa biết tăng trưởng đến từ đâu.

2.2. Số khách cũ trong tháng vẫn chưa cho biết nhóm nào quay lại ít hơn

Trong 34 khách cũ mua vào tháng 3, có 10 người mua lần đầu trong tháng 1 và 24 người mua lần đầu trong tháng 2. Hai nhóm đã có thời gian theo dõi khác nhau. Muốn đánh giá khả năng quay lại ngay sau tháng mua đầu, cần so 40 trên 100 khách của cohort tháng 1 với 24 trên 120 khách của cohort tháng 2. Tỷ lệ tháng kế tiếp giảm từ 40% xuống 20%, tương đương 20 điểm phần trăm.

Kết quả cho thấy cohort tháng 2 quay lại ít hơn ở cùng giai đoạn. Trong bán lẻ không có hợp đồng, việc khách vắng mặt trong một kỳ chỉ cho biết chưa quan sát thấy đơn của họ trong kỳ đó. Khách có thể đang có một khoảng nghỉ dài giữa hai lần mua [4].

3. Cách xây dựng và đọc bảng Cohort Analysis

3.1. Tính Retention Rate cho từng ô

Mỗi hàng là một cohort theo tháng mua đầu. Mỗi cột là một tháng tuổi, tính từ tháng gia nhập. Với cách đo theo từng kỳ trong ví dụ, khách được tính một lần trong mỗi ô nếu có ít nhất một đơn hợp lệ ở tháng tuổi tương ứng. Shopify cũng dùng ngày đặt đơn đầu tiên để nhóm khách trong báo cáo Customer Cohort Analysis mặc định [2].

Retention Rate của cohort ở tháng tuổi k
= Số khách trong cohort có ít nhất một đơn hợp lệ ở tháng tuổi k
  / Tổng số khách ban đầu của cohort × 100%
Retention theo tháng mua đầu, dữ liệu chốt hết tháng 3
Cohort mua lần đầu Quy mô ban đầu Tháng tuổi 0 Tháng tuổi 1 Tháng tuổi 2
Tháng 1 100 100% 40% (40/100) 10% (10/100)
Tháng 2 120 100% 20% (24/120) Chưa quan sát
Tháng 3 180 100% Chưa quan sát Chưa quan sát

Tháng tuổi 0 là 100% trong bảng này vì đơn đầu tiên đủ điều kiện để khách gia nhập nhóm và được tính là có mua. Nếu báo cáo dùng cột tháng 0 để đo mua thêm trong cùng tháng, cần loại đơn đầu khỏi điều kiện quay lại. Khi đó, tháng 0 không mặc định là 100%.

3.2. Đọc ngang, đọc dọc và đối chiếu theo tháng lịch

  • Đọc ngang để theo dõi một nhóm. Cohort tháng 1 có 40 người mua ở tháng tuổi 1 và 10 người mua ở tháng tuổi 2. Bảng không cho biết 10 người sau có nằm trong 40 người trước hay không.
  • Đọc dọc để so các nhóm ở cùng tuổi. Cột tháng tuổi 1 cho thấy chênh lệch 20 điểm phần trăm giữa cohort tháng 1 và tháng 2.
  • Đối chiếu theo tháng lịch để tìm ảnh hưởng chung. Các ô tháng tuổi 2 của cohort tháng 1, tháng tuổi 1 của cohort tháng 2 và tháng tuổi 0 của cohort tháng 3 đều rơi vào tháng 3. Một thay đổi diễn ra trong tháng 3 có thể ảnh hưởng đến các ô này, dù mỗi nhóm đang ở một giai đoạn khác nhau.

3.3. Phân biệt 0% và chưa quan sát

Ô tháng tuổi 2 của cohort tháng 2 ứng với tháng 4. Vì dữ liệu chốt hết tháng 3, chưa thể tính ô này. Giá trị 0% chỉ phù hợp khi kỳ đã được quan sát đầy đủ và không có khách nào trong nhóm mua ở kỳ đó. Khi tổng hợp một cột tuổi, chỉ dùng những cohort đã đi hết kỳ tương ứng [3].

4. Ba cách đo quay lại trả lời ba câu hỏi khác nhau

4.1. Mua ở kỳ cụ thể

Return On đếm khách có giao dịch ở đúng kỳ đang xét [3]. Ví dụ, tỷ lệ tháng tuổi 2 trả lời câu hỏi có bao nhiêu khách mua trong tháng tuổi 2. Khách có thể bỏ qua tháng tuổi 1 rồi quay lại ở tháng tuổi 2, nên tỷ lệ theo kỳ có thể tăng hoặc giảm giữa các cột.

4.2. Có đơn tiếp theo trong vòng N ngày

Cách đo này đếm khách có ít nhất một đơn hợp lệ sau đơn đầu và trước hoặc đúng hạn N ngày. Chẳng hạn, một người mua lại vào ngày thứ 12 được tính vào tỷ lệ mua lại trong 30 ngày dù họ không mua đúng ngày thứ 30. Nếu so tỷ lệ 30 ngày với 60 ngày trên cùng tập khách đã đủ 60 ngày theo dõi, tỷ lệ tích lũy 60 ngày sẽ bằng hoặc cao hơn tỷ lệ 30 ngày.

4.3. Quay lại từ một mốc trở đi

Return On or After đếm khách có giao dịch ở mốc đang xét hoặc muộn hơn, trong phạm vi quan sát [3]. Nếu khách mua lại duy nhất vào ngày thứ 45, họ được tính cho chỉ số quay lại từ ngày 30 trở đi. Họ không được tính vào tỷ lệ mua lại trong vòng 30 ngày. Khi so các nhóm bằng cách đo này, cần thống nhất thời hạn quan sát sau mốc để một nhóm không có nhiều cơ hội được ghi nhận hơn nhóm còn lại.

5. Hiệu ứng cơ cấu có thể làm tỷ lệ tổng tăng khi từng nhóm đều giảm

5.1. Ví dụ theo kênh thu hút khách

Giả sử cửa hàng đo tỷ lệ mua lại ở cùng tháng tuổi cho hai cohort liên tiếp. Trong mỗi cohort, khách được chia theo nguồn thu hút ở lần mua đầu. Bảng này là một ví dụ độc lập với dữ liệu ở trên.

Nguồn khách Cohort trước Cohort sau
Kênh A 8/20 = 40% 28/80 = 35%
Kênh B 8/80 = 10% 1/20 = 5%
Tổng 16/100 = 16% 29/100 = 29%

Tỷ lệ giảm 5 điểm phần trăm ở cả hai kênh, nhưng tỷ lệ tổng tăng từ 16% lên 29%. Lý do là kênh A vốn có tỷ lệ mua lại cao hơn và chiếm 80% cohort sau, so với 20% ở cohort trước. Đây là một ví dụ của Simpson’s Paradox, khi chiều thay đổi của số liệu tổng đảo ngược so với chiều thay đổi trong các nhóm thành phần.

5.2. Tách thay đổi hành vi khỏi thay đổi tỷ trọng

Để đo tỷ lệ thực tế của cả cohort, hãy chia tổng số khách quay lại cho tổng số khách gốc của các nhóm đủ điều kiện. Để so sánh khi cơ cấu kênh thay đổi, có thể tính thêm một tỷ lệ chuẩn hóa bằng cách áp cùng bộ trọng số cho hai cohort.

Nếu giữ tỷ trọng kênh A là 20% và kênh B là 80% như cohort trước, tỷ lệ chuẩn hóa của cohort sau là 20% × 35% + 80% × 5% = 11%. So với 16% của cohort trước, kết quả này thể hiện mức giảm khi cố định cơ cấu kênh. Tỷ lệ 29% vẫn là tỷ lệ quan sát thực tế. Hai con số phục vụ hai mục đích khác nhau.

6. Quy trình làm Cohort Analysis từ dữ liệu đơn hàng

6.1. Chuẩn bị dữ liệu và tính tháng tuổi

  1. Chuẩn hóa đơn hàng. Chuẩn bị order_id, customer_id, thời điểm đặt đơn và trạng thái đơn. Thống nhất cách xử lý đơn hủy, đơn thử nghiệm và hoàn trả. Nếu dữ liệu ở cấp dòng sản phẩm, gộp về cấp đơn trước.
  2. Tìm đơn hợp lệ đầu tiên của mỗi khách. Dùng lịch sử đủ dài để nhận diện khách mua lần đầu. Nếu dữ liệu bắt đầu giữa chừng, đơn đầu tiên nhìn thấy có thể là đơn mua lại của khách cũ.
  3. Gắn tháng cohort và tháng giao dịch. Dùng cùng múi giờ cho cả hai. Nếu khách mua tại cửa hàng và trên website, liên kết danh tính theo quy tắc nhất quán trong phạm vi phân tích.
  4. Đếm số khách riêng biệt ở từng ô. Nhiều đơn của một khách trong cùng tháng tuổi vẫn chỉ được tính là một người có mua.
  5. Chia cho quy mô cohort ban đầu. Giữ cả khách không quay lại trong mẫu số và đánh dấu riêng các kỳ chưa quan sát xong.
Chỉ số tháng = 12 × Năm + Tháng

Tháng tuổi = Chỉ số tháng của đơn hàng
             - Chỉ số tháng của đơn đầu tiên

Đơn đầu tháng 12 năm 2025, mua tiếp tháng 1 năm 2026:
Tháng tuổi = (12 × 2026 + 1) - (12 × 2025 + 12) = 1

Công thức trên dùng tháng lịch. Nếu mục tiêu là so sánh khách sau đúng 30 ngày kể từ đơn đầu, hãy tính theo thời gian đã trôi qua từ ngày mua của từng khách.

6.2. Kiểm tra trước khi diễn giải Heatmap

  • Hiển thị số khách cạnh tỷ lệ. Chênh lệch vài khách trong một cohort nhỏ có thể làm màu của ô thay đổi mạnh.
  • Đối chiếu về tháng lịch. Nếu các cohort theo tháng mua đầu bao phủ toàn bộ khách trong phạm vi báo cáo, tổng số khách có mua của các ô rơi vào cùng một tháng phải khớp với số khách riêng biệt mua trong tháng đó.
  • Kiểm tra điều kiện quan sát. Nếu một kênh bị thiếu dữ liệu hoặc kỳ chưa kết thúc, đánh dấu trạng thái dữ liệu trước khi so sánh các ô.

6.3. Chuyển tín hiệu thành giả thuyết kiểm tra được

Nếu cohort tháng 2 quay lại ít hơn, hãy kiểm tra trước xem cơ cấu ngành hàng và kênh thu hút có thay đổi không. Sau đó, có thể xem các tín hiệu như giao hàng trễ, tỷ lệ hoàn trả hoặc tình trạng hết hàng ở các sản phẩm thường được mua lại.

Ví dụ, nếu tỷ lệ quay lại giảm chủ yếu ở khách có đơn đầu giao trễ, hãy kiểm tra thêm khu vực, loại sản phẩm và thời điểm đặt đơn. Bảng cohort giúp khoanh vùng khác biệt. Để đo tác động của một biện pháp cụ thể, chẳng hạn thay đổi quy trình giao hàng, cần một thiết kế đánh giá phù hợp, như thử nghiệm có nhóm đối chứng nếu có thể triển khai.

7. Tài liệu tham khảo

  1. Google Analytics Help. Cohort exploration. Tài liệu về điều kiện gia nhập, điều kiện quay lại và cách theo dõi nhóm theo thời gian. Đọc hướng dẫn Cohort Exploration.
  2. Shopify Help Center. Customers reports. Tài liệu về báo cáo khách mới, khách quay lại và cohort theo đơn đầu tiên. Xem phần Customer Cohort Analysis.
  3. Amplitude Docs. How the Retention Analysis chart calculates retention. Tài liệu về Return On, Return On or After và các kỳ chưa đủ thời gian quan sát. Đọc hướng dẫn tính Retention.
  4. Fader, P. S., Hardie, B. G. S. và Shang, J. (2010). Customer-Base Analysis in a Discrete-Time Noncontractual Setting. Marketing Science, 29(6). Nghiên cứu về sự khác biệt giữa khoảng nghỉ mua hàng và rời bỏ trong môi trường không có hợp đồng. Đọc nghiên cứu Customer-Base Analysis.

8. Thực hành phân tích dữ liệu cùng MCNA

Để thực hành chuẩn hóa đơn hàng, tính Retention Rate và xây dựng bảng cohort bằng Power BI hoặc Python, bạn có thể tham khảo các chương trình tại MCNA Technology School.

 

Tác giả

 

Nguyễn Quốc Hải – Data Analyst tại MCNA Technology School

MCNA Technology School là đơn vị tiên phong đào tạo AI, Big Data, Business Intelligence tại Việt Nam. Chuyên sâu về Power BI, Python, SQL và Data Analytics — đối tác đào tạo của 300+ doanh nghiệp lớn như Viettel Global, Masan Group, Techcombank, VPBank, Daikin.

🌐 Website: mcna.vn

📘 Facebook: facebook.com/mcnatechnologyschool

▶️ YouTube: youtube.com/@mcna.technology.school

💼 LinkedIn: linkedin.com/company/mcna-vn

📞 Hotline: 0939.866.825 (Mr. Minh Khang)

📍 Hà Nội: 30 Trung Liệt, Đống Đa | Liền kề 44B, TT2, Văn Quán, Hà Đông

📍 TP.HCM: The BIB Space, 50B Phan Tây Hồ, Cầu Kiệu

→ Chỉ mục