monetization
CHAPTER 44 / 69
읽기 약 2분
FUNCTION
MRR/ARR 계산과 성장 지표
핵심 개념
월간반복수익(MRR), 신규/확장/이탈 분해, LTV/CAC 비율 등 SaaS 성장의 핵심 지표.
본문
MRR — 월간반복수익
// MRR = 모든 활성 구독의 월간 환산 합계
function calculateMRR(subscriptions: Subscription[]): number {
return subscriptions
.filter(s => s.status === 'active')
.reduce((sum, s) => {
const monthlyAmount = s.billing === 'yearly' ? s.amount / 12 : s.amount;
return sum + monthlyAmount;
}, 0);
}
// ARR = MRR × 12
function calculateARR(mrr: number): number {
return mrr * 12;
}MRR 변동 분해
interface MRRMovement {
newMRR: number; // 신규 가입
expansionMRR: number; // 업그레이드 (Pro → Enterprise)
contractionMRR: number; // 다운그레이드
churnMRR: number; // 해지
}
function netMRRChange(m: MRRMovement): number {
return m.newMRR + m.expansionMRR - m.contractionMRR - m.churnMRR;
}
// 예시
const lastMonth = {
newMRR: 500,
expansionMRR: 100,
contractionMRR: 50,
churnMRR: 200,
};
console.log(netMRRChange(lastMonth)); // +350 (성장 중)핵심 비율 — LTV/CAC
// LTV (Lifetime Value) = 평균 사용자가 평생 지불하는 금액
function calculateLTV(arpu: number, churnRate: number): number {
// ARPU: Average Revenue Per User (월)
// churnRate: 월 해지율 (0.05 = 5%)
return arpu / churnRate;
}
// CAC (Customer Acquisition Cost) = 사용자 1명 획득 비용
function calculateCAC(marketingSpend: number, newCustomers: number): number {
return marketingSpend / newCustomers;
}
// 건강한 SaaS: LTV/CAC ≥ 3
const ltv = calculateLTV(20, 0.05); // $400
const cac = calculateCAC(1000, 10); // $100
const ratio = ltv / cac; // 4 — 건강함네트 리비뉴 리텐션 (NRR)
NRR = (시작 MRR + 확장 MRR - 이탈 MRR - 다운그레이드) / 시작 MRR × 100%
> 100% = 같은 사용자 풀에서 매출 성장 (확장 > 이탈)
< 100% = 누수 발생function calculateNRR(start: number, expansion: number, contraction: number, churn: number): number {
return ((start + expansion - contraction - churn) / start) * 100;
}
// 우수 SaaS: NRR 110~140% (Snowflake, Datadog)
// 평균 SaaS: NRR 90~110%
// 위기 SaaS: NRR < 90%코호트 분석 — 가입 시점별 추적
// 2026년 1월 가입자 100명의 6개월 후 잔존율
const cohortJan2026 = {
month0: 100, // 가입 시점
month1: 85,
month2: 75,
month3: 70,
month4: 67,
month5: 65,
month6: 64, // 64% 잔존
};
// 각 코호트의 잔존율을 비교하면 "어느 달부터 좋아졌는지" 보임매출 대시보드 자가 진단
function diagnoseSaaS(metrics: {
mrr: number;
growthRate: number; // 월 성장률
churnRate: number;
ltv: number;
cac: number;
nrr: number;
}): string[] {
const issues = [];
if (metrics.churnRate > 0.05) issues.push(`해지율 ${metrics.churnRate * 100}% 위험`);
if (metrics.ltv / metrics.cac < 3) issues.push(`LTV/CAC ${(metrics.ltv / metrics.cac).toFixed(1)}배 낮음`);
if (metrics.nrr < 100) issues.push(`NRR ${metrics.nrr}% — 누수 발생`);
if (metrics.growthRate < 0.05) issues.push(`성장률 ${metrics.growthRate * 100}% 느림`);
return issues.length === 0 ? ['건강함 ✅'] : issues;
}AI 프롬프트
🤖 AI에게 잘 물어보는 법 — 모델·전략별 프롬프트
Claude
무료: Sonnet 4.6 / Pro $20/mo: Opus 4.6
내 SaaS의 MRR/Churn/LTV/CAC 데이터를 분해 분석하고 가장 시급한 개선 영역을 우선순위로 알려줘.
ChatGPT
무료: GPT-5.5 / Plus $20/mo: GPT-5.5 Pro
월 MRR $1만 달성한 1인 SaaS 5개의 핵심 지표(NRR/LTV-CAC/Churn)를 비교표로 보여줘.
Gemini
무료: 2.5 Flash / Pro $19.99/mo: 3.1 Pro
내 결제 데이터(Stripe/토스)에서 코호트 분석·NRR·확장 vs 이탈 비율을 시각화 가능한 종합 리포트로 만들어줘.
Grok
무료: Grok 4.1 / SuperGrok $30/mo
2026년 1인 SaaS의 평균 MRR 도달 속도와 월 $1만 → $10만 전환 비율을 실제 데이터로 솔직히 알려줘.
⭐ 이것만 기억하세요
MRR/ARR 계산과 성장 지표는 이 3가지만 확실히 잡으세요
1.MRR/ARR/NRR/LTV/CAC 5대 지표를 매주 추적해야 SaaS의 건강 상태를 정확히 진단할 수 있다
2.LTV/CAC ≥ 3 + NRR > 100%가 건강한 SaaS의 마지노선 — 둘 중 하나만 빠져도 위험 신호다
3.다음 챕터에서 광고/멤버십 외 수익원 — 프리랜서 플랫폼 활용을 다룬다
공유하기
진행도 44 / 69