통계나 다양한 머신러닝 기법을 공부하다가 막상 데이터 분석가로 처음 입사했을 때 가장 어려웠던 부분이 바로 지표에 대한 내용이었습니다. 혼자서 끙끙대면서 분석 결과를 설명할 수 있도록 지표를 고안해갔는데, 서비스를 담당하시는 분들은 이미 챙겨보시는 지표가 따로 있었거든요. 처음으로 참여했던 회의해서 생전 처음 들어보는 수십 가지 지표의 약어를 들으면서 실시간으로 멘탈이 붕괴되는 경험을 할 수 있었습니다. 그 이후로는 서비스를 기획하고 운영하는 분들이 평소에 많이 챙겨보는 지표를 기준으로 분석을 하게 되었습니다. 그러니 결과물을 가지고 이후의 작업을 논의하는 것이 훨씬 수월해지더라구요.
이번 글에서는 믹스패널의 Mobile App Analytics: Top 13 metrics you should track 아티클을 읽고, 필요한 부분을 정리해보았습니다. 원문은 모바일 앱 서비스를 기준으로 설명했는데, 저는 웹 서비스를 분석하는 경우가 많고 광고 캠페인을 직접 집행하는 경우가 많지 않아서 제 상황에 맞게 다소 수정하거나 필요한 내용을 추가하면서 작성했습니다. 물론 구체적인 집계 방식이나 계산 공식은 서비스의 상황에 따라 달라질 수 있습니다만, 전체적인 컨셉은 크게 다르지 않기 때문에 한 번 잘 봐두면 다양한 상황에 활용할 수 있습니다.
DAU = 하루 동안 방문한 사용자 수
MAU = 한 달 동안 방문한 사용자 수
- DAU(Daily active users)는 전체 세션 수를 무시하고 사용자 수를 계산합니다. 한 번 방문하든 백 번 방문하든 한 명의 활성 유저로 집계됩니다.
- DAU는 보통 일별 사용자수로 계산하지만, 한 달간의 평균을 계산하는 경우도 있습니다.
- MAU(Monthly active users)는 비슷한 방식으로 한 달간의 사용자 수를 계산합니다.
- MAU는 최근 30일간의 데이터나 이전 달의 데이터를 집계합니다.
Stickiness = (DAU / MAU) x 100
- 고착도(Stickiness)는 사용자들이 서비스로 얼마나 많이 돌아오는지 측정하는 지표입니다.
- 수치가 높을수록 많은 사용자들이 서비스에 돌아옵니다.
- 구글 애널리틱스(GA4)에서는 비슷한 값으로
DAU/MAU
, DAU/WAU
, WAU/MAU
지표를 제공합니다.
Retention rate = ((기간이 끝날 때 남아있는 고객 수 - 기간 동안 새로 유입된 고객 수) / 기간 시작할 때 남아있던 고객 수) x 100
Churn Rate = 1 - Customer Retention Rate
- 리텐션 비율(Retention rate)은 특정 기간동안 사용자가 얼마나 서비스를 이탈하지 않고 남아있는지 측정한 결과입니다.
- 서비스에서 새로운 사용자를 모으기 위해서는 보통 마케팅에 비용을 많이 투자해야 하는데, 리텐션 비율이 낮으면 마케팅 효율이 떨어져 손해를 볼 수 있습니다.
- 리텐션 비율이 지속적으로 낮아지는 현상을 보인다면 서비스를 개선해야 한다는 위험 신호일 수도 있습니다.
- 고객 이탈률(Churn rate) 은 리텐션 비율과 반대되는 개념입니다.
CPA = 총 마케팅 비용 / 마케팅 액션을 통해 데려온 전체 고객 수
- CPA(Cost per acquisition)는 사용자 1명을 데려오는데 드는 비용을 나타냅니다.
- 보통은 낮을수록 좋은 값으로 봅니다.
- 만약 CPA 값이 LTV 보다 커지면, 고객을 데려올 때마다 손해를 보는 상황으로 볼 수 있습니다.
- 사용자를 유치하기 위해 투자한 모든 비용으로 계산하는 것이 맞지만, 개발이나 운영에 들어간 비용을 모두 측정하는 것은 현실적으로 어려운 문제입니다. 따라서 마케팅 캠페인 비용을 기준으로 계산하는 경우가 많습니다.
DAU 당 평균 세션수 = 일별 총 세션 수 / 일별 활성 사용자 수
- DAU 당 평균 세션수는 사용자가 하루에 얼마나 자주 서비스에 방문하는지 측정할 수 있는 지표입니다.
- 소셜 미디어 등 특정 분야의 서비스에서는 높을 수록 좋지만, 모든 서비스에서 동일하게 판단하기는 어렵습니다.
- 사용자가 원하는 결과를 얻지 못해 반복적으로 방문하게 되는 경우도 있기 때문에, 고객의 만족도를 측정하기 위한 다른 지표와 함께 확인하는 것이 좋습니다.
LTV = 평균 구매 금액 x 구매 빈도 x 고객 서비스 수명
(LTV 또는 CLV를 구하는 기준은 굉장히 다양합니다!)
- 고객 생애 가치(LTV, CLV: Customer lifetime value)는 사용자 1명이 서비스를 사용하는 총 기간동안 얼마만큼의 가치를 줄지 계산한 결과입니다.
- 만약 이 값이 CPA보다 낮으면 사용자 1명을 유치할 때마다 서비스가 손해를 보는 상황일 수 있습니다.
- 위 공식 뿐만 아니라 BTYD(Buy-till-you-Die) 모형 등 다양한 방식으로 계산할 수 있습니다.
Predicting Customer Lifetime Value with “Buy ‘Til You Die” probabilistic models in Python
ARPU = 매출 / 사용자 수
ARPPU = 매출 / 유료 사용자(또는 구매 경험이 있는 사용자) 수
- ARPU(Average revenue per user)를 통해 사용자 1명당 수익을 확인할 수 있습니다.
- 전체 수익이 많더라도 1명당 수익이 낮다면 전체적인 수익성에 대한 고민이 필요할 수 있습니다.
- 유료 사용자와 무료 사용자가 모두 존재하는 서비스에서는 ARPPU(Average revenue per paying user)를 통해 유료 사용자의 가치를 더 정확하게 파악할 수 있습니다.
ROI = Return / Investment
- ROI(Return on Investment)는 마케팅 캠페인의 직접적인 성과를 수치로 계산할 수 있을 때 계산하는 지표입니다.
- 보통 모든 투자 또는 비용을 계산하는 것은 어렵기 때문에, 광고 비용과 광고 운영에 드는 인건비를 포함하여 계산하는 경우가 많습니다.
- ROI를 계산하려는 경우, 측정 방식을 일관적으로 유지한 채 장기적으로 얼마나 개선되는지 확인하는 것이 좋습니다.
- 비슷한 지표로는 ROAS(Return on Ad Spend)가 있습니다.
- ROAS는 광고로 인해 발생한 매출을 광고 비용으로 나눈 값을 의미합니다.
- ROAS가 광고를 통해 발생한 매출을 기준으로 한다면, ROI는 전체적인 수익을 기준으로 계산한다는 차이가 있습니다. 경험상 단기적인 광고 캠페인 평가에는 ROAS를 많이 사용하는 것 같습니다.
- 앱 서비스를 하고 있다면 다양한 성능 평가 지표 중에서 우선 앱 로딩 시간을 측정해 볼 필요가 있습니다.
- 앱을 실행하는데 너무 오랜 시간이 걸린다면 사용자가 이탈할 가능성이 높아집니다.
- 웹 페이지를 위한 성능 측정은 Web Vitals 지표를 참고하면 좋습니다.
- Core Web Vitals을 구성하는 지표는 시간에 따라 변하지만, 현재는 다음 세 가지 지표를 중심으로 합니다.
- LCP (Largest Contentful Paint) : 화면에서 가장 큰 영역이 렌더링 되는 시간을 계산합니다. 로딩 성능을 평가합니다.
- FID(First Input Delay) : 사용자의 첫 클릭 이후 브라우저가 실제로 이벤트를 처리하는데 걸리는 시간을 측정합니다. 상호작용 성능을 평가합니다.
- Cumulative Layout Shift (CLS) : 컨텐츠가 화면에서 얼마나 움직이는지 수치화하는 지표입니다. 시각적 안정성을 평가합니다.
(Web.dev) Web Vitals
Customer Satisfaction Score (CSAT) = (만족한 고객의 수 / 전체 응답자수) x 100
Net Promoter Score (NPS) = ((추천고객의 수 - 비추천고객의 수) / 전체 응답자수) x 100
- 고객 만족도는 사용자를 유지하거나 LTV를 높이는데 가장 중요한 요소지만, 정확하게 측정하는 것은 매우 어렵다는 문제가 있습니다.
- 설문을 바탕으로 고객 만족도를 측정해 볼 수 있는데, 다음과 같은 2가지 방법이 많이 알려져 있습니다.
- Customer satisfaction score (CSAT) : 1~5 점까지의 점수를 사용해서 만족도를 측정하고, 사용자가 4또는 5를 선택할 경우 고객이 만족했다고 가정합니다. 전체 응답한 사람 중에서 만족했다고 답변한 사용자의 비율을 계산합니다.
- Net Promoter Score (NPS) : 사용자는 0~10 사이의 숫자를 선택합니다. 8~10 사이로 선택한 사람들은 추천 고객, 0~6 사이로 선택한 사람을 비추천 고객이라고 합니다. 추천고객과 비추천고객의 차이가 전체 응답한 사람 중에서 얼마나 되는지 계산합니다.
회사 성과 지표로 고민중이라면 NPS 개념은 알고 가자
Goal achievement = 각 세션에서 목표를 달성한 유저 비율
- 회원가입, 구매, 공유 등 고객 여정에서 중요한 목표에 도달한 사용자의 비율을 계산합니다.
마케팅 채널별 {방문자 수 비율}, {매출}, {방문자 1명당 매출 비율}
- 고객들이 어떤 마케팅 채널을 통해서 유입되었나요? 수익을 많이 발생시키는 고객들은 어떤 마케팅 채널을 통해 유입되었나요?
- 어떤 채널의 ROI가 높은지 파악하면, 가장 실적이 좋은 채널에 집중할 수 있습니다.
Behavior flow rate = 특정 (또는 평균적인) 행동 흐름을 따르는 사용자의 비율
- 평균적인 고객 여정을 따르는 사람의 비율을 계산합니다.
- 고객의 행동 흐름을 추적하는 것은 쉽지 않지만, 잘 측정할 수 있다면 서비스가 얼마나 직관적으로 만들어졌는지 평가할 수 있는 좋은 지표가 됩니다.
- 만약 이 값이 낮을 경우, 가능한 원인이 매우 다양하기 때문에 유저 테스트 등 여러 가지 방법을 동원해 확인해야 합니다.
- 서비스의 주요 고객 여정을 퍼널로 구분하고, 각 퍼널 단계별 전환율을 계산하는 것이 도움이 될 수 있습니다.
데이터 분석가로 커리어를 처음 시작한 뒤로 꽤 많은 시간이 흘렀지만, 지표는 여전히 어려운 영역입니다. 측정 기준을 이렇게 하는 것이 맞는지 끊임없이 고민해야 하고, 같은 지표를 말하고 있는데 계산 방식이 달라 서로 다른 해석을 하고 있지는 않은지 확인도 해야 합니다. 분석 대상 도메인이 바뀌는 경우에는 아예 처음부터 다시 파악해야 할 수도 있구요.
하지만 어려운 시기를 지나서 어느 정도 일관성있게 측정할 수 있게 되면, 이런 지표들이 의사결정에 엄청난 도움을 주게 됩니다. 어떤 지표를 어떻게 비교해야 하는지 명확하게 알고 있다면, 분석해야 하는 항목이 아무리 많아져도 길을 잃지 않고 분석할 수 있습니다. 또, 모든 구성원이 동일한 기준으로 추출한 지표를 보게 되면 데이터를 기반으로 의사결정을 하는 것도 가능해집니다. 어떤 사람이 보더라도 지표가 달라지지 않을테니까요.
데이터 기반의 의사결정을 경험해보시고 싶다면, 우선 필요한 지표를 정의해보는 것으로 시작해보시는 것은 어떨까요!