<aside> 📌

1. 업리프트 모델 정의


업리프트 모델(Uplift Model) 제한된 자원을 어떤 그룹에게 배분해야 가장 효과적으로 사용할 그룹을 선정하는 데 사용되는 모델
</aside>

<aside> 📖

1-1 업리프트 모델 구성 요소


요소 정의
X 고객의 특성(예: 나이, 구매 이력 등)
T 특정 처치(Treatment, 예: 마케팅 캠페인) 여부
Y 결과(예: 실제 구매 여부)

X 값이 동일할 때 T가 Y에 미치는 영향을 분석하여, 마케팅 효과를 극대화할 수 있는 군집 찾아냄

T(처치)의 영향에 따라 Y(구매, 전환) 가능성이 큰 그룹을 대상으로 우선 처치 하자는 목적을 가짐

고객 ID X (특성) T (처치 여부) Y (결과)
001 30대, VIP 회원 1 (광고 노출) 1 (구매)
002 20대, 일반 회원 0 (광고 미노출) 0 (미구매)
003 40대, 신규 고객 1 (광고 노출) 0 (미구매)
... ... ... ...
</aside>

<aside> 💡

1-2 Uplift 주요 용어


단어 정의 예시
업리프트 처치가 고객의 행동에 미친 순수한 영향으로, 처치가 없었을 경우와 처치가 있었을 경우의 차이로 정의됨 광고 노출 시 구매율 5%, 미노출 시 3% → 업리프트 = +2%p
처치 효과 업리프트가 수치 자체를 의미하는데 반해 처치 효과는 개별 고객이 처치에 대해 긍정적, 부정적 어떤 영향을 받았는지 나타내는 개념 어떤 고객은 광고 후 구매(+) , 어떤 고객은 오히려 이탈(-)
Propensity Score 각 고객이 처치를 받을 확률을 의미. 고객의 특성(X)을 기반으로 예측된 이 확률은 업리프트 모델에서 처치군과 대조군을 비교하는 중요한 요소 “이 사람이 원래 광고 받을 만한 타입인가?”를 점수로 매긴 것
Propensity Score Matching (PSM) 고객 특성(X)을 기준으로 유사한 고객을 매칭하여, 처치가 고객의 행동에 미친 순수한 영향을 평가하는 방법 광고 받을 만한 정도가 비슷한 사람들끼리 짝지어서,광고 본 사람 vs 안 본 사람을 공정하게 비교하는 방법
Causal Effect(인과 효과)
특정 처치(Treatment)가 결과(Outcome)에 미친 영향을 의미
Causal Effect 종류 3가지 정의
Average Treatment Effect**(ATE)** 전체 집단에 대한 평균 처치 효과를 계산한 값. 즉, 처치를 받은 집단과 받지 않은 집단의 평균적인 결과 차이를 나타냄
Individual Treatment Effect**(ITE)** 개별 고객에게 미치는 처치의 영향을 추정한 값
Conditional Treatment Effect**(CATE)** 특정 조건(X)에 맞는 집단에 대한 처치 효과를 나타냄. 예를 들어, 특정 연령대나 행동을 가진 고객들에게 처치가 미친 영향을 평가할 때 사용

</aside>

<aside> 📖

2. Uplift 주요 가정


가정 의미 왜 중요한가 깨지는 예시
Y와 T의 독립성 한 고객의 결과(Y)는 다른 고객의 처치(T) 에 영향을 받지 않아야 함 고객 간 간섭이 있으면 처치 효과를 순수하게 분리할 수 없음 친구 추천, 입소문 마케팅처럼 한 사람의 처치가 다른 사람 행동에 영향
X와 T의 독립성 고객 특성(X)과 처치(T)는 서로 독립적이어야 함 (무작위 배정) 특정 특성만 처치받으면 처치 효과와 원래 특성이 섞여서 편향 발생 VIP만 광고 노출 → 실험군/대조군 특성 분포가 다름
</aside>

<aside> 📖

3. 주요 모델


3-1. S Learner(Single Model Learner)


<<Pseudocode: Algorithm S-Learner>>

1: procedure S-LEARNER(X, Y, W)
2:     μ̂ = M(Y ~ (X, W))
3:     τ̂(x) = μ̂(x, 1) - μ̂(x, 0)
----------------------------------------------------------------------------------
M(Y ~ (X, W)) is the notation for estimating (x, w) ↦ E[Y | X = x, W = w] 
while treating W as a 0,1-valued feature.

3-2. T Learner (Two Model Learner)


<<Pseudocode: Algorithm T-Learner>>

1: procedure T-LEARNER(X, Y, W)
2:     μ̂0 = M0(Y^0 ~ X^0)
3:     μ̂1 = M1(Y^1 ~ X^1)
4:     τ̂(x) = μ̂1(x) − μ̂0(x)
---------------------------------------------------------------------------------
# Y^0, Y^1:각각 통제군(control)과 처치군(treatment)의 관측 결과
# X^0, X^1: 각각 통제군과 처치군의 특성(feature) 벡터
# M_k(Y ~ X): 입력 X로부터 E[Y | X = x]를 예측하는 회귀/머신러닝 모델
# 어떤 모델이든 가능하며, 블랙박스 모델도 사용 가능

3-3. X Learner (Cross - fitting Learner)


<<Pseudocode: Algorithm X-Learner>>
1: procedure X-LEARNER(X, Y, W, g)

2: μ̂0 = M1(Y^0 ~ X^0)          ▷ Estimate response function
3: μ̂1 = M2(Y^1 ~ X^1)

4: D̃1^i = Y^1_i - μ̂0(X^1_i)    ▷ Compute imputed treatment effects
5: D̃0^i = μ̂1(X^0_i) - Y^0_i

6: τ̂1 = M3(D̃1 ~ X^1)           ▷ Estimate CATE in two ways
7: τ̂0 = M4(D̃0 ~ X^0)

8: τ̂(x) = g(x) τ̂0(x) + (1 - g(x)) τ̂1(x)   ▷ Average the estimates