Product Management
Đăng nhập
ESC

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

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

Kích thước mẫu & thời lượng test

Đã đọc 0/12 mục · còn khoảng 8 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

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ịpThói quen
Trước mỗi testTí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ạyKhông kết luận trước ngày dừng đã chốt
Sau khi đóngSo sánh mẫu thực tế với mẫu dự tính
Working mindset: tôi quyết định chạy bao lâu trước khi thấy kết quả, không để kết quả quyết định khi nào tôi dừng.

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ốtXấu
Test có tính mẫu trước khi chạyGần như mọi testHiếm khi
Thời lượng bao trọn chu kỳ tuầnLuôn cóThường chạy vài ngày lẻ
Test phải chạy lại vì thiếu mẫuRất hiếmThườ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ẫyThay 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àyChờ đủ mẫu đã tính rồi mới kết luận
Chạy lẻ vài ngày bỏ qua cuối tuầnChạy trọn ít nhất một tuần
Test đúng dịp Tết hay sale lớnTrá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.
<!--case-append-->

Áp dụng vào Căng tin số

Bài trước cho thấy kết luận phụ thuộc vào độ dao động giữa các ngày. Bài này làm phép tính theo chiều ngược lại: trước khi bật thử nghiệm giờ chốt, cần bao nhiêu ngày? Và nói thẳng ngay từ đầu: một quầy với khoảng 205 đơn mỗi ngày là một thử nghiệm nhỏ.

Ba đầu vào của bài.

  • Tỷ lệ nền: 205 đơn đặt trước đã thanh toán mỗi ngày (tuần 4).
  • Tác động tối thiểu đáng quan tâm: 30 đơn mỗi ngày. Đây là giả sử, nhóm chốt với Anh Tuấn rằng dưới mức này không đáng bắt Cô Hạnh đổi cách nấu mẻ.
  • Sức mạnh và ngưỡng: mức chuẩn, 80% và 0,05.
Cách tính sai: đếm theo người. Nếu coi mỗi người xem thực đơn là một mẫu, tỷ lệ nền chọn món là 34% (310 trên 900). Muốn phát hiện mức tăng 5 điểm lên 39%, công cụ tính mẫu báo cần khoảng 1.450 người mỗi nhánh. Với 900 người xem mỗi ngày chia đôi, chừng 4 ngày là đủ. Nghe rất dễ. Nhưng bài 2 đã chốt đơn vị phân nhóm là ngày, vì cả hai nhóm ăn chung một bếp. Phép tính này đếm sai thứ.

Cách tính đúng: đếm theo ngày. Quy tắc nhẩm quen thuộc ở mức sức mạnh 80% và ngưỡng 0,05: số ngày mỗi nhánh xấp xỉ 16 nhân bình phương độ dao động giữa các ngày, chia cho bình phương mức chênh muốn bắt.

Mức chênh muốn bắt: 30 đơn mỗi ngày, bình phương là 900
Dao động 30 đơn (giả sử) -> 16 nhân 900 chia 900 = 16 ngày mỗi nhánh, 32 ngày học
Dao động 45 đơn (giả sử) -> 16 nhân 2.025 chia 900 = 36 ngày mỗi nhánh, 72 ngày học
Đợt chạy thử vừa rồi: 20 ngày học

Chưa biết dao động thật, nhưng ngay kịch bản lạc quan cũng cần 32 ngày học, hơn sáu tuần, làm tròn lên trọn 7 tuần để mỗi nhánh có đủ thứ Hai và thứ Tư. Gần gấp đôi đợt chạy thử, và còn phải né tuần thi giữa kỳ, tuần thi cuối kỳ, đúng những giai đoạn bất thường mà bài dặn tránh.

Khi lưu lượng thấp, bài gợi ý hai lối ra. Cả hai đều dùng được ở đây.

  • Test một thay đổi có tác động lớn hơn. Khảo sát bỏ ngang gợi ý cỡ 300 người mỗi ngày bị giờ chốt chặn. Nếu nhóm chỉ quan tâm tới mức tăng 60 đơn, thì với dao động 30 đơn chỉ cần 16 nhân 900 chia 3.600, tức 4 ngày mỗi nhánh, làm tròn lên 2 tuần. Cái giá: bạn chấp nhận bỏ lỡ một tác động thật nhưng nhỏ hơn 60.
  • Tìm cách khác ngoài A/B. Ví dụ hỏi ngay lúc người dùng bỏ ngang: "Nếu được đặt tới 10:30, bạn có đặt không?" Rẻ, nhanh, tuy chỉ là lời nói, không phải hành vi.
Việc cần làm trước ngày đầu. Lấy số đơn từng ngày trong 20 ngày chạy thử, bỏ tuần thi, để đo dao động thật. Tính lại số ngày, viết ngày dừng vào brief, và chỉ bật thử nghiệm khi đã biết sẽ đọc kết quả vào ngày nào.

Thử ngay: giả sử dao động giữa các ngày đo được là 40 đơn. Tính số ngày mỗi nhánh để bắt mức chênh 30 đơn, làm tròn lên trọn tuần, rồi cho biết nó có vừa trong một học kỳ không, khi đã trừ hai tuần thi. <!--/case-append-->

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi