원본 영상 : https://www.youtube.com/watch?v=kcE_1n41xdk
오늘 다뤄볼 주제는 실전 이탈 예측에 관한 내용입니다. 이탈이라는 상황은 게임에서도 흔히 발견될 수 있는 사항인데, 간단하게 말하면 철새를 생각하면 이해하기 쉽습니다. 특정 기간에 이벤트를 많이 하다가, 이벤트가 끝나면 다시 빠져나가는, 그런 현상이 이탈입니다. 이와 관련해서 발표가 진행되었었습니다. 이와 관련해서, 실제로 사용자 로그를 추출해 데이터 분석이 많이 이루어지기도 하는 분야이고, 머신러닝 등 예측 분야가 많이 사용되는 부분이기도 해서 관심있게 봤던 분야인 것 같습니다.
💡 데이터 기반의 의사 결정에 일조하는 것은 분석가의 꿈이라고 할 수 있음.
이탈은 어떻게 정의할지?
누구를 대상으로 정해야 할지?
학습 데이터 = 학습 대상+ 각 대상에 대한 정보 + 레이블
💡 학습 대상 : 누구인지?
레이블 : 이탈했는지 안했는지, 얼마나 생존을 했는지 등 즉, 이탈했는지, 살아있는지?
전체 유저에 대해 이탈 예측을 하자니 유저마다 성향이 너무 다름 → 정확도가 떨어지는 문제점이 발생
모든 유저를 대상으로 하는 이탈 예측은 비효율적 (성능, 비용 등 모든 측면에서) → 반례 : 봇, 악성 유저, 근본적으로 성향이 맞지 않아 이탈 방지가 불가능한 유저들 ex. 친구 따라 pc방에서 계정 만들어본 사람들
⇒ Bot이 아니고, 악성 유저도 아니면서, 장기간 플레이할 것 같은 유저? 진성유저라고 할 수 있음
💡 진성 유저 : 해당 게임을 충분히 좋아하는 것이 증명된 유저
진성유저를 유저 클러스터링으로 분류하고 이탈 예측의 대상으로 진행했지만, 팀의 예측일 뿐이고, 이탈 정책/목표에 맞는 유저군을 찾는 것이 중요
이탈의 정의 : 흔히 탈퇴를 생각하기 쉬움. 하지만, 게임계정의 경우 탈퇴의 경우는 거의 적음.
실제로 1년 이상 미접속 유저 중 서비스 탈퇴 유저는 고장 0.8%에 불과함. → 사실상 아무도 탈퇴를 하지 않음.
연속 미접속 기간 : 일정 기간 이상동안 접속하지 않은 유저는 탈퇴자로 보겠다고 임의로 정의
→ 이를 위해 내부 요인 + 미접속 기간에 따른 복귀/이탈률을 고려해야 함.
데이터 가공
어떤 데이터를 가공해서 사용하는지 결정
대표적으로 활동이력이 있음. 이탈 시점이 길어질수록, 이탈자의 플레이 타임은 감소하는 반면, 비이탈자의 플레이 타임은 일정,
추가로 사회활동 데이터를 사용할 수 있음
사회활동은 길드, 클랜, 혈맹, 레기온 등을 가입하고 탈퇴하는 횟수를 말함
비이탈자 대비 이탈자들은 이탈시점이 다다를수록, 길드, 클랜 등 가입 또는 탈퇴의 횟수가 비이탈자에 비해 높은 것으로 확인
추가적으로 결제이력 등에 대해 추세, 변동성 등 계산해서 변수가공 → 결제문제는 민감함
⇒ 변수문제는 회사마다 협업하는 도메인 지식 전문가와 협업하는 것이 좋음.
💡 도메인 지식 전문가 : 게임 담당자
이들은 매일 게임을 모니터링하면서, 유저들과 호흡을 맞추고, 피드백을 맞추면서 지식을 많이 쌓기에, 데이터 분석가가 백날 야근하는 것보다 효율적인 인사이트 제공할 수 있음.
어떤 알고리즘을 사용할지?
어떤 모델링 기법을 적용할까?
예측력 + 해석력 측면으로 구분할 수 있음.
→ 한쪽이 좋으면 한쪽이 안좋은 알고리즘을 사용할 수 있음.
둘 다 가능한 알고리즘을 사용하는 것이 좋음.
이탈 방지를 하려면, 이탈 요인이 무엇인지, 모델에서의 해석력을 통해 추정하게 되는데 해석력이 떨어지는 모델을 사용하면 이탈의 원인을 파악할 수 없어서, 요인 추정 모델을 추가로 만들어야 됨.
이탈의 원인을 모르면, 정확하게 이탈자를 예측해도 이탈을 방지할 수 없음.
→ 경험담을 통해 이탈 예측을 할 때 삽질을 덜 할 것임.