#리뷰 인과추론 리뷰 : 게임유저이탈 killing)와 분석에 브런치 PK(Player 글 대한 ­

​데이터분석가로 일하고 계시는 분의 브런치를 구독하고 있는데나중에 실제로 일할 때 분석 계획을 수립하는데 있어서 도움이 많이 될 것 같아서 리뷰를 해보기로!​물론 게임분야는 내가 잘 모르는 분야이긴 하지만실제 분석가로 일하면서 풀어야할 새로운 문제에 대해어떤 분석방법을 사용할지는 오로지 분석가가 해야한다.​아직 나는 주니어라 주어진 문제에 대해 명확한 방법을 계획하기 불확신이 생길 때가 있다.특히, 명확하게 단 하나의 분류, 예측 모델같은 걸 사용하면 되는 문제가 아닌 경우에 이런 불확신이생기게 되는데 이런 분석 사례들을 공부하다보면 새로운 문제해결법 계획을 하는데도 감이 생기지 않을까? ​​철저히 밑의 url을 참고로 정리하며 간단히 내 생각을 기록!https://brunch.co.kr/@gimmesilver/67가장 큰 느낀점은 분석은 항상 의심하고 다른 케이스들을 분석해서 비교하고 검증하고 하는 작업이 필수인 듯 싶다.​​​

PK라는 건 게임에서 캐릭터를 죽이는 행위를 말한다.​이 글에 의하면게임에서 PK가 이탈에 긍정적 혹은 부정적 영향을 미칠 것이라는 의견이 있다고 전한다.​긍정적 영향으로는 유저의 경쟁심이나 성장욕구를 자극하여 게임을 활성화 시킬 것이고,부정적인 영향으로는 소수의 강한 캐릭터가 다수의 약하고 낮은 레벨의 캐릭터를 죽이고 다니기 때문에 이탈을 부추긴다는 의견이다.​그럼 실제로는 어떤 영향을 미칠지 브런치 글 내용을 파악해보면서 파헤쳐 보기 시작!​​1) 단순비교​ : 단순하게 PK경험여부와 이탈여부의 관계를 파악하기 위해서는 경험이 있다 (없다) 와 이탈했다 (안했다)와의 범주형 변수끼리의 관계를 파악하는 비교가 가능하다.​ 이런 비교의 경우, 통계학적으로 교차분석(카이제곱 분석)을 통해 수행할 수 있다. ​*질문 : PK를 당한 경험이 유저 이탈에 얼마나 영향을 줄까? 를 확인하기 위한 가장 단순한 방법(-> PK경험집단과 미경험 집단을 나누고 이 두 집단의 이탈율의 차이를 확인하는 방법)​*귀무 가설 : PK경험과 유저 이탈은 관계가 없다.

이를 분석하기 위해 나머지 변인들은 통제 시킨 후 분석을 수행-> 동일시기에 신규유입하여 플레이한 유저이면서 1주일 이내에 PK 1회이상을 경험한 사람들-> 동일시기에 신규유입하여 플레이한 유저이면서 1주일 이내에 PK 1회도 경험하지 못한 사람들​그 결과, 전자는 이탈율이 11.9%, 후자는 79.5%의 결과가 나왔다고 한다.​그리고 여기서는 언급이 안되었지만 P-value값이 유의미하다(0.05이하)는 전제하에우리는 PK가 이탈율에 영향을 미친다는 결론을 내릴 수 있다.​​​하지만 이런 접근은다음과 같은 문제를 고려하지 않았기에 불충분한 결론이라고 할 수 있다.​​​1-1. 문제 ) 역인과 관계로 인한 오해​*역인과 관계란? X가 Y의 원인이 아니라 반대로 Y가 X의 원인이 되는 경우를 말한다.​즉, 이번 사례에선 PK여부가 이탈율에 영향을 준다고 생각해서 분석을수행했지만 동일시기에 진입한 유저라도 게임플레이를 시작한지 몇 분만에 이탈한 경우와유입 후 일주일 동안 꾸준히 10시간 동안 플레이한 유저 중 당연히 게임을 오래한후자의 유저가 PK를 경험할 확률이 올라가는 ‘역인과 관계’가 있을 수 있다는 것이다.​즉, 실제 PK가 이탈율에 어떤 인과적 영향을 끼치는지 추정하기 위해선 역인과 효과를 제거해야 한다.

