DS

[DS & DA Blog #33] Khoa Học Dữ Liệu Suy Luận Nhân Quả (Causal Inference) & Uplift Modeling: Vượt Qua "Tương Quan Không Phải Nhân Quả", Difference-in-Differences (DiD), Propensity Score Matching & Tối Ưu Hóa Ngân Sách Khuyến Mãi

0 views
[DS & DA Blog #33] Khoa Học Dữ Liệu Suy Luận Nhân Quả (Causal Inference) & Uplift Modeling: Vượt Qua "Tương Quan Không Phải Nhân Quả", Difference-in-Differences (DiD), Propensity Score Matching & Tối Ưu Hóa Ngân Sách Khuyến Mãi

1. Bối cảnh thực tế (Context & Problem Statement)

Các mô hình Machine Learning truyền thống (XGBoost, Random Forest, Deep Learning) là những bậc thầy về Nhận diện mẫu tương quan (Pattern Recognition & Correlation):

  • Chúng trả lời câu hỏi: "Dựa vào các đặc trưng XX, xác suất khách hàng mua hàng P(Y=1∣X)P(Y=1|X) là bao nhiêu?"

Tuy nhiên, trong các quyết định kinh doanh chiến lược, tương quan thường dẫn đến những sai lầm chết người:

  • Ví dụ thực tế: Dữ liệu cho thấy những khách hàng nhận được mã giảm giá 50%50\% (Voucher) có tỷ lệ mua hàng cao gấp 3 lần nhóm không nhận được. Doanh nghiệp quyết định phát voucher đại trà cho hàng triệu người dùng →\rightarrow Lợi nhuận sụt giảm thảm hại!
  • Lý do: Những khách hàng thân thiết vốn dĩ đã có ý định mua hàng từ trước (Sure Things). Việc tặng voucher cho họ chỉ làm thất thoát biên lợi nhuận mà không tạo ra bất kỳ sự gia tăng thực sự nào (Incremental Value / Uplift).

Khi A/B Testing không thể triển khai (do rào cản pháp lý, chi phí quá cao, hoặc cần đánh giá chính sách đã ban hành trong quá khứ), Causal Inference (Suy luận nhân quả) và Uplift Modeling (Causal Machine Learning) là vũ khí tối thượng giúp doanh nghiệp trả lời câu hỏi:
“Nếu chúng ta can thiệp hành động TT, điều gì sẽ thực sự thay đổi so với khi không can thiệp?”


2. Các Khái Niệm & Cơ Chế Cốt Lõi

2.1. Khung Kết Quả Tiềm Năng (Rubin Potential Outcomes Framework)

Với mỗi cá nhân ii, ta định nghĩa hai trạng thái tiềm năng:

  • Yi(1)Y_i(1): Kết quả nếu cá nhân ii được nhận can thiệp (Treatment: nhận voucher, dùng tính năng mới).
  • Yi(0)Y_i(0): Kết quả nếu cá nhân ii không nhận can thiệp (Control: không có voucher).

Taˊc động can thiệp caˊ nhaˆn (ITE - Individual Treatment Effect): τi=Yi(1)−Yi(0)\text{Tác động can thiệp cá nhân (ITE - Individual Treatment Effect): } \tau_i = Y_i(1) - Y_i(0)

⚠️ Vấn đề cốt tử của Suy luận nhân quả (Fundamental Problem of Causal Inference):
Trong thực tế, tại một thời điểm, ta chỉ có thể quan sát được một trong hai kết quả (Yi(1)Y_i(1) hoặc Yi(0)Y_i(0)), kết quả còn lại là Dữ liệu giả định phản thực tế (Counterfactual) bị ẩn giấu vĩnh viễn!

Do đó, mục tiêu của Causal Inference là ước tính các giá trị kỳ vọng trên toàn bộ quần thể:

  • Average Treatment Effect (ATE): ATE=E[Y(1)−Y(0)]\text{ATE} = \mathbb{E}[Y(1) - Y(0)] (Tác động trung bình trên toàn bộ người dùng).
  • Average Treatment Effect on the Treated (ATT): ATT=E[Y(1)−Y(0)∣T=1]\text{ATT} = \mathbb{E}[Y(1) - Y(0) \mid T = 1] (Tác động trung bình trên nhóm thực sự nhận can thiệp).

2.2. Biến Gây Nhiễu (Confounders) & Thiên Vị Lựa Chọn (Selection Bias)

  • Confounder (Biến gây nhiễu ZZ): Biến số tác động đồng thời lên cả Hành động can thiệp (TT) và Kết quả cuối cùng (YY).
  • Ví dụ: Mức độ trung thành của khách hàng (ZZ) khiến họ vừa dễ nhận được voucher (TT), vừa tự nhiên mua nhiều hàng (YY).
  • Nếu chỉ so sánh trung bình đơn thuần giữa nhóm nhận voucher và nhóm không nhận: E[Y∣T=1]−E[Y∣T=0]=ATT⏟Taˊc động nhaˆn quả thực sự+Selection Bias (Thieˆn vị lựa chọn)⏟Sai lệch do khaˊch haˋng cu˜ voˆˊn đa˜ mua nhieˆˋu\mathbb{E}[Y \mid T=1] - \mathbb{E}[Y \mid T=0] = \underbrace{\text{ATT}}_{\text{Tác động nhân quả thực sự}} + \underbrace{\text{Selection Bias (Thiên vị lựa chọn)}}_{\text{Sai lệch do khách hàng cũ vốn đã mua nhiều}}
               [Confounder (Z): Mức độ trung thành]
                          /          \
                         /            \
                        v              v
[Treatment (T): Nhận Voucher] ------> [Outcome (Y): Chi tiêu mua sắm]
                               (Tác động nhân quả thực sự)

2.3. Các Phương Pháp Bán Thực Nghiệm (Quasi-Experimental Methods)

1. Difference-in-Differences (DiD - Sai phân kép)

Áp dụng khi một chính sách/tính năng mới được triển khai tại một khu vực (Treatment Group, ví dụ: TP.HCM) nhưng không áp dụng ở khu vực khác (Control Group, ví dụ: Hà Nội).

τ^DiD=(YˉTreatment, Post−YˉTreatment, Pre)−(YˉControl, Post−YˉControl, Pre)\hat{\tau}_{\text{DiD}} = \Big( \bar{Y}_{\text{Treatment, Post}} - \bar{Y}_{\text{Treatment, Pre}} \Big) - \Big( \bar{Y}_{\text{Control, Post}} - \bar{Y}_{\text{Control, Pre}} \Big)

  • Giả định sống còn: Giả định Xu hướng Song song (Parallel Trends Assumption): Nếu không có can thiệp, xu hướng biến động theo thời gian của nhóm Treatment sẽ chạy song song hoàn toàn với nhóm Control.
Metric (Y)
     ^                          / (Thực tế nhóm Treatment có can thiệp)
     |                         /
     |         (Can thiệp)    /
     |              |        /--- (Đường phản thực tế nếu KHÔNG can thiệp)
     |              v       /
     |             ------------------ (Nhóm Control)
     |            /        /
     +-----------+--------+------------> Time
               (Pre)    (Post)

2. Propensity Score Matching (PSM - Ghép cặp điểm xu hướng)

  • Điểm xu hướng (Propensity Score): Xác suất một cá nhân nhận can thiệp dựa trên các thuộc tính quan sát được: e(X)=P(T=1∣X)e(X) = P(T=1 \mid X) (được ước tính bằng Logistic Regression hoặc Gradient Boosting).
  • Cơ chế ghép cặp: Với mỗi khách hàng ở nhóm Treatment có e(X)=0.72e(X) = 0.72, ta tìm một khách hàng ở nhóm Control có e(X)≈0.72e(X) \approx 0.72 để ghép cặp đối chiếu. Nhờ đó, ta triệt tiêu được sự khác biệt về các biến quan sát được (XX) giữa 2 nhóm.

2.4. Uplift Modeling (Causal Machine Learning & The 4 Quadrants)

Trong tối ưu hóa ngân sách khuyến mãi, ta phân loại toàn bộ người dùng thành 4 nhóm hành vi:

                                    NẾU KHÔNG CÓ VOUCHER (Control: T=0)
                               +-----------------------+-----------------------+
                               |     KHÔNG MUA (Y=0)   |       MUA HÀNG (Y=1)  |
+--------------+---------------+-----------------------+-----------------------+
| NẾU CÓ       | MUA HÀNG      |   1. PERSUADABLES     |     2. SURE THINGS    |
| VOUCHER      | (Y=1)         | (Người cần thuyết phục)| (Chắc chắn mua dù     |
| (Treatment:  |               |  Uplift = +1 (TARGET!)|  không có voucher)    |
|  T=1)        +---------------+-----------------------+-----------------------+
|              | KHÔNG MUA     |   3. LOST CAUSES      |   4. SLEEPING DOGS    |
|              | (Y=0)         | (Vô phương cứu chữa)  | (Phản tác dụng:       |
|              |               |  Uplift = 0           |  Làm phiền -> Bỏ app) |
+--------------+---------------+-----------------------+-----------------------+
  • Mục tiêu tối thượng của Uplift Model: Chỉ gửi chiến dịch đến đúng nhóm Persuadables, đồng thời tuyệt đối né tránh nhóm Sure Things (lãng phí tiền) và nhóm Sleeping Dogs (gây hại).

Các thuật toán Metalearners trong Uplift Modeling:

  • S-Learner (Single Model): Huấn luyện 1 mô hình duy nhất dự đoán YY với TT đóng vai trò là một thuộc tính đầu vào: τ^(x)=μ^(x,T=1)−μ^(x,T=0)\hat{\tau}(x) = \hat{\mu}(x, T=1) - \hat{\mu}(x, T=0).
    (Nhược điểm: Hiệu ứng TT thường bị mô hình bỏ qua nếu số lượng thuộc tính XX quá lớn).
  • T-Learner (Two Models): Huấn luyện 2 mô hình độc lập: μ1(x)\mu_1(x) trên tập Treatment và μ0(x)\mu_0(x) trên tập Control: τ^(x)=μ^1(x)−μ^0(x)\hat{\tau}(x) = \hat{\mu}_1(x) - \hat{\mu}_0(x).
  • X-Learner (Künzel et al.): Thiết kế tối ưu cho trường hợp kích thước nhóm Treatment và Control mất cân bằng nghiêm trọng (ví dụ chỉ có 1%1\% user được thử nghiệm tính năng mới).

3. Các Bảng Markdown So Sánh Chi Tiết

📊 Bảng 1: So Sánh A/B Testing vs. Causal Inference (Bán thực nghiệm) vs. Machine Learning Cổ Điển

Tiêu chíMachine Learning Truyền thốngA/B Testing (RCT)Causal Inference (Quasi-Experiments)
Bản chất câu hỏiDự đoán: "Khách hàng này có mua hàng không?"Thực nghiệm: "Tính năng mới có làm tăng đơn hàng không?"Hồi tố/Phản thực tế: "Nếu không tăng giá vé, doanh thu sẽ là bao nhiêu?"
Loại quan hệTương quan (Correlation) P(Y∣X)P(Y \mid X)Nhân quả (Causation) qua phân bổ ngẫu nhiênNhân quả (Causation) từ dữ liệu quan sát lịch sử
Xử lý ConfoundersKhông xử lý (thậm chí tận dụng confounder để dự đoán)Triệt tiêu hoàn toàn nhờ phân phối ngẫu nhiênKiểm soát bằng toán học (DiD, PSM, Instrumental Variables)
Chi phí & Rủi roThấp (chỉ cần dữ liệu có sẵn)Cao (ảnh hưởng trải nghiệm người dùng thực tế)Thấp (tận dụng dữ liệu lịch sử)
Khi nào bắt buộc dùng?Chấm điểm tín dụng, Phân loại ảnh, Dự báo thời tiếtTối ưu hóa UI/UX, Thuật toán tìm kiếm, Đổi luồng CheckoutĐánh giá chính sách vĩ mô, Thay đổi giá toàn sàn, Khảo sát y tế

📊 Bảng 2: So Sánh Các Phương Pháp Suy Luận Nhân Quả Bán Thực Nghiệm

Phương phápYêu cầu dữ liệu đầu vàoGiả định cốt lõi bắt buộcRủi ro sai số lớn nhấtTrường hợp sử dụng điển hình
Difference-in-Differences (DiD)Dữ liệu dạng bảng dọc (Panel Data) trước và sau can thiệpParallel Trends Assumption (Xu hướng song song)Xu hướng trước can thiệp không song song; có sự kiện khác xảy ra đồng thờiĐánh giá luật mới tại 1 bang, Thay đổi phí hoa hồng tại 1 thành phố
Propensity Score Matching (PSM)Dữ liệu cắt ngang (Cross-sectional) với nhiều biến thuộc tính XXUnconfoundedness (Không còn biến gây nhiễu ẩn chưa đo lường)Bỏ sót các biến gây nhiễu ẩn (Hidden Confounders không có trong data)Đánh giá hiệu quả của chương trình Khách hàng thân thiết (Loyalty Program)
Synthetic Control (Đối chứng tổng hợp)Chuỗi thời gian dài của nhiều đơn vị không can thiệpĐơn vị can thiệp có thể biểu diễn bằng tổ hợp lồi của các đơn vị đối chứngQuá khớp (Overfitting) trên giai đoạn trước can thiệpMở rộng thị trường sang 1 quốc gia mới, Chiến dịch quảng cáo TV toàn quốc
Instrumental Variables (Biến công cụ - IV)Cần tìm được biến công cụ ZZ hợp lệExclusion Restriction (Biến ZZ chỉ tác động YY duy nhất qua TT)Biến công cụ yếu (Weak Instruments) làm tăng phương saiPhân tích tác động khi người dùng tự chọn tham gia (Non-compliance)

📊 Bảng 3: So Sánh Các Cấu Trúc Mô Hình Uplift Modeling (Meta-Learners)

Cấu trúc thuật toánCơ chế huấn luyệnĐộ phức tạp tính toánƯu điểmNhược điểm / Rủi ro
S-Learner (Single)11 mô hình duy nhất: Y^=f(X,T)\hat{Y} = f(X, T)Thấp nhất (1×1\times)Đơn giản, tận dụng toàn bộ dữ liệu để học biểu diễn chungThường ước tính tác động can thiệp thiên về 00 (Regularization bias)
T-Learner (Two)22 mô hình riêng biệt: Y^1=f1(X)\hat{Y}_1 = f_1(X), Y^0=f0(X)\hat{Y}_0 = f_0(X)Thấp (2×2\times)Tránh việc biến TT bị nuốt chửng bởi các biến XXHai mô hình có thể học các pattern độc lập không liên quan, gây nhiễu
X-Learner44 mô hình: 22 mô hình cơ sở + 22 mô hình học phần dư (Imputed Effects)Cao (4×4\times)Hiệu quả vượt trội khi kích thước Treatment ≪\ll ControlPhức tạp, tốn tài nguyên huấn luyện hơn

4. Best Practices & Kỹ Thuật Triển Khai Thực Chiến (Pro-Tips)

💡 Kiểm tra Giả định Xu hướng Song song (Parallel Trends Check) trong DiD

Trước khi tin tưởng kết quả của Difference-in-Differences, bắt buộc phải chạy hồi quy kiểm tra các kỳ trước can thiệp (Event Study / Placebo Leads):

import statsmodels.formula.api as smf

# Chạy mô hình hồi quy Event Study với các biến giả thời gian tương đối:
# Giả sử can thiệp diễn ra tại t = 0; các kỳ t = -3, -2, -1 là trước can thiệp:
model = smf.ols("metric ~ C(city) + C(time) + treatment_city:C(relative_time)", data=df).fit()

# NGUYÊN TẮC VÀNG:
# Hệ số của các kỳ trước can thiệp (t = -3, -2, -1) PHẢI có p-value > 0.05 (Không có ý nghĩa thống kê).
# Nếu trước can thiệp mà 2 nhóm đã có sự khác biệt về tốc độ tăng trưởng -> Bác bỏ mô hình DiD!

💡 Đánh giá Uplift Model bằng Biểu đồ Qini Curve & Cumulative Gain

  • Không sử dụng ROC-AUC hay RMSE truyền thống để đánh giá Uplift Model!
  • Qini Curve / AUUC (Area Under Uplift Curve):
    • Sắp xếp danh sách khách hàng giảm dần theo điểm số Uplift dự đoán τ^i\hat{\tau}_i.
    • Vẽ đồ thị số lượng đơn hàng tăng thêm tích lũy (Cumulative Incremental Conversions) khi tiếp cận từ 0%0\% đến 100%100\% tệp khách hàng.
    • Mô hình tốt sẽ có đường cong vọt lên rất cao ở nhóm 20%−30%20\% - 30\% đầu tiên (tập trung toàn bộ nhóm Persuadables) và đi ngang/giảm nhẹ ở nhóm cuối cùng (nhóm Sleeping Dogs).
Cumulative Incremental Gains
       ^                  /-----\  (Đỉnh tối ưu: Dừng gửi voucher tại đây!)
       |                 /       \______
       |                /               \  (Mô hình Uplift xuất sắc)
       |               /
       |              /------------------- (Đường ngẫu nhiên ngây thơ - Random Baseline)
       |             /
       +------------+-------------------> % Population Targeted
                   (25% Persuadables)

5. Góc Ôn Luyện Phỏng Vấn (Interview Corner)

❓ Câu hỏi 1: Giải thích nguyên lý hoạt động của phương pháp Difference-in-Differences (DiD). Giả định quan trọng nhất để DiD có giá trị nhân quả là gì và bạn sẽ kiểm chứng giả định đó như thế nào trong thực tế?

  • Gợi ý trả lời:
    • Nguyên lý hoạt động:
      • DiD đo lường tác động của một sự can thiệp bằng cách so sánh sự thay đổi theo thời gian của nhóm nhận can thiệp (Treatment) với sự thay đổi theo thời gian của nhóm không nhận can thiệp (Control).
      • Bằng cách lấy hiệu số kép (Hiệu số sau - trước của nhóm Treatment trừ đi Hiệu số sau - trước của nhóm Control), DiD loại bỏ được cả 2 nguồn sai lệch:
        1. Các đặc tính cố định bất biến theo thời gian giữa 2 nhóm (Time-invariant group differences).
        2. Các biến động chung của thị trường tác động đồng thời lên cả 2 nhóm theo thời gian (Time-varying macro trends).
    • Giả định quan trọng nhất: Parallel Trends Assumption (Giả định xu hướng song song) – Giả định rằng nếu không có can thiệp xảy ra, quỹ đạo biến thiên của nhóm Treatment sẽ hoàn toàn song song với nhóm Control.
    • Cách kiểm chứng trong thực tế (2 phương pháp):
      1. Visual & Statistical Pre-trend Test (Event Study): Vẽ đồ thị dữ liệu lịch sử nhiều kỳ trước khi can thiệp (ví dụ 6 tháng trước) và chạy hồi quy với các biến giả tương tác thời gian (Lead variables). Các hệ số trước can thiệp bắt buộc phải xấp xỉ bằng 00 và không có ý nghĩa thống kê.
      2. Placebo Test (Thực nghiệm giả dược): Chọn một mốc thời gian giả định trong quá khứ (khi chưa có can thiệp) hoặc chọn một nhóm Control giả khác để chạy lại mô hình DiD. Kết quả tác động nhân quả ước tính bắt buộc phải bằng 00.

❓ Câu hỏi 2: Phân biệt Propensity Score Matching (PSM) và A/B Testing. Trong trường hợp nào PSM hoàn toàn thất bại trong việc giải quyết thiên vị lựa chọn (Selection Bias)?

  • Gợi ý trả lời:
    • Sự khác biệt cốt lõi:
      • A/B Testing: Sử dụng cơ chế phân phối ngẫu nhiên (Randomization) →\rightarrow Phân bổ đồng đều cả các biến quan sát được (XX) lẫn các biến ẩn không thể quan sát được (Unobserved Confounders) như tâm trạng, động lực nội tại, mức độ thông minh của người dùng giữa 2 nhóm.
      • PSM: Chỉ dựa vào các thuộc tính quan sát được trong cơ sở dữ liệu (XX) để tính xác suất nhận can thiệp e(X)e(X) và ghép cặp →\rightarrow Chỉ cân bằng được các biến số có trong tập dữ liệu.
    • Trường hợp PSM thất bại hoàn toàn:
      • Khi tồn tại Biến gây nhiễu ẩn (Hidden / Unobserved Confounders) vi phạm giả định Conditional Independence (Unconfoundedness).
      • Ví dụ thực tế: Đánh giá hiệu quả của khoá học trực tuyến lên thu nhập. Dữ liệu chỉ có: Tuổi, Học vấn, Vị trí địa lý. Tuy nhiên, những người tự nguyện đăng ký học có Động lực vươn lên và Ý chí tự học cao hơn hẳn nhóm không học. Biến "Ý chí" này không được ghi nhận trong database. Dù PSM ghép cặp 2 người có cùng độ tuổi và học vấn, người có ý chí cao vẫn sẽ có thu nhập cao hơn kể cả khi khóa học hoàn toàn vô dụng →\rightarrow PSM ước tính sai lệch nghiêm trọng tác động nhân quả.

❓ Câu hỏi 3: Uplift Modeling là gì? Hãy giải thích tại sao một mô hình dự đoán Churn truyền thống (Predictive Churn Model) lại không tối ưu cho chiến dịch giữ chân khách hàng bằng một mô hình Causal Uplift Model?

  • Gợi ý trả lời:
    • Hạn chế của Churn Model truyền thống:
      • Churn Model chỉ trả lời: "Ai là người có nguy cơ rời bỏ cao nhất?" (P(Churn=1∣X)P(\text{Churn} = 1 \mid X)).
      • Nếu gửi chiến dịch giữ chân (gọi điện, tặng quà) cho Top người dùng có nguy cơ rời bỏ cao nhất, doanh nghiệp sẽ rơi vào 2 bẫy lớn:
        1. Rơi vào nhóm Lost Causes (Vô phương cứu chữa): Khách hàng đã chuyển nhà hoặc cực kỳ thất vọng với dịch vụ →\rightarrow Tặng voucher cũng vô ích, lãng phí chi phí.
        2. Rơi vào nhóm Sleeping Dogs (Chó đang ngủ): Khách hàng đã quên mất việc họ đang trả phí thuê bao hàng tháng; cuộc gọi chăm sóc khách hàng vô tình nhắc họ nhớ ra và họ lập tức bấm nút Hủy dịch vụ!
    • Sự vượt trội của Causal Uplift Model:
      • Uplift Model không quan tâm xác suất rời bỏ nền tảng là bao nhiêu, mà trực tiếp ước tính: Khả năng thay đổi hành vi nhờ vào chiến dịch (Incremental Impact): Uplift=P(Stay∣Contacted)−P(Stay∣Not Contacted)\text{Uplift} = P(\text{Stay} \mid \text{Contacted}) - P(\text{Stay} \mid \text{Not Contacted})
      • Mô hình lọc ra chính xác nhóm Persuadables (Người có thể thuyết phục) – những người sẽ rời bỏ nếu bị bỏ mặc, nhưng sẽ ở lại nếu được chăm sóc →\rightarrow Tối đa hóa tỷ lệ giữ chân trên mỗi đồng ngân sách chi ra!

6. Tóm Tắt Ghi Nhớ Nhanh (Key Takeaways)

  1. Correlation ≠\ne Causation: Machine Learning truyền thống tối ưu cho dự đoán tương quan; Causal Inference tối ưu cho việc đưa ra quyết định can thiệp chính sách.
  2. Khung Potential Outcomes thừa nhận rằng ta không bao giờ quan sát được trạng thái Phản thực tế (Counterfactual) của cùng một cá nhân.
  3. Difference-in-Differences (DiD) loại bỏ sai lệch thời gian và sai lệch nhóm nhờ Giả định Xu hướng Song song (Parallel Trends).
  4. Propensity Score Matching (PSM) chỉ kiểm soát được các biến gây nhiễu quan sát được; bất lực trước các biến gây nhiễu ẩn (Unobserved Confounders).
  5. Uplift Modeling nhắm mục tiêu chính xác vào nhóm Persuadables, triệt tiêu lãng phí ngân sách trên nhóm Sure Things và bảo vệ người dùng khỏi nhóm Sleeping Dogs.
0Claps