지난 포스팅에서는 모바일 마케팅 분석에 있어 많이 활용되는 광고 효과 지표를 간단히 소개하고 기존 분석이 갖는 여러 한계점에 대해 말씀드렸습니다. 이번 포스팅에서는 이러한 한계점을 극복하기 위해 저희가 수행한 분석 작업 및 이를 바탕으로 개발한 신규 지표에 대해 소개해드리겠습니다.

ADID 와 게임 계정 매칭하기

앞서 언급했듯이 보통 모바일 마케팅 분석은 ADID를 기준으로 이뤄지고 있습니다. 그러나 ADID 에만 의존하면 유입된 유저가 정말 신규 유저인지, ADID는 같지만 서로 다른 유저들인지, 실제 게임을 얼마나 열심히 하는 유저인지, 심지어 정말 정상적으로 광고를 통해 유입된 유저는 맞는지 등을 파악하기 어렵습니다.

그래서 저희는 ADID 기준으로 적재되는 광고 트래킹 로그와 게임 서버에서 적재되는 게임 활동 로그를 서로 매칭하는 작업을 먼저 진행했습니다. 다행스럽게도 저희 회사에서는 모바일 게임에 대한 현황 모니터링 및 프로모션 분석 등을 좀 더 정교하게 하기 위한 목적으로 광고 트래킹 로그 외에 별도의 클라이언트 로그를 남기고 있었습니다. 그리고 이 중에서 특정 이벤트가 발생할 때 ADID와 유저의 게임 계정 아이디 (이하 UID) 를 동시에 남기는 로그가 있었죠. 따라서 이 로그를 활용하면 특정 ADID 가 어떤 UID 인지를 매칭할 수 있었고 이를 통해 신규로 유입된 (것처럼 보였던) ADID 중에 실제 신규 유저가 어느 정도 되는지를 좀 더 정확하게 파악할 수 있었습니다.

[그림1] 총 신규 유입 ADID 중 광고 매체를 통한 유입 비율 및 신규/복귀 유저 비율 지표

더 나아가 광고 매체별 비율을 비교해 보면 ADID 기준으로만 볼 때는 매우 높은 유입량을 보인 매체가 알고 보면 신규 유저 기준으로만 보면 별로 수치가 높지 않은 것도 확인할 수 있었습니다. 아래 그래프를 살펴보면, 매체에 따라 대다수의 유저가 사실 기존에 플레이하던 유저이기도 하고, 반대로 ADID 기준으로는 신규 유입량이 그리 많지 않은데 알고 보면 대다수가 신규 유저인 경우도 있습니다. 광고의 목적을 생각하여 건전한 매체를 선정해 본다면, 기존에 플레이하던 유저가 많이 집계되기보다는 신규/복귀 유저가 많이 집계되어야겠죠?

[그림2] 신규/복귀 구분 지표 - 매체별로 신규/복귀/기존 유저 비율을 파악하면, 좀 더 정확한 매체별 광고 성과 확인이 가능합니다.

심지어 기존에 이미 집계 중인 다양한 게임 유저 집계 정보와 연계할 수 있어서 유입 이후 게임에서의 세부 활동을 좀 더 면밀히 파악할 수 있었습니다. 가령, 어떤 매체로 유입된 유저가 충성 고객 비율이 높은지 혹은 반대로 작업장 비율이 높은 매체는 없는지 등을 파악할 수 있었죠.

광고 어뷰징 탐지하기

ADID와 매칭된 UID 정보를 활용하면, 이전 편에서 소개했던 SDK Spoofing 같은 광고 어뷰징도 좀 더 명확하게 검출할 수 있습니다. SDK Spoofing 은 거짓 이벤트를 발생시켜 실제 게임을 설치해서 실행하지 않고도 마치 게임에 유입된 것처럼 속이는 방식이기 때문에, 이렇게 발생된 ADID는 게임 서버에서 남기는 게임 활동 이력과 매칭되지 않습니다. 따라서 이 매칭율을 이용하면 어떤 매체에서 SDK Spoofing 이 많이 발생하고 있는지 직접적으로 감지할 수 있겠죠?

이때 주의할 점도 있었습니다. 모바일 환경에서는 네트워크 상황이 불안정하여 로그가 유실되는 경우가 종종 발생합니다. 이로 인해 아무리 정상적인 상황이더라도 ADID 와 UID 가 완벽히 매칭되는 경우는 매우 드뭅니다. 따라서 이런 오차를 고려해서 여러 광고 매체별 매칭률을 비교해 보고 일반적인 경우보다 비정상적으로 수치가 낮은 광고 매체를 파악하였습니다. 특히 ‘오가닉 유저 (organic user, 광고 매체를 통하지 않고 직접 유입된 유저)’ 집단의 매칭률과 비교해 보면 좀 더 어뷰징 의심 매체를 명확히 추정할 수 있었습니다.

[그림3] 매체별 ADID-UID 매칭률

