← 커리큘럼 홈
★ PostHog + SQL + 코호트 + funnel · BONUS

감으로 운영 끝
데이터로 결정

Stage 6에 PostHog 심고, Stage 7에서 자동 리포트 받고, Stage 9에서 AARRR 봤다면 이제 깊이. 진짜 의사결정에 쓰이는 4가지 분석 패턴.

"측정 못 하면 개선도 못 한다"

§1. Event Taxonomy — 무엇을 측정할까

"PostHog 켜기"가 끝이 아님. 어떤 이벤트를 어떻게 이름 붙일지가 80%

이벤트 이름 일관성이 모든 분석의 기반. 일주일만 다르게 짓다 보면 데이터가 무용. 시작 전 명세 1장 작성.

👀
page_viewed
PostHog 자동 — 모든 페이지 방문
📝
signup_started
"카카오로 시작" 버튼 클릭
signup_completed
users 테이블에 row 생성 직후
🎯
topic_selected
주제 선택 (props: { topic: 'IT' })
💳
checkout_started
결제 위젯 호출 (props: { plan, amount })
💰
payment_succeeded
토스 webhook 성공 시 (props: { amount, plan })
📨
newsletter_sent
서버에서 이메일 발송 직후
📩
newsletter_opened
이메일 추적 픽셀 로드 (Resend webhook)
🔗
newsletter_clicked
이메일 내 링크 클릭 (UTM)
subscription_canceled
구독 해지 (props: { reason })
📋 명명 규칙
형식: noun_verb (예: signup_completed, payment_succeeded)
NEVER: CamelCase, 한국어, 띄어쓰기, 동의어 (signup_done vs signup_completed 혼재 X)
속성(properties)에 변수 데이터: 이벤트 이름은 적게, properties는 풍부하게

§2. Funnel — 어디서 떨어지는가

PostHog의 가장 강력한 기능. 가입→결제 흐름의 병목 시각화

📊 가입 → 결제 funnel (1주일)
page_viewed (랜딩)
1,000
1,000
↓ 25% (보통: 30~40%)
signup_started
250
250
↓ 80% (정상)
signup_completed
200
200
↓ 30% — ⚠️ 문제!
checkout_started
60
60
↓ 50% (정상)
payment_succeeded
30
30
🔍 진단 — 가입 → 결제 30%가 병목
가입 후 결제까지 70%가 이탈. 가설 3가지:
① 가입 직후 가치 못 느낌 → 첫 메일 즉시 발송 (1통 미리 받기)
② 가격 부담 → 7일 무료 체험 추가
③ 결제 흐름 복잡 → 1-click 결제 위젯

각 가설을 PostHog Feature Flag로 A/B 테스트 (Stage 9 §2 참조)

§3. Cohort Retention — 매월 신규 사용자, 몇 주 남나

"가입 이후 시간"으로 유저 묶기 — SaaS의 가장 강력한 분석

가입 코호트 인원 Day 0 Day 7 Day 14 Day 30 Day 60 Day 90
2026년 1월 50 100% 72% 68% 55% 50% 42%
2026년 2월 80 100% 85% 82% 75% 60%
2026년 3월 120 100% 88% 75% 58%
2026년 4월 200 100% 92%
📈 읽는 법 — 코호트가 점점 좋아지는가?
Day 7 진화: 1월 72% → 2월 85% → 3월 88% → 4월 92% (✅ 좋아짐)
Day 30 진화: 1월 55% → 2월 75% → 3월 58% (⚠️ 3월 떨어짐)

3월 코호트의 Day 30 떨어진 이유 분석 = 다음 액션. 신규 채널·콘텐츠·UX 변화 검토.

§4. 리텐션 곡선 — 평탄해지는 지점이 PMF 신호

PMF 검증의 가장 강력한 시각화. Day 30 이후 곡선이 평평해지면 PMF 도달 신호 — 그 사용자들은 진짜 가치를 받는 것.

📊 PMF 곡선의 3가지 패턴
① Smile (평탄): 100% → 30%로 떨어진 뒤 그대로 유지. ★ PMF 달성
② Decline (계속 하락): 100% → 30% → 10% → 0%. PMF X
③ Frown (낙폭 큼): 100% → 80% → 50% → 5%. 중간

1번 (Smile)이 나오면 광고·확장 시작. 2·3번이면 가격·페르소나·콘텐츠 재검토.
🎯 SaaS 평균 Day 30 리텐션
일반 SaaS: 30~40%
좋은 SaaS: 50~60%
최고 SaaS: 70%+
뉴스레터 특수: 60~80% (구독 모델 + 매일 발송)

목표: 6개월 안에 Day 30 ≥ 60% 달성.

§5. SQL — 1인 SaaS에 필요한 만큼만

PostHog 대시보드로 80%, 직접 SQL은 20%. 그 20%를 위한 최소 SQL

