CAC và ROAS
Bạn sẽ học được
- Tính CAC và ROAS đúng định nghĩa.
- Phân biệt CAC gộp và CAC trả phí.
- Vì sao ROAS cao chưa chắc có lãi.
- Tính thời gian hoàn vốn từ CAC và biên lợi nhuận.
- Những lỗi khiến hai báo cáo cùng tên cho hai con số khác nhau.
Khái niệm cốt lõi
Hai chỉ số nền tảng của marketing:
CAC = chi phí có được khách mới / số khách mới
ROAS = doanh thu quy cho quảng cáo / chi phí quảng cáoCAC trả lời "mỗi khách tốn bao nhiêu để có". ROAS trả lời "mỗi đồng quảng cáo mang về bao nhiêu doanh thu".
Cả hai đều là phân số, nên điều quan trọng nhất là chốt tử số và mẫu số. Không có định nghĩa chung cho mọi công ty; có định nghĩa được ghi lại và giữ nguyên.
CAC: chọn tử số và mẫu số
Tử số có thể gồm:
| Thành phần | Có tính vào CAC? |
|---|---|
| Chi phí quảng cáo trả cho nền tảng | Có |
| Phí agency, công cụ | Tuỳ quy ước — ghi rõ |
| Lương đội marketing | Thường không, nhưng phải nói |
| Chi phí khuyến mãi, voucher | Nên có nếu là chi phí có khách |
Mẫu số là khách mới, không phải đơn hàng và không phải khách quay lại. Nếu một người mua ba lần, họ vẫn là một khách mới.
SELECT
SUM(spend) AS tong_chi,
COUNT(DISTINCT customer_id) AS khach_moi,
ROUND(SUM(spend) / NULLIF(COUNT(DISTINCT customer_id), 0), 0) AS cac
FROM (
SELECT spend FROM marketing_spend
WHERE spend_date >= CURRENT_DATE - INTERVAL '30 days'
) s
CROSS JOIN (
SELECT customer_id
FROM orders
WHERE created_at >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY customer_id
HAVING MIN(created_at) >= CURRENT_DATE - INTERVAL '30 days'
) c;Lưu ý: truy vấn trên là CAC gộp (blended) — toàn bộ chi phí chia toàn bộ khách mới, kể cả khách đến từ kênh tự nhiên. CAC trả phí (paid CAC) chỉ chia chi phí quảng cáo cho khách đến từ quảng cáo.
CAC gộp thường thấp hơn vì có khách tự nhiên. Khi báo cáo phải ghi rõ loại nào.
ROAS và cái bẫy doanh thu
ROAS dùng doanh thu, không dùng lợi nhuận. Đây là lý do một chiến dịch ROAS 1,6 có thể vẫn lỗ.
Ví dụ:
- Chi phí quảng cáo: 300.000.000 đồng.
- Doanh thu quy cho quảng cáo: 480.000.000 đồng.
- ROAS = 480 / 300 = 1,6.
Nhìn qua tưởng lãi. Nhưng nếu biên lợi nhuận gộp là 35%, doanh thu 480 triệu chỉ mang lại 168 triệu lợi nhuận gộp — ít hơn 300 triệu chi phí. Lỗ 132 triệu.
ROAS hoà vốn khi tính trên lợi nhuận gộp:
ROAS hoà vốn = 1 / biên lợi nhuận gộpVới biên 35%: 1 / 0,35 = 2,86. Chiến dịch cần ROAS ít nhất 2,86 mới hoà vốn trên lợi nhuận gộp của đơn đầu tiên. ROAS 1,6 lỗ rõ ràng.
Nếu sản phẩm có mua lặp lại, đơn đầu có thể lỗ mà vẫn hợp lý — nhưng phải chứng minh bằng dữ liệu mua lại, không bằng giả định.
Thời gian hoàn vốn
Câu hỏi thực tế không phải "ROAS bao nhiêu" mà "bao lâu thì thu hồi CAC".
Số tháng hoàn vốn = CAC / lợi nhuận gộp trung bình mỗi khách mỗi thángVí dụ: CAC 400.000 đồng; mỗi khách mang lại 120.000 đồng lợi nhuận gộp mỗi tháng → hoàn vốn sau 3,3 tháng.
Doanh nghiệp có dòng tiền eo hẹp cần hoàn vốn dưới 6 tháng; doanh nghiệp có vốn dài hạn có thể chấp nhận 12 tháng. Không có ngưỡng chung — nhưng phải tính, không được bỏ qua.
Bảng theo dõi nên có đủ ba cột:
| Kênh | CAC | LTV gộp dự kiến | Hoàn vốn (tháng) |
|---|---|---|---|
| Kênh A | 250.000 | 900.000 | 2,1 |
| Kênh B | 420.000 | 600.000 | 5,0 |
| Kênh C | 180.000 | 200.000 | 9,0 |
Cùng một mức CAC có thể tốt hoặc xấu tuỳ LTV. So sánh CAC giữa các kênh mà không kèm LTV là so sánh thiếu.
Đo theo kênh
SELECT
channel,
SUM(spend) AS chi,
SUM(revenue) AS doanh_thu,
ROUND(SUM(revenue) / NULLIF(SUM(spend), 0), 2) AS roas,
COUNT(DISTINCT customer_id) AS khach_moi,
ROUND(SUM(spend) / NULLIF(COUNT(DISTINCT customer_id), 0), 0) AS cac
FROM channel_performance
WHERE ngay >= CURRENT_DATE - INTERVAL '30 days'
GROUP BY 1
ORDER BY roas DESC;Kênh có ít khách mới cho con số dao động mạnh. Một kênh có 20 khách mới/tháng không thể được xếp hạng trên cùng bảng với kênh có 2.000 khách mà không kèm khoảng tin cậy hoặc cỡ mẫu.
Lỗi thường gặp
- Cửa sổ thời gian khác nhau: chi phí 30 ngày nhưng doanh thu 90 ngày. Chốt cùng cửa sổ hoặc ghi rõ.
- Tính cả khách quay lại vào mẫu số CAC: CAC bị thấp giả.
- Dùng doanh thu thay lợi nhuận gộp: kết luận lãi sai.
- Bỏ phí agency/công cụ: CAC thấp hơn thực tế.
- Cộng doanh thu quy cho nhiều nền tảng: mỗi nền tảng tự nhận cùng một đơn, tổng vượt doanh thu thật.
- So sánh CAC giữa các kỳ có cơ cấu kênh khác nhau: CAC gộp đổi vì mix đổi, không phải vì hiệu quả đổi.
Thực hành
- Tính CAC gộp và CAC trả phí cho 30 ngày.
- Tính ROAS hoà vốn với biên lợi nhuận gộp 30%, 40%, 50%.
- Tính thời gian hoàn vốn cho ba kênh.
- Kiểm tra xem tổng doanh thu quy cho các nền tảng có vượt doanh thu thật không.
- Viết định nghĩa CAC và ROAS vào tài liệu chỉ số của nhóm.
Lỗi thường gặp
| Triệu chứng | Nguyên nhân | Cách sửa |
|---|---|---|
| CAC thấp bất thường | Mẫu số gồm khách quay lại | Chỉ đếm khách mới |
| ROAS cao nhưng lỗ | Dùng doanh thu, bỏ biên lợi nhuận | Tính ROAS hoà vốn |
| Hai báo cáo lệch nhau | Cửa sổ hoặc định nghĩa khác | Chốt metric spec |
| Tổng quy công vượt doanh thu | Nhiều nền tảng nhận cùng đơn | Dùng mô hình quy công thống nhất |
| Xếp hạng kênh nhỏ | Mẫu quá ít | Yêu cầu cỡ mẫu tối thiểu |
| CAC tăng đột biến | Đổi cơ cấu kênh | So CAC từng kênh |
Tóm tắt
- CAC và ROAS đều phụ thuộc định nghĩa; phải chốt và ghi lại.
- CAC dùng khách mới, không dùng đơn hàng.
- ROAS dùng doanh thu; muốn biết lãi phải so với ROAS hoà vốn = 1/biên gộp.
- Hoàn vốn CAC quan trọng hơn ROAS đơn thuần.
- So sánh kênh cần kèm LTV và cỡ mẫu.
Dùng ← → để chuyển bài