>

​​​​1-2. 문제) 교란요인으로 인한 오해​*교란 요인이란? x와 y 양쪽에 영향을 미치는 제 3의 요인을 의미한다.​ 예를들어 pk와 이탈율 사이의 교란요인으로 볼 수 있는 것이 ‘캐릭터 레벨’이다. 이 글에 의하면 보통 온라인 게임에서는 초반 성장에 방해가 되지 않도록 저레벨 캐릭터의 활동 지역에서는 전투를 금지해서 pk를 경험할 가능성 자체가 없을 수 있는 것이다.​그리고 캐릭터 레벨은 이탈율에도 영향을 미칠 수 있다. 레벨이 높다는 것은 결국 레벨이낮은 유저보다 게임에 대한 충성도가 높다고 볼 수 있으므로 결국, 레벨이 높으면 이탈율이 낮을 가능성이 큰 것이다.​결론을 지으면 게임 레벨로 인해 발생한 pk경험여부와 이탈율 사이의 관계는인과관계가 아닌 게임레벨로 인한 상관관계로 볼 수 있으므로이런 요인도 제거해서 분석을 해야한다.

>

​​​1-3. 문제) 우연한 현상에 대한 오해​분석에 사용된 데이터 (샘플된 데이터)에서만 pk와 이탈율 사이에 관계가 있다고만나오는 것이 아닐까? 즉, 우연히 발생한 것인데 불구하고 샘플된 데이터에서 이런 경향이 보인다고영향력을 그대로 인정해버리는 오류를 야기할 수 있다.​따라서 여기서 바로 통계적인 개념 p-value로 이게 우연인지 아닌지를 판단해야 하는 것!​물론 브런치 글에서는 단순하게 pk경험 여부와 이탈율의 퍼센트를 비교해서 통계적 근거가들어가지 않은 초기 판단을 했지만 내가 생각할 때는 초기 판단 자체를 교차분석으로 하면좋을 것 같아서 교차분석의 p-value값을 고려해서 판단하였기에 1-3오류가 없다고 결론 지을 수 있다.하지만 인과관계분석을 위해 회귀 분석을 새로 시행한다면 당연히 p-value값을 통해 이런 오류를 발생하는 것을 막아야 한다.​​​​​2) 분석 방법​그럼 위의 3가지 문제를 해결하기 위한 본격적인 분석 방법에 대해 공부해보자​1-1)의 역인과 관계 오류를 해결하기 위해선 게임 이용(접속)을 비슷하게 한 집단들로 구성해야가입하자마자 금방 이탈한 이용자가 당연히 PK경험하기 힘들다는 역인과 관계 효과를 배제 시킬 수 있기때문에 우선 PK 경험 집단을 최초 PK를 당한 일자별로 분류한 후, 최소한 PK를 당한 일자까지의 접속 이력이 있는 PK 미경험 집단을 샘플링하여 대조군으로 설정. (당연히 앞서 얘기한 것처럼 가입시기는 동일한 유저임)​

>

>

