Menu
ESC

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

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

Đang tải...

Bài 28 — Null results — learn từ "không work"

Growth PM and Experimentation Bài 28/60

Mở đầu — vì sao bài này quan trọng

Hãy tưởng tượng bạn vừa chạy một experiment mà bạn đã ấp ủ suốt ba tuần: redesign lại trang chủ, viết lại copy, đổi màu nút CTA. Bạn tin chắc nó sẽ thắng. Rồi kết quả về: lift gần như bằng 0, p-value = 0.42. Cảm giác đầu tiên là gì? Thất vọng. Cảm giác thứ hai, nguy hiểm hơn, là: "Thôi, experiment này coi như thất bại, xoá đi cho rồi."

Đây chính là điểm mù lớn nhất của hầu hết các đội Growth còn non. Họ chia kết quả thành "thắng" và "thua", rồi chỉ ăn mừng và lưu lại những cái thắng. Nhưng sự thật phũ phàng của ngành này là: 70–80% experiment ở các công ty trưởng thành về experimentation (Microsoft, Booking.com, Airbnb đều công bố con số tương tự) cho ra null result — không có lift có ý nghĩa thống kê. Nếu bạn vứt bỏ 70–80% công sức của đội mình mà không học được gì, bạn đang đốt tiền và thời gian một cách kinh khủng.

Bài học hôm nay không dạy bạn cách tránh null result — vì bạn không thể tránh được, đó là bản chất của việc khám phá điều chưa biết. Bài này dạy bạn cách biến null result thành tài sản: cách đọc đúng một kết quả "không work", cách trích xuất kiến thức từ nó, và cách thay đổi văn hoá đội để mọi người không còn sợ hãi khi một thử nghiệm không thắng. Đây là kỹ năng phân biệt một Growth PM giỏi với một người chỉ biết bấm nút chạy test.

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

Null result là gì — và không phải là gì

Null result (kết quả không có ý nghĩa) là khi experiment của bạn cho thấy không có sự khác biệt có ý nghĩa thống kê giữa nhóm thử nghiệm (variant) và nhóm đối chứng (control). Cụ thể, hai dấu hiệu thường thấy:

  • p-value > 0.05: bạn không đủ bằng chứng để bác bỏ giả thuyết "không có khác biệt".
  • Effect size quá nhỏ: ngay cả khi có chút khác biệt, độ lớn của nó không đáng để triển khai.
Điều quan trọng phải khắc cốt ghi tâm: "không tìm thấy khác biệt" KHÔNG đồng nghĩa với "không có khác biệt". Đây là sai lầm logic mà ngay cả nhiều người có kinh nghiệm cũng mắc. Một null result có thể đến từ ba nguồn rất khác nhau:

  • Variant thật sự không có tác dụng — ý tưởng của bạn không tạo ra thay đổi hành vi.
  • Có tác dụng nhưng quá nhỏ để đo — experiment của bạn thiếu power (thiếu sample size) để phát hiện một lift nhỏ nhưng có thật.
  • Có tác dụng nhưng bị che giấu — hiệu ứng dương ở nhóm này bị triệt tiêu bởi hiệu ứng âm ở nhóm khác (heterogeneous effect), nên trung bình hoá thành 0.
Phân biệt được ba nguồn này chính là toàn bộ giá trị của việc "học từ null result". Một người tay mơ nhìn null result chỉ thấy một con số xám xịt. Một Growth PM giỏi nhìn vào đó và hỏi: "Cái này thuộc loại nào trong ba loại trên?"

Vì sao null result lại có giá trị thực sự

Mỗi experiment, dù thắng hay thua, đều cập nhật niềm tin của bạn về thế giới. Trước khi chạy test, bạn có một giả thuyết — ví dụ "thêm review của khách hàng vào trang sản phẩm sẽ tăng tỉ lệ mua". Sau một null result, bạn biết được một điều cực kỳ giá trị: đòn bẩy này không mạnh như tôi tưởng trong bối cảnh hiện tại. Đó là kiến thức. Nó giúp bạn không lặp lại ý tưởng tương tự, không lãng phí roadmap cho hướng đi cụt.

