리텐션이 광고 수익화에서 중요한 이유(feat. 광고 LTV)
2025-02-20
8 min
This is some text inside of a div block.

여기에 광고 지면은… 유저에게 너무 안좋은 경험인데요..?

올해 매출 목표를 생각하니 지금 가지고 있는 광고 지면으로는 도저히 무리라는 생각이 드는 찰나, 앱을 만지작 만지작 하다보니 여기 밑에 광고 지면 하나만 넣으면 얼마나 좋을까 생각이 듭니다. 그래도 이제 앱을 쓰는 고객들도 꽤 생겼고, 이 정도 지면 넣는다고 정말 고객들이 엄청 싫어할까? 생각이 들죠. 엑셀을 켜놓고 어림잡아 수익 시뮬레이션까지 해보면 아직 있지도 않은 지면이 벌써 내 자식이 된 것 같은 기분이 듭니다. 그렇게, 제품팀과 회의가 시작되고, 예상되는 수익에 대해 열변한 후 돌아오는 말은 "유저에게 너무 좋지 않은 경험이라 다시 고민해볼 수는 없냐"는 이야기입니다.

편가르기를 조성하는 것은 아니지만, 어느 정도 규모가 있는 회사에서 일하는 분이라면 한번쯤 놓이게 되는 상황입니다. 앞서 작성된 글에서도, UX와 수익에 대한 균형(앱 광고 수익화의 딜레마: UX와 광고 수익 사이의 균형 잡기)과 알라미 내에서 제품 경험을 지키기 위해 수익을 잠시 포기하는 전략적 선택을 한 사례(2배의 매출 증진 대신 사용성을 택한 이야기)를 공유드렸었는데요.

주로 유저의 여정에서 추가되는 광고에 대한 실험의 지표로 수익과 함께 유저 리텐션을 보면서, 추가된 광고가 유저의 플로우를 해치지는 않는지, 유저가 불편함을 느끼고 실제로 서비스에 돌아오지 않고 있지는 않은지 측정하여 결정하게 됩니다. 오늘은 이 개념을 좀 더 확장하여 리텐션과 LTV가 왜 광고 수익화에 중요한지, 그리고 어떤 식으로 측정해볼 수 있을지 짚어보려 합니다.

이 유저들 데려와도 될까 말까?

LTV는 Lifetime Value(고객생애가치)의 약자로 고객이 서비스로 유입되어 이탈하기 전까지 만들어내는 수익에 대한 지표입니다. 광고 LTV를 계산할 때는 유저의 lifetime을 일 단위로 환산하여 일별 광고 수익(ARPDAU)으로 곱하며 측정해볼 수 있는데요.

이렇게 광고 LTV를 측정하여 광고 수익에 대한 모니터링을 하기 시작하면, 1) 광고 수익과 서비스 사용성의 관계를 한 지표에서 측정할 수 있고, 2) 유저 획득에 대한 가치를 보다 정교하게 측정할 수 있는 이점이 생깁니다.

광고 실험을 진행하며 수익을 핵심 지표로, 그리고 리텐션을 가드레일 지표로 잡아 실험 결과를 분석할 때 종종 수익과 리텐션의 tradeoff에서 딜레마에 빠지게 됩니다. 광고 수익이 오르고, 리텐션이 그대로라면 정말 좋겠지만, 실제로는 광고 수익이 10% 올랐는데 리텐션은 3%p가 빠졌다면, 실험군을 유지해야 할까? 리텐션 1%p 차이가 얼마 정도 수익 상승과 비슷할까? 생각이 들게 되죠.

LTV는 이런 딜레마를 보다 쉽게 풀어나갈 수 있게 도와줍니다. LTV에서 Lifetime은 평균 생애주기로, 만약 일별 리텐션을 이미 측정하고 있다면, 일별 평균 리텐션의 총합으로 평균 생애주기를 대체할 수 있습니다. 즉 단순 특정 기간의 리텐션이 아니라, 전체 리텐션을 사용하여 Lifetime을 구해 이 차이를 계산할 수 있다면, Lifetime 증분량과 ARPDAU의 증분량을 비교하여, 실제 유저의 LTV가 상승하는지 가늠해볼 수 있습니다.

나아가, 유저의 생애주기 동안 발생하는 광고 매출을 측정하기 시작했다면, 효율적인 User Acquisition 전략 또한 세워볼 수 있습니다. CAC(유저획득비용)을 사용하여, LTV를 나눠준다면 현재 기준으로 한 유저를 데려올 때 손해를 보고 있는지, 이익을 보고 있는지 정량적으로 판단할 수 있게 됩니다. 또한, 이를 채널 또는 국가별로 구분해서 모니터링한다면, 어떤 국가에 집중을 하는 것이 맞을지 또는 어떤 국가에서 일별 광고 수익을 높여보는 액션을 해야 될지 구체적인 가설을 세워볼 수 있게 됩니다.

