Thiết kế thí nghiệm
Bạn sẽ học được
- Các quyết định phải chốt trước khi chạy thí nghiệm.
- Đơn vị ngẫu nhiên hoá và hệ quả của nó.
- Cách tính cỡ mẫu và thời gian chạy.
- Vai trò của A/A test và kiểm tra sức khoẻ.
- Vì sao dừng sớm vì kết quả đẹp làm tăng dương tính giả.
Khái niệm cốt lõi
Một thí nghiệm A/B đáng tin cần được thiết kế trước khi thu dữ liệu. Năm quyết định bắt buộc:
- Giả thuyết và chỉ số chính — thay đổi gì, đo bằng gì.
- Đơn vị ngẫu nhiên hoá — chia ngẫu nhiên theo người dùng, phiên, hay đơn vị tổ chức?
- Cỡ mẫu — cần bao nhiêu quan sát để phát hiện hiệu ứng tối thiểu có ý nghĩa (MDE).
- Thời gian — đủ dài để bao phủ chu kỳ tuần và tránh hiệu ứng mới lạ.
- Quy tắc dừng — khi nào kết luận, khi nào dừng vì lỗi.
Thiếu bất kỳ mục nào, kết quả dễ bị tranh cãi hoặc bị chọn theo hướng có lợi.
Đơn vị ngẫu nhiên hoá
| Đơn vị | Phù hợp khi | Rủi ro |
|---|---|---|
| Người dùng | Thay đổi trải nghiệm cá nhân | Người dùng nhiều thiết bị |
| Phiên | Thay đổi giao diện nhẹ | Cùng người thấy cả hai phiên bản |
| Đơn hàng | Thay đổi giá, khuyến mãi | Một người thấy hai giá |
| Cửa hàng/khu vực | Thay đổi vận hành | Cần nhiều cửa hàng, mẫu nhỏ |
Nguyên tắc: chia ngẫu nhiên ở cấp mà can thiệp tác động, và tránh để cùng một người nhận hai phiên bản nếu trải nghiệm sẽ mâu thuẫn. Nếu chia theo phiên nhưng đo chuyển đổi theo người dùng, kết quả bị nhiễu do trộn hai phiên bản.
Cỡ mẫu và MDE
MDE (minimum detectable effect) là hiệu ứng nhỏ nhất bạn muốn phát hiện. Cỡ mẫu tăng khi:
- MDE nhỏ hơn.
- Tỷ lệ nền gần 50% hơn (phương sai lớn nhất).
- Yêu cầu power cao hơn.
- α nhỏ hơn.
Công thức xấp xỉ cho hai tỷ lệ, α = 0,05, power 80%:
n mỗi nhóm ≈ 16 × p(1 − p) / Δ²Với p = 10% và Δ = 2 điểm phần trăm: 16 × 0,09 / 0,0004 = 3.600 mỗi nhóm. Tính chính xác hơn (dùng giá trị p của cả hai nhóm) cho khoảng 3.800.
Hệ quả thực tế: muốn phát hiện hiệu ứng 1 điểm phần trăm thay vì 2, cỡ mẫu tăng gấp bốn — khoảng 14.400 mỗi nhóm. Đây là lý do nhiều thí nghiệm nhỏ không thể kết luận gì.
Thời gian chạy
Cỡ mẫu cho biết số quan sát, chưa cho biết chạy bao lâu. Cần ít nhất:
- Một chu kỳ đầy đủ 7 ngày để bao phủ hành vi cuối tuần.
- Tránh tuần lễ đặc biệt (Tết, khuyến mãi lớn) hoặc ghi chú rõ.
- Đủ lâu để vượt hiệu ứng mới lạ: người dùng thử vì mới, không vì tốt hơn.
Quy tắc: chạy đến khi đủ cỡ mẫu và đủ ít nhất hai tuần, rồi mới đọc kết quả.
A/A test và kiểm tra sức khoẻ
Trước khi tin một thí nghiệm A/B, chạy A/A: chia ngẫu nhiên hai nhóm nhưng cả hai nhận cùng trải nghiệm. Kỳ vọng: không có khác biệt. Nếu A/A cho p < 0,05 thường xuyên hơn 5%, hệ thống chia nhóm hoặc đo lường có vấn đề.
Kiểm tra sức khoẻ trong lúc chạy:
- Tỷ lệ chia nhóm có đúng 50/50 không (SRM).
- Số người dùng mỗi nhóm có tăng đều không.
- Chỉ số bảo vệ có xấu đi không (lỗi, tải trang, huỷ).
- Có sự kiện ngoài lề không (sự cố, chiến dịch khác).
Dừng sớm
Nhìn kết quả mỗi ngày và dừng khi p < 0,05 làm tăng mạnh dương tính giả. Với nhiều lần nhìn, xác suất ít nhất một lần vượt ngưỡng có thể lên 20–30% dù không có hiệu ứng.
Các lựa chọn hợp lệ:
- Chốt thời điểm đọc một lần sau khi đủ mẫu.
- Sequential testing có hiệu chỉnh ngưỡng (ví dụ alpha spending).
- Dừng vì lý do an toàn (guardrail xấu) — được phép, nhưng phải ghi rõ và không dùng dữ liệu đó để tuyên bố hiệu quả.
Không được: chạy đến khi đẹp rồi dừng và báo cáo như thể đã chốt trước.
Ghi chép thiết kế
Một tài liệu ngắn, viết trước khi chạy:
Tên: Thay đổi nút đăng ký
Giả thuyết: nút rõ hơn tăng tỷ lệ đăng ký
Chỉ số chính: tỷ lệ đăng ký hoàn tất / người vào trang
Chỉ số bảo vệ: tỷ lệ lỗi form, thời gian tải
Đơn vị: người dùng, chia 50/50
MDE: +1,5 điểm phần trăm
Cỡ mẫu: 8.000 mỗi nhóm
Thời gian: 14 ngày
Quy tắc dừng: đọc một lần ở ngày 14; dừng sớm nếu lỗi form > 2%Tài liệu này ngăn tranh cãi sau khi có kết quả và buộc nhóm suy nghĩ trước về MDE.
Thực hành
- Viết thiết kế cho một thay đổi nhỏ trong sản phẩm bạn biết.
- Chọn đơn vị ngẫu nhiên hoá và giải thích.
- Tính cỡ mẫu cho p = 20%, MDE = 3 điểm phần trăm.
- Nêu ba kiểm tra sức khoẻ sẽ theo dõi.
- Viết quy tắc dừng cho thí nghiệm của bạn.
Lỗi thường gặp
| Triệu chứng | Nguyên nhân | Cách sửa |
|---|---|---|
| Kết quả không lặp lại | Dừng sớm hoặc mẫu nhỏ | Chốt cỡ mẫu và thời gian |
| Hai nhóm lệch cỡ | Lỗi chia nhóm (SRM) | Kiểm tra hàm băm, log phân bổ |
| Người dùng thấy cả hai bản | Chia theo phiên | Chia theo người dùng |
| Hiệu ứng biến mất sau 2 tuần | Hiệu ứng mới lạ | Chạy đủ lâu, xem xu hướng |
| Chỉ số chính đổi giữa chừng | Chọn sau khi xem dữ liệu | Chốt trước, ghi tài liệu |
| Bỏ qua lỗi form | Không có guardrail | Theo dõi chỉ số bảo vệ |
Tóm tắt
- Chốt giả thuyết, chỉ số, đơn vị, cỡ mẫu, thời gian, quy tắc dừng trước khi chạy.
- Cỡ mẫu tăng theo bình phương nghịch của MDE.
- Chạy ít nhất một chu kỳ tuần và đủ lâu để vượt hiệu ứng mới lạ.
- A/A test và kiểm tra SRM phát hiện lỗi hệ thống.
- Không dừng sớm vì kết quả đẹp.
Dùng ← → để chuyển bài