Menu
ESC

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

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

Đang tải...

Bài 49 — Analytics for Subscription Products

Product Analytics Mixpanel and Amplitude Bài 49/60

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

Nếu bạn đang làm PM cho một sản phẩm subscription — một app gym, một dịch vụ SaaS, một gói premium trên ứng dụng nghe nhạc, hay gói membership của một nền tảng học trực tuyến — thì bạn cần hiểu một điều cốt lõi: analytics cho sản phẩm subscription khác hẳn analytics cho sản phẩm bán một lần (one-time purchase).

Với sản phẩm one-time, bạn bán được một đơn hàng là xong, doanh thu ghi nhận ngay, và bạn chỉ cần lo làm sao bán thêm đơn mới. Nhưng với subscription, mỗi khách hàng là một dòng doanh thu định kỳ (recurring revenue) chảy đều đặn hàng tháng hoặc hàng năm. Điều này thay đổi hoàn toàn cách bạn đo lường sức khỏe sản phẩm.

Doanh thu không còn là một con số cộng dồn đơn giản, mà là một dòng chảy có thể tăng lên (khách nâng cấp, mua thêm) hoặc rò rỉ đi (khách hủy gói). Một khách hàng rời bỏ hôm nay không chỉ là mất một đơn, mà là mất toàn bộ dòng doanh thu tương lai của họ. Đó là lý do vì sao với subscription, mỗi phần trăm churn đều đắt giá, và mỗi lần expansion đều mang giá trị kép.

Trong bài này, tôi sẽ hướng dẫn bạn cách dựng và đọc các chỉ số subscription cốt lõi ngay trong công cụ product analytics (Mixpanel, Amplitude) hoặc kết hợp với dữ liệu billing — để bạn không chỉ nhìn thấy con số, mà hiểu được câu chuyện đằng sau dòng doanh thu định kỳ của mình.

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

MRR và ARR — nhịp tim của sản phẩm subscription

MRR (Monthly Recurring Revenue) là tổng doanh thu định kỳ mà bạn thu được mỗi tháng từ tất cả khách hàng đang trả tiền. ARR (Annual Recurring Revenue) đơn giản là MRR nhân 12 (dùng cho các sản phẩm bán theo năm hoặc để báo cáo với nhà đầu tư).

Điểm quan trọng: MRR phải được chuẩn hóa (normalize) về đơn vị tháng. Nếu một khách mua gói năm 3.600.000đ, bạn không ghi nhận 3.600.000đ vào tháng đó, mà chia đều thành 300.000đ MRR mỗi tháng trong 12 tháng. Nếu không chuẩn hóa, MRR của bạn sẽ nhảy loạn xạ và mất hết ý nghĩa.

Phân rã MRR — nơi câu chuyện thật sự nằm

Nhìn tổng MRR chỉ cho bạn biết "to hay nhỏ". Để hiểu sản phẩm khỏe hay yếu, bạn phải phân rã MRR movement mỗi tháng thành 5 thành phần:

  • New MRR: doanh thu từ khách mới hoàn toàn.
  • Expansion MRR: khách cũ nâng cấp gói (upgrade) hoặc mua thêm add-on, thêm seat.
  • Reactivation MRR: khách đã hủy nay quay lại.
  • Contraction MRR: khách hạ gói (downgrade) — vẫn còn trả tiền nhưng ít hơn.
  • Churned MRR: khách hủy hoàn toàn, dòng doanh thu về 0.
Công thức: MRR cuối kỳ = MRR đầu kỳ + New + Expansion + Reactivation − Contraction − Churned.

Net Revenue Retention (NRR) — chỉ số quyền lực nhất

NRR đo lường doanh thu từ một nhóm khách hàng (cohort) hôm nay so với chính họ 12 tháng trước, không tính khách mới:

NRR = (MRR đầu kỳ + Expansion − Contraction − Churn) / MRR đầu kỳ

Nếu NRR > 100%, nghĩa là ngay cả khi không có khách mới nào, doanh thu của bạn vẫn tăng — vì expansion từ khách cũ lớn hơn phần mất đi do churn. Đây là dấu hiệu của một sản phẩm cực khỏe. Các SaaS hàng đầu thế giới thường có NRR 110–130%. Ngược lại, NRR < 90% nghĩa là bạn đang "đổ nước vào cái xô thủng" — phải liên tục kiếm khách mới chỉ để đứng yên.

Churn — kẻ thù số một, nhưng có hai loại

Cần phân biệt rõ:

  • Customer churn (logo churn): bao nhiêu phần trăm số khách rời đi. Ví dụ 100 khách, mất 5 → 5%.
  • Revenue churn (MRR churn): bao nhiêu phần trăm doanh thu mất đi.
Hai con số này có thể rất khác nhau. Nếu 5 khách rời đi đều là khách gói rẻ nhất, revenue churn thấp. Nhưng nếu trong đó có một khách doanh nghiệp lớn, revenue churn có thể vọt lên 20% dù customer churn chỉ 5%. Với sản phẩm B2B đặc biệt phải nhìn revenue churn.

Voluntary vs Involuntary churn

Một điểm nhiều PM Việt Nam bỏ quên: có loại churn khách chủ động hủy (voluntary — họ không thấy giá trị), và loại churn bị động (involuntary — thẻ hết hạn, thanh toán thất bại). Involuntary churn ở thị trường Việt Nam rất cao vì tỷ lệ dùng thẻ thất bại, ví điện tử hết số dư. Tách được hai loại này giúp bạn biết nên đầu tư vào cải thiện sản phẩm hay cải thiện luồng thanh toán (dunning).

Tình huống thực tế

Ví dụ 1 — SaaS quản lý bán hàng "Sapo-like" và bài học NRR

Giả sử một công ty SaaS quản lý bán hàng tại Việt Nam (mô hình tương tự Sapo, KiotViet) có 2.000 shop trả phí, gói cơ bản 300.000đ/tháng, MRR khoảng 600 triệu. Nhìn tổng MRR, mỗi tháng vẫn tăng nhẹ, ban lãnh đạo yên tâm.

Team PM dựng dashboard phân rã MRR trong Amplitude (kết hợp event subscription_upgraded, subscription_cancelled và property plan_price). Kết quả gây sốc: mỗi tháng họ mất 4% khách (churned MRR ~24 triệu), nhưng expansion chỉ ~10 triệu. MRR vẫn tăng chỉ nhờ team sales cày khách mới điên cuồng. NRR thực tế chỉ khoảng 88%.

Đào sâu bằng cohort, họ phát hiện: các shop churn nhiều nhất là shop chưa từng dùng tính năng "báo cáo tồn kho" trong 14 ngày đầu. Bài học: tổng MRR đang che giấu một cái xô thủng. Họ chuyển trọng tâm sang onboarding tính năng cốt lõi, đẩy NRR lên 96% trong 6 tháng — hiệu quả hơn nhiều so với việc thuê thêm sales.

Ví dụ 2 — Ứng dụng nghe nhạc và cuộc chiến involuntary churn

Một ứng dụng nhạc số kiểu Spotify/Zing MP3 có gói Premium 59.000đ/tháng, thanh toán tự động qua thẻ và ví MoMo. Họ báo cáo churn 8%/tháng và cho rằng nội dung chưa đủ hấp dẫn.

Khi team analytics tách event payment_failed khỏi subscription_cancelled_by_user, họ phát hiện: trong 8% churn, có tới 3,5 điểm phần trăm là involuntary — thẻ hết hạn, ví hết số dư, ngân hàng từ chối. Đây không phải vấn đề sản phẩm, mà là vấn đề billing.

