Bảng Điều Khiển Ôn Tập Android

Kotlin • MVVM • Flow • REST API • Compose • Testing

Về Lộ trình UA
Tuần 2Đo lường — Bộ chỉ số cốt lõi của UA

Metrics chính của User Acquisition

Tự tính và đọc đúng CPI, CTR, CPC, CVR, Retention D1/D7/D30, Churn, LTV, ARPPU, ARPDAU, Rev/User, ROI và ROAS; hiểu chỉ số nào quyết định app sống hay chết.

1Trước khi vào metrics: đọc số theo phễu

Ghi nhớ

Mục tiêu tuần này: tự tính và đọc đúng CPI, CTR, CPC, CVR, Retention D1/D7/D30, Churn, LTV, ARPPU, ARPDAU, Rev/User, ROI và ROAS. Đây là bộ từ vựng bắt buộc trước khi đụng vào paid ads. Nguyên tắc lõi: CPI chỉ cho biết giá mua user, ROAS mới cho biết app có sống được không.

Mọi chỉ số UA đều nằm trên một phễu: người dùng thấy quảng cáo → bấm → cài → mở → ở lại → trả tiền. Mỗi tầng có một nhóm chỉ số riêng. Đọc số mà không gắn vào tầng phễu thì dễ mừng/lo sai chỗ.

Phễu ví dụ — app mua sắm (từ thấy quảng cáo đến mua hàng)

AwarenessThấy quảng cáo10.000người
InterestBấm vào quảng cáo3.000người
còn 30% so với tầng trên
InstallCài app1.200người
còn 40% so với tầng trên
Sign-upTạo tài khoản400người
còn 33% so với tầng trên
PurchaseMua hàng90người
còn 23% so với tầng trên

Miệng phễu rộng (nhiều người biết đến) thu hẹp dần xuống đáy (ít người mua). Chỗ tụt mạnh nhất là chỗ cần tối ưu trước.

Mỗi tầng phễu — chỉ số chính

TầngCâu hỏi cần trả lờiChỉ số
Hiển thị → ClickQuảng cáo có hấp dẫn không? Click đắt không?CTR, CPC
Click → CàiBao nhiêu người bấm rồi cài? Giá mỗi cài?CVR, CPI
Cài → Ở lạiNgười dùng có quay lại không?Retention D1/D7/D30, Churn
Ở lại → TiềnMỗi người mang lại bao nhiêu doanh thu?ARPU, ARPDAU, ARPPU, LTV
Tổng thểBỏ 1 đồng thu về mấy đồng?ROI, ROAS, điểm hòa vốn

Mẹo

Quy ước ký hiệu: D1/D7/D30 = ngày thứ 1/7/30 sau khi cài. 'Spend' = tiền chi cho ads. 'Install' = lượt cài. 'Revenue' = doanh thu (IAP + quảng cáo).

2Tầng click: CTR & CPC

Đây là tầng trên cùng — đánh giá bản thân mẩu quảng cáo (creative) và giá mua traffic.

CTR (Click-Through Rate) = số click / số lần hiển thị (impression). Cho biết creative có đủ hấp dẫn để người ta bấm không. CTR thấp thường là do hình/tiêu đề/định vị chưa trúng.

CPC (Cost Per Click) = tiền chi / số click. Cho biết mỗi cú bấm đắt bao nhiêu. CPC phụ thuộc mức cạnh tranh của tệp mục tiêu và chất lượng creative (CTR cao thường kéo CPC xuống).

Ví dụ tính CTR & CPC

Impression = 100.000
Click      = 2.000
Spend      = $600

CTR = 2.000 / 100.000 = 2%
CPC = $600 / 2.000    = $0,30

Lưu ý

Bẫy thường gặp: CTR cao nhưng CVR (cài) thấp → creative câu click sai đối tượng (clickbait). CTR đẹp mà cuối phễu không ra install/doanh thu thì vô nghĩa.

3Tầng cài đặt: CVR & CPI