​​1-2)의 교란요인을 해결하기 위해선 교란 요인 통제를 위해 ‘성향 점수 매칭 (Propensity Score Matching, PSM)’ 기법을 사용했다고 한다.​성향 점수 매칭이란 쉽게 설명하자면 실험군(PK 경험 집단)과 대조군 (PK 미경험 집단)에 속한 개체들의여러 가지 특징을 대표하는 수치(성향 점수)를 만든 후, 실험군에 속한 개체들 각각의 점수와 동일하거나 비슷한 값을 갖는 대조군 개체들을 비교 대상으로 선정하는 기법이다.​나는 과거 화학과를 나와서 화학실험 레포트를 자주 쓰곤 했는데 실험을 통해 영향을 파악하고자 하는 변인 외에 실험 결과에 영향을 줄 수 있는 모든 변인을 동일하게 맞춰주는 통제변인작업을 수행한다고 생각하면 이해하기 쉽다는 생각이 들었다.​따라서 이 분석에서는 통제 변인 요인으로 다음을 설정▶(최초 pk를 경험하기 직전까지의) 접속일수 및 일 평균 플레이 시간▶(최초 pk를 경험하기 직전까지의) 일 평균 결제 금액▶(최초 pk를 경험하기 직전까지의) 캐릭터 레벨 및 기타 게임 콘텐츠 활동량​​​​1-3)우연한 현상에 대한 오류 를 해결하기 위해 회귀분석을 통해 pk가 이탈에 미치는 영향이 통계적으로도 유의한지 확인작업을 수행하였다. 이 때는 이탈 여부 (0, 1)라는 classification 유형이므로 로지스틱 회귀모델을 활용하여 p-value값을 이용하여 유의미함을 확인하였다고 한다.​​​​​​3) 분석 결과​우선 역인과 관계를 제거하기 위해 샘플링 방법으로 대조군을 (pk최초 경험일까지 접속한 유저)다시 설정하여 비교한 결과 처음 결과보다 집단 사이의 이탈율 차이가 크게 줄어들었다.(67.6% -> 10.4%)​-pk경험 집단의 이탈율 : 13.9%-pk 미경험 집단의 이탈율 : 24.3%​이후에는 교란요인 통제를 위해 성향점수매칭(PSM)을 통해 pk를 당한 유저와 비슷한 특징을 갖는 pk 미경험 유저를 선별하는 작업을 수행하였다.​여기선 R프로그램의 QQ Plots를 사용하여 성향점수 매칭된 샘플들을 이전과 비교해보았다.(QQ Plots 개념 : https://actruce.com/qq-plot/ )​

>

명확하게 QQ Plots에 대한 공부는 나중에!우선 여기서 설명하기론 all 이라고 표시된 왼쪽 그래프는 PSM작업 이전에 경험 집단과 미경험 집단의 몇 가지 데이터에 대한 QQ plots이고, matched라고 표시된 오른쪽 그래프는 PSM 작업 후의 결과라고 한다.​왼쪽과 오른쪽을 비교해보면 확연하게 오른쪽에서 굵은 점들이 대각선에 있는 실선에 가깝게 위치하고 있는 것을 확인 할 수 있다.(이는 두 집단의 분포가 비슷하다는 것을 의미)​결국, PK이외에 나머지는 통제되어서 PK만이 이탈에 어떻게 영향을 주는지 확인할 수 있는 데이터 셋 정리가 완료 되었다고 할 수 있다.​​그리고 마지막!로지스틱 회귀 모델을 활용하여(+통계적 유의확률도 파악)PK가 이탈율에 미치는 영향력을 추정하면 된다.​그 결과 marginal effect값이 -0.07, standarad error 0.011(유의함)로결론을 지면 PK를 경험하게 되면 7%정도 이탈율이 더 낮게 나오게 된다.​7%의 결과는 사실 PK가 이탈율에 영향을 미치는 영향이 그리 크지 않다는 것을 알 수 있다.​​​4) 결론​1) 어떤 사건이나 행동이 특정 변수에 영향을 미치는 인과적 영향을 추정하기 위해서는 해당 변수에 영향을 줄 수 있는 다양한 인과적 관계를 파악한 후, 인과 효과를 오해하여 해석하게 만드는 다른 요인들을 최대한 통제 하는 작업이 반드시 필요하다.​2) 해당 분석 결과가 반드시 맞다고 확신 할 수는 없다. 미처 고려하지 못한 요인이나 다른 오류가 존재할 수 도 있기 때문이다. ​3) 이 결과는 해당 데이터에 국한되는 일반적인 PK가 이탈율에 영향을 미치는 효과가 아닐 수 있다는 것이다.여기서 언급하길, 해당 게임에서만 국한되는 이야기일 수 도 있고, 특정 시점에 유입한 신규 유저에 국한되는 데이터이기 때문에 기존 유저들은 다른 결과를 가져 올 수도 있고 등등 따라서 분석은 항상 의심하고 다시 반복해서 검증하고 분석하는게 필요한 무한 루프 같다.