Nhập số lượt truy cập và lượt chuyển đổi của từng phiên bản. Bạn nhận được kết luận trong một câu, p-value kèm lời giải, khoảng tin cậy, xác suất Bayes để B tốt hơn, phần kiểm tra việc chia lưu lượng có bị lỗi không, và mức tăng nhỏ nhất mà bài test này có thể thấy được.
Công cụ này cho bạn biết những gì mà công cụ khác không nói
Công cụ tính A/B test nào cũng in ra p-value. Phần lớn dừng ở đó, và thế là các nhà sáng lập ngồi nhìn con số 87% độ tin cậy mà không hiểu nó nghĩa là gì. Công cụ này trả lời những câu hỏi thật sự quyết định bước tiếp theo của bạn. Chênh lệch có lớn hơn mức mà ngẫu nhiên tạo ra không? Mức tăng thật có thể lớn đến đâu, trong trường hợp xấu nhất và tốt nhất? Nếu bài test ra kết quả "không có ý nghĩa thống kê", liệu với cỡ mẫu này nó có bao giờ tìm ra được điều gì không? Và bản thân việc chia lưu lượng có ổn không, hay bạn đang so sánh hai nhóm vốn chưa bao giờ ngang nhau?
Công cụ chạy z-test hai tỷ lệ chuẩn, chính là phép kiểm định mà engine cổ điển của Optimizely, chế độ tần suất của VWO và mọi giáo trình thống kê đều dùng, và hiển thị từng dòng tính toán: tỷ lệ gộp, sai số chuẩn, điểm z và diện tích phần đuôi. Bên cạnh là câu trả lời theo Bayes, tức xác suất tỷ lệ thật của B cao hơn của A, vì "có 91% khả năng B tốt hơn" là câu mà hầu hết mọi người mong p-value nói ra, và đó là một con số khác.
Chúng tôi làm công cụ này sau khi nhìn lại dashboard của chính mình. Coddy đã chạy khoảng hai mươi thử nghiệm có tên, mười trong số đó là test giá theo từng quốc gia trên những phần lưu lượng nhỏ, và công cụ nội bộ của chúng tôi hiển thị một thanh độ tin cậy với dòng chữ "Tiếp tục chạy" khi còn dưới 95%. Đó là dừng tùy ý (optional stopping) khoác một gương mặt thân thiện. Ba tab bên cạnh, cỡ mẫu, kiểm tra thực tế và mô phỏng peeking, tồn tại vì một công cụ chỉ báo ý nghĩa thống kê là một công cụ giúp bạn tự đánh lừa mình nhanh hơn.
Cần biết gì trước khi tin vào con số
"Không có ý nghĩa thống kê" không có nghĩa là "không có khác biệt". Nó có nghĩa là dữ liệu chưa thể kết luận. Ô hiển thị mức tăng nhỏ nhất mà bài test có thể thấy chính là cách đọc trung thực: nếu mức tăng quan sát được thấp hơn con số đó, bài test vốn không bao giờ trả lời được.
P-value không phải là khả năng bạn sai. Nó là khả năng thấy một chênh lệch lớn chừng này nếu hai phiên bản giống hệt nhau. Phiên bản thắng có thật hay không còn phụ thuộc vào tần suất ý tưởng của bạn hiệu quả, điều mà tab kiểm tra thực tế biến thành một con số.
Dừng ngay ngày đầu tiên thanh kết quả chuyển xanh là thói quen đắt giá nhất trong A/B test. Xem mỗi ngày và dừng sớm biến tỷ lệ dương tính giả 5% thành 20% hoặc hơn. Trình mô phỏng peeking cho thấy điều đó xảy ra trên chính lưu lượng của bạn.
Chia lưu lượng bị lỗi sẽ làm hỏng mọi thứ. Nếu bạn dự định 50/50 mà nhận được 46/54, có thứ gì đó đang điều hướng người dùng trước khi họ tới bài test: một lớp cache, một bộ lọc bot, một lệnh chuyển hướng. Công cụ chạy phần kiểm tra này trước tiên và từ chối đưa ra kết luận khi nó không đạt.
Dưới khoảng 25 lượt chuyển đổi mỗi nhánh, phép xấp xỉ chuẩn đằng sau z-test chỉ là bản phác thảo, không phải phép đo. Công cụ sẽ nói rõ điều đó thay vì in ra ba chữ số thập phân với độ chính xác giả tạo.
Cách dùng công cụ tính A/B test
1
Nhập lượt truy cập và lượt chuyển đổi cho A và B
Lượt truy cập là số người được phân vào phiên bản đó, không phải số lượt xem trang. Lượt chuyển đổi là những người đã làm điều bạn đang đo: đăng ký, thanh toán, nhấp chuột. Cả hai nhánh phải được đếm theo cùng một cách.
2
Chọn độ tin cậy và giả thuyết
95% hai phía là mặc định và là lựa chọn trung thực khi B có thể tốt hơn hoặc tệ hơn. Một phía chỉ dành cho trường hợp một phiên bản B tệ hơn sẽ bị bỏ qua y như khi không có thay đổi, điều hiếm hơn mọi người nghĩ.
3
Đọc kết luận, rồi đọc khoảng tin cậy
Dải thông báo cho biết các con số ủng hộ điều gì. Ô mức tăng tương đối hiển thị khoảng tin cậy: hiệu ứng thật có lẽ nằm ở bất kỳ đâu trong đó, và đầu thấp của khoảng mới là con số để lập kế hoạch, không phải ước lượng điểm.
4
Kiểm tra hai cảnh báo
Nếu việc chia lưu lượng bị gắn cờ, hãy sửa bài test trước khi đọc bất cứ thứ gì khác. Nếu mức tăng nhỏ nhất có thể phát hiện lớn hơn mức tăng quan sát được, bài test đã thiếu power: chuyển sang tab cỡ mẫu để xem cần bao nhiêu lượt truy cập.
5
Sao chép kết quả hoặc liên kết
Sao chép kết quả cho bạn bản tóm tắt để gửi tin nhắn hoặc đưa vào tài liệu. Sao chép liên kết đưa bốn con số vào URL, nên ai mở liên kết cũng thấy cùng một phép tính.
Cách đọc kết quả
Ý nghĩa của từng ô, gói gọn trong một dòng.
Ô
Là gì
Cách đọc
Mức tăng tương đối
(tỷ lệ B trừ tỷ lệ A) chia cho tỷ lệ A
Con số chính. Khoảng bên cạnh là phạm vi mà mức tăng thật có lẽ nằm trong đó.
p-value
Khả năng có chênh lệch lớn chừng này nếu A và B giống hệt nhau
Dưới 0,05 ở độ tin cậy 95% nghĩa là có ý nghĩa thống kê. Đó không phải là khả năng kết quả sai.
Độ tin cậy
1 trừ p, tính theo phần trăm
Con số mà hầu hết công cụ in ra. 87% không phải là gần 95%; nó là một đồng xu nằm sai phía của vạch.
Xác suất B tốt hơn
Xác suất Bayes để tỷ lệ thật của B cao hơn của A
Câu mà mọi người muốn nghe. 91% nghĩa là B có lẽ tốt hơn, không phải tốt hơn 91%.
Mức tăng nhỏ nhất bài test này thấy được
Mức tăng tương đối phát hiện được ở power 80% với cỡ nhánh hiện tại
Nếu mức tăng quan sát được thấp hơn con số này, "không có ý nghĩa thống kê" nghĩa là "không thể kết luận".
Chia lưu lượng
Tỷ lệ lượt truy cập thực tế ở mỗi nhánh so với kế hoạch
Bị gắn cờ khi tỷ lệ chia lệch nhiều hơn mức ngẫu nhiên cho phép. Sửa bài test trước khi đọc kết quả.
Ba bài test, ba bài học khác nhau
Trường hợp kinh điển: suýt đạt
A: 10.000 lượt truy cập, 500 lượt chuyển đổi (5,00%). B: 10.000 lượt truy cập, 560 lượt chuyển đổi (5,60%). Mức tăng tương đối +12%, p = 0,058.
Không có ý nghĩa thống kê ở mức 95%, và khoảng tin cậy chạy từ khoảng âm 0,4% đến dương 24%. Cách đọc trung thực là "có lẽ tăng nhẹ, cũng có thể chẳng có gì". Mức tăng nhỏ nhất bài test này phát hiện được là khoảng 17%, nên hiệu ứng 12% chắc chắn rơi vào vùng xám. Bài test cần khoảng gấp đôi lưu lượng, chứ không phải thêm một tuần hy vọng.
Chia lưu lượng bị lỗi
A: 5.000 lượt truy cập, 100 lượt chuyển đổi. B: 4.300 lượt truy cập, 120 lượt chuyển đổi. Dự định chia 50/50.
B trông như phiên bản thắng rõ ràng với +40%. Công cụ từ chối kết luận như vậy: tỷ lệ chia 5.000 so với 4.300 có khả năng xảy ra tình cờ dưới một phần triệu khi chia 50/50. Có thứ gì đó đang loại người dùng khỏi B trước khi họ được đếm, thường là một lệnh chuyển hướng bị lỗi trên một trình duyệt, hoặc một bộ lọc bot xử lý phiên bản đó khác đi. Dù là gì, hai nhóm không còn so sánh được và mức tăng là vô nghĩa.
Trang web nhỏ
A: 400 lượt truy cập, 12 lượt chuyển đổi (3,0%). B: 400 lượt truy cập, 19 lượt chuyển đổi (4,75%). Mức tăng tương đối +58%, p = 0,20.
Mức tăng 58% nghe rất lớn, và p-value khoảng 0,19. Với 12 và 19 lượt chuyển đổi, công cụ gắn cờ thiếu dữ liệu: ở quy mô này các con số dao động mạnh đến mức chỉ thêm một lượt đăng ký cũng làm tỷ lệ thay đổi một phần tư điểm phần trăm. Với lưu lượng này, mức tăng nhỏ nhất bài test xác nhận được trong một tháng là trên 100%. Đó không phải lý do để chạy lâu hơn; đó là lý do để đọc tab kiểm tra thực tế.
Những lỗi mà công cụ này được làm ra để bắt
Đọc độ tin cậy 90% thành "chắc là ổn". Ở mức 95%, vạch là 95%. Con số dưới vạch nghĩa là dữ liệu chưa vượt được ngưỡng bạn đặt, và dời ngưỡng sau khi đã xem mới là sai lầm, không phải con số.
Gọi một bài test không có ý nghĩa thống kê là hòa. Hòa là một khoảng tin cậy rất hẹp quanh số không. Một bài test không có ý nghĩa thống kê với khoảng tin cậy rộng là một câu hỏi chưa có lời đáp, và tab cỡ mẫu cho biết trả lời nó sẽ tốn bao nhiêu.
Tuyên bố phiên bản thắng ngay buổi sáng đầu tiên thanh kết quả chuyển xanh. Trình mô phỏng peeking chạy hai nghìn bài test mà không có gì thay đổi và cho thấy người xem mỗi ngày lẽ ra đã triển khai bao nhiêu bài.
Test năm phiên bản và báo cáo phiên bản tốt nhất ở mức 95%. Năm phép so sánh, mỗi phép 5%, cho ra 23% khả năng có một phiên bản thắng giả. Tab cỡ mẫu tự chia alpha cho bạn khi bạn thêm phiên bản.
So sánh lượt xem trang với người dùng duy nhất, hoặc đếm lượt chuyển đổi trong một khoảng thời gian khác với lượt truy cập. Z-test giả định mỗi lượt truy cập là một phép thử độc lập; bất kỳ cách đếm nào khác đều làm phồng độ tin cậy.
Bỏ qua việc chia lưu lượng. Tỷ lệ chia 48/52 trên 100.000 lượt truy cập không phải do ngẫu nhiên; đó là bug, và mọi kết quả phía sau nó đều không đáng tin.
Câu hỏi thường gặp về công cụ tính A/B test
Làm sao biết A/B test của tôi có ý nghĩa thống kê?
Nhập số lượt truy cập và lượt chuyển đổi của từng phiên bản, chọn độ tin cậy (95% là chuẩn) rồi đọc kết luận. Bài test có ý nghĩa thống kê khi p-value nhỏ hơn 1 trừ độ tin cậy, tức dưới 0,05 ở mức 95%. Trang này còn cho bạn khoảng tin cậy của mức tăng thật và cho biết bài test có thể phát hiện hiệu ứng bạn đang xem hay không, điều mà một p-value đơn thuần không làm được.
P-value bằng 0,08 có ý nghĩa gì với bài test của tôi?
Nghĩa là nếu A và B thật sự có cùng tỷ lệ chuyển đổi, một chênh lệch ít nhất lớn chừng này sẽ xuất hiện tình cờ khoảng 8% số lần. Đó không phải xác suất kết quả sai, và cũng không phải "92% tin rằng B tốt hơn". Ở độ tin cậy 95%, nó nghĩa là bài test chưa vượt ngưỡng; hãy xem ô mức tăng nhỏ nhất có thể phát hiện để biết liệu nó có bao giờ vượt được không.
Độ tin cậy 90% có đủ không?
Có thể đủ, nếu bạn chọn 90% trước khi bài test bắt đầu và chấp nhận tỷ lệ dương tính giả một trên mười. Điều không bao giờ chấp nhận được là chạy ở 95%, thấy 91%, rồi quyết định rằng 90% mới là ngưỡng thật từ đầu. Độ tin cậy là lời hứa về tần suất bạn sẵn sàng bị đánh lừa; thay đổi nó sau khi đã xem là phá vỡ lời hứa.
Mỗi phiên bản cần bao nhiêu lượt chuyển đổi?
Không có con số kỳ diệu nào, nhưng dưới khoảng 25 lượt chuyển đổi mỗi nhánh thì z-test chỉ là bản phác thảo sơ sài, và hầu hết bài test thực tế cần hàng trăm lượt. Con số quan trọng là mức tăng bạn muốn phát hiện: với tỷ lệ gốc 5%, để thấy mức tăng tương đối 10% ở độ tin cậy 95% và power 80% cần khoảng 31.000 lượt truy cập mỗi phiên bản, tức khoảng 1.550 lượt chuyển đổi mỗi phiên bản. Tab cỡ mẫu tính con số đó theo tỷ lệ của riêng bạn.
P-value theo trường phái tần suất và xác suất Bayes để B tốt hơn khác nhau thế nào?
P-value hỏi "chênh lệch này đáng ngạc nhiên đến đâu nếu không có gì thay đổi?" và cho câu trả lời có hoặc không tại một ngưỡng. Con số Bayes hỏi "với những gì đã thấy, khả năng tỷ lệ thật của B cao hơn của A là bao nhiêu?" và cho ra một xác suất. Trên cùng dữ liệu, chúng thường cùng chiều: p bằng 0,05 tương ứng khoảng 97% khả năng B tốt hơn với kiểm định hai phía. Trang này hiển thị cả hai vì câu theo Bayes là điều mọi người muốn nói khi họ nói "độ tin cậy", còn p-value là thứ công cụ của họ in ra.
Vì sao công cụ từ chối đưa ra kết luận khi việc chia lưu lượng bị lệch?
Vì lệch tỷ lệ mẫu (sample ratio mismatch) nghĩa là hai nhóm không được phân ngẫu nhiên, mà ngẫu nhiên hóa chính là lý do A/B test có tác dụng. Nếu bạn dự định chia 50/50 và tỷ lệ thực tế có khả năng xảy ra do may mắn dưới một phần nghìn, thì có một cơ chế nào đó đang quyết định ai rơi vào nhánh nào, và nó có thể liên quan đến việc chuyển đổi. Mức tăng bạn thấy có thể là do cơ chế đó, không phải do thay đổi của bạn.
Có thể dùng công cụ này cho doanh thu trên mỗi lượt truy cập hoặc giá trị đơn hàng trung bình không?
Không. Trang này kiểm định một tỷ lệ: mỗi lượt truy cập hoặc chuyển đổi, hoặc không. Doanh thu trên mỗi lượt truy cập là chỉ số liên tục, lệch rất mạnh, và cần t-test hoặc bootstrap trên số tiền của từng người dùng, tức cần dữ liệu gốc chứ không phải bốn con số tổng. Công cụ tính t-test trong bộ công cụ toán của Coddy xử lý việc so sánh giá trị trung bình khi bạn đã có số liệu của từng người dùng.
Mức tăng nhỏ nhất có thể phát hiện được tính từ đâu?
Từ chính công thức của công cụ tính cỡ mẫu, chạy theo chiều ngược lại. Với cỡ nhánh và tỷ lệ của A, nó tìm mức tăng tương đối mà 80% bài test cùng cỡ này sẽ bắt được ở độ tin cậy của bạn. Nếu mức tăng bạn quan sát thấp hơn con số đó, bài test thiếu power cho hiệu ứng ấy, và "không có ý nghĩa thống kê" gần như không cho biết gì về việc thay đổi có hiệu quả hay không.