자주 쓰는 SQL 5선 (Supabase) PostgreSQL
-- 1. 오늘 가입한 신규 구독자 수 SELECT COUNT(*) FROM users WHERE created_at >= CURRENT_DATE; -- 2. 활성 유료 구독자 (NSM) SELECT COUNT(*) FROM subscriptions WHERE status = 'active'; -- 3. 어제 발송 성공률 SELECT COUNT(*) FILTER (WHERE status = 'sent')::float / COUNT(*) * 100 AS success_rate FROM send_logs WHERE sent_at >= CURRENT_DATE - INTERVAL '1 day'; -- 4. 주제별 활성 구독자 (개인화 분석) SELECT unnest(topics) AS topic, COUNT(*) AS subscribers FROM subscriptions WHERE status = 'active' GROUP BY topic ORDER BY subscribers DESC; -- 5. 주간 신규 가입 추세 (Excel 차트용) SELECT DATE_TRUNC('week', created_at) AS week, COUNT(*) AS new_users FROM users WHERE created_at >= NOW() - INTERVAL '12 weeks' GROUP BY week ORDER BY week;
💡 SQL 학습 — Claude에게 시키기
"지난 주 가입자 중 첫 메일 안 연 사람 명단 SQL 짜줘" → Claude가 즉시 작성. SQL을 직접 외울 필요 없음. 대신 결과 해석은 본인이.

§6. AARRR 5단계 깊이

Stage 9에서 본 AARRR을 측정 가능한 지표로

단계핵심 지표업계 평균내 목표
Acquisition (획득) 주간 신규 방문자 / CAC CAC 0~30,000원 오가닉 위주 = CAC ~5,000원
Activation (활성화) 방문 → 가입 전환율 / 첫 메일 오픈율 방문→가입 5~15% 10%+ / 첫 메일 오픈 70%+
Retention (유지) Day 30 리텐션 / 월 이탈률 Day 30 30~50% 60%+ (뉴스레터 특수)
Referral (추천) NPS / 추천 코드 사용률 K-factor 0.1~0.3 K-factor 0.5+ (1인당 0.5명 추천)
Revenue (수익) MRR / ARPU / LTV LTV/CAC 3:1 5:1 (오가닉 강함)
💎 LTV 계산법
LTV = ARPU ÷ 월 이탈률
예: ARPU 9,900원, 월 이탈률 5% → LTV = 9,900 ÷ 0.05 = 198,000원
CAC가 30,000원 미만이면 매우 좋은 사업 (LTV/CAC ≥ 6).

§7. 매주 자동 리포트 — n8n + Claude (Stage 7 확장)

n8n 워크플로우 — 주간 데이터 분석 → 텔레그램 매주 월요일 09:00
# 1. Cron 트리거 (월요일 09:00 KST) # 2. PostHog API 호출 — 지난 주 통계 5개 ▸ Funnel 가입→결제 전환율 ▸ Day 30 리텐션 (지난 주 가입 코호트) ▸ 평균 ARPU ▸ 발송 오픈율 ▸ 신규 구독자 수 # 3. Supabase SQL 실행 — 매출·이탈 ▸ 주간 매출 (payment_succeeded SUM) ▸ 주간 이탈자 수 (subscription_canceled) # 4. Claude로 분석 (system: "주간 SaaS 데이터 분석가. 한국어로.") Input: 위 7개 지표 Output: 3문단 분석 - 잘 된 것 1가지 - 우려 되는 것 1가지 - 다음 주 액션 1가지 # 5. 텔레그램으로 본인에게 발송 📊 [VIBE MASTER 주간 리포트] 📈 NSM: 142 (+15 vs 지난 주) 💰 MRR: 1,406,800원 (+148,500) 📩 발송 오픈율: 68% (-2%p) ⚠️ 우려: 오픈율 하락. 콘텐츠 점검 필요 🎯 다음 주 액션: 제목 A/B 테스트 시작
⚡ 효과 — 30분 일이 자동 0분
매주 월요일 본인이 직접 PostHog 보고 Excel 정리하던 30분 → 텔레그램 자동 알림 0분. 의사결정 속도 = 데이터 속도. 일주일 만에 액션 가능.

§8. 데이터 분석 시작 체크리스트

Event Taxonomy 1장 작성 → docs/events.md (10개 이벤트 명세)
PostHog SDK 설치 + signup·payment·newsletter 핵심 4개 이벤트 발송 검증
핵심 funnel 1개 만들기: page_viewed → payment_succeeded
코호트 retention 셋업 (월별 가입자 그룹)
주간 자동 리포트 n8n 워크플로우 활성화
NSM 추적 = 월간 활성 유료 구독자 수 매일 자동 집계
Anomaly 알림 — 평소 대비 ±30% 변화 시 텔레그램 자동 알림
월 1회 깊은 분석 — 코호트 변화·LTV 추이·CAC 검토
🎯 100명 전 vs 후
100명 전: 데이터 적어 노이즈 많음. 일별 변동에 흔들리지 말 것. 주간만 보기.
100명 후: 통계적 유의성 시작. 코호트·funnel 분석 의미 있음.
500명 후: A/B 테스트 의미 있는 결과 가능.