예를 들어, ROAS가 높다면 해당 국가에는 유입을 더 많이 만들어내볼 수 있는 액션을, ROAS는 낮지만 CAC도 낮아 비교적 유저 획득이 쉬운 국가라면 보다 공격적인 광고를 통해 LTV를 높혀보는 액션을 취해볼 수 있겠죠.

광고 LTV 그거 어떻게 구하는건데…?

광고 LTV = Lifetime(일) * 일별 광고 수익(ARPDAU)

광고 LTV에서 측정이 까다로운 부분은 Lifetime(생애주기)인데요. 최대한 측정 주기를 1~2달로 줄여서 본다고 해도, 해당 기간 동안 기다려야 리텐션 지표를 확인할 수 있어 측정이 느려지게 됩니다. 그래서 지표가 actionable하지 못해 후행지표를 보고 있다는 느낌을 지울 수 없어 종종 찝찝한 느낌이 들기도 합니다.

생애주기를 SUM(D+N일 retention)으로 접근하여 포함되는 기간을 최대한 늘리고, 측정을 위해 기다리는 기간을 최소화하기 위해 추천하는 방식은 retention에 대한 예측값을 구해 사용하는 것입니다. 간단하게는 scipy에서 제공하는 curve_fit 함수나 Linear Regression/Tree-based/Deep Learning 알고리즘을 통해 직접 구현한 모델로 어렵지 않게 구해볼 수 있는데요. 이때, 현재 서비스의 리텐션 커브가 수렴하는 포인트들을 확인하고 해당 포인트들을 최대한 잘 예측해줄 수 있는 함수나 모델을 찾아보는 것이 중요합니다.

예를 들어, D7까지는 리텐션이 급격히 떨어지다, D14부터 평탄해지면서 D28 이후에는 일관적인 리텐션을 유지하는 서비스를 가지고 있다면, 사용하려는 모델이 D7, D14의 데이터 포인트를 잘 예측하는지, 그리고 D28 이후 리텐션이 flat하게 유지되도록 예측하는지 확인하는 것이 중요합니다.

모델에 따라 기간이 상이하겠지만, 약간의 고도화를 통해 D7 또는 D14까지만 보고도 D365까지의 합을 꽤나 정확하게 예측해볼 수 있어, 많지 않은 관측수를 가지고 보다 긴 기간의 생애주기를 계산해볼 수 있습니다.

추가적으로 제안하는 방식은 리텐션을 측정할 때 코호트로 측정(빨간색)이 아닌 발생일자를 기준으로 측정(초록색)하는 방식입니다. 앞서 말한 보다 actionable한 지표를 볼 수 있는 방식이라고 이해해볼 수 있는데요. 만약 코호트 기준으로 7일을 기다려, D7까지의 리텐션을 기준으로 LTV를 측정하게 되면 7일 전 지표를 보게 되는 상황임으로 이미 액션을 하기엔 늦은 것 아닌가? 라는 생각이 들기 마련인데요.

이 부분을 조금만 바꿔 매일매일 그 날짜에 해당하는 D1~D7 리텐션을 사용하여 LTV를 구하게 되면, 가장 최신 리텐션 지표를 가지고 LTV를 구할 수 있게 되며, LTV 변화가 있을 시 동일하게 각 리텐션별로 차이를 분석하여 변화의 원인을 찾을 수 있습니다. 언뜻 보면 조삼모사, 그게 그거 아닌가… 생각이 들 수도 있는 포인트지만, 지표를 전달하는 관점과 받아들이는 관점에서 최신의 지표를 참고하고 있다고 인지하는 점에서 action으로 이어지는 가설이 나올 확률이 더 높다고 생각합니다.

광고수익과 서비스 사용성

앞서 말했듯, 광고 수익과 서비스 사용성은 떼어내고 싶어도 뗄 수 없는 닭과 계란과 같은 존재입니다. 항상 두 요소간의 trade off를 고민해야 되는 상황에서 LTV는 좋은 나침반이 될 수 있는 지표입니다. 언뜻 보면 일정한 계산이 어렵고 주기적인 모니터링을 하기에 까다로워 보이긴 하지만, 한번 힘을 모아 측정을 시작한다면 단순 수익과 사용성 관점 뿐만 아니라 유저 획득에 대한 고민을 더 양질의 고민으로 만들어주고, 선택과 집중을 할 수 있게 해주는 훌륭한 지표라고 말씀드리고 싶습니다.

⏰딜라이트룸의 광고수익화 비법이 궁금하다면?

연관 아티클