[Uplift] Uplift 모델의 이해

2025. 2. 16. 23:14

배경

최근 사내의 스터디를 통해 업리프트 모델(Uplift Model)을 처음 접하게 되었습니다. 실무에서 더욱 꽤나 유용하게 쓰일 수 있는 모델로 보여, 활용을 위해 아래 유튜브 영상을 참고하여 개념을 간략히 정리해 보았습니다.

이제 업리프트 모델이 무엇이며, 어떻게 활용할 수 있는지에 대해 알아보겠습니다.

(혹시 제 설명이 잘못된 부분이 있다면 편하게 말씀 부탁드립니다!)

 

 

Uplift 모델이란?

업리프트 모델(Uplift Model) 은 주로 마케팅 분야에서 활용되는 모델로, 제한된 자원을 어떤 그룹에게 배분해야 가장 효과적으로 사용할 그룹을 선정하는 데 사용되는 모델입니다.

 

업리프트 모델은 X, T, Y 세 가지 요소로 구성됩니다.

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

Uplift모델은 X 값이 동일할 때 T가 Y에 미치는 영향을 분석하여, 마케팅 효과를 극대화할 수 있는 군집을 찾아냅니다. 즉, T(처치)의 영향에 따라 Y(구매, 전환) 가능성이 큰 그룹을 대상으로 우선 처치 하자는 목적을 가집니다.

 

 

Uplift 모델의 데이터

Uplift 모델은 일반적인 모델들과 조금 다른 데이터를 요구합니다. 앞서 설명드린 것과 같이 고객(혹은 분석의 대상이 되는) 단위에서 각각의 특성X, 그리고 그에 따른 결과 Y, 마지막으로 실험자가 보고자 하는 처치 여부 T를 가지게 됩니다.

고객 ID X (특성) T (처치 여부) Y (결과)

001 30대, VIP 회원 1 (광고 노출) 1 (구매)
002 20대, 일반 회원 0 (광고 미노출) 0 (미구매)
003 40대, 신규 고객 1 (광고 노출) 0 (미구매)
... ... ... ...

이런 데이터를 학습한 모델은 T가 Y에 미치는 영향을 분석하여, 결과를 return하며 가장 큰 업리프트 효과를 보이는 고객 그룹을 찾아낼 수 있습니다.

 

 

Uplift 주요 용어

조금 더 상세한 내요을 보기 전, 간략히 용어를 정리해보겠습니다!

  1. 업리프트 (Uplift)
  2. 업리프트는 처치가 고객의 행동에 미친 순수한 영향을 의미합니다. 처치가 없었을 경우와 처치가 있었을 경우의 차이로 정의됩니다. 업리프트는 처치가 결과에 미친 긍정적인 영향을 나타내는 지표로 사용되며, 업리프트 모델은 이 값을 측정하고 예측하는 데 초점을 맞춥니다.
  3. 처치 효과 (Treatment Effect)
    • 업리프트가 수치 자체를 의미하는데 반해 처치 효과는 개별 고객이 처치에 대해 긍정적, 부정적 어떤 영향을 받았는지 나타내는 개념입니다.
  4. 처치 효과는 처치가 개별 고객의 행동에 미치는 영향을 의미합니다. 이 효과는 처치 여부에 따라 달라질 수 있으며, 업리프트 모델은 이를 정확히 측정하려고 합니다.
  5. Causal Effect (인과 효과)
    • Average Treatment Effect (ATE): 전체 집단에 대한 평균 처치 효과를 계산한 값입니다. 즉, 처치를 받은 집단과 받지 않은 집단의 평균적인 결과 차이를 나타냅니다.
    • Individual Treatment Effect (ITE): 개별 고객에게 미치는 처치의 영향을 추정한 값입니다. 예를 들어, 고객 A에게는 효과가 크고, 고객 B에게는 효과가 적을 수 있습니다.
    • Conditional Average Treatment Effect (CATE): 특정 조건(X)에 맞는 집단에 대한 처치 효과를 나타냅니다. 예를 들어, 특정 연령대나 행동을 가진 고객들에게 처치가 미친 영향을 평가할 때 사용됩니다.
  6. Causal Effect
    • Causal Effect는 특정 처치(Treatment)가 결과(Outcome)에 미친 영향을 의미합니다. 업리프트 모델은 Causal Effect를 추정하고, 처치가 특정 고객에게 미친 순수한 영향을 파악하는 데 사용됩니다.
  7. Propensity Score
    • Propensity Score는 각 고객이 처치를 받을 확률을 의미합니다. 고객의 특성(X)을 기반으로 예측된 이 확률은 업리프트 모델에서 처치군과 대조군을 비교하는 중요한 요소입니다.
  8. Propensity Score Matching (PSM)
    • PSM은 고객 특성(X)을 기준으로 유사한 고객을 매칭하여, 처치가 고객의 행동에 미친 순수한 영향을 평가하는 방법입니다. 처치군과 대조군을 비슷한 특성을 가진 고객으로 비교하기 위해 사용됩니다.

 

 

Uplift 주요 가정

