DHDataHọc
TheoryLesson 5/85 min read+10 XP

Kiểm định A/B: chọn test và đọc kết quả

Bạn sẽ học được

  • Chọn kiểm định phù hợp với loại chỉ số.
  • Cách tính kiểm định hai tỷ lệ bằng tay và bằng SQL.
  • Phân biệt lift tuyệt đối và lift tương đối.
  • Đọc kết quả đầy đủ: hiệu ứng, khoảng tin cậy, p-value, cỡ mẫu.
  • Những kết luận nào được phép và không được phép.

Khái niệm cốt lõi

Kiểm định chỉ là công cụ trả lời: "chênh lệch quan sát có thể do ngẫu nhiên không?". Việc chọn đúng công cụ phụ thuộc vào loại chỉ số:

Loại chỉ sốVí dụKiểm định
Tỷ lệChuyển đổi, đăng ký, rời bỏz-test hai tỷ lệ, chi-square
Trung bìnhDoanh thu/người, thời gianWelch t-test
ĐếmSố đơn/người, số vé hỗ trợPoisson / negative binomial
Phân phối lệch mạnhDoanh thu có đuôi dàiMann-Whitney hoặc bootstrap

Chọn sai công cụ không làm kết quả "sai hoàn toàn", nhưng có thể cho p-value lạc quan hoặc bảo thủ không cần thiết. Với tỷ lệ và cỡ mẫu lớn, z-test là mặc định hợp lý.

Kiểm định hai tỷ lệ

Gọi nhóm A có x₁ chuyển đổi trên n₁, nhóm B có x₂ trên n₂:

code
p₁ = x₁/n₁,  p₂ = x₂/n₂
p_pool = (x₁ + x₂) / (n₁ + n₂)
SE_pool = √(p_pool × (1 − p_pool) × (1/n₁ + 1/n₂))
z = (p₂ − p₁) / SE_pool

Ví dụ: A = 100/1.000 (10%), B = 120/1.000 (12%).

code
p_pool = 220/2.000 = 0,11
SE_pool = √(0,11 × 0,89 × 0,002) = √0,0001958 ≈ 0,01399
z = 0,02 / 0,01399 ≈ 1,43
p (hai phía) ≈ 0,153

Khoảng tin cậy dùng SE riêng từng nhóm (không gộp): khoảng −0,74 đến +4,74 điểm phần trăm. Kết luận: chưa đủ bằng chứng để nói B khác A ở mức 5%.

Tính bằng SQL

Không cần xuất dữ liệu ra Excel; tính trực tiếp từ bảng sự kiện:

code
WITH nhom AS (
  SELECT
    variant AS nhom,
    COUNT(DISTINCT user_id) AS n,
    COUNT(DISTINCT user_id) FILTER (WHERE converted) AS x
  FROM experiment_exposure e
  LEFT JOIN experiment_conversion c USING (user_id)
  WHERE e.experiment = 'checkout-button'
  GROUP BY variant
),
tong AS (
  SELECT SUM(x)::numeric / SUM(n) AS p_pool,
         SUM(n) AS n_tong,
         2::numeric AS k
  FROM nhom
)
SELECT
  nhom,
  n,
  x,
  ROUND(100.0 * x / n, 2) AS ty_le_pct,
  (x::numeric / n) - t.p_pool AS chenh_lech
FROM nhom, tong t;

Từ hai con số n và x mỗi nhóm, có thể tính z và khoảng tin cậy bằng bất kỳ công cụ nào — miễn là dùng đúng công thức và ghi lại cách tính.

Lift tuyệt đối và tương đối

Cùng một kết quả, hai cách nói:

  • Tuyệt đối: 12% − 10% = +2 điểm phần trăm.
  • Tương đối: 12% / 10% − 1 = +20%.

