Menu
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Đang tải...

Bài 26 — Cohort Analysis — Đọc và vẽ Retention Curves

Growth Product Manager Bài 26/60

Mở đầu — vì sao bài này quan trọng

Hãy tưởng tượng bạn là Growth PM của một ứng dụng học tiếng Anh. Đầu tháng, sếp nhìn vào dashboard và reo lên: "Tháng này có 50.000 user hoạt động, tăng 20% so với tháng trước!". Nghe có vẻ tuyệt vời. Nhưng có một sự thật bị giấu kín đằng sau con số đẹp đẽ đó: phần lớn 50.000 user này là người mới vừa cài app tuần trước, còn những người đăng ký từ ba tháng trước thì gần như đã biến mất hoàn toàn. Sản phẩm của bạn giống như một cái xô thủng — bạn đổ nước vào nhanh hơn tốc độ nước rò ra, nên nhìn từ xa tưởng cái xô đang đầy lên, nhưng thực chất nó đang rỉ nước không ngừng.

Đây chính là lý do cohort analysis (phân tích theo nhóm thuần tập) trở thành một trong những kỹ năng nền tảng nhất của Growth PM. Các chỉ số tổng (aggregate metrics) như "tổng user hoạt động" hay "tổng doanh thu" che giấu chất lượng thật sự của sản phẩm, vì chúng trộn lẫn người cũ và người mới vào cùng một rổ. Cohort analysis làm điều ngược lại: nó tách user thành từng nhóm theo thời điểm họ bắt đầu, rồi theo dõi từng nhóm riêng biệt qua thời gian. Nhờ vậy bạn nhìn thấy được sản phẩm của mình thực sự giữ chân người dùng tốt đến đâu — điều mà không một con số tổng nào nói cho bạn biết.

Trong bài này, chúng ta sẽ học cách định nghĩa cohort, cách đọc và vẽ retention curve (đường cong giữ chân), và quan trọng nhất là cách diễn giải hình dạng của đường cong đó để ra quyết định growth. Đây là kỹ năng đọc "phim X-quang" của sản phẩm.

Khái niệm cốt lõi

Cohort là gì?

Cohort là một nhóm người dùng có chung một sự kiện kích hoạt (event trigger) xảy ra trong cùng một khoảng thời gian. Sự kiện kích hoạt phổ biến nhất là đăng ký (signup): tất cả những người tạo tài khoản trong tuần thứ 14 của năm tạo thành "cohort tuần 14". Nhưng cohort không nhất thiết phải dựa trên ngày đăng ký — bạn có thể nhóm theo bất kỳ event chung nào: tháng mua hàng đầu tiên, tuần kích hoạt tài khoản, hay thời điểm hoàn thành onboarding.

Điểm mấu chốt là: một khi user đã được gán vào một cohort, họ ở yên trong cohort đó mãi mãi. Người đăng ký tháng 1 luôn thuộc cohort tháng 1, dù bạn theo dõi họ đến tháng 12. Chính tính bất biến này cho phép ta so sánh táo với táo — so sánh nhóm tháng 1 với nhóm tháng 2 ở cùng một "độ tuổi" của họ trong sản phẩm.

Có hai loại cohort chính bạn cần phân biệt:

  • Acquisition cohort (cohort theo thời điểm gia nhập): nhóm theo thời điểm user lần đầu xuất hiện. Đây là loại phổ biến nhất, dùng để đo retention.
  • Behavioral cohort (cohort theo hành vi): nhóm theo một hành vi cụ thể, ví dụ "những người đã dùng tính năng chia sẻ file ít nhất 1 lần". Loại này dùng để kiểm tra giả thuyết, ví dụ "user dùng tính năng X có giữ chân tốt hơn không?".

Retention curve — trái tim của cohort analysis

Retention curve là biểu đồ thể hiện tỷ lệ phần trăm user của một cohort còn quay lại sử dụng sản phẩm theo từng giai đoạn thời gian kể từ khi họ gia nhập.

  • Trục X (trục hoành): thời gian tính từ thời điểm gia nhập — Ngày 0, Ngày 1, Ngày 7, Ngày 30... hoặc Tuần 0, Tuần 1, Tuần 2... Lưu ý đây là thời gian tương đối (kể từ khi user vào), không phải ngày tháng lịch.
  • Trục Y (trục tung): tỷ lệ % user của cohort còn "hoạt động" (active) tại mỗi mốc thời gian đó. Tại Ngày 0 luôn là 100% theo định nghĩa, sau đó giảm dần.