CVR (Conversion Rate) ở UA thường là tỷ lệ chuyển đổi từ một tầng sang tầng kế: click → install, hoặc install → mở app, hoặc install → trả phí. Luôn nói rõ CVR của bước nào để tránh nhầm.

CPI (Cost Per Install) = tiền chi / số install. Là chỉ số 'giá mua một người dùng' quen thuộc nhất. Nhưng CPI một mình KHÔNG nói lên lời/lỗ — phải so với giá trị người dùng mang lại (LTV).

Ví dụ tính CVR & CPI

Click   = 2.000
Install = 500
Spend   = $600

CVR (click→install) = 500 / 2.000 = 25%
CPI                 = $600 / 500  = $1,20

Mẹo

Chuỗi liên kết: CPI = CPC / CVR(click→install). Ở ví dụ trên: $0,30 / 25% = $1,20. Nhìn công thức này thấy ngay: muốn giảm CPI, hoặc giảm CPC (creative tốt hơn) hoặc tăng CVR (store listing tốt hơn).

4Tầng giữ chân: Retention & Churn

Mua được user rồi nhưng họ mở một lần rồi biến mất thì tiền ads đổ sông. Retention đo tỷ lệ người dùng còn quay lại sau X ngày.

Retention Dn = số người còn mở app vào ngày thứ n / số người đã cài. Ba mốc hay xem: D1 (ngày hôm sau), D7 (một tuần), D30 (một tháng). D1 phản ánh ấn tượng đầu và onboarding; D7/D30 phản ánh giá trị dài hạn và thói quen.

Churn = tỷ lệ rời bỏ = 100% − Retention. Retention D1 = 30% nghĩa là Churn D1 = 70%. Churn cao ở D1 và Churn cao ở D30 là hai câu chuyện khác nhau.

Retention D1 thấp — hai nhóm nguyên nhân

Nhóm nguyên nhânVí dụ
Chất lượng traffic (mua sai người)Nhắm sai tệp, creative clickbait, incentivized installs — user không thật sự cần app.
Trải nghiệm trong app (sản phẩm/onboarding)Mở app bị crash/chậm, onboarding rối, chưa thấy giá trị ngay, xin quyền dồn dập.

Lưu ý

Đọc retention phải tách theo nguồn (source). Retention tổng thấp có thể do MỘT kênh rác kéo xuống, trong khi kênh tốt vẫn ổn. Trộn chung dễ ra quyết định sai.

5Tầng doanh thu: ARPU, ARPDAU, ARPPU, LTV

Nhóm này đo mỗi người dùng mang về bao nhiêu tiền. Khác nhau ở MẪU SỐ (chia cho ai) và KHUNG THỜI GIAN.

Ba cái tên ARP* đều bắt đầu bằng ARP = Average Revenue Per (doanh thu trung bình trên mỗi...), chỉ khác chữ cuối — tức khác mẫu số: ARPU (Average Revenue Per User) chia cho MỌI user; ARPDAU (Average Revenue Per Daily Active User) chia cho user HOẠT ĐỘNG trong ngày; ARPPU (Average Revenue Per Paying User) chia cho user CÓ TRẢ tiền. Nhớ chữ cuối là nhớ được mẫu số.

Mẹo

Vài viết tắt đi kèm: DAU (Daily Active Users) = số user hoạt động trong một ngày; IAP (In-App Purchase) = doanh thu từ mua trong app / subscription; IAA (In-App Advertising) = doanh thu từ quảng cáo hiển thị trong app.

Phân biệt các chỉ số doanh thu/người dùng

Chỉ sốCông thứcÝ nghĩa
ARPUDoanh thu / tổng số userTrung bình mỗi user (kể cả người không trả) trong một kỳ.
ARPDAUDoanh thu ngày / số user hoạt động ngày (DAU)Kiếm tiền trung bình mỗi user hoạt động mỗi ngày — hay dùng cho app quảng cáo (IAA).
ARPPUDoanh thu / số user CÓ TRẢ tiềnTrung bình mỗi người trả tiền chi ra — dùng cho IAP/subscription.
Rev/UserDoanh thu / user (theo ngữ cảnh)Cách nói chung; luôn hỏi 'trên mẫu số nào, khung thời gian nào'.

