DOCS/book/300_architecture/314_스타트업_가치분석_원칙.md
Claude-51124 29dd5694ca docs: 314 스타트업 가치분석 원칙 업데이트
- 동적 프리미엄 학습 (Beta 분포) 섹션 추가
- 30일 주기 재계산 스케줄러 설명 추가
- 참고 문서 경로 수정 (plans → plans/archive)
- Phase 3 완성 troubleshooting 문서 참조 추가
2026-01-20 09:57:28 +09:00

241 lines
7.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 스타트업 가치분석 원칙
**작성일**: 2025-12-01
**수정일**: 2026-01-20 (동적 프리미엄 섹션 추가)
**관련 파일**: `rb8001/app/services/ir_deck_analyzer.py`, `rb8001/app/services/ir_analyzer.py`, `rb8001/app/services/startup_valuation.py`, `rb8001/app/state/repositories/valuation_premia_repository.py`
---
## 1. 목적 및 철학
### 로빙의 가치 판단 능력
로빙은 "도구를 넘어 동료로"라는 철학에 따라, 스타트업의 가치를 스스로의 기준으로 평가하고 판단합니다. 스타트업 가치분석은 로빙의 핵심 기능으로, 다음을 목표로 합니다:
- **객관적 평가**: 일관된 기준으로 스타트업의 투자 가치 평가
- **불확실성 다루기**: 베이지안 프레임워크로 불확실성을 명시적으로 다룸
- **사용자 지원**: 투자자와 스타트업 모두에게 실용적인 피드백 제공
### 전체 파이프라인
```
IR Deck 업로드
IR Deck 평가 (Sequoia 10 stories)
IR 지표 추출 (매출, 성장률, 팀 규모, 기술 우위)
베이지안 밸류에이션 (Prior + Evidence → Posterior)
투자 의사결정 지원
```
---
## 2. IR Deck 평가 원칙
### Sequoia Capital 10가지 스토리 기준
IR Deck 평가는 Sequoia Capital의 10가지 스토리 기준을 사용합니다:
1. **문제 정의 (Problem)**: 해결하려는 문제의 명확성
2. **시장 기회 (Market Opportunity)**: 시장 규모와 성장성
3. **솔루션 (Solution)**: 문제 해결 방법의 타당성
4. **제품/서비스 (Product/Service)**: 제품의 차별성과 완성도
5. **비즈니스 모델 (Business Model)**: 수익 모델의 명확성
6. **경쟁 우위 (Competitive Advantage)**: 지속 가능한 경쟁력
7. **팀 (Team)**: 팀의 역량과 실행력
8. **트랙션 (Traction)**: 시장에서의 성과와 검증
9. **재무 (Financials)**: 재무 건전성과 성장성
10. **비전 (Vision)**: 장기 비전과 확장 가능성
### 평가 방식
- **전체 평가**: 문서 전체를 종합적으로 평가 (ChatGPT 방식)
- **페이지별 분석**: 각 페이지에서 잘된 점/못한 점 추출 (점수 없음)
- **등급 분류**: S (90+), A (80-89), B (70-79), C (0-69)
### 구현 위치
- `rb8001/app/services/ir_deck_analyzer.py`: 평가 로직
- `rb8001/app/services/ir_deck_analyzer.py:22-33`: Sequoia 10 stories 정의
---
## 3. IR 지표 추출 원칙
### 필수 지표
다음 4가지 지표를 우선적으로 추출합니다:
1. **매출 (Revenue)**: 연매출 또는 월매출
2. **성장률 (Growth Rate)**: YoY 또는 MoM 성장률
3. **팀 규모 (Team Size)**: 직원 수
4. **기술 우위 (Tech Advantage)**: 기술적 차별성 설명
### 지표 추출 방법
- **RAG 기반 검색**: `ir_analyzer.py``query_rag()` 사용
- **LLM 기반 추출**: 구조화된 프롬프트로 지표 추출
- **검증**: 추출된 지표의 신뢰도 검증 (evidence_count)
### Evidence Count 계산
```python
evidence_count = sum(
1 for v in [revenue_parsed, growth_parsed, team_size_parsed] if v is not None
) + (0 if (not tech_adv_str or tech_adv_str.strip().upper() in ["N/A", "UNKNOWN"]) else 1)
```
- **0-1개**: 데이터 품질 낮음, 신뢰도 낮음
- **2-3개**: 데이터 품질 보통, 신뢰도 보통
- **4개**: 데이터 품질 높음, 신뢰도 높음
### 구현 위치
- `rb8001/app/services/ir_analyzer.py`: 지표 추출 로직
- `rb8001/app/services/startup_valuation.py:371-377`: evidence_count 계산
---
## 4. 베이지안 밸류에이션 원칙
### 핵심 원리
베이지안 프레임워크는 불확실성을 명시적으로 다루는 로빙의 철학과 일치합니다:
```
Posterior = Prior × Likelihood / Evidence
```
### Prior 설정
**투자 단계별 Prior** (한국 시장 기준, 단위: 억원):
| 단계 | Median | Lower | Upper |
|------|--------|-------|-------|
| Seed | 30 | 10 | 50 |
| Pre-A | 70 | 30 | 100 |
| Series A | 150 | 70 | 250 |
| Series B | 400 | 200 | 700 |
| Series C | 1000 | 500 | 2000 |
| Series D | 2500 | 1000 | 5000 |
**동적 Prior** (Neo4j 유사 기업 기반):
- 스테이지 Prior (30%) + 동적 Prior (70%) 혼합
- 유사 기업이 없으면 스테이지 Prior만 사용
### Adjustment Factor
IR 지표에 따른 조정 계수:
- **evidence_count ≥ 3**: adjustment = 1.0 (조정 없음)
- **evidence_count = 2**: adjustment = 0.8 (보수적 조정)
- **evidence_count ≤ 1**: adjustment = 0.6 (더 보수적 조정)
### Confidence 계산
```python
confidence = min(1.0, 0.5 + (evidence_count * 0.1) + (adjustment_factor * 0.2))
```
- **0.5-0.7**: 낮은 신뢰도 (데이터 부족)
- **0.7-0.9**: 보통 신뢰도 (충분한 데이터)
- **0.9-1.0**: 높은 신뢰도 (완전한 데이터)
### 구현 위치
- `rb8001/app/services/startup_valuation.py`: 베이지안 밸류에이션 로직
- `rb8001/app/services/startup_valuation.py:54-72`: 투자 단계별 Prior
- `rb8001/app/services/startup_valuation.py:353-390`: `valuate_startup()` 함수
### 동적 프리미엄 학습 (Beta 분포)
투자 단계/산업별 프리미엄을 Beta(α,β) 분포로 관리하여 지속적으로 학습:
**Beta 분포 업데이트 공식**:
- 성공 관측: α' = α + 1
- 실패 관측: β' = β + 1
- mu = α / (α + β), sigma = sqrt(αβ / ((α+β)²(α+β+1)))
**30일 주기 재계산**:
- 스케줄러: `valuation_premia_recalculator` (매월 1일 04:00)
- Neo4j 데이터 기반 투자 성공률 계산 → Beta 분포 업데이트
**구현 위치**:
- `rb8001/app/state/repositories/valuation_premia_repository.py`: Beta 분포 CRUD
- `rb8001/app/services/valuation_premia_service.py`: 재계산 비즈니스 로직
- `rb8001/app/scheduler/jobs/valuation_premia_recalculator.py`: 스케줄러 작업
---
## 5. 전체 파이프라인 연결 관계
### 단계별 책임
1. **IR Deck 평가** (`ir_deck_analyzer.py`)
- 입력: PDF 파일
- 출력: 종합 점수, 등급, 페이지별 피드백
- 목적: Deck의 품질 평가 및 개선점 제시
2. **IR 지표 추출** (`ir_analyzer.py`)
- 입력: IR Deck 텍스트
- 출력: 매출, 성장률, 팀 규모, 기술 우위
- 목적: 밸류에이션에 필요한 정량 지표 추출
3. **베이지안 밸류에이션** (`startup_valuation.py`)
- 입력: IR 지표 + 투자 단계
- 출력: 밸류에이션 결과 (median, lower, upper, confidence)
- 목적: 투자 가치 평가 및 의사결정 지원
### 데이터 흐름
```
IR Deck (PDF)
↓ [ir_deck_analyzer.py]
종합 평가 (점수, 등급, 피드백)
↓ [ir_analyzer.py]
IR 지표 (매출, 성장률, 팀 규모, 기술 우위)
↓ [startup_valuation.py]
밸류에이션 결과 (median, confidence)
```
---
## 6. 체크리스트
### IR Deck 평가 시
- [ ] Sequoia 10 stories 기준으로 평가
- [ ] 전체 평가와 페이지별 분석 분리
- [ ] 페이지별 점수는 표시하지 않음 (잘된 점/못한 점만)
### IR 지표 추출 시
- [ ] 4가지 필수 지표 우선 추출
- [ ] evidence_count 계산 및 기록
- [ ] 추출 실패 시 명확한 에러 처리
### 베이지안 밸류에이션 시
- [ ] 투자 단계 정규화 (`_normalize_stage()`)
- [ ] Prior 설정 (스테이지 + 동적 Prior 혼합)
- [ ] evidence_count에 따른 adjustment 적용
- [ ] confidence 계산 및 반환
### 전체 파이프라인 검증
- [ ] IR Deck → 지표 추출 → 밸류에이션 연결 확인
- [ ] 각 단계별 에러 처리 및 폴백
- [ ] 결과의 일관성 검증
---
## 7. 참고 문서
- `DOCS/journey/scenarios/ir_deck_evaluation_scenario.md`: IR Deck 평가 사용자 시나리오
- `DOCS/journey/troubleshooting/251128_ir_deck_valuation_backend_architecture.md`: 백엔드 아키텍처
- `DOCS/journey/plans/archive/251016_bayesian_startup_valuation.md`: 베이지안 프레임워크 (구현 완료)
- `DOCS/journey/troubleshooting/260120_bayesian_valuation_phase3_complete.md`: 동적 프리미엄 구현