일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- subdag
- 공분산
- top_k
- youtube data
- Airflow
- correlation
- chatGPT
- hadoop
- spark udf
- API Gateway
- API
- integrated gradient
- flask
- GenericGBQException
- requests
- TensorFlow
- session 유지
- Retry
- tensorflow text
- airflow subdag
- UDF
- login crawling
- XAI
- 상관관계
- GCP
- BigQuery
- grad-cam
- gather_nd
- Counterfactual Explanations
- 유튜브 API
- Today
- Total
데이터과학 삼학년
Uplift 모델링 (feat. scikit-uplift) 본문
Uplift 모델링
- Uplift 모델링은 마케팅 및 광고 캠페인의 효과를 평가하고 최적화하기 위한 강력한 도구로 사용
- 이 모델은 개별 고객에 대한 특성을 고려하여 어떤 행동을 취할 경우 해당 고객의 반응이 가장 크게 변화할지를 예측
- 마케터들은 자원을 효율적으로 할당하고, 성과를 극대화할 수 있음
>> 마케팅을 안해도 서비스로 유입될 유저에게는 굳이 마케팅을 할 필요가 없다. 또한 마케팅을 하면 오히려 서비스에 반감을 가지는 유저도 있다.
>> 따라서 마케팅을 안하면 서비스로 유입되지 않지만, 마케팅을 했을때 서비스로 유입될 유저를 선별하여 마케팅하는 것은 마케팅 비용 감소와 높은 전환률을 가질 수 있다
Uplift 모델링의 원리
- Uplift 모델링은 보통 "효과적인 인과 관계 추론"이라고도 불림
- 모델에서 사용하는 그룹
- Treatment Group: 특정 행동이나 조치를 받은 그룹 (예: 광고를 본 고객)
- Control Group: 특정 행동이나 조치를 받지 않은 그룹 (예: 광고를 보지 않은 고객)
- Never Treated Group: 어떤 상황에서도 처리를 받지 않은 그룹
이 모델은 이러한 그룹 간의 차이를 통해 원인과 결과 사이의 관계를 분석합니다. 그리고 이러한 분석을 통해 각 고객이 처리를 받을 때의 예상 결과를 예측합니다.
Uplift 모델링의 활용
- 개인화된 마케팅: 각 고객에게 맞춤형 마케팅 전략을 구축할 수 있습니다. 예를 들어, 특정 고객이 광고를 본 후에만 반응하는 경우, 해당 광고를 그 고객에게만 노출시킬 수 있습니다.
- 최적화된 리소스 할당: 한정된 마케팅 예산 내에서 최상의 결과를 얻기 위해 리소스를 효율적으로 할당할 수 있습니다. Uplift 모델링은 어떤 그룹이 특정 조치에 더 반응할 가능성이 높은지를 식별하여 예산을 최적화할 수 있습니다.
- 실험 및 테스트: 새로운 마케팅 전략이나 캠페인을 시험하고 테스트하는 데 사용될 수 있습니다. Uplift 모델링은 새로운 전략이 어떤 고객 그룹에게 가장 효과적인지 빠르게 확인할 수 있도록 도와줍니다.
코드
- Hillstrom 데이터셋을 사용하여 간단한 uplift 모델을 학습하고 예측하는 과정
- Hillstrom 데이터셋은 전자상거래 회사의 고객 데이터로, 각 고객의 행동과 마케팅 조치에 대한 정보를 포함
- SoloModel을 사용하여 단일 uplift 모델을 학습하고 예측
- SoloModel은 간단한 하나의 모델을 사용하여 uplift를 예측하는 방법
- 실제로는 여러 가지 다른 모델과 알고리즘을 시도하여 최적의 결과를 얻을 수 있음
# 필요한 라이브러리 import
from sklift.models import SoloModel
from sklift.datasets import fetch_hillstrom
# 데이터셋 로드
X, y, treatment = fetch_hillstrom(return_X_y_treatment=True)
# Uplift 모델 정의
sm = SoloModel()
sm.fit(X, y, treatment)
# 예측 수행
uplift_predictions = sm.predict(X)
# 각 고객의 uplift 예측값 출력
print(uplift_predictions)
참조
https://www.uplift-modeling.com/en/latest/quick_start.html
https://medium.com/the-data-nerd/an-introduction-to-uplift-modeling-737d0d78e3e
'Growth Hacking' 카테고리의 다른 글
AARRR - Acquisition 고객유치 (0) | 2024.01.10 |
---|---|
Growth Hacking 핵심 개념 (0) | 2023.12.18 |