수익화 전략: 만든 서비스에서 돈을 받는다
Phase 1에 수익화를 박는 이유 — 의도적 무수익도 결정입니다
📑 이 챕터에서 다룰 내용
새 17장 (Context Engineering 정정렬)까지 끝났고, 이제 수익화의 자리입니다. 이 장은 1탄 v2의 핵심 보강 챕터 중 하나 — 수익화가 E2 1인 페이스의 본질과 직결되기 때문입니다.
| 사전 지식 체크 | 이 장의 목적 | 완료 후 결과물 |
|---|---|---|
| Phase 1 BUILD 완료 / 첫 사용자 1명+ 가입 | Phase 1 수익화 구조 확정 + Stripe 30분 연동 + 수익화가 E1 회색지대·E2 1인 페이스와 어떻게 결합되는가 | 수익화 모델 1개 확정 + Stripe 연동 + 첫 유료 사용자 또는 의도적 무수익 결정 |
행동경제학의 앵커링 효과: 사람은 처음 본 숫자(앵커)를 기준으로 모든 판단을 합니다.
가격 예시: 월 9만원 프리미엄 플랜을 먼저 보여준 후 월 3만원 기본 플랜을 보여주면, 3만원이 "저렴하다"고 느껴집니다. 반대로 월 3만원만 보여주면 "비싸다"고 느낄 수 있습니다.
가격표 설계에 이 심리학을 적용하면 전환율이 2~3배 높아집니다.
스타벅스의 "톨·그란데·벤티" 3단계 사이즈. 벤티(대형)가 없으면 그란데(중형)가 비싸 보입니다. 하지만 벤티 옆에 놓이면 그란데가 합리적으로 보입니다. 이게 앵커링입니다.
→ 가격표 설계: 비싼 플랜을 왼쪽에, 저렴한 플랜을 오른쪽에. 대부분의 사용자는 중간을 선택합니다.
| 도구 | 수익화 다루는 정도 |
|---|---|
| GSD | PROJECT.md "vision"에 비즈니스 목표 / REQUIREMENTS.md에 "out-of-scope" 분리 |
| Spec-Kit | constitution에 비즈니스 룰 / 가격 설계 자체는 사용자 책임 |
| BMAD | Preston (PM) PRD에 가격 모델 포함 가능 / Sally (PO) story breakdown |
| OpenSpec | 변경 명세 중심 — 수익화는 비즈니스 결정 |
수익화 자체 (가격·구독 구조·결제 시스템)는 표준 도구가 다루지 않습니다. 5파일+의 SPEC.md §7 수익화 항목이 본문에 박는 자리입니다.
가장 흔한 실수: "수익화는 나중에 붙이겠다". 이건 Phase 1의 완성 기준을 없애는 결정입니다. "완성"이 무엇인지 알 수 없으면 Phase 1은 끝없이 팽창합니다 (파킨슨의 법칙, 새 7장).
두 가지 길
| 길 | 의미 | 적용 사례 |
|---|---|---|
| (A) Phase 1 즉시 수익화 | Phase 1 완성 시점부터 결제 가능 | 일반 SaaS·도구 앱 |
| (B) Phase 1 의도적 무수익 + Phase 2 수익화 | Phase 1은 신뢰 축적, Phase 2부터 결제 | 줍줍 패턴 (커뮤니티 신뢰 우선) |
다만 SPEC.md에 "의도적 무수익" 명시가 필요합니다. 명시 없이 "나중에"라고 하면 Phase 1 완성 기준이 없어집니다.
명시하면 "6개월 무수익 + 신뢰 축적" 자체가 Phase 1의 완성 기준이 됩니다.
| 모델 | 설명 | 적합한 앱 | 줍줍·TSV 적용 |
|---|---|---|---|
| 구독 (SaaS) | 월/연 정기 결제, 안정적 MRR | B2B 도구·전문 서비스 | 줍줍 Phase 2 (월 2,900원) |
| 프리미엄 | 무료 기본 + 유료 고급 기능 | 소셜·생산성 앱 | 줍줍 Phase 2 잠금 해제 구조 |
| 거래 수수료 | 거래 발생 시 일정 % 수취 | 마켓플레이스·예약 | (해당 없음) |
| 광고 | 사용자에게 광고 노출 | 콘텐츠·미디어 앱 | TSV Phase 1.1 (BUILD 검증 후) |
| 일회성 구매 | 기능 단위 단건 결제 | 도구·유틸리티 | TSV Phase 1.2 (B2B 데이터 리포트) |
줍줍 — Phase 1 무수익 + Phase 2 프리미엄
## SPEC §10 — 수익 모델 ### Phase 1 (0~6개월): 수익 없음 신뢰와 데이터 축적에만 집중. 수익화 시도는 커뮤니티 신뢰를 망친다. ### Phase 2 (6개월~): 프리미엄 구독 (월 2,900원) [잠금 해제 구조] 무료: - 지원금 목록 조회 - 줍줍 수 / 성공률 요약 통계 - 마감 D-7 알림 1개 유료 (월 2,900원): - 마감 D-1 알림 무제한 - 내 업종/조건 신규 지원금 즉시 알림 - 상세 통계 + 팁 무제한 열람 - 경쟁률 낮은 지원금 우선 노출
수익 시뮬레이션
| MAU | 전환율 | 월 구독자 | 월 수익 |
|---|---|---|---|
| 1,000 | 5% | 50명 | 145,000원 |
| 5,000 | 5% | 250명 | 725,000원 |
| 20,000 | 5% | 1,000명 | 2,900,000원 |
"수익화 시도는 커뮤니티 신뢰를 망친다" — 이게 줍줍의 E2 1인 페이스 + E1 회색지대 결정의 본질입니다.
6개월 무수익 결정이 본문에 박혀 있어서 "왜 Phase 1에 결제 없는가"의 변호 논리가 됩니다.
TSV — Phase 1.0 무수익 → Phase 1.1 광고 → Phase 1.2 프리미엄
## SPEC §7 — 수익화 (Phase 별) ### Phase 1.0 (Day 1~33): 의도적 무수익 다관점 가설 검증 (Day 14 CRITICAL 게이트) 이 본질. 수익화 추가 시 가설 검증이 흐려짐. ### Phase 1.1 (Day 34~90): Google AdSense 광고 + 운영비 충당 - 페르소나 콘텐츠 사이드바 광고 (사용자 경험 보호) - ⚖️ Position C 일관: 베팅 광고 차단 키워드 명시 - 목표: 월 운영비 ($18) 충당 + α ### Phase 1.2 (Day 91~180): 프리미엄 구독 ($4.99/월) - 광고 제거 + 프리미엄 페르소나 (COACH·INSIDER) 노출 - 19리그 확장 + Asia 새벽 알림 + 픽업 (다관점 큐레이션) 무제한 ### Phase 2.0 (6개월 후): B2B 데이터 리포트 ($299/회) - 익명 집계 통계 (스포츠 마케팅 회사 대상) - 페르소나 분석 트렌드 리포트 - ⚖️ Position C 일관: 베팅 시장 분석 X (스포츠 미디어 분석만)
수익화 모델이 E1 회색지대 결정과 일관성을 유지해야 합니다. 모순이 생기면 변호 논리가 무너집니다.
줍줍의 일관성 — "정보 제공 목적"과 수익화
SPEC §1: "정보 격차를 줄임" (E1 회색지대)
→ SPEC §10 Phase 2 잠금 해제: "상세 통계 + 팁 무제한 열람" (정보 제공 강화)
→ 일관성 유지 — 수익화도 "정보 제공" 본질에서 벗어나지 않음
모순 사례: Phase 2에 "신청 대행 서비스 유료화" 추가
- SPEC §1의 "정보 격차를 줄임" (배제: 신청 보장)에 위배
- 단속 시 변호 논리 무너짐
- 수익화 결정이 E1 결정을 깨뜨림
일관 사례: Phase 2에 "상세 통계 + 알림 무제한" (정보 제공 깊이)
- "정보 격차를 줄임"의 강화
- E1 결정과 모순 없음
TSV의 일관성 — Position C와 수익화
SPEC §3: "Position C — 분석 콘텐츠 미디어, 베팅 연결 X" (E1)
→ SPEC §7 Phase 1.1 광고: "베팅 광고 차단 키워드 명시"
→ SPEC §7 Phase 1.2 프리미엄: "프리미엄 페르소나 (COACH·INSIDER) 분석"
→ SPEC §7 Phase 2.0 B2B: "스포츠 미디어 분석 리포트, 베팅 시장 X"
→ 모든 수익화 단계가 Position C 일관
모순 사례: B2B에 "베팅 시장 트렌드 분석 리포트" 추가
- SPEC §3 Position C 배제 항목 위배
- "도박 조장 의도와 설계 없었다" 변호 논리 무너짐
일관 사례: B2B에 "스포츠 마케팅 분석 + 페르소나 트렌드 리포트"
- Position C "분석 미디어" 본질에서 벗어나지 않음
수익화 결정 시 CLAUDE.md §3 (절대 금지)에 "E1 회색지대 결정 위반 금지"가 이미 박혀 있어서, Claude Code가 자동으로 모순 가능성을 탐지합니다. 새 11장 11-2절 참조.
| 원칙 | 설명 | 줍줍·TSV 적용 |
|---|---|---|
| 3개 플랜 원칙 | Free·Basic·Pro. 중간 플랜이 60~70% 선택 (앵커링) | 줍줍: 무료/유료 2단 (단순) / TSV: 무료/프리미엄/팀 3단 |
| 연간 할인 제공 | 월 결제 대비 20~30% 할인. 현금 흐름 + 해지율 감소 | 둘 다 Phase 2~3에서 도입 |
| 첫 달 무료 | Free Trial 14일. 가치 경험 → 전환율 3배 | TSV Phase 1.2 도입 / 줍줍은 무료 6개월 자체가 trial |
| 단가는 높게 시작 | 낮추기는 쉽지만 올리기는 어려움. 높게 후 조정 | 줍줍 2,900원 (한국 시장 합리적), TSV $4.99 (글로벌 합리적) |
| 투명한 가격 | 숨겨진 비용 없음. 신뢰 = LTV 결정 | 둘 다 핵심 정체성 |
줍줍·TSV 둘 다 "투명한 가격"이 핵심 정체성
| 구분 | 줍줍 | TSV |
|---|---|---|
| 광고 | 없음 | Phase 1.1만 (구독 시 제거) |
| 개인정보 판매 | 절대 없음 (E1 결정) | 없음 |
| 숨은 비용 | 없음 | 없음 |
| 환불 정책 | 7일 환불 보장 | 7일 환불 보장 |
이 "투명성" 자체가 두 프로젝트의 마케팅 자산입니다. CLAUDE.md §3에 명시합니다.
보안 절대 원칙
STRIPE_SECRET_KEY를 .env 파일에 저장하고 프론트엔드 코드에서 직접 사용하는 것이 가장 흔한 실수입니다. GitHub에 코드를 올리는 순간 SECRET KEY가 공개되고, 유출 후 몇 분 안에 악용됩니다.
올바른 방법: 모든 Stripe API 호출을 서버 (Supabase Edge Function)에서. 프론트엔드는 Edge Function을 호출, Edge Function이 STRIPE_SECRET_KEY를 사용해 Stripe와 통신합니다. SECRET KEY는 서버 환경변수에만 존재합니다.
설정 순서
# 1. stripe.com → 가입 → Dashboard → Developers → API Keys # 2. Publishable key + Secret key 복사 # 3. 환경변수 설정 STRIPE_PUBLISHABLE_KEY=pk_test_... # 프론트엔드 사용 가능 STRIPE_SECRET_KEY=sk_test_... # 절대 프론트엔드 노출 금지 STRIPE_WEBHOOK_SECRET=whsec_... # Webhook 서명 검증 # 4. Claude Code에게 요청 (MCP 활용) # [Supabase MCP + Stripe MCP 활성, Claude Code] # "Supabase Edge Function으로 Stripe 월 구독 결제를 구현해줘. # 월 [가격]원 구독 상품을 만들고, 결제 완료 시 DB의 subscriptions # 테이블에 기록해줘. Webhook으로 결제 상태를 동기화해줘. # # STRIPE_SECRET_KEY는 Edge Function에서만 사용해줘. # CLAUDE.md §3 Critical Constraints의 *API 키 노출 금지* 절대 준수."
줍줍 Stripe 적용 사례 (Phase 2)
결정: 줍줍 프리미엄 구독 — Stripe 월 2,900원 + 14일 환불
근거: SPEC §10 Phase 2 명시. Stripe Subscriptions API로 자동 갱신·해지·환불 처리.
대안: PG (KG이니시스 등) 직접 연동 — 한국 카드 친화이지만 Edge Function 통합 복잡, 1인 운영자에게 과도
부작용: Stripe 한국 카드 4% 수수료 (PG는 3%). 수익 1만원당 100원 차이. Trade-off 수용
TSV Stripe 적용 사례 (Phase 1.2)
결정: TSV 프리미엄 — Stripe $4.99/월 (USD) + 1년 $49.99 (16% 할인)
근거: 글로벌 사용자 대상. SPEC §7 Phase 1.2 명시.
대안: 한국 PG — TSV는 영어 콘텐츠 위주, 한국 사용자 비중 30% 미만
가격 책정: $4.99는 ESPN+ ($10.99), Athletic ($7.99) 대비 50% 가격대 — 신생 미디어로서 진입 가격 우선
수익화가 1인 운영자의 페이스에 부담을 줄 수 있는 사례를 정리합니다.
| 부담 패턴 | 영향 | 완화책 |
|---|---|---|
| 결제 사고 (환불·이중 청구) | 1건당 30분~2시간 대응 | Stripe Webhook 자동 처리 + Slack 알림 (Phase 2 이후) |
| 고객 문의 (구독 해지·환불) | 매일 누적 | FAQ 자동 응답 + 7일 무조건 환불 정책 (대응 시간 0) |
| 가격 변경 압박 | 사용자 항의 | 처음부터 합리적 가격 + "단가 인상 6개월 전 공지" 명시 |
| 수익 모니터링 의존 | 매일 대시보드 확인 | 주간 자동 리포트 (E2 일요일 회고에 통합) |
줍줍 Phase 2 — "수익이 R4 번아웃을 가속하지 않게"
Phase 2 운영 시 페이스 보호: - 7일 환불 보장 (불만 처리 시간 0) - Stripe Webhook 자동화 (수동 처리 시간 0) - 주간 수익 리포트 자동 (Slack MCP) - 사용자 문의 응답 SLA: 24h (즉시 응답 압박 없음) [R4 트리거에 추가] - 매주 사용자 문의 처리 시간이 5h 초과 시 1일 휴식 의무 - 결제 사고 누적 3건/주 발생 시 즉시 점검
수익화가 깊어질수록 R4 (1인 번아웃) 트리거 조건도 조정합니다. 수익이 늘어난다고 긴장을 풀면 오히려 번아웃 위험이 높아집니다.
📌 18장 정리
- 핵심 한 줄: 수익화 = Phase 1에 반드시 포함 (의도적 무수익도 명시) + E1 회색지대와 일관성 + E2 1인 페이스 보호.
- 수익화 모델 5가지: 구독·프리미엄·거래 수수료·광고·일회성 구매. 줍줍 Phase 1 무수익 → Phase 2 구독 (월 2,900원). TSV Phase 1.0 무수익 → 1.1 광고 → 1.2 프리미엄 ($4.99)
- 두 길 모두 정당: (A) Phase 1 즉시 수익화 / (B) Phase 1 의도적 무수익 + Phase 2 수익화 (줍줍·TSV — 신뢰 축적)
- 수익화 × E1 일관성: 수익 모델이 E1 결정을 깨뜨리면 안 됩니다. 줍줍 "정보 제공 목적" / TSV Position C 모든 수익이 본질에서 벗어나지 않아야 합니다.
- 가격 설계 5원칙: 3플랜 (앵커링) · 연간 할인 · 첫 달 무료 · 높게 시작 · 투명한 가격
- Stripe 30분 설정: SECRET KEY는 Edge Function에서만 (절대 프론트엔드 X). Webhook으로 자동화 (수동 처리 0)
- 수익화 × E2 페이스: 7일 환불 보장 + Webhook 자동화 = 대응 시간 최소화. R4 트리거에 "문의 처리 시간 5h+/주" 추가
수익화 결정이 5파일+ 사이클에 박혔습니다. SPEC.md §7 + 5확장 (E1 회색지대 + E2 페이스) 결합으로 일관성이 강합니다.
다음 장에서 "실제 인터넷에 공개" — 배포 단계로 넘어갑니다.