LTV (Lifetime Value) = tổng doanh thu một user mang lại trong suốt vòng đời dùng app. Đây là con số quyết định: chỉ khi LTV > CPI thì mua user mới có lãi.

Với app free có quảng cáo (IAA), LTV thường ước lượng từ ARPDAU và retention: cộng dồn doanh thu kỳ vọng qua các ngày user còn ở lại. Một xấp xỉ đơn giản: LTV ≈ ARPDAU × số ngày hoạt động trung bình (mà số ngày này chính là tổng retention theo thời gian).

Ví dụ ước lượng LTV cho app IAA

ARPDAU = $0,02
Số ngày hoạt động TB (từ đường retention) ≈ 20 ngày

LTV ≈ $0,02 × 20 = $0,40

Nếu CPI = $0,30  → LTV ($0,40) > CPI ($0,30) → có lãi
Biên lãi ≈ (0,40 − 0,30) / 0,30 ≈ 33%

Retention tụt dần vs doanh thu cộng dồn (ví dụ app IAA, ARPDAU = $0,02)

Retention — % user còn quay lại

D0
100%
D1
40%
D7
20%
D14
12%
D30
6%

Tụt nhanh ở D1, sau đó phẳng dần — phần đuôi phẳng là user trung thành.

Doanh thu cộng dồn / user — tiến dần tới LTV

D0
$0.02
D1
$0.06
D7
$0.19
D14
$0.29
D30
$0.40

LTV ≈ $0.40 = doanh thu cộng dồn khi đường retention gần như đứng lại.

So với CPI = $0.30: LTV > CPI → có lãi (biên ≈ 33%).

Mẹo

Khác biệt cốt lõi: LTV là TỔNG cả vòng đời; ARPPU chỉ là trung bình MỖI người trả tiền trong một kỳ. Với app IAA, đa số user không trả xu nào (ARPPU không áp dụng kiểu IAP) nên phải đi từ ARPDAU × retention, không phải từ ARPPU.

6Tầng hiệu quả tổng: ROI, ROAS & điểm hòa vốn

Đây là tầng ra quyết định cuối: bỏ tiền ra có lời không, có nên scale hay tắt.

ROAS (Return On Ad Spend) = doanh thu từ ads / chi phí ads, thường tính theo mốc thời gian: ROAS D7 = doanh thu thu được TRONG 7 ngày đầu / spend. ROAS = 100% nghĩa là hòa vốn trong khung đó.

ROI (Return On Investment) = (lợi nhuận − chi phí) / chi phí. ROI tính trên LỢI NHUẬN ròng (đã trừ mọi chi phí), còn ROAS chỉ tính trên DOANH THU so với riêng tiền ads. Vì vậy ROAS thường cao hơn ROI.

Ví dụ ROAS D7 và điểm hòa vốn

Spend        = $600
Revenue (D7) = $300

ROAS D7 = $300 / $600 = 50%
→ Sau 7 ngày mới thu lại nửa vốn.

Có ổn không? TÙY vào đường LTV:
- Nếu doanh thu còn tăng nhiều sau D7 (retention/LTV dài) → 50% D7 có thể vẫn lãi ở D30/D90.
- Nếu doanh thu gần như dừng sau D7 → 50% là lỗ, nên tắt.

ROAS D7 vs điểm hòa vốn (ví dụ: Spend $600, Revenue D7 $300)

Chi phí ads (Spend)$600
Tiền bỏ ra
Điểm hòa vốn$600
Doanh thu cần = Spend
Doanh thu D7$300
Thu về trong 7 ngày đầu

ROAS D7 = $300 / $600 = 50% → sau 7 ngày mới lấy lại 50% vốn.

