1. AARRR이란 무엇인가?
미국의 스타트업 엑셀러레이터 데이브 맥클루어(Dave McClure)가 고안한 분석 모델로, 고객의 여정을 5단계로 나눕니다.
| 단계 | 의미 | 핵심 질문 | SQL 관련 지표 |
| Acquisition (획득) | 유저가 어떻게 오는가? | 신규 유입 경로와 수는? | 신규 가입자 수, 유입 채널별 카운트 |
| Activation (활성화) | 유저가 첫 경험을 하는가? | 유저가 주요 기능을 쓰는가? | 첫 구매, 첫 콘텐츠 시청, 튜토리얼 완료 |
| Retention (유지) | 유저가 계속 돌아오는가? | 다시 방문하거나 재구매하는가? | 리텐션(유지율), 재방문율 |
| Revenue (매출) | 유저가 돈을 지불하는가? | 실제 수익이 발생하는가? | LTV(생애가치), 결제 전환율, ARPPU |
| Referral (추천) | 유저가 주변에 알리는가? | 공유나 초대 코드를 쓰는가? | 공유 횟수, 초대 가입자 수 |
2. 쿼리 테스트 단골 출제 유형 (AARRR 기반)
쿼리 테스트는 주로 Retention과 Revenue 단계에서 변별력이 높은 문제를 냅니다.
① 리텐션(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를 강조하는 이유는, 여러분이 이 지도를 보고 유저의 생존 여부를 정확히 판별할 수 있는지 확인하기 위해서입니다."
'Data Science > SQL' 카테고리의 다른 글
| [SQL/오답] 다차원 그룹화와 중복 제거를 활용한 데모그래픽 지표 산출 (프로그래머스 Lv4) (0) | 2026.02.15 |
|---|---|
| [SQL/오답] 코호트 분석: 고정 분모와 동적 분자를 활용한 구매 비율 산출 (프로그래머스 Lv5) (0) | 2026.02.15 |
| [SQL] 코호트 분석이란?, 쿼리테스트 출제 유형, 관련 함수 (0) | 2026.02.15 |
| [SQL/오답] 서브쿼리를 활용한 판매 데이터 사전 집계와 다중 조인 (프로그래머스 Lv4) (0) | 2026.02.15 |
| [SQL] 비트연산&, 기간중복, 서브쿼리 Alias 규칙, EXISTS, HAVING (0) | 2026.02.15 |