Trước khi vẽ, bạn phải định nghĩa rõ "hoạt động" nghĩa là gì — đây gọi là retention definition. Có ba kiểu chính:

  • N-day retention (giữ chân ngày thứ N): user quay lại đúng vào ngày thứ N. Khắt khe nhất, thường dùng cho app cần dùng hàng ngày (game, app tin tức).
  • Unbounded / "classic" retention: user quay lại vào ngày thứ N hoặc bất kỳ ngày nào sau đó. Đo độ "sống sót" tổng quát.
  • Bracket / rolling retention (giữ chân theo khoảng): user có hoạt động trong một khoảng, ví dụ "tuần thứ 4". Phù hợp với sản phẩm dùng không thường xuyên (app đặt vé máy bay, app khai thuế).
Chọn sai định nghĩa sẽ ra kết luận sai hoàn toàn. App đặt vé máy bay mà đo N-day retention hàng ngày thì retention sẽ gần như bằng 0 ngay từ Ngày 1, dù sản phẩm hoàn toàn khỏe mạnh — vì có ai đặt vé máy bay mỗi ngày đâu.

Hình dạng đường cong nói lên điều gì

Hình dạng của retention curve quan trọng hơn cả con số tuyệt đối. Có ba dạng cơ bản:

  • Đường dốc xuống rồi chạm đáy 0 (smile úp ngược, trượt về 0): sản phẩm không tạo được giá trị giữ chân. Người dùng thử rồi bỏ. Đây là tín hiệu báo động đỏ — bạn chưa tìm thấy product-market fit.
  • Đường dốc xuống rồi phẳng ngang (flattening curve): sau giai đoạn rơi ban đầu, đường cong ổn định ở một mức dương (ví dụ 25%). Cái "sàn phẳng" này gọi là retention plateau — đây là dấu hiệu của một nhóm người dùng đã tìm thấy giá trị thật và gắn bó. Plateau càng cao, sản phẩm càng khỏe.
  • Đường cong cười (smile curve / retention đi lên): sau khi rơi, đường cong lại nhích lên. Hiếm và cực kỳ tốt — nghĩa là user rời đi rồi quay lại, hoặc giá trị sản phẩm tăng theo thời gian (thường thấy ở mạng xã hội, marketplace có network effect).
Quy tắc vàng: chiều cao của plateau quyết định trần tăng trưởng dài hạn của bạn. Nếu plateau là 5%, dù bạn đổ bao nhiêu user vào phễu, cuối cùng chỉ 5% ở lại — cái xô thủng to. Cải thiện độ cao plateau thường có giá trị hơn nhiều so với việc đổ thêm nước vào xô.

Tình huống thực tế

Ví dụ 1: Ứng dụng giao đồ ăn ShopeeFood phát hiện "cái xô thủng"

Giả sử đội Growth của một app giao đồ ăn tại Việt Nam (tương tự ShopeeFood) đang ăn mừng vì MAU (monthly active users) tăng đều 15% mỗi tháng nhờ chiến dịch khuyến mãi mã giảm giá rầm rộ. Nhưng khi PM dựng bảng cohort theo tháng đăng ký, bức tranh thật lộ diện:

  • Cohort tháng 1: tháng 0 là 100%, tháng 1 còn 38%, tháng 3 còn 22%, tháng 6 phẳng ở 19%.
  • Cohort tháng 4 (sau chiến dịch mã giảm giá): tháng 0 là 100%, tháng 1 chỉ còn 12%, tháng 3 còn 4%.
Diễn giải: Chiến dịch khuyến mãi kéo về rất nhiều user mới (làm MAU tăng), nhưng đó là những "thợ săn mã giảm giá" — họ đặt một đơn để dùng mã rồi biến mất. Cohort sau chiến dịch có plateau gần như bằng 0, trong khi cohort tự nhiên trước đó có plateau khỏe mạnh 19%. MAU tổng tăng đã che giấu sự thật rằng chất lượng user mới đang lao dốc.

Bài học: Đừng để aggregate metric ru ngủ. Cohort analysis cho thấy tiền marketing đang mua về user rác. Quyết định đúng: chuyển ngân sách từ "mã giảm giá cho người mới bất kỳ" sang kênh thu hút user có ý định đặt món thật, và đo plateau retention thay vì chỉ đếm lượt cài đặt.

Ví dụ 2: Tiki và việc tìm "retention plateau" theo phân khúc

Một sàn thương mại điện tử như Tiki có thể nhìn retention curve tổng và thấy nó tụt về 8% sau 3 tháng — con số đáng lo. Nhưng khi tách cohort theo hành vi mua hàng đầu tiên, họ phát hiện sự khác biệt khổng lồ:

  • Cohort "đơn đầu tiên thuộc ngành hàng sách/văn phòng phẩm": plateau 28% sau 6 tháng.
  • Cohort "đơn đầu tiên thuộc ngành hàng điện tử giá trị cao": plateau 6% sau 6 tháng.