Tốt hay xấu còn tùy: nếu doanh thu vẫn tăng mạnh sau D7 (retention/LTV dài) thì có thể lãi ở D30/D90; nếu doanh thu gần như dừng ở D7 thì đây là lỗ.

Ghi nhớ

Điểm hòa vốn (break-even): khi LTV = CPI. Muốn lãi X% thì cần LTV = CPI × (1 + X). Ví dụ CPI = $0,30, muốn lãi 20% → LTV cần ≥ $0,30 × 1,20 = $0,36.

Lưu ý

Vì sao ROAS D7 50% chưa kết luận được tốt/xấu? Vì nó phụ thuộc: (1) đường LTV còn kéo dài bao lâu, (2) biên lợi nhuận trên doanh thu, (3) mục tiêu (tăng trưởng chấp nhận hòa vốn sớm) và (4) dòng tiền chịu được bao lâu để đợi hoàn vốn.

7Bài tập tuần này

  • Bài tập 1: Với bộ số liệu giả định được cung cấp, tự tính CPI, CVR, ROAS D7 và điểm hòa vốn của 1 campaign.
  • Bài tập 2: Xây 1 Google Sheet tracking daily cho app: spend, installs, CPI, retention D1/D7, revenue, ROAS. Điền số giả định trong 7 ngày liên tục và viết 3 dòng nhận xét.
  • Bài tập 3: Với app IAA, viết công thức LTV từ ARPDAU và retention, rồi tính ngược: nếu CPI là $0.30 thì LTV cần đạt bao nhiêu để có lãi 20%?

Lưu ý

Cách dùng: tự bấm máy ra đáp số trước, rồi mới đối chiếu lời giải bên dưới. Đọc lời giải trước thì cảm giác 'hiểu rồi' nhưng vào việc thật vẫn không tự dựng được công thức.

8Bài tập 1 — Đọc một campaign từ số liệu thô

Đề bài: campaign 'Summer_A' chạy 30 ngày với bộ số liệu dưới đây. Hãy tính CTR, CPC, CVR, CPI, ROAS D7, ROAS D30 và xác định điểm hòa vốn.

Số liệu campaign Summer_A

Chỉ tiêuGiá trị
Spend (tổng chi ads)$1.500
Impression250.000
Click5.000
Install1.200
Revenue tích lũy đến D7$900
Revenue tích lũy đến D30$1.800

Lời giải — tầng phễu trên

CTR = Click / Impression   = 5.000 / 250.000 = 2%
CPC = Spend / Click        = $1.500 / 5.000   = $0,30
CVR = Install / Click      = 1.200 / 5.000    = 24%
CPI = Spend / Install      = $1.500 / 1.200   = $1,25

Kiểm tra chéo: CPI = CPC / CVR = $0,30 / 24% = $1,25 ✓

Lời giải — tầng hiệu quả & điểm hòa vốn

ROAS D7  = $900   / $1.500 = 60%
ROAS D30 = $1.800 / $1.500 = 120%

Quy về mỗi user (chia cho 1.200 install):
LTV D7  = $900   / 1.200 = $0,75
LTV D30 = $1.800 / 1.200 = $1,50

Điểm hòa vốn: cần LTV = CPI = $1,25
  LTV D7  = $0,75 < $1,25  → sau 7 ngày vẫn đang lỗ
  LTV D30 = $1,50 > $1,25  → đã có lãi trước mốc D30

Biên lãi tại D30 = (1,50 − 1,25) / 1,25 = 20%

Hòa vốn rơi vào khoảng ngày nào? Cần doanh thu tích lũy chạm $1.500. Từ D7 ($900) đến D30 ($1.800) doanh thu tăng thêm $900 trong 23 ngày, cần thêm $600 → nội suy tuyến tính: 600/900 × 23 ≈ 15 ngày, tức khoảng D22.

Mẹo