Cả hai đều đúng, nhưng dễ gây nhầm lẫn. "+20%" nghe hấp dẫn hơn "+2 điểm phần trăm" dù cùng một dữ liệu. Khi báo cáo:

  • Dùng điểm phần trăm cho tỷ lệ chính (chuyển đổi, rời bỏ).
  • Dùng % tương đối cho doanh thu, số đơn (hiệu ứng nhân lên).
  • Luôn ghi rõ đang dùng loại nào.

Với chỉ số liên tục như doanh thu, cả hai cách đều hợp lý: doanh thu/người tăng từ 500.000 lên 550.000 là +50.000 đồng tuyệt đối, +10% tương đối.

Đọc kết quả đầy đủ

Một kết quả đọc đúng gồm bốn phần:

code
Chỉ số: tỷ lệ chuyển đổi
Nhóm A: 10,0% (100/1.000)
Nhóm B: 12,0% (120/1.000)
Chênh lệch: +2,0 điểm phần trăm (CI 95%: −0,7 đến +4,7), p = 0,153
Quyết định: chưa đủ bằng chứng; cần thêm mẫu để kết luận

Nếu kết quả là:

code
Nhóm A: 12,0% (960/8.000)
Nhóm B: 13,5% (1.080/8.000)
Chênh lệch: +1,5 điểm phần trăm (CI 95%: +0,47 đến +2,53), p = 0,0045

Thì kết luận là: có bằng chứng B cao hơn, hiệu ứng vượt MDE 1,5 điểm và khoảng tin cậy không chứa 0. Cả hai đầu khoảng đều dương, nên rủi ro gây hại thấp — vẫn cần xem chỉ số bảo vệ.

Chỉ số bảo vệ

Một thí nghiệm không chỉ có chỉ số chính. Kiểm tra thêm:

  • Tỷ lệ lỗi, thời gian tải, số lần huỷ.
  • Số vé hỗ trợ mỗi 1.000 người dùng.
  • Tỷ lệ hoàn tiền, khiếu nại.

Chỉ số chính tăng nhưng chỉ số bảo vệ xấu đi đáng kể là lý do trì hoãn, ngay cả khi p < 0,05. Quyết định là bài toán đánh đổi, không phải phép thử p-value.

Thực hành

  1. Tính z và p cho 100/1.000 so với 120/1.000 bằng công thức trên.
  2. Viết SQL trả về n, x, tỷ lệ theo từng nhóm.
  3. Chuyển +20% tương đối thành điểm phần trăm khi tỷ lệ nền là 10% và 50%.
  4. Đọc kết quả 960/8.000 so với 1.080/8.000 và viết kết luận đầy đủ.
  5. Đề xuất hai chỉ số bảo vệ cho một thí nghiệm giao diện.

Lỗi thường gặp

Triệu chứngNguyên nhânCách sửa
Nói "+20%" cho chênh lệch 12% và 10%Lẫn tương đối và tuyệt đốiGhi rõ đơn vị
p khác nhau giữa hai công cụCông thức khác nhau (gộp/không gộp)Chốt một phương pháp trước
Dùng t-test cho tỷ lệChọn sai kiểm địnhDùng z-test hai tỷ lệ
Kết luận "không có hiệu ứng" khi p = 0,15Nhầm thiếu bằng chứngBáo cáo CI và nói "chưa đủ"
Bỏ qua chỉ số bảo vệChỉ xem chỉ số chínhKiểm tra guardrail trước khi triển khai
Tính trên số phiên nhưng báo cáo theo ngườiSai đơn vị phân tíchThống nhất đơn vị từ thiết kế

Tóm tắt

  • Chọn kiểm định theo loại chỉ số: tỷ lệ, trung bình, đếm.
  • z-test hai tỷ lệ cần n, x mỗi nhóm và tỷ lệ gộp.
  • Phân biệt điểm phần trăm và phần trăm tương đối.
  • Báo cáo hiệu ứng + CI + p + n + quyết định.
  • Chỉ số chính tốt không đủ nếu chỉ số bảo vệ xấu.

Use ← → to move between lessons