← Tất cả các tuần · Phase 4: Suy luận & Chẩn đoán · khoảng 270 phút
Tuần 10: Kiểm định và A/B test
Bản nháp, đang chờ duyệt nội dung
- Đọc đúng confidence interval và p-value, không mắc ngộ nhận 'p là xác suất H0 đúng'.
- Phân biệt ý nghĩa thống kê và ý nghĩa thực tế.
- Đọc kết quả một A/B test và viết kết luận có trách nhiệm.
- Biết khi nào dùng t-test, khi nào dùng chi-square test; chạy được bằng scipy.
- Hiểu vì sao cần tính sample size trước khi chạy thí nghiệm.
Video sắp có.
Audio tóm tắt tuần (NotebookLM) sắp có.
Tuần 9 dạy rằng muốn chứng minh nhân quả thì nên chia ngẫu nhiên. Tuần này dạy cách đọc kết quả của thí nghiệm đó: khác biệt quan sát được là thật hay chỉ do may rủi, và có đáng để hành động không.
Bài 10.1. Confidence interval [6]
Bạn đo tỷ lệ chuyển đổi trên 1.000 khách: 10%. Nếu đo lại trên 1.000 khách khác, con số sẽ hơi khác (8,9%, 11,2%…). Confidence interval (khoảng tin cậy, CI) cho biết khoảng dao động hợp lý của con số thật.
CI 95% của một tỷ lệ ≈ p ± 1,96 × √(p × (1 − p) / n)
Với p = 10%, n = 1.000: 10% ± 1,9 pp, tức 8,1% đến 11,9%. Với n = 10.000: 10% ± 0,6 pp.
Cách đọc đúng: “nếu lặp lại việc lấy mẫu rất nhiều lần, khoảng 95% các khoảng tính theo cách này sẽ chứa giá trị thật”. Cách đọc thực dụng: khoảng càng hẹp, ước lượng càng chắc. Mẫu lớn gấp 4 lần thì khoảng hẹp đi một nửa (nhớ sd/√n của tuần 8).
Bài 10.2. p-value và ý nghĩa thống kê [6]
Một A/B test bắt đầu từ giả định H0 (null hypothesis): “A và B không khác nhau, mọi chênh lệch là do may rủi”.
p-value = nếu H0 đúng (thật sự không khác nhau), xác suất thấy chênh lệch lớn bằng hoặc hơn chênh lệch quan sát được.
- p nhỏ (thường dưới 0,05): chênh lệch như vậy khó xảy ra do may rủi → “có ý nghĩa thống kê”.
- p lớn: chênh lệch có thể chỉ do may rủi → chưa đủ bằng chứng. Không có nghĩa là “chứng minh A và B giống nhau”.
Ba ngộ nhận cần tránh:
| Ngộ nhận | Thực ra |
|---|---|
| p = 0,03 nghĩa là 3% khả năng H0 đúng | p tính khi giả định H0 đúng; nó không phải xác suất H0 đúng |
| p nhỏ nghĩa là hiệu ứng lớn | Mẫu rất lớn thì hiệu ứng rất nhỏ cũng cho p nhỏ |
| p = 0,06 nghĩa là không có hiệu ứng | Chỉ là chưa đủ bằng chứng với cỡ mẫu này |
Bài 10.3. Ý nghĩa thống kê khác ý nghĩa thực tế [7]
- Ý nghĩa thống kê: chênh lệch có khó là ngẫu nhiên không? (p-value)
- Ý nghĩa thực tế: chênh lệch có đủ lớn để đáng làm không? (so với chi phí, rủi ro, công sức)
Với 1 triệu user mỗi nhóm, B hơn A 0,01 pp vẫn có thể cho p < 0,001. Nhưng 0,01 pp có thể không bù nổi chi phí phát triển và bảo trì tính năng.
Bài 10.4. Đọc kết quả A/B test [6]
Quy trình đọc một A/B test:
- Metric chính đã định nghĩa trước chưa? (tử số, mẫu số: tuần 6)
- Chia ngẫu nhiên đúng chưa? Hai nhóm có cân bằng về các đặc điểm chính không?
- Độ lớn hiệu ứng và CI là bao nhiêu?
- p-value là bao nhiêu?
- Hiệu ứng có đủ lớn để đáng triển khai không? Metric đối trọng (guardrail) có xấu đi không?
Kết quả cho sẵn: conversion A = 10%, B = 12%.
Kết luận mẫu:
- n = 1.000: chênh lệch 2 pp chưa đủ bằng chứng (p ≈ 0,17). Không kết luận B tốt hơn; cũng không kết luận B bằng A. Cần mẫu lớn hơn.
- n = 10.000: chênh lệch 2 pp khó là ngẫu nhiên (p dưới 0,001). Nếu 2 pp đáng giá về kinh doanh và guardrail không xấu đi, có thể triển khai B.
- Cùng chênh lệch mà kết luận khác vì mẫu lớn hơn làm ước lượng chắc hơn (CI hẹp hơn), nên cùng mức chênh lệch trở nên khó giải thích bằng may rủi.
Bài 10.5. t-test, chi-square test và sample size [5]
| Test | Dùng khi | Ví dụ | scipy |
|---|---|---|---|
| Chi-square | So tỷ lệ giữa các nhóm (biến categorical) | Tỷ lệ chuyển đổi A và B | chi2_contingency |
| t-test | So trung bình của biến numerical giữa 2 nhóm | Giá trị đơn trung bình A và B | ttest_ind |
Sample size: trước khi chạy thí nghiệm, tính cần bao nhiêu người để phát hiện được chênh lệch mình quan tâm. Quy tắc nhanh (độ tin cậy 95%, power 80%): mỗi nhóm cần khoảng 16 × p × (1 − p) / δ², với δ là chênh lệch muốn phát hiện. Ví dụ: p = 10%, muốn phát hiện +2 pp → 16 × 0,1 × 0,9 / 0,02² = 3.600 người mỗi nhóm. Chạy với 1.000 người là quá ít, như kết quả ở trên.
Muốn phát hiện chênh lệch nhỏ gấp đôi thì cần mẫu gấp 4 lần.
Luyện tập tình huống
Tình huống: B tăng 0,01 pp với p dưới 0,001
Bối cảnh. Một A/B test trên 1 triệu user mỗi nhóm cho thấy giao diện B tăng tỷ lệ chuyển đổi từ 5,00% lên 5,01% (tăng 0,01 pp), p dưới 0,001. Product manager đề xuất triển khai B ngay cho toàn bộ user. Chi phí phát triển và bảo trì B ước tính 2 tỷ đồng/năm.
Câu hỏi. Bạn có đồng ý triển khai ngay không? Cần xem thêm gì?
Câu trả lời đã nộp sẽ được khoá lại, không sửa được.
Đáp án mẫu
- Có ý nghĩa thống kê nhưng có thể không có ý nghĩa thực tế. p nhỏ vì mẫu rất lớn; hiệu ứng 0,01 pp là rất nhỏ.
- Quy ra tiền: thêm 0,01 pp chuyển đổi mang lại bao nhiêu doanh thu/lợi nhuận mỗi năm? So với chi phí 2 tỷ/năm.
- Xem thêm: CI của hiệu ứng (có thể gần 0), các guardrail metric (tốc độ trang, tỷ lệ huỷ), và tác động dài hạn.
- Chỉ triển khai nếu lợi ích ước tính vượt chi phí với biên an toàn.
Tình huống: thí nghiệm 'không có tác dụng'
Bối cảnh. Team marketing thử email cá nhân hoá trên 300 khách (150 nhận email mới, 150 nhận email cũ). Tỷ lệ mua: 8,0% so với 6,0%, p = 0,50. Báo cáo kết luận: 'Email cá nhân hoá không có tác dụng, dừng dự án.'
Câu hỏi. Kết luận này có đúng không? Bạn đề xuất gì?
Câu trả lời đã nộp sẽ được khoá lại, không sửa được.
Đáp án mẫu
- Sai cách đọc: p = 0,50 nghĩa là chưa đủ bằng chứng, không phải “chứng minh không có tác dụng”.
- Mẫu quá nhỏ: để phát hiện +2 pp với p khoảng 6–8%, cần khoảng 16 × 0,07 × 0,93 / 0,02² ≈ 2.600 người mỗi nhóm, nhiều hơn rất xa 150.
- Đề xuất: tính sample size trước, chạy lại với đủ mẫu; nếu không đủ khách, nói rõ thí nghiệm chưa kết luận được.
Tóm tắt tuần
- CI cho khoảng dao động hợp lý; mẫu gấp 4 thì khoảng hẹp một nửa.
- p-value: xác suất thấy chênh lệch như vậy nếu H0 đúng. Không phải xác suất H0 đúng.
- p nhỏ ≠ hiệu ứng lớn. Luôn hỏi: hiệu ứng có đáng làm không?
- p lớn ≠ không có hiệu ứng. Có thể mẫu quá nhỏ.
- Chi-square cho tỷ lệ, t-test cho trung bình. Tính sample size trước khi chạy.