Nhưng đường doanh thu tích lũy thực tế là đường cong lõm — tăng nhanh những ngày đầu rồi chậm dần theo retention, chứ không tuyến tính. Nên D22 là ước lượng THẬN TRỌNG; hòa vốn thật thường đến sớm hơn. Muốn số chính xác thì phải nhìn doanh thu tích lũy theo từng ngày của cohort, không nội suy 2 điểm.

Lưu ý

Kết luận đúng cho campaign này: ROAS D7 = 60% nhìn qua như lỗ, nhưng campaign vẫn lãi 20% ở D30. Đây chính là lý do không được tắt campaign chỉ vì ROAS D7 < 100% — điều kiện đi kèm là bạn phải chịu được việc đọng vốn ~3 tuần.

9Bài tập 2 — Sheet tracking 7 ngày

Đề bài: dựng sheet theo dõi hằng ngày rồi điền 7 ngày số giả định và viết 3 dòng nhận xét. Dưới đây là cấu trúc cột tối thiểu — cột nào tính được bằng công thức thì KHÔNG gõ tay, để tránh sai lệch khi sửa số.

Cấu trúc cột của sheet

CộtNguồnCông thức (dòng 2)
A. NgàyNhập tay
B. SpendAds manager
C. InstallsAds manager / MMP
D. CPITính=IF(C2=0;0;B2/C2)
E. Retention D1MMP / analytics
F. Retention D7MMP / analytics
G. Revenue trong ngàyAnalytics
H. Spend tích lũyTính=SUM($B$2:B2)
I. Revenue tích lũyTính=SUM($G$2:G2)
J. ROAS tích lũyTính=IF(H2=0;0;I2/H2)

Số liệu mẫu 7 ngày (đã điền)

NgàySpendInstallsCPIRet D1Ret D7Rev ngàyRev tích lũyROAS tích lũy
D1$100100$1,0032%$12$1212,0%
D2$150143$1,0531%$20$3212,8%
D3$200182$1,1030%$30$6213,8%
D4$300250$1,2027%$42$10413,9%
D5$400308$1,3025%$55$15913,8%
D6$500357$1,4023%$66$22513,6%
D7$600400$1,5021%8%$80$30513,6%
  • Nhận xét 1 — Giá mua user đang xấu đi: spend tăng 6 lần ($100 → $600) thì CPI tăng 50% ($1,00 → $1,50). Đẩy ngân sách nhanh buộc hệ thống mở rộng sang tệp kém liên quan hơn, nên mỗi install đắt dần.
  • Nhận xét 2 — Không chỉ đắt hơn mà còn kém hơn: Retention D1 rơi 32% → 21% đúng cùng nhịp tăng spend. Nếu chỉ đắt lên thì còn cân nhắc; đắt lên VÀ user ở lại ít hơn nghĩa là chất lượng traffic đang loãng, không phải chỉ do cạnh tranh giá.
  • Nhận xét 3 — Hành động: ROAS tích lũy chững quanh 13,6–13,9% rồi đi ngang/giảm → tiền đổ thêm không tạo thêm hiệu quả. Nên dừng scale, tách số theo nguồn/creative để tìm phần còn tốt, rồi mới tăng ngân sách trở lại theo từng bậc nhỏ (~20%/lần).

Lưu ý

Bẫy quan trọng của chính cái sheet này: ROAS tích lũy theo NGÀY LỊCH trộn lẫn cohort cũ và mới. Ngày D7 có 400 install vừa vào (chưa kịp sinh doanh thu) nằm chung mẫu số với cohort D1 đã chạy 7 ngày → ROAS bị kéo thấp một cách giả tạo. Con số 13,6% KHÔNG có nghĩa app chỉ hoàn được 13,6% vốn. Muốn kết luận lời/lỗ phải đọc theo cohort: nhóm cài ngày D1 sau 7 ngày hoàn được bao nhiêu %.

Mẹo

Nâng cấp sheet khi đã quen: thêm một tab cohort — hàng là ngày cài, cột là D0, D1, D3, D7, D14, D30, ô là doanh thu tích lũy/user của cohort đó. Đó mới là bảng dùng để quyết định scale hay tắt.