더 나아가 비정상적으로 많은 UID 와 매칭되는 ADID 나 매칭률이 낮은 디바이스 모델 목록을 추출하여 유입 경로를 추적하는 등 어뷰징과 관련된 다양한 지표를 추출해 볼 수 있었습니다.

[그림4] 이상 ADID 유입 경로 추적

광고 성과 측정 방법 개선하기

기존에는 광고 성과를 측정하는 많은 지표들이 해당 월에 발생한 매출액을 기준으로 집계되고 있었습니다. 예를 들어 7월의 광고 효과를 측정하기 위해서는 7월 한 달간 유입된 유저들의 해당 월 매출을 이용한 수익률을 계산하는 방식이었죠. 이럴 경우, 월초에 들어온 유저와 월말에 들어온 유저들은 집계 기간이 다르기도 하고, 이탈률이 높은 매체와 그렇지 않은 매체의 차이를 고려하지 못하는 문제가 생기기도 합니다. 그래서 이를 보완하고자 월 매출 대신 ARPU와 잔존율을 이용해 계산된 LTV를 ROAS 등의 성과 지표 계산에 활용했습니다.

더 나아가 이렇게 계산된 LTV는 퍼널 분석을 개선하는데에도 사용되었습니다. 퍼널 분석이란 게임 유저가 게임 설치에서부터 등록, 실행, 결제까지 주요 단계별 잔존율 및 전환율을 집계하여 분석하는 기법을 말합니다. 이런 퍼널 지표들은 다양한 목적에 활용될 수 있습니다. 예를 들어, 서비스 기획자는 고객이 어떤 구간에서 많이 이탈하는지를 확인하여 해당 구간의 전환율을 높이기 위해 서비스를 개선할 수 있겠죠.

마케터의 경우 마케팅 정책을 개선하는데 활용할 수 있습니다. 광고의 목적은 매출을 발생시키는 것입니다. 그런데 퍼널 분석을 이용하면 특정 광고 매체를 통해 유입된 고객들에 대해서 유입 → 설치 → 실행 → 결제 중 어떤 단계에서 고객의 이탈이 많은지 확인할 수 있죠. 따라서 마케터는 퍼널 분석 자료를 바탕으로 광고 매체와 계약 시 무조건 광고를 클릭할 경우 광고비를 집행하는 방식 대신, 단가는 좀 더 높게 책정하더라도 해당 광고로 유입된 고객이 특정 단계까지 도달할 경우에 대해서 광고비를 집행하는 방식으로 계약 조건을 조정할 수 있을 것입니다. 예를 들어 [그림 5] 에서 A 매체(왼쪽)의 경우 유입 유저가 마지막 단계까지의 전환율이 고르게 높기 때문에 (광고 단가가 낮은) 1단계 광고비를 집행하는 것이 유리한 반면 B 매체(오른쪽)의 경우 1단계에서 2단계로 넘어가는 전환율이 매우 낮기 때문에 단가를 다소 높게 책정하는 대신 2단계에서 광고비를 집행하는 것이 유리하겠죠. 또한 이렇게 되면 광고 매체는 최대한 유입 고객이 2단계에 도달하게끔 광고 전략을 최적화할 것이기 때문에, 광고주는 광고를 통한 매출 발생 확률을 높임으로써 실질적인 기대 이익이 향상될 수 있는 것이죠.

이 때 중요한 것은 어떤 단계에 얼만큼의 광고 단가를 책정하는 것이 효과적인지를 정하는 것이겠죠? 그래서 저희는 마케팅 정책을 정할 때 참고할 수 있도록, 기존의 퍼널 분석 결과에 LTV와 목표 ROAS 를 이용한 최대 허용 광고 단가 정보를 기존의 퍼널 분석 지표에 추가했습니다.

[그림5] 퍼널 분석 지표 - 매체별로 전환율 변화가 큰 단계 및 각 단계에서 목표 ROAS를 달성하는데 필요한 최대 허용 단가를 확인할 수 있습니다.

종합적인 광고 성과 지표 개발하기

마지막으로 다양한 지표들을 한 번에 고려할 수 있는 차트와 광고 효과 종합 지수를 개발하였습니다. 광고 성과를 측정하는 지표는 다양하기 때문에 어떤 매체의 광고 성과가 좋은지를 직접적으로 비교하기가 쉽지 않습니다. (포스팅 1편에서 언급했던 “유입 유저 수는 많지만 ROAS는 낮은 매체 vs 유입 유저 수는 적지만 ROAS가 높은 매체”) 그래서 이를 개선하기 위해 주요 지표들의 스케일을 맞춘 뒤 레이더 차트로 시각화 하였습니다. 이렇게 하면 차트의 면적에 따라 좋은 매체와 안 좋은 매체를 쉽게 확인할 수 있고, 매체마다 어떤 지표에 더 강점을 갖고 있는지 직관적으로 파악할 수 있습니다.

[그림6] 레이더 차트의 크기를 비교해 보면, 매체1이 매체2에 비해 전반적인 성과가 좋은 것을 알 수 있습니다. 한편, 매체3은 지표2, 지표4, 지표6의 수치가 좋은 반면 매체4의 경우 지표1, 지표4, 지표5에 강점이 있다는 점을 쉽게 파악할 수 있습니다.