Họ triển khai luồng dunning: khi payment_failed, tự động retry sau 1/3/5 ngày, gửi push notification và SMS nhắc nạp ví. Sau 3 tháng, involuntary churn giảm từ 3,5% xuống 1,2% — tương đương cứu được hàng nghìn subscriber mỗi tháng mà không tốn một đồng làm nội dung mới. Bài học: đo sai loại churn dẫn đến chữa sai bệnh.

Ví dụ 3 — Nền tảng học trực tuyến và expansion revenue

Một nền tảng học online (bối cảnh gần với chính sản phẩm này) bán gói cá nhân 199.000đ/tháng. Ban đầu họ chỉ nhìn New MRR và customer churn, thấy ổn định nên không lo lắng.

Sau khi dựng biểu đồ Expansion MRR, họ nhận ra một mỏ vàng bị bỏ quên: nhiều học viên cá nhân đang học chung với đồng nghiệp và muốn mua gói team. Họ tung gói "Team 5 người" và add-on "mentor 1:1". Chỉ trong quý đầu, Expansion MRR đóng góp 22% tổng MRR movement, kéo NRR từ 94% lên 108%. Bài học: nếu không đo expansion riêng, bạn sẽ không bao giờ thấy cơ hội tăng trưởng ngay trong tệp khách hiện có — vốn rẻ hơn nhiều so với đi kiếm khách mới.

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

Đây là quy trình dựng bộ chỉ số subscription trong công cụ analytics của bạn:

Bước 1 — Chuẩn hóa event schema. Đảm bảo bạn track đủ các event vòng đời subscription với property nhất quán:

  • subscription_started (property: plan_id, plan_price, billing_cycle, is_trial)
  • subscription_upgraded / subscription_downgraded (property: old_mrr, new_mrr)
  • subscription_cancelled (property: cancel_reason, is_voluntary)
  • payment_failedpayment_succeeded
  • subscription_reactivated
Bước 2 — Thêm MRR làm user property. Gắn một revenue property (ví dụ current_mrr) vào user profile, cập nhật mỗi khi có thay đổi gói. Đây là nền tảng để tính toán mọi thứ. Nhớ chuẩn hóa gói năm về tháng.

Bước 3 — Dựng dashboard MRR movement. Tạo một biểu đồ chồng (stacked bar) theo tháng với 5 thành phần: New, Expansion, Reactivation, Contraction (âm), Churned (âm). Đây là bức tranh tổng quan quan trọng nhất.

Bước 4 — Dựng cohort retention theo doanh thu. Trong Mixpanel/Amplitude, tạo revenue retention curve: nhóm khách theo tháng đăng ký, theo dõi tổng MRR của họ qua các tháng tiếp theo. Đường cong đi lên (do expansion) là dấu hiệu NRR > 100%.

Bước 5 — Tách voluntary vs involuntary churn. Dùng property is_voluntary và event payment_failed để phân loại. Dựng hai biểu đồ riêng.

Bước 6 — Thiết lập alert. Đặt cảnh báo khi MRR churn vượt ngưỡng (ví dụ > 5%/tháng) hoặc khi involuntary churn tăng đột biến — thường là dấu hiệu lỗi cổng thanh toán.

Bước 7 — Kết nối với billing thật. Product analytics tốt cho hành vi, nhưng con số doanh thu chính xác nên đối chiếu với hệ thống billing (Stripe, hoặc bảng billing nội bộ). Nhiều đội dùng công cụ analytics để hiểu tại sao, và billing để có con số tài chính chuẩn.

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

Lỗi 1 — Chỉ nhìn tổng MRR. Như ví dụ Sapo-like, tổng MRR tăng có thể che giấu churn khủng khiếp. Luôn phân rã.

Lỗi 2 — Nhầm customer churn với revenue churn. Với sản phẩm có nhiều mức giá, hai con số này khác nhau rất xa. Báo cáo cả hai.

Lỗi 3 — Không chuẩn hóa gói năm. Ghi nhận toàn bộ tiền gói năm vào một tháng làm MRR nhảy vọt rồi tụt, không đọc được xu hướng.

