Vì sao kích thước mẫu và thời lượng test quan trọng
Kích thước mẫu quyết định test của bạn có đủ sức phát hiện khác biệt thật hay không, còn thời lượng quyết định kết quả có phản ánh hành vi thật sự hay chỉ một lát cắt lệch. Chạy test với mẫu quá nhỏ hoặc quá ngắn giống như chụp ảnh trong bóng tối, bạn chẳng thấy gì rõ ràng.
Cái giá cụ thể: một đội ở Việt Nam chạy test hai ngày, thấy chưa có ý nghĩa thống kê, kết luận thay đổi vô dụng và kill. Thực ra mẫu chưa đủ lớn để phát hiện tác động thật vốn có, họ vừa vứt một cải tiến tốt vì thiếu kiên nhẫn. Đây gọi là test thiếu sức mạnh phát hiện.
Cái giá ngược lại là chạy quá ngắn hoặc trúng đợt bất thường. Chạy test đúng dịp sale lớn hay Tết, hành vi người dùng khác hẳn ngày thường, kết quả không đại diện. Hoặc chỉ chạy hai ngày cuối tuần, bỏ qua nhóm người dùng ngày thường. Thiếu kỹ năng này khiến bạn hoặc kết luận vội trên mẫu nhỏ, hoặc chạy vô tận không biết khi nào dừng, lãng phí thời gian và cơ hội.
Bức tranh lớn
Có ba yếu tố liên quan chặt chẽ. Tác động tối thiểu đáng quan tâm là mức cải thiện nhỏ nhất mà bạn thấy đáng để hành động, ví dụ tăng 1 phần trăm tỷ lệ chuyển đổi. Tác động càng nhỏ thì càng cần mẫu lớn để phát hiện. Tỷ lệ nền là chỉ số hiện tại của bạn. Sức mạnh phát hiện là khả năng test bắt được khác biệt thật khi nó tồn tại.
graph TD A[Tac dong toi thieu dang quan tam] --> D[Kich thuoc mau can thiet] B[Ty le nen hien tai] --> D C[Muc suc manh mong muon] --> D D --> E[Thoi luong test toi thieu] E --> F[Chay tron chu ky hanh vi]
Nguyên tắc thực tế: tính trước kích thước mẫu cần thiết bằng công cụ tính có sẵn, rồi từ lưu lượng hằng ngày suy ra cần chạy bao lâu. Luôn chạy trọn ít nhất một tuần, tốt hơn là hai tuần, để bao phủ cả ngày thường lẫn cuối tuần, vì hành vi mua sắm ngày thứ Hai khác hẳn Chủ Nhật.
Ví dụ chi tiết
Một ứng dụng giao đồ ăn muốn test một banner khuyến mãi mới trên trang chủ. Tỷ lệ đặt đơn hiện tại là 8 phần trăm.
Bước 1, xác định tác động tối thiểu đáng quan tâm: đội quyết chỉ ship nếu tăng ít nhất 0.5 phần trăm tuyệt đối, vì dưới mức đó không bù nổi chi phí vận hành khuyến mãi.
Bước 2, dùng công cụ tính kích thước mẫu: nhập tỷ lệ nền 8 phần trăm, tác động tối thiểu 0.5 phần trăm, mức tin cậy và sức mạnh chuẩn. Công cụ báo cần khoảng 25 nghìn người mỗi nhóm.
Bước 3, suy ra thời lượng: app có khoảng 10 nghìn người dùng đủ điều kiện mỗi ngày, chia hai nhóm là 5 nghìn mỗi nhóm mỗi ngày. Vậy cần khoảng 5 ngày để đạt 25 nghìn mỗi nhóm.
Bước 4, làm tròn lên trọn tuần: đội chạy đủ 7 ngày để bao cả cuối tuần, tránh kết luận lệch vì cuối tuần người ta đặt đồ ăn nhiều hơn.
Bước 5, chốt trước ngày dừng: đội ghi rõ sẽ đọc kết quả vào cuối ngày thứ bảy, không nhìn ngó và kết luận giữa chừng. Điều này tránh bẫy peeking sẽ học ở bài sau.
Kết quả: sau 7 ngày, banner tăng 0.7 phần trăm với p-value 0.03. Vượt ngưỡng tối thiểu và có ý nghĩa thống kê, đội ship. Nhờ tính mẫu trước, họ biết chắc test đủ sức phát hiện và không phải đoán mò.
Lộ trình từng bước để làm chủ
graph LR A[Chon tac dong toi thieu dang quan tam] --> B[Lay ty le nen hien tai] B --> C[Dung cong cu tinh mau] C --> D[Suy thoi luong tu luu luong] D --> E[Lam tron len tron tuan] E --> F[Chot ngay dung truoc khi chay]
Sai lầm của người mới là bắt đầu test rồi mới hỏi cần chạy bao lâu. Hãy đảo ngược: tính mẫu và thời lượng trước, viết ra ngày dừng, rồi mới bật test. Khi lưu lượng thấp và test cần vài tháng mới đủ mẫu, đó là tín hiệu nên chọn thay đổi có tác động lớn hơn để test, hoặc tìm cách khác ngoài A/B test.
Thói quen & kỷ luật
| Nhịp | Thói quen |
|---|---|
| Trước mỗi test | Tính kích thước mẫu và thời lượng, ghi ngày dừng |
| Khi thiết kế | Đặt tác động tối thiểu đáng quan tâm rõ ràng |
| Trong khi chạy | Không kết luận trước ngày dừng đã chốt |
| Sau khi đóng | So sánh mẫu thực tế với mẫu dự tính |
Cần luyện tập gì (drills)
Drill 1: với ba tỷ lệ nền khác nhau và cùng tác động tối thiểu, dùng công cụ tính mẫu và ghi lại kích thước cần thiết, quan sát tỷ lệ nền ảnh hưởng thế nào.
Drill 2: cho lưu lượng hằng ngày của một sản phẩm, tính xem cần bao nhiêu ngày để đạt mẫu, rồi làm tròn lên trọn tuần và giải thích vì sao.
Drill 3: lấy một test bạn từng chạy quá ngắn, tính lại mẫu cần thiết và ước lượng liệu kết luận cũ có đáng tin hay không.
Checklist hành động tuần này
- [ ] Đặt tác động tối thiểu đáng quan tâm cho một test cụ thể
- [ ] Dùng công cụ tính kích thước mẫu cần thiết
- [ ] Suy ra thời lượng từ lưu lượng hằng ngày
- [ ] Làm tròn lên trọn ít nhất một tuần
- [ ] Ghi ngày dừng cố định trước khi bật test
Chỉ số & North Star
North Star là tỷ lệ test bạn chạy với mẫu và thời lượng đủ ngay từ đầu, không phải làm lại vì thiếu dữ liệu.
| Chỉ số | Tốt | Xấu |
|---|---|---|
| Test có tính mẫu trước khi chạy | Gần như mọi test | Hiếm khi |
| Thời lượng bao trọn chu kỳ tuần | Luôn có | Thường chạy vài ngày lẻ |
| Test phải chạy lại vì thiếu mẫu | Rất hiếm | Thường xuyên |
Dấu hiệu bạn đã thành thạo
Bạn tính kích thước mẫu và thời lượng gần như tự động trước mỗi test. Bạn biết ngay khi lưu lượng quá thấp để một test có ý nghĩa và chọn cách tiếp cận khác. Bạn luôn chốt ngày dừng trước và tôn trọng nó. Bạn giải thích được vì sao mẫu nhỏ khiến kết luận không đáng tin dù con số trông đẹp.
Cạm bẫy thường gặp
| Cạm bẫy | Thay bằng |
|---|---|
| Chạy test rồi mới hỏi bao lâu là đủ | Tính mẫu và thời lượng trước khi bật |
| Kill vì chưa có ý nghĩa sau vài ngày | Chờ đủ mẫu đã tính rồi mới kết luận |
| Chạy lẻ vài ngày bỏ qua cuối tuần | Chạy trọn ít nhất một tuần |
| Test đúng dịp Tết hay sale lớn | Tránh giai đoạn hành vi bất thường |
Chốt lại
- Kích thước mẫu quyết định test có đủ sức phát hiện khác biệt thật không.
- Tác động tối thiểu đáng quan tâm càng nhỏ thì càng cần mẫu càng lớn.
- Chạy trọn ít nhất một tuần để bao phủ chu kỳ hành vi ngày thường và cuối tuần.
- Chốt ngày dừng trước khi chạy để không để kết quả quyết định khi nào dừng.