uplift modeling
필요하게된 목적 : 마케팅 비용 절감.
마케팅에서 conversin을 촉진하기 위해 인센티브를 여러 방법으로 사용할 수 있는데, 최적의 인센티브를 줌으로써 마케팅 비용 절감을 시도. 예를 들면 인센티브를 주지 않아도 살 유저에게는 굳이 주지 않아도 됨. 인센티브의 케이스가 아래와 같이 세가지 있다고 가정하자.
₩0
₩10
₩100
1) 랜덤으로 뿌려보면 되잖아?
그럼 어떤 유저한테는 줘야하고 안줘야하고를 알고 싶으면,
이상적으로 아래 표처럼 하나의 유저에게 아래와 같이 여러 인센티브를 시도해보고
예를 들어 A유저는 인센티브를 주던 안주던 conversion
B유저는 인센티브를 주었을 때만 반응
한다고 하면 A유저는 다음부터 인센티브를 아예 안주고, B유저는 ₩100을 준다고 한다면.
전체 비용 최대 2*₩100 에서 ₩100으로 50% 절감을 할 수 있다.
유저 | 마케팅 회차 | 인센티브 | conversion여부 |
A | 1 | ₩0 | 1 |
A | 2 | ₩10 | 1 |
A | 3 | ₩100 | 1 |
B | 1 | ₩100 | 1 |
B | 2 | ₩10 | 0 |
B | 3 | ₩0 | 0 |
2) 그런데 이런 랜덤하게 뿌리는 상황이 모든 기업에서 가능한 것은 아니다.
그래서 필요한 방법론이 uplift인데,
예를 들어 위 표에서 유저마다 하나의 행(마케팅 시행)에 대한 데이터밖에 없다고 가정하자.
그럼 이사람이 원래 다른 인센티브를 주었을떄 conversion할지 어떻게 알 수 있을까?
즉, 인센티브 종류 -> conversion 여부 영향을 알고 싶은 것이다.
아래 ? 부분을 채우고 싶은거다.
유저 | 마케팅 회차 | 인센티브 | conversion여부 |
A | ₩0 | ? | |
A | 2 | ₩10 | 1 |
A | ₩100 | ? | |
B | 1 | ₩100 | 1 |
B | ₩10 | ? | |
B | ₩0 | ? |
3) 그나마 사용할 수 있는건, 위 표에 존재하지 않는 다른 피쳐들도 가져와서 추측해보는 것이다.
예를 들어 유저의 서비스사용기간, 평균 결제금액을 추가해서 본다면,
A는 B유저에 비해 서비스사용기간이 길고 결제금액이 높으므로 좀 더 충성고객에 가까울 것이다.
원래 목적은 인센티브-> conversion에 미치는 영향을 바로 알면 좋겠지만,
우연히 그렇게 된 것인지 알 수 없는데 랜덤 실험도 못하는 상황이니까,
추가한 피쳐들을 사용해서 그 영향을 좀 더 정확히 구해보고 싶다는 거다.
유저 | 서비스사용기간 | 평균결제금액 | 인센티브_10원 | 인센티브_100원 | conversion여부 |
A | 1년 | 5만원 | 1 | 0 | 1 |
B | 1달 | 500원 | 0 | 1 | 1 |
4) 수식적인 부분
T-> Y의 리그레션에서
X-> T 의 propensity를 활용한다
5) 모델 요약과 ROI https://www.intelligencelabs.tech/5e047ef8-f811-47a8-9058-e6dfb2d5f8aa
유저 그룹을 90%/10%분리하고 90%는 학습에 사용하고 10%로 검증한다
10%유저에게 두 모델을 피팅해서 그 차이를 구하면
인센티브 부여받았다고 가정하고 피팅한 모델 - 인센티브 안받았다고 가정한 모델 = uplift score
즉 인센티브의 효과만 가져오고 싶다는 거다