소프트웨어 전문지 마이크로소프트웨어 395호는 데이터과학을 주제로 담았습니다. 데이터과학에 대한 개론, 학습 방법, 실무 적용 사례, 학계 등 마소 395호 주요 기사들을 IT조선 독자에게도 소개합니다. [편집자주]
어느 기업이든 회사의 서비스나 상품에 대한 판매 전략을 세우고, 매출을 올리기 위한 이벤트나 프로모션을 하고 있을 것이다. 게임 회사 역시 고객이 더욱더 즐겁고 다양한 경험을 할 수 있도록 여러 이벤트를 기획하고, 회사의 매출 상승을 위해 게임 이용권이나 아이템을 특정 기간에만 판매하는 프로모션을 진행한다. 게임에 유입되는 유저수나 매출을 살펴보면 현재 게임 실적을 파악할 수 있고, 진행 중인 이벤트나 프로모션에 대한 고객 반응을 확인하면 이후 진행할 이벤트나 프로모션을 기획할 때 참고할 수 있다. 그렇다면 이벤트나 프로모션의 효과는 어떻게 측정할 수 있을까?
가장 직접적인 방법은 실험이다. 임의로 집단을 둘로 나눈 후, 한쪽에는 프로모션을 진행하고, 다른 한쪽에는 프로모션을 진행하지 않았을 때, 두 집단 사이에 내가 측정하려는 특정 지표에 차이가 있다면 이것을 프로모션 효과라고 할 수 있다. 이런 방법을 A/B 테스트라고 한다.
최근 널리 사용되는 A/B 테스트는 여러 제약이 있다. 한 예로, 게임 업데이트를 일부 집단에만 하는 것은 현실적으로 어렵다. 또한 어떤 프로모션을 진행할 때 한쪽은 더 좋은 보상을 주고, 다른 한쪽은 덜 좋은 보상을 주는 식의 차등 실험을 적용하면 형평성에도 어긋날뿐더러 고객의 반발을 살 수 있다. 심지어 유저끼리 같은 조건에 있음에도 다른 보상을 받았다는 사실을 인지해 공유하게 되면, 제대로 된 테스트 결과를 얻을 수 없게 된다. 그래서 주로 이벤트나 프로모션을 진행한 시기 전후의 매출이나 유저 유입량을 비교하는 방법을 많이 사용한다.
그러나 이 방법 역시 문제가 있다. 고객의 게임 접속 유도를 위해, 오늘부터 접속하면 특정 아이템을 주는 이벤트를 시작했다고 하자. 이 이벤트를 시작하기 전인 어제는 10명의 플레이어가 들어왔는데, 오늘은 70명이 들어왔다면? 이벤트 효과로 60명이 추가로 더 접속한 것이라고 볼 수 있을까? 여기에 영향을 줄 수 있는 여러 변수를 살펴보자.
둘째, 이벤트를 한 번에 꼭 하나만 진행하지 않는다. 시작이나 종료 시점은 조금씩 차이가 있지만, 주로 여러 이벤트나 프로모션이 동시에 진행된다. 즉, 이벤트 시작 후 늘어난 접속 인원 70명은 온전히 출석 보상 이벤트만으로 발생한 결과라고 보기 어렵다.
셋째, 외부적인 요인이 있을 수 있다. 플레이어 사이에서 게임이 재미있다고 입소문을 타기 시작하면서 갑자기 접속 인원이 많이 늘어났을 수도 있다. 물론 이러한 외부 요인으로 인한 영향까지 우리가 모두 알 수는 없다. 하지만 원래 접속 인원이 어떤 패턴으로 상승 또는 하락했는지, 특정 요인으로 인해 크게 증감하는 경우는 없었는지 등 과거의 경험과 수치를 토대로 발견해 낼 수 있을 것이다.
이 글에서는 앞서 언급한 문제점을 개선하기 위해 진행했던 작업과 이 작업을 토대로 개발한 ‘promotionImpact’라는 R 패키지를 소개하고자 한다.
이 패키지를 이용하면 지금까지의 복잡한 작업을 직접 하지 않고도 프로모션 효과를 추정할 수 있는 회귀 모델과 그 결과를 생성할 수 있다.
이 패키지에 대한 상세한 설명 및 예제 데이터, 오픈소스로 공개된 R 코드 등은 엔씨소프트 깃허브(github.com/ncsoft/promotionImpact)에서 확인할 수 있다.
안태희, 엄혜민 필자의 ‘회귀 모형을 통한 프로모션 효과 분석, promotionImpact’에 대한 자세한 내용은 ‘마이크로소프트웨어 395호(https://www.imaso.co.kr/archives/4654)’에서 확인할 수 있다.