사용자 당 평균 매출 = 총 매출/ 사용자 수
사용자 당 평균 매출은 각 사용자로부터 얼마나 많은 수익을 얻고 있는지 분석하는 데 도움이 됩니다. 이 지표는 경쟁사와 우리 서비스의 실적을 비교하는데에도 자주 사용됩니다.
Notes: 사용자의 수 대신 계약 또는 계정 수를 기준으로 ARPU를 계산할 수 있습니다.
이번 템플릿에서는 가상 B2B SaaS 스타트업인 Awesome Company의 데이터베이스를 활용하여 데이터보드를 만들어보겠습니다. MAU 템플릿에서 구한 숫자를 활용해서 ARPU를 측정할 수 있습니다.
아웃코드에서는 10분 만에 월별 사용자 당 평균 매출과 필요한 설명이 담겨있는 데이터보드를 만들 수 있습니다.
샘플 MySQL 데이터베이스
Awesome Company의 MySQL 데이터베이스는 이렇게 구성되어 있습니다.
월별 ARPU를 계산하기 위해서는 아래의 데이터가 필요합니다.
- 지불액
- 지불 날짜
- 환불 상황
- 사용자
SQL에서 월별 ARPU를 계산하는 법
2022년의 월별 ARPU를 찾고 싶다고 가정해 보겠습니다.
payment 테이블의 created_at
와 is_refund data
, 그리고 user 테이블의 created_at
와 user_id
가 필요합니다.
WITH Payment AS (
select sum(p.amount) as 'AR', DATE_FORMAT(p.created_at, '%Y-%m') as 'Month'
from payment p
where DATE_FORMAT(p.created_at, '%Y') = '2022' and p.is_refund = 0
group by DATE_FORMAT(p.created_at, '%Y-%m')
order by DATE_FORMAT(created_at, '%Y-%m')
), Mau as (
select DISTINCT count(user_id) as 'MAU', DATE_FORMAT(created_at, '%Y-%m') as 'Month'
from login_history
where DATE_FORMAT(created_at, '%Y') = '2022'
group by DATE_FORMAT(created_at, '%Y-%m')
order by DATE_FORMAT(created_at, '%Y-%m')
)
SELECT
Payment.Month,
Payment.AR as 'Annual Revenue',
Mau.MAU,
ROUND(Payment.AR / Mau.MAU) as 'ARPU'
FROM Payment JOIN Mau ON Payment.Month = Mau.Month;
더 간편하게 ARPU를 측정할 수 있는 쿼리나 다른 방법을 알고 계시나요? 아래 Reply 버튼을 누르고 아웃코드 커뮤니티와 공유해 주세요!
데이터를 더 활용하고 싶으신가요?
- 매일, 매주 혹은 연도별로 계산해서 더 다양하게 사용자 당 평균 매출을 확인해 보세요.
- 테이블을 추가해 제품 별로 ARPU를 측정할 수 있습니다.
- 데이터를 어떻게 더 효율적으로 활용할 수 있는지, 여기서 템플릿을 확인해 보세요.
팀원과 공유하고 워크 플로우 자동화하기
아웃코드의 데이터 페이지를 통해 실시간으로 필요한 데이터와 지표를 확인하고 분석할 수 있습니다.
- 데이터보드와 테이블을 팀원들과 공유해 보세요.
- 아웃코드의 간편한 자동화 기능을 통해 실시간 ARPU를 슬랙이나 이메일로 받아보세요.