Trong hành trình làm việc trong lĩnh vực dữ liệu, bài toán thường xuyên tôi cùng với team hay phải đối mặt đó chính là xây dựng hệ thống để A/B testing cho tính năng hoặc cho một mô hình. Trong bài viết này chúng ta sẽ cùng đi qua một vài lưu ý cơ bản khi làm A/B testing nhé cả nhà. 
A/B Testing - Thử Nghiệm Hiệu Suất giữa Hai Phiên Bản
A/B Testing - Thử Nghiệm Hiệu Suất giữa Hai Phiên Bản
A/B testing về cốt lõi là phương pháp so sánh hai phiên bản của một tính năng để xem phiên bản nào hoạt động tốt hơn. Ví dụ đơn giản: điều chỉnh vị trí biểu tượng giỏ hàng trên trang thương mại điện tử từ góc trên phải xuống góc dưới phải. Có thể nhóm sản phẩm tin rằng đặt nó ở góc dưới cùng bên phải sẽ giúp giảm tỷ lệ giỏ hàng bị bỏ quên. Tùy thuộc vào quy mô và bản chất của thử nghiệm, kỹ sư dữ liệu có thể tham gia vào mọi thứ, từ việc thiết lập đo đạc và theo dõi đến phân tích kết quả.
Lưu ý:
- Có các công cụ của bên thứ ba giúp thiết lập theo dõi nền tảng (backend tracking) cho các thử nghiệm.
- Cho dù sử dụng công cụ của bên thứ ba hay giải pháp nội bộ, việc xác nhận tính chính xác của dữ liệu và nhật ký thử nghiệm (experiment logging) là rất quan trọng.

XÁC NHẬN SỐ LIỆU THỬ NGHIỆM:

Trong quá trình này, bạn cần lưu ý đến các chi tiết sau để nhanh chóng phát hiện ra các vấn đề:

Kích thước mẫu (Sample size):

- Nếu thử nghiệm chia đều (50/50), kích thước mẫu của cả hai nhóm cần gần bằng nhau.
- Nếu thử nghiệm chia theo tỷ lệ khác, hãy kiểm tra kích thước mẫu theo tỷ trọng mong đợi.

Ngày bắt đầu và kết thúc (Start and stop dates):

- Thử nghiệm có thể được triển khai chậm rãi theo từng giai đoạn (ví dụ: 1%, 5%, 10%...) để tránh tác động tiêu cực lớn.
- Thử nghiệm cũng có thể gặp lỗi (thiết kế, chọn ngẫu nhiên...) hoặc chạy vào dịp lễ tết. Dữ liệu từ các giai đoạn này có thể cần loại trừ hoặc đánh giá riêng.

Người dùng trong cả hai nhóm:

Nếu một người dùng vô tình nhìn thấy cả phiên bản kiểm soát và phiên bản thử nghiệm, người dùng đó cần bị loại khỏi phân tích. (Nếu đây là vấn đề phổ biến, thì toàn bộ thử nghiệm có thể cần chạy lại.)

Giới hạn theo ngữ cảnh (Context-specific restrictions):

Tùy thuộc vào thử nghiệm, có thể có những hạn chế nhất định đối với người dùng nhận được phiên bản thử nghiệm. Ví dụ: hãng hàng không có thể cung cấp trải nghiệm giống nhau cho tất cả người dùng có cùng mã đặt chỗ. Điều này có thể tạo ra sự mất cân bằng tạm thời về kích thước mẫu nhưng thường sẽ tự khắc phục.

THỬ NGHIỆM A/A:

Khi thay đổi quy trình nền tảng thử nghiệm, hãy cân nhắc chạy thử nghiệm A/A. Thử nghiệm A/A cung cấp cùng một trải nghiệm cho tất cả người dùng. Mục đích của nó là để đảm bảo rằng các công cụ đo lường và nhật ký đang thu thập dữ liệu chính xác. Trong khi thử nghiệm đang diễn ra, việc phát hiện lỗi theo dõi có thể khó khăn vì nó có thể bị che khuất bởi chính kết quả của thử nghiệm. Ngược lại, nếu lỗi dễ dàng phát hiện sau khi thử nghiệm bắt đầu, bạn có khả năng sẽ cần tạm dừng để khắc phục sự cố và sau đó bắt đầu lại, dẫn đến mất thời gian.

HÃY CHUẨN BỊ CHO THẤT BẠI:

Netflix cho rằng 90% những gì họ thử nghiệm đều không thành công. Do đó, hãy chuẩn bị cho nhiều câu hỏi về tính chính xác của đo lường và nhật ký. Khi thấy một sự cải thiện đáng kể, hãy hoài nghi và phân tích lại trên toàn bộ quá trình triển khai.

CUỐI CÙNG:

A/B Testing là một lĩnh vực phức tạp. Khi bạn tiếp tục làm việc, bạn sẽ học hỏi được nhiều hơn và có thể phân loại các vấn đề hiệu quả hơn.
Nguồn: Sonia Mehta