Diễn giải: Người mua sách có nhu cầu lặp lại thường xuyên (mua đều đặn), nên giữ chân tốt. Người mua một chiếc điện thoại 15 triệu thì vài năm mới mua lại — retention thấp là bản chất ngành hàng, không phải sản phẩm tệ. Nếu Tiki chỉ nhìn đường cong tổng, họ sẽ kết luận sai và có thể cắt nhầm ngân sách.

Bài học: Luôn cắt retention curve theo phân khúc (segment) có ý nghĩa — kênh thu hút, ngành hàng, nền tảng (iOS/Android), khu vực. Đường cong tổng là trung bình của nhiều câu chuyện rất khác nhau; phân khúc mới chỉ ra đòn bẩy growth thật.

Ví dụ 3: App học tiếng Anh xác định "magic number" qua cohort hành vi

Một startup edtech Việt Nam nghi ngờ rằng việc hoàn thành bài học đầu tiên trong tuần đầu là yếu tố quyết định giữ chân. Họ chia user thành hai behavioral cohort trong cùng tuần đăng ký:

  • Cohort A — hoàn thành ≥ 3 bài học trong 7 ngày đầu: Tuần 8 retention = 41%.
  • Cohort B — hoàn thành < 3 bài học trong 7 ngày đầu: Tuần 8 retention = 9%.
Diễn giải: Sự chênh lệch dứt khoát này gợi ý "hoàn thành 3 bài trong tuần đầu" có thể là ngưỡng kích hoạt (activation threshold) liên quan mạnh đến retention dài hạn. Lưu ý đây mới là tương quan, chưa phải nhân quả — nhưng nó cho đội growth một giả thuyết cực kỳ giá trị để kiểm chứng: nếu thiết kế onboarding đẩy nhiều người vượt mốc 3 bài hơn, liệu plateau tổng có nâng lên không?

Bài học: Cohort phân theo hành vi là công cụ săn tìm đòn bẩy growth. Nó biến retention curve từ một báo cáo thụ động thành một máy phát hiện giả thuyết.

Hướng dẫn từng bước

Đây là quy trình bạn có thể áp dụng để dựng và đọc một retention cohort table từ đầu:

Bước 1 — Xác định sự kiện kích hoạt (cohort trigger). Quyết định điều gì đưa user vào cohort: ngày đăng ký? Ngày mua đầu tiên? Ngày hoàn thành onboarding? Với phần lớn trường hợp đo retention, hãy dùng ngày đăng ký hoặc ngày kích hoạt đầu tiên.

Bước 2 — Chọn độ chi tiết thời gian (granularity). App dùng hàng ngày (game, mạng xã hội) thì dùng cohort theo tuần và trục theo ngày/tuần. Sản phẩm B2B hay mua sắm dùng cohort theo tháng. Nguyên tắc: chu kỳ sử dụng tự nhiên của sản phẩm càng dài thì granularity càng lớn.

Bước 3 — Định nghĩa "active" (retention definition). Viết ra rõ ràng: thế nào là một user "còn hoạt động" trong giai đoạn N? Mở app? Thực hiện một hành động cốt lõi (đặt đơn, hoàn thành bài học)? Hãy chọn hành động phản ánh giá trị thật, không phải chỉ "mở app rồi tắt".

Bước 4 — Dựng bảng cohort (cohort table). Tạo một ma trận: mỗi hàng là một cohort (tháng 1, tháng 2...), mỗi cột là một mốc thời gian tương đối (tháng 0, 1, 2...). Mỗi ô là % user của cohort đó còn active tại mốc đó. Cột đầu luôn 100%.

Bước 5 — Tô màu nhiệt (heatmap). Áp dụng định dạng có điều kiện: số càng cao màu càng đậm. Heatmap giúp mắt bạn lập tức thấy được vùng nào retention khỏe, cohort nào đang xấu đi.

Bước 6 — Đọc theo hai chiều.

  • Đọc theo hàng (ngang): thấy đường cong retention của từng cohort — nó rơi rồi phẳng ở đâu? Plateau ở mức nào?
  • Đọc theo cột (dọc): so sánh cùng một "độ tuổi" giữa các cohort — cohort mới có giữ chân tốt hơn cohort cũ không? Nếu cột "tháng 1" tăng dần qua các cohort, nghĩa là cải tiến sản phẩm đang phát huy tác dụng (đây gọi là đọc retention improvement theo đường chéo/cột).
Bước 7 — Vẽ retention curve. Lấy một hoặc vài cohort tiêu biểu, vẽ đường % theo trục thời gian. Xác định plateau và so sánh giữa các segment.

Bước 8 — Hành động. Hỏi: plateau nằm ở đâu? Có thể nâng nó lên bằng cách nào? Cohort nào đang xấu đi và vì sao? Có behavioral cohort nào hé lộ activation threshold không?