10Bài tập 3 — LTV từ ARPDAU và bài toán ngược

Đề bài: với app IAA, viết công thức LTV từ ARPDAU và retention, rồi tính ngược — nếu CPI = $0,30 thì LTV cần đạt bao nhiêu để có lãi 20%?

Phần 1 — Dựng công thức

Mỗi ngày user còn hoạt động thì mang về trung bình ARPDAU.
Xác suất user còn hoạt động ở ngày thứ n chính là Retention(n).

LTV = ARPDAU × [ R(0) + R(1) + R(2) + ... + R(N) ]

Tổng trong ngoặc = số ngày hoạt động trung bình của một user
                 = 'vòng đời' tính bằng ngày (average lifetime)

Viết gọn:  LTV ≈ ARPDAU × Vòng đời (ngày)

Mẹo

Điểm dễ sai: vòng đời KHÔNG phải 'user dùng app bao nhiêu ngày rồi bỏ', mà là TỔNG các tỷ lệ retention cộng lại (diện tích dưới đường retention). Retention D1 30%, D7 12%, D30 5% có thể cộng dồn thành ~15–20 ngày hoạt động, dù rất ít user thật sự mở app đủ 30 ngày.

Phần 2 — Tính ngược từ CPI

Lãi 20% nghĩa là mỗi $1 bỏ ra phải thu về $1,20:

  LTV cần ≥ CPI × (1 + 20%) = $0,30 × 1,20 = $0,36

Đổi ra yêu cầu vận hành — cần đạt $0,36 bằng cách nào?

  Nếu ARPDAU = $0,02:
    Vòng đời cần = $0,36 / $0,02 = 18 ngày hoạt động

  Nếu vòng đời chỉ đạt 12 ngày:
    ARPDAU cần = $0,36 / 12 = $0,03  (phải tăng 50%)

Ý nghĩa của bài toán ngược: một mục tiêu lợi nhuận luôn quy được về HAI đòn bẩy cụ thể — kiếm nhiều tiền hơn mỗi ngày hoạt động (ARPDAU: mật độ quảng cáo, giá eCPM, vị trí đặt ads) hoặc giữ user ở lại lâu hơn (retention: onboarding, nội dung, thông báo). Nếu cả hai đều không nhích được thì đòn bẩy còn lại là kéo CPI xuống.

Lưu ý

Lưu ý cách đọc đề: 'lãi 20%' ở đây là lãi trên chi phí (ROI 20%) → LTV = CPI × 1,20. Đừng nhầm với 'ROAS 120%' — ROAS chỉ so doanh thu với riêng tiền ads, chưa trừ chi phí khác. Trong thực tế còn phải trừ hoa hồng store 15–30%, nên LTV ròng về tay bạn thấp hơn LTV gộp: muốn lãi 20% thật thì mốc cần đạt còn cao hơn $0,36.

Câu hỏi tự kiểm tra

Trả lời bằng lời (nói to hoặc viết ra) không nhìn tài liệu. Chỗ nào bí thì quay lại phần tương ứng ở trên.

  1. 1CTR, CPC, CPI, CVR — mỗi chỉ số đo tầng nào của phễu và tính bằng công thức gì?
  2. 2ROAS D7 đạt 50% là tốt hay xấu? Câu trả lời phụ thuộc những yếu tố nào?
  3. 3LTV và ARPPU khác nhau thế nào với app free có quảng cáo (IAA)?
  4. 4Retention D1 thấp thường do 2 nhóm nguyên nhân nào?
  5. 5Với app IAA, viết công thức LTV từ ARPDAU và retention.
  6. 6Nếu CPI là $0.30 thì LTV cần đạt bao nhiêu để có lãi 20%?
  7. 7ROI và ROAS khác nhau ở điểm gì? Khi nào một campaign 'ROAS < 100%' vẫn có thể chấp nhận?

Checklist tự đánh giá

Tick những gì bạn đã nắm chắc

0/6