이런 레이더 차트는 여러 지표들을 한눈에 보기에는 좋지만, 여전히 정량적인 비교는 어렵습니다. 그래서 저희는 여기서 한발 더 나아가 여러 지표를 조합한 단일 지수를 개발하게 되었습니다. 이를 위해 저희가 참고한 것은 경제 분야에서 사용하는 ‘금융 상황 지수 (Financial Conditions Index)’ 입니다. ‘금융 상황 지수’ 란 복잡한 경제/금융 상황을 파악하기 위해 금리, 실업률, GDP, 주가지수, 환율 등등 다양한 지표를 종합한 단일 지수를 말합니다. 비록 분야는 다르지만, 다양한 상태를 표현하는 지표들을 종합하여 하나의 지수로 만든다는 점에서는 추구하는 목표가 비슷하죠.

금융 상황 지수를 만드는 방법은 여러 가지가 있는데 저희는 이 중에서 ‘주성분 분석 (Principal Component Analysis, PCA)’을 이용하였습니다. (참고자료: 금융변수의 공통요인을 이용한 금융상황지수 개발) 그래서 유입 유저수, 유저의 잔존율, ARPU, ROAS 등 여러 개의 광고 성과 지표가 갖는 공통 성분들을 추출한 후 이 중에서 변동성을 가장 잘 설명하는 상위 n개의 주성분를 뽑은 후 각 주성분이 갖는 설명력을 가중치로 곱하여 합산을 했습니다. 개개의 주성분들도 여러 광고 성과 지표들의 가중치 합이기 때문에, 결국 저희가 만든 광고 종합 지수는 여러 광고 성과 지표들의 가중치 합입니다. (아래 수식 참고) 다만 각 성과 지표에 얼만큼의 가중치를 줄 것인지는 PCA를 통해 결정하는 방식인 것이죠 (근데 솔직히 이렇게 만든 지수가 광고 성과를 가장 잘 표현하는 수치인지에 대해서는 논란의 여지가 있습니다).

$$ 광고 종합 지수 = w_1*주성분_1 + w_2*주성분_2+w_3*주성분_3+\cdots \\ 단, \ 주성분_i = w_{i1}*지표_1 + w_{i2}*지표_2+\cdots $$

그런데 여기서 한 가지 고민이 있었습니다. 일반적인 PCA 알고리즘을 사용하면 각각의 주성분 계수() 는 음수가 나올 수 있습니다. 그런데 저희가 종합 지수를 만들 때 사용한 변수들은 ROAS 나 ARPU 같이 값이 클수록 성과가 크다는 것을 의미하는 값이었습니다. 따라서 직관적으로 볼 때 가중치가 음수가 되는 것은 부적절한 것이죠. 그래서 고민 끝에 이런 문제를 피하기 위해 주성분 계수가 모두 음수가 되지 않도록 보장해 주는 Non-negative Sparse PCA 알고리즘을 활용했습니다.

이렇게 만들어진 광고 종합 지수를 이용해서 각 매체의 광고 성과를 하나의 수치로 비교하는 한편, 매월 측정된 지수들의 추세를 모니터링함으로써 특정 매체 혹은 전체 매체의 평균적인 광고 성과가 시간이 지남에 따라 어떻게 바뀌는지도 측정할 수 있게 되었습니다.

[그림7] 광고 종합 지수를 활용하여 매체별 비교 및 월별 추세 변화를 모니터링 할 수 있습니다.

마치며

이번 포스팅 에서는 ADID와 UID 매칭을 통해 기존 마케팅 지표를 정밀화하고 새로운 지표를 발굴했던 작업을 소개드렸습니다. 긴 내용을 다시 한 번 간단히 요약하자면 아래와 같은데요.

  • ADID 와 게임 계정을 매칭하여 유저 구분
    • 신규/복귀 유저 비율
    • 충성 고객 비율, 작업장 유저 비율
  • 광고 어뷰징 탐지
    • ADID-UID 매칭률
    • 이상 ADID, 이상 UID, 이상 디바이스 리스트 및 유입 경로 추적
  • 광고 성과 측정 방법 개선
    • LTV를 이용한 성과 지표 개선
    • LTV를 이용한 퍼널 분석 및 최대 허용 단가 측정
  • 종합적인 광고 성과 지표 개발
    • 레이더 차트를 이용한 여러 지표 시각화
    • PCA를 활용한 광고 효과 종합 지수 개발

지금까지 소개해 드린 데이터 분석 및 지표 개발 작업을 통해 좀 더 실질적인 광고 효과를 측정하고 SDK Spoofing 을 탐지하는데 기여할 수 있었습니다. 현재는 지표 생성 이외에도 광고 최적화에 많은 관심을 갖고 다양한 분석 방법을 시도 중에 있습니다. 이러한 분석 결과들을 앞으로 출시될 모바일 게임에도 적용하여 광고 최적화에 조금이나마 기여할 수 있으면 좋겠습니다!