Lỗi 4 — Bỏ quên involuntary churn. Ở Việt Nam và Đông Nam Á, tỷ lệ thanh toán thất bại cao. Không tách loại churn này, bạn sẽ đổ lỗi oan cho sản phẩm.

Lỗi 5 — Không đo expansion riêng. Expansion là động cơ tăng trưởng rẻ nhất. Gộp nó vào New MRR là bỏ phí insight.

Mẹo 1 — Theo dõi Quick Ratio. Đây là chỉ số vàng: (New MRR + Expansion MRR) / (Contraction + Churned MRR). Nếu > 4, sản phẩm tăng trưởng khỏe; nếu < 1, bạn đang co lại.

Mẹo 2 — Phân tích churn theo cohort và theo tính năng. Đừng hỏi "ai churn", hãy hỏi "khách churn có điểm gì chung" — thường là chưa đạt được aha moment hoặc chưa dùng tính năng cốt lõi trong tuần đầu.

Mẹo 3 — Đo cả trial-to-paid conversion. Với sản phẩm có free trial, tỷ lệ chuyển đổi từ trial sang trả tiền là chỉ số đầu phễu quyết định toàn bộ MRR về sau.

Mẹo 4 — Chú ý "MRR bóng ma". Đừng tính khách đang trial hoặc đang trong grace period vào MRR thật cho đến khi họ thực sự trả tiền.

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

  • Dựng phân rã MRR. Với sản phẩm bạn đang làm (hoặc một sản phẩm subscription giả định có 500 khách), liệt kê 5 event vòng đời subscription cần track kèm property. Phác thảo một stacked bar chart MRR movement cho 3 tháng gần nhất.
  • Tính NRR bằng tay. Cho: đầu tháng MRR = 100 triệu; trong tháng có Expansion +12 triệu, Contraction −4 triệu, Churn −9 triệu, New (khách mới) +20 triệu. Hãy tính NRR và giải thích tại sao New MRR không được tính vào công thức NRR.
  • Chẩn đoán churn. Sản phẩm của bạn báo churn 9%/tháng. Hãy đề xuất cách tách con số này thành voluntary/involuntary trong Mixpanel hoặc Amplitude, và với mỗi loại, đề xuất một hành động khắc phục cụ thể.
  • Tìm cơ hội expansion. Nhìn vào tệp khách hiện tại của bạn, xác định 2 nhóm khách có tiềm năng nâng cấp gói hoặc mua add-on. Bạn sẽ dùng behavioral cohort nào (dựa trên hành vi gì) để phát hiện họ?
(Đáp án bài 2: NRR = (100 + 12 − 4 − 9) / 100 = 99%. New MRR bị loại vì NRR chỉ đo khả năng giữ và mở rộng doanh thu từ tệp khách hiện có, không tính tăng trưởng từ khách mới — nhờ vậy nó phản ánh trung thực "cái xô có thủng không".)

Tóm tắt

Analytics cho sản phẩm subscription xoay quanh một sự thật cốt lõi: doanh thu là một dòng chảy định kỳ, không phải con số một lần. Vì vậy:

  • MRR/ARR là nhịp tim, nhưng phải luôn phân rã thành New, Expansion, Reactivation, Contraction, Churned mới đọc được câu chuyện thật.
  • Churn là mất doanh thu tương lai, không chỉ mất một đơn — và phải phân biệt customer churn với revenue churn, voluntary với involuntary.
  • Expansion revenue compound theo thời gian; đo riêng nó thường lộ ra mỏ vàng tăng trưởng rẻ nhất.
  • NRR là chỉ số quyền lực nhất: > 100% nghĩa là bạn tăng trưởng ngay cả khi không có khách mới.
Hãy dựng dashboard MRR movement, tách rõ các loại churn, và luôn nhìn doanh thu qua lăng kính cohort. Khi bạn làm chủ được bộ chỉ số này, bạn không còn chỉ báo cáo con số — bạn đang điều khiển dòng doanh thu của cả sản phẩm.