Có một khái niệm trong khoa học gọi là publication bias (thiên kiến công bố): các tạp chí chỉ thích đăng kết quả "có ý nghĩa", khiến cả ngành tưởng rằng nhiều thứ hiệu quả hơn thực tế. Đội Growth của bạn cũng dễ mắc phiên bản nội bộ của lỗi này: chỉ kể lại những win trong "all-hands", còn null result thì âm thầm biến mất. Hậu quả là cả công ty xây dựng một bức tranh sai lệch về cái gì thực sự hiệu quả.

Khung tư duy: mỗi null result trả lời một câu hỏi

Cách hữu ích nhất để định khung là coi mỗi experiment như một câu hỏi, và null result là một câu trả lời "không" rõ ràng. Câu trả lời "không" vẫn thu hẹp không gian tìm kiếm của bạn. Nếu bạn test 5 cách khác nhau để cải thiện onboarding và 4 cái cho null result, thì cái thứ 5 (nếu thắng) đáng giá gấp bội — vì giờ bạn biết chính xác đòn bẩy nào di chuyển kim đồng hồ, thay vì đoán mò.

Tình huống thực tế

Ví dụ 1 — Sàn TMĐT Việt Nam và nút "Mua ngay" đổi màu

Một đội Growth tại một sàn thương mại điện tử ở TP.HCM (gọi là sàn X) tin rằng đổi nút "Mua ngay" từ màu cam sang màu đỏ rực sẽ tăng tỉ lệ click. Họ chạy A/B test trên 200.000 phiên trong 2 tuần. Kết quả: lift +0.3%, p-value = 0.51 — null result rõ ràng.

PM non kinh nghiệm sẽ kết luận: "Màu nút không quan trọng, bỏ qua." Nhưng PM trưởng nhóm đã làm điều khác: chị bóc tách dữ liệu theo segment. Phát hiện thú vị — với người dùng mới (lần đầu vào app), nút đỏ tăng click +4%; với người dùng cũ đã quen giao diện, nút đỏ giảm click -3% vì họ bị bối rối, "tìm nút quen mà không thấy". Hai hiệu ứng triệt tiêu nhau thành 0 ở mức trung bình.

Bài học rút ra: Null result tổng thể đã che giấu một heterogeneous treatment effect. Nếu chỉ nhìn con số trung bình và vứt đi, đội đã bỏ lỡ một insight quan trọng: người dùng mới và cũ phản ứng ngược nhau với thay đổi giao diện. Kết quả là họ triển khai nút đỏ chỉ cho người dùng mới, thu được lift thật. Một null result tưởng vô dụng lại đẻ ra một chiến thắng có mục tiêu.

Ví dụ 2 — Startup SaaS và email nhắc nhở "thất bại"

Một startup SaaS B2B ở Singapore phục vụ thị trường Đông Nam Á muốn tăng activation. Giả thuyết: gửi thêm một email nhắc nhở vào ngày thứ 3 sau đăng ký sẽ tăng tỉ lệ người dùng hoàn thành setup. Họ chạy test trên 8.000 người dùng. Kết quả: activation rate tăng từ 22% lên 23%, p-value = 0.28 — không có ý nghĩa thống kê.

Thay vì bỏ cuộc, đội đặt câu hỏi đúng: "Liệu đây là 'thật sự không tác dụng', hay là 'thiếu power'?" Họ làm phép tính ngược (power analysis): với sample size 8.000 và baseline 22%, họ chỉ đủ sức phát hiện lift từ 3% trở lên. Một lift 1% thật sự — nếu có — sẽ không bao giờ bị phát hiện với cỡ mẫu này. Nghĩa là null result này không cho phép kết luận ý tưởng vô dụng; nó chỉ nói "test này quá nhỏ".

Bài học rút ra: Trước khi gọi một null result là "ý tưởng tệ", phải kiểm tra xem experiment có đủ power không. Đội quyết định không lặp lại test (chi phí gửi email và độ phức tạp không xứng với lift tối đa 1–2%), nhưng họ ghi rõ trong archive: "Email day-3: hiệu ứng nếu có là rất nhỏ, không nên ưu tiên lại trừ khi có cách làm rẻ hơn." Đó là kết luận trung thực và hữu ích — khác hẳn với việc xoá sạch và để người sau dẫm lại vết xe đổ.

