tak's data blog

FC online - 복귀 보상에 따른 이질적 처치효과 추정 본문

프로젝트/인과관계를 고려한 피파4 이탈분석

FC online - 복귀 보상에 따른 이질적 처치효과 추정

hyuntaek 2024. 9. 16. 17:54

 

지난 결론으로는 

nextfield의 적응/비적응 여부와 이탈은 통계적으로 유의성이 없다는 결론을 내릴 수 있었습니다.

https://taek98.tistory.com/76

 

피파온라인4 - 인과관계를 고려한 이탈 분석(PSM 매칭기법)

전에 작성했었던 자료에 이어서 분석을 진행하도록 하겠습니다! https://taek98.tistory.com/66 피파온라인4 이탈, 진성유저 분석_이탈유저는 nextfield에 적응할까? 배경 선정 이탈 분석이라는 주제를 잡

taek98.tistory.com

 

마지막 프로젝트를 진행하면서 그래서 이탈과 관련이 있거나 없으면 어떻게 액션을 제시할 수 있을까? 직접적인 액션으로 나아갈 수 있는 새로운 분석방법은 또 무엇이 있을까??고민을 하던 찰나에 인과추론에 대해 조금씩 공부해보면서 책에서 배운 내용을 기반으로 해당 프로젝트를 디벨롭해보는 시간을 가지게 되었습니다.

 

 

0. 문제 정의

그래서 이탈이라는 주제로 아래와 같이 업무적인 영역과 연계시켜보며 드릴다운 해보았습니다.

 

1) 이탈은 무엇과 관련이 있을까? 

2) 언젠간 유저는 이탈하고 다시 복귀하고를 반복한다.

3) 유저가 복귀한다면 그에 맞는 보상으로 접속을 유지시킬 수 있겠다.

4) 관련된 지표로는 리텐션 등이 있을 것이다.

5) 그렇다면 이탈 후 복귀와 관련된 분석을 해보면 어떨까?

 

그래서 이번에 인과추론과 관련된 방법론을 위의 생각과 결합해보게 되었습니다.

 

문제: 이탈 후 29일 미만, 30일 뒤 복귀하는 유저간의 리텐션에는 차이가 존재했다.

  • 29일 미만 복귀하는 유저의 리텐션이 더 낮았음

29일 미만, 30일 뒤 복귀하는 유저간의 리텐션 차이가 존재하는 이유는 복귀보상에 있을 수 있다. 라는 가설을 세울 수 있었습니다. 보통의 게임들은 30일 단위로 유저의 복귀 기간을 정의해 복귀 후 게임을 계속 접속할 수 있도록 유도합니다. 30일의 기준을 만족하는 유저는 복귀 보상을 받고(처치 효과), 그렇지 않은 유저는 복귀 보상을 받을 수 없을 것입니다.

  • 즉, 리텐션에도 영향을 끼칠 수 있다라는 결론으로 나아갈 수 있었습니다.

 

 

1. 데이터 구조

FC online api센터를 통해 직접 저와 매칭된 유저 약 1,021명을 기준으로 분석하였습니다.

 

 

2. 데이터분석

그래서 이를 하나의 실험 조건으로 대입해볼 수 있겠다라는 판단을 했고 조건은 아래와 같이 정하였습니다.

 

T(처치효과): 복귀 보상 

Y(종속변수): 리텐션

 

nickname 복귀보상(T) d7_retention(Y)
a 0 0
b 1 1
c 0 0

(데이터 예시)

 

 

2-1. 회귀분석 처치 효과

ATE

  • 평균적인 처치 효과로, 예를 들어 약을 복용했을 때와 복용하지 않았을 때

CATE

  • X(공변량)조건에 따른 ATE를 CATE라 함

로지스틱 회귀분석을 통한 ATE, CATE를 살펴보며 수치에 대해 해석하는 과정으로 나아가보겠습니다.

기존 데이터의 오즈비

  • 12.2 / 5.9 = 2.0

 

 

로지스틱 회귀모델 활용

import statsmodels.formula.api as smf

T = retention_df['Reward']
Y = retention_df['d7_retention']

data = pd.DataFrame({'Y':Y, 'T':T}, index=retention_df.index)
model = smf.logit('Y~T', data).fit()

 

 

오즈비

  • 보상을 받지 않았을 때보다 7일 뒤 접속할 오즈가 2.05배 높았습니다.

 

 

ATE

 

  • ATE의 경우에 5.28%로 복귀 보상을 받은 경우 7일 뒤 리텐션이 5.28% 더 높았습니다.

 

 

CATE

CATE의 경우 X조건에 넥스트필드 후 상향된 스텟인 (패스, 드리블) 수치의 합을 이용했습니다.

마찬가지로 로지스틱 회귀분석을 실행한 결과 처치 효과의 p값(0.03)이 0.05보다 작으므로 귀무가설을 기각할 수 있었습니다.

def calculate_cate(x):
    coef = model.params
    p1 = 1 / (1 + np.exp(-(coef['Intercept']+coef['T']+coef['X']*x + coef['T:X']*x   ) ))
    p0 = 1 / (1 + np.exp(-(coef['Intercept']+coef['X']*x)))
    return p1-p0

result = pd.DataFrame()
for x_value in range(100,240, 20):
    cate_value = calculate_cate(x_value)
    print(f'CATE at X={x_value}: {cate_value}')
    df = pd.DataFrame({'mean_stats':x_value, 'cate':cate_value}, index=[0])
    result = pd.concat([result, df])

 

X CATE
100 6.3%
120 5.9%
140 5.6%
160 5.3%
180 5.1%
200 4.8%

 

  • CATE의 경우 예측값이 점점 커지거나 작아지면 잘 예측한 것인데, 위의 표를 보면 X (축구 스텟 합)가 증가할수록 CATE가 점차 낮아지므로 어느정도 예측이 잘되었다고 해석할 수 있었습니다.

 

 

3. 결론

  • 복귀 보상을 받았을 때, 스텟활용이 높은 유저일수록 7일 뒤 리텐션이 더 낮음
  • 오히려 스텟이 크다면 지나치게 무리하는 플레이로 넥스트필드의 의도와 달리 적응력이 떨어진다고 판단
    • 넥스트 필드 업데이트는 의도대로 이뤄진 것
  • 복귀 유저 보상이 리텐션을 5.28% 상승시킴
  • 만약 FC online의 이탈 기준 기간이 30일 이라할 때 720시간 대신 719, 718시간이 지난 30일도 복귀 대상으로 포함해야 한다. 는 의견을 설득하는 자료로 활용 가능
ATE 5.28%
CATE( X = 축구 스텟 합 ) X가 커질수록 하락

 

 

 

 

 

 

참고자료:

실무로 통하는 인과추론 with 파이썬

https://github.com/CausalInferenceLab/causal-inference-lecture?tab=readme-ov-file

https://www.youtube.com/watch?v=13E_VKps_KE