본문 바로가기
Data Science/SQL

[SQL] AARRR이란?, 쿼리테스트 출제 유형, 관련 함수

by 에르모사 쩐뉴 2026. 2. 15.

1. AARRR이란 무엇인가?

미국의 스타트업 엑셀러레이터 데이브 맥클루어(Dave McClure)가 고안한 분석 모델로, 고객의 여정을 5단계로 나눕니다.

단계 의미 핵심 질문 SQL 관련 지표
Acquisition (획득) 유저가 어떻게 오는가? 신규 유입 경로와 수는? 신규 가입자 수, 유입 채널별 카운트
Activation (활성화) 유저가 첫 경험을 하는가? 유저가 주요 기능을 쓰는가? 첫 구매, 첫 콘텐츠 시청, 튜토리얼 완료
Retention (유지) 유저가 계속 돌아오는가? 다시 방문하거나 재구매하는가? 리텐션(유지율), 재방문율
Revenue (매출) 유저가 돈을 지불하는가? 실제 수익이 발생하는가? LTV(생애가치), 결제 전환율, ARPPU
Referral (추천) 유저가 주변에 알리는가? 공유나 초대 코드를 쓰는가? 공유 횟수, 초대 가입자 수

2. 쿼리 테스트 단골 출제 유형 (AARRR 기반)

쿼리 테스트는 주로 RetentionRevenue 단계에서 변별력이 높은 문제를 냅니다.

① 리텐션(Retention) 분석 (가장 많이 출제!)

  • 유형: "특정 날짜에 가입한 유저 중 1일 뒤, 7일 뒤 재방문한 유저의 수와 비율을 구하라."
  • 핵심: 가입일 테이블과 방문 로그 테이블을 LEFT JOIN하여 날짜 차이를 계산합니다.

② 첫 구매까지의 시간 (Activation)

  • 유형: "가입 후 첫 결제까지 걸리는 평균 시간(또는 일수)을 구하라."
  • 핵심: 유저별 MIN(JOINED_DATE)와 MIN(ORDER_DATE)를 구한 뒤 두 날짜의 차이를 구합니다.

③ 고정 코호트 매출 (Revenue)

  • 유형: "2021년 가입자들(코호트)이 가입 월부터 12개월간 매달 발생시킨 누적 매출을 구하라."
  • 핵심: 방금 푸신 '상품 구매 회원 비율' 문제의 심화 버전입니다.

3. 꼭 알아야 하는 SQL 함수 & 기법

실무형 문제를 풀기 위해선 다음 도구들이 손에 익어야 합니다.

🛠 날짜 관련 함수 (Must-Have)

  • DATEDIFF(종료일, 시작일): 두 날짜 사이의 일수 차이 계산.
  • TIMESTAMPDIFF(단위, 시작, 종료): 월(MONTH), 시간(HOUR) 등 다양한 단위의 차이 계산.
TIMESTAMPDIFF(MONTH, JOINED, FIRST_ORDER_DATE) AS MONTH_DIFF
  • DATE_TRUNC ( PostgreSQL/BigQuery 스타일 ) / DATE_FORMAT(MySQL 스타일): 날짜를 월 단위나 주 단위로 자를 때 사용.

🛠 분석용 핵심 구문

  • DISTINCT: '구매 건수'가 아닌 '구매 유저 수'를 셀 때 절대 잊어서는 안 됩니다.
  • CASE WHEN: 유저를 특정 그룹(예: 30일 이상 미접속자)으로 분류할 때 필수입니다.
  • WITH (CTE): 복잡한 AARRR 단계를 한 번에 짤 수 없으므로, 단계별로 가상 테이블을 만들어 가독성을 높입니다.

4. 관련 핵심 개념 (면접 단골 질문)

  • LTV (Life Time Value, 고객 생애 가치): 한 명의 유저가 우리 서비스에 들어와서 이탈할 때까지 지불하는 총금액입니다. (Revenue의 핵심 지표)
  • Churn Rate (이탈률): 리텐션의 반대 개념으로, 우리 서비스를 더 이상 이용하지 않는 유저의 비율입니다.
  • Aha Moment (아하 모먼트): 활성화(Activation) 단계에서 유저가 서비스의 가치를 깨닫는 결정적인 순간입니다. (예: 페이스북 가입 후 10일 내 친구 7명 추가)

🚩 마무리

"AARRR은 단순히 마케팅 용어가 아니라, SQL로 뽑아야 할 **'비즈니스 로직의 지도'**입니다. 쿼리 테스트에서 날짜 함수와 DISTINCT를 강조하는 이유는, 여러분이 이 지도를 보고 유저의 생존 여부를 정확히 판별할 수 있는지 확인하기 위해서입니다."