Lỗi thường gặp & mẹo

Lỗi 1 — Nhầm trục X là ngày lịch thay vì thời gian tương đối. Retention curve phải dùng "ngày thứ N kể từ khi gia nhập", không phải ngày 15/3, 16/3. Nếu dùng ngày lịch, bạn không thể so sánh các cohort với nhau.

Lỗi 2 — Cohort quá nhỏ gây nhiễu thống kê. Một cohort 30 người thì retention 33% chỉ là 10 người — một biến động nhỏ làm con số nhảy loạn. Hãy đảm bảo cohort đủ lớn (thường ≥ vài trăm user) trước khi diễn giải.

Lỗi 3 — Hiểu sai cohort gần đây bị "cụt". Cohort tháng này chưa thể có dữ liệu tháng thứ 6, nên các ô đó trống. Đừng so sánh plateau dài hạn của cohort cũ với cohort mới chưa "trưởng thành". Đây gọi là lỗi censoring.

Lỗi 4 — Chỉ nhìn đường cong tổng. Như ví dụ Tiki, đường tổng trộn lẫn nhiều câu chuyện. Luôn cắt theo segment.

Lỗi 5 — Nhầm tương quan thành nhân quả ở behavioral cohort. "User dùng tính năng X giữ chân tốt hơn" không có nghĩa là ép mọi người dùng X sẽ tăng retention. Có thể chính những user vốn đã gắn bó mới dùng X. Phải kiểm chứng bằng thử nghiệm.

Mẹo: So sánh hình dạng đường cong quan trọng hơn so sánh con số tuyệt đối. Một plateau 20% phẳng lì thường khỏe hơn một đường khởi đầu 40% nhưng trượt dài về 5%.

Mẹo: Định nghĩa "active" nên gắn với hành động tạo giá trị cốt lõi. Nếu chỉ đo "mở app", bạn sẽ lạc quan giả tạo.

Bài tập thực hành

  • Dựng cohort table. Lấy một sản phẩm bạn biết (app của công ty bạn, hoặc giả định một app gọi xe). Viết ra: sự kiện kích hoạt cohort là gì, granularity nào phù hợp, và định nghĩa "active" cụ thể. Giải thích lựa chọn của bạn trong 3 câu.
  • Đọc đường cong. Cho retention curve của một app: Ngày 0 = 100%, Ngày 1 = 45%, Ngày 7 = 28%, Ngày 30 = 24%, Ngày 60 = 23%, Ngày 90 = 23%. Plateau nằm ở đâu? Sản phẩm này khỏe hay yếu? Bạn sẽ ưu tiên cải thiện giai đoạn nào của đường cong và vì sao?
  • Phân khúc. Bạn quản lý một app fintech ví điện tử. Hãy đề xuất 3 cách cắt segment cohort có ý nghĩa và nêu giả thuyết bạn kỳ vọng kiểm chứng được ở mỗi cách.
  • Săn activation threshold. Thiết kế một behavioral cohort để kiểm tra giả thuyết: "User liên kết thẻ ngân hàng trong 3 ngày đầu sẽ giữ chân tốt hơn". Mô tả hai nhóm bạn so sánh và cảnh báo về bẫy nhân quả.

Tóm tắt

Cohort analysis là cách Growth PM nhìn xuyên qua lớp sương mù của các chỉ số tổng để thấy sức khỏe thật của sản phẩm. Cohort là nhóm user có chung sự kiện kích hoạt trong cùng khoảng thời gian, và họ ở yên trong nhóm đó để ta theo dõi qua thời gian. Retention curve vẽ % user còn hoạt động theo thời gian tương đối kể từ khi gia nhập — trục X là tuổi của user trong sản phẩm, trục Y là tỷ lệ giữ chân.

Điều quan trọng nhất cần nhớ: hình dạng đường cong, đặc biệt là độ cao của plateau, mới là thứ quyết định trần tăng trưởng dài hạn, chứ không phải con số khởi đầu hay aggregate metric hào nhoáng. Đường trượt về 0 báo hiệu chưa có product-market fit; đường phẳng ở mức dương cho thấy một lõi người dùng đã tìm thấy giá trị. Hãy luôn định nghĩa "active" cho đúng, cắt theo segment có ý nghĩa, cẩn thận với cohort nhỏ và cohort bị cụt, và dùng behavioral cohort để săn các đòn bẩy growth — rồi kiểm chứng chúng bằng thử nghiệm thay vì tin ngay vào tương quan. Khi bạn đọc thành thạo "phim X-quang" này, mọi quyết định growth của bạn sẽ dựa trên sự thật, không phải ảo ảnh.