uplift 모델은 특정 고객군을 대상으로 처치(T)를 제공할 경우 데이터 편향이 발생할 수 있어, 랜덤화를 기반으로 한 A/B 테스트와 같은 실험 데이터를 기반으로 학습하는 것이 가장 이상적입니다. 조금 더 구체적인 사유를 보자면 랜덤화는 아래의 여러  가정을 만족시키기 위해 필요합니다:

  • Y, T 간의 독립성
    • 개별 고객의 응답(Y)은 다른 고객의 처치(T)에 영향을 받지 않아야 합니다.
    • 즉, 한 그룹에 특정 마케팅을 제공하는 것이 다른 그룹의 행동에 영향을 미치지 않는다고 가정합니다.
    • 예를 들어, 친구 추천 프로모션처럼 고객 간의 상호작용이 있는 경우 이 가정이 깨질 수 있습니다.
  • X와 T의 독립성 (Independence of X and T)
    • 고객 특성(X)과 처치(T)는 독립적이어야 합니다. 즉, 처치 여부가 고객 집단의 특성에 영향을 미치거나 받지 않아야 합니다.
    • 예를 들어, 특정 고객만 대상으로 처치를 제공했을 경우, 실험군과 대조군의 X(특성이 다를 가능성이 높고, 업리프트 효과를 정확히 측정하기 어려워집니다.
  • X와 T가 독립적이지 않으면 업리프트 모델의 결과가 왜곡될 수 있으며, 이를 보정하기 위해 다음과 같은 방법을 사용할 수 있습니다:
    • Propensity Score Matching (PSM): 비슷한 특성을 가진 고객끼리 실험군과 대조군을 매칭
    • Inverse Probability Weighting (IPW): 처치 확률(Propensity Score)을 이용해 가중치를 조정
    • Doubly Robust Estimation: PSM과 IPW를 함께 사용하여 보정 효과를 극대화

그렇다면 실험이 되지 않은 실제(현상) 데이터를 기반으로 Uplift를 적용할 수 없을까요?

  • 물론 통제된 한경에서의 실험이 Uplift를 위해 이상적인 데이터입니다. 그러나, 실험이 불가능한 경우 PSM, IPW와 같은 기법을 활용해 실제 데이터에서 유사한 실험군을 찾고 이를 바탕으로 업리프트 분석을 시도할 수는 있습니다. 단, 실험 데이터를 기반으로 하지 않을 경우 앞서 설명된 사전 가정을 만족하지 못할 가능성이 높고, 이에 따라 실험결과를 기반으로 한 모델 학습보다 낮은 신뢰성을 가질 수 있습니다.

 

 

주요 모델

Learner란 Uplift모델에서 처치(Treatment) 효과를 추정하는 데 사용되는 모델을 의미하며. 각 Learner는 처치 효과를 예측하는 방식이 다르며, 각 상황에 따른 적절한 모델 선택이 필요합니다.

오늘은 대표적인 S Learner, T Learner, X Learner에 대해 간략히 살펴보겠습니다.

 

 

  1. S Learner (Single Model Learner)

출처 : https://dev.classmethod.jp/articles/causal-metalearner-xlearner/

  • S Learner는 하나의 모델을 사용하여, 처치(T)와 결과(Y) 간의 관계를 모델링합니다. 이 모델은 T가 0(처치 없음) 일 때와 T가 1(처치 있음) 일 때의 결과를 모두 포함해 학습합니다.
  • 하나의 모델로 처치(T)를 포함하여 결과(Y)를 예측한 후, 처치와 비처치 간의 차이를 계산하여 처치 효과를 추정합니다.
  • 간단하고 직관적이나 처치 여부(T)와 결과(Y) 간의 관계를 정확히 모델링하기 어려운 경우가 있을 수 있습니다.

 

2. T Learner (Two Model Learner)

 

출처 : https://dev.classmethod.jp/articles/causal-metalearner-xlearner/

  • T Learner는 두 개의 모델을 사용하여, 처치(T) 여부(1,0)에 따라 두 가지 모델을 각각 학습합니다. 하나는 처치가 없을 때, 또 하나는 처치가 있을 때 결과(Y)를 예측합니다.
  • 처치군(T=1)과 대조군(T=0)에 대해 각각 별도의 예측 모델을 학습하고, 두 모델에서 예측된 결과를 비교하여 처치 효과를 추정합니다.

 

3. X Learner (Cross-fitting Learner)

출처 : https://dev.classmethod.jp/articles/causal-metalearner-xlearner/

 

  • X Learner는 S Learner와 T Learner의 아이디어를 결합한 방식입니다.
    1. T leaner와 동일하게 두 개의 모델을 동시에 학습하고
    2. 이후 위해 두 모델의 결괏값을 결합하고
    3. 그룹 별 처치효과를 구해 각 그룹에 맞는 가중치를 적용해 예측 오차를 보정합니다.
  • 현재 앞서 설명한 learner들 대비 정확하고 강력한 방법으로 간주되고 있습니다.

 

 

마치며

기존에는 금주에 실습까지 추가해 글을 쓰고자 하는 큰 꿈이 있었으나 시간 관리의 실패로 아직 실습을 해보지 못했네요. 다음번 글에서는 실습 내용과 모델의 성능평가 등 조금 더 모델을 적용하는 내용을 가지고 돌아오겠습니다.

'Statistics > Uplift' 카테고리의 다른 글

[인과추론] 인과추론 개념 정리 2  (0) 2025.03.16
[인과추론] 인과추론 개념 정리 1  (0) 2025.03.02

BELATED ARTICLES

more