Ví dụ 3 — Tiki và bài học "không thay đổi gì cũng là dữ liệu"

Một đội tại một công ty công nghệ lớn của Việt Nam (bối cảnh tương tự Tiki) thử nghiệm thêm một bước "gợi ý sản phẩm liên quan" vào luồng thanh toán, kỳ vọng tăng giá trị đơn hàng trung bình (AOV). Sau 3 tuần với hơn 500.000 đơn, AOV gần như không đổi (p = 0.61). Null result.

Đội đã làm một việc thông minh: họ kết hợp dữ liệu định lượng với 6 buổi phỏng vấn người dùng (chúng ta sẽ bàn sâu về quant + qual ở một bài sau). Phỏng vấn cho thấy người dùng ở bước thanh toán đã "khoá tâm lý" vào việc trả tiền, họ không còn ở chế độ khám phá nữa. Gợi ý sản phẩm ở đây đến quá muộn.

Bài học rút ra: Null result không chỉ nói "ý tưởng này không work", nó còn gợi ý vì sao. Insight rút ra — "gợi ý chéo phải đến trước khi người dùng vào checkout" — đã định hướng cho cả một loạt experiment sau đó (đặt gợi ý ở trang giỏ hàng), trong đó có cái thắng đậm. Null result trở thành điểm khởi đầu của một dòng giả thuyết mới, chứ không phải dấu chấm hết.

Hướng dẫn từng bước

Khi một experiment cho null result, đây là quy trình 6 bước để khai thác giá trị từ nó:

Bước 1 — Xác nhận đây thật sự là null, không phải lỗi đo lường. Kiểm tra sanity: nhóm control và variant có được chia ngẫu nhiên đúng không? Tracking có bị hỏng không? Một null result do bug instrumentation thì vô giá trị. (Đây là lý do A/A test tồn tại — sẽ học ở bài riêng.)

Bước 2 — Tính power của test. Hỏi: với sample size và baseline đã có, test này đủ sức phát hiện lift nhỏ tới đâu? Nếu Minimum Detectable Effect (MDE) của bạn là 5% mà lift thực tế khả dĩ chỉ 1–2%, thì null result chỉ có nghĩa "không đủ lớn để thấy", không phải "không có gì".

Bước 3 — Bóc tách theo segment. Cắt dữ liệu theo người dùng mới/cũ, theo thiết bị (mobile/desktop), theo khu vực, theo nhóm hành vi. Nhiều null result tổng thể giấu trong nó những hiệu ứng trái dấu triệt tiêu nhau. Lưu ý: làm điều này một cách kỷ luật, đừng "đào bới" cho đến khi tìm thấy một segment ngẫu nhiên có ý nghĩa (đó là p-hacking).

Bước 4 — Phân loại null result vào một trong ba nguồn (không tác dụng thật / thiếu power / bị che giấu). Đây là kết luận cốt lõi bạn cần viết ra.

Bước 5 — Kết hợp với dữ liệu định tính. Nếu có thể, phỏng vấn vài người dùng hoặc xem session replay để hiểu vì sao thay đổi không di chuyển hành vi. Cái "vì sao" này thường giá trị hơn cả con số.

Bước 6 — Ghi vào archive và chia sẻ. Viết một bản tóm tắt ngắn: giả thuyết, kết quả, phân loại null, và bài học. Trình bày nó trong experiment review meeting ngang hàng với các win. Một đội trưởng thành kể về null result mà không xấu hổ.

Lỗi thường gặp & mẹo

Lỗi 1 — Coi null result là "thất bại cá nhân". Đây là lỗi văn hoá nguy hiểm nhất. Khi PM sợ bị đánh giá vì test không thắng, họ sẽ chỉ chạy những test "an toàn" (chắc thắng nhưng lift nhỏ), tránh các ý tưởng táo bạo. Mẹo: lãnh đạo phải công khai tuyên dương những null result được phân tích tốt. Hỏi "bạn học được gì?" thay vì "sao không thắng?".

Lỗi 2 — Diễn giải null thành "đã chứng minh không có khác biệt". Sai logic kinh điển. Null result không bao giờ "chứng minh" điều gì bằng 0; nó chỉ nói "tôi không tìm thấy bằng chứng". Mẹo: luôn báo cáo kèm khoảng tin cậy (confidence interval). Nếu CI là [-1%, +5%], bạn vẫn chưa loại trừ khả năng có lift +5%.

Lỗi 3 — Dừng test sớm khi thấy "chưa có gì". Đây là cám dỗ peeking ngược: thấy chưa có lift sau vài ngày rồi tắt test, gọi là null. Test có thể chưa đủ sample. Mẹo: cố định trước thời gian/sample size và tôn trọng nó.

Lỗi 4 — Lưu null result vào nghĩa địa, không ai đọc lại. Một archive mà không ai tra cứu thì vô dụng. Mẹo: dùng template chuẩn, gắn tag (theo khu vực sản phẩm, theo đòn bẩy), và bắt buộc tra archive trước khi đề xuất experiment mới — để tránh test lại thứ đã được trả lời "không".

Mẹo vàng: Hãy phân biệt rõ giữa "flat result đáng tin" (test có power tốt, đo cẩn thận, kết quả thật sự phẳng) và "inconclusive result" (test thiếu power, không kết luận được gì). Cái đầu là kiến thức vững. Cái sau là lời nhắc rằng bạn cần thiết kế test tốt hơn lần sau. Gọi đúng tên hai loại này là dấu hiệu của sự trưởng thành.

Bài tập thực hành

Bài tập 1 — Phân loại null result. Lấy 3 experiment gần nhất của đội bạn (hoặc giả định) cho ra null result. Với mỗi cái, tính (hoặc ước lượng) MDE và phân loại nó vào một trong ba nguồn: không tác dụng thật / thiếu power / bị che giấu. Viết một câu kết luận cho mỗi cái.

Bài tập 2 — Viết lại báo cáo. Chọn một null result và viết một bản tóm tắt 150 từ theo cấu trúc: Giả thuyết → Kết quả (kèm CI) → Phân loại → Bài học → Khuyến nghị (có nên test lại không, và nếu có thì thay đổi gì). So sánh với cách đội bạn hiện đang ghi chép.

Bài tập 3 — Săn hiệu ứng bị che giấu. Lấy một null result có đủ dữ liệu, bóc tách theo 3 segment (mới/cũ, mobile/desktop, khu vực). Có segment nào cho hiệu ứng trái dấu rõ rệt không? Nếu có, bạn sẽ đề xuất triển khai có mục tiêu như thế nào?

Bài tập 4 — Thiết kế văn hoá. Đề xuất một thay đổi cụ thể trong experiment review meeting để null result được trình bày bình đẳng với win. Ví dụ: thêm mục "Null result của tuần và bài học" cố định trong agenda.

Tóm tắt

  • Null result là khi experiment không cho thấy khác biệt có ý nghĩa thống kê (p > 0.05) hoặc effect quá nhỏ — và nó chiếm 70–80% experiment ở các đội trưởng thành. Đây là chuyện bình thường, không phải thất bại.
  • "Không tìm thấy khác biệt" ≠ "không có khác biệt". Mỗi null result thuộc một trong ba nguồn: không tác dụng thật, thiếu power, hoặc hiệu ứng bị che giấu (heterogeneous). Phân loại đúng là toàn bộ giá trị.
  • Quy trình 6 bước: xác nhận không phải bug → tính power → bóc tách segment → phân loại → kết hợp định tính → ghi archive và chia sẻ.
  • Các ví dụ thực tế (nút đổi màu trên sàn TMĐT, email nhắc nhở SaaS, gợi ý chéo ở checkout) cho thấy null result thường che giấu insight quý giá và mở ra dòng giả thuyết mới.
  • Lỗi nguy hiểm nhất là văn hoá: coi null là thất bại cá nhân, khiến đội chỉ dám chạy test an toàn. Lãnh đạo phải tuyên dương null result được phân tích tốt.
  • Một Growth PM giỏi không hỏi "test có thắng không?" mà hỏi "ta học được gì?". Null result, khi đọc đúng, là một trong những nguồn học hỏi rẻ và sâu nhất bạn có.