# 베이지안 스타트업 가치평가 프레임워크 **날짜**: 2025-10-16 **목표**: Neo4j + 베이지안 MCMC 확률적 가치평가 --- ## 개요 **데이터**: K-Startup 12,703개 기업 (`/mnt/51123data/DATA/startup/data/startup_data_20251016.json`, 14MB) - 매출 정보: 10,484개 (82.5%) - 투자금 정보: 9,264개 (73.0%) - Neo4j 마이그레이션 완료: 26,117개 노드, 532MB (참고: `troubleshooting/251016_neo4j_startup_data_migration.md`) **구성**: Neo4j 유사 기업 → Bayesian MCMC 확률 분포 → 동적 프리미엄 학습 --- ## 아키텍처 ``` 1. Neo4j → 유사 기업 Top-K 탐색 (공통 태그 K≥3) 2. Bayesian MCMC → 가치평가 확률 분포 (10,000 iterations) 3. PostgreSQL → 프리미엄 학습 및 업데이트 (Beta(α,β)) ``` --- ## Phase 1: Neo4j 유사 기업 (미구현) **현재 상태**: Neo4j 데이터 마이그레이션 완료 (12,703개 한국 스타트업, 5,490개 YC 기업) - Startup 노드 속성: `tagNamesKr`, `bizNamesKr`, `invstCdKr`, `empWholeVal`, `finacRevenueVal`, `invstSumValText` - 참고: 기존 `get_dynamic_prior_from_neo4j()`는 부분 구현 (토큰 매칭만, 투자 단계 필터링 없음) ### 입력 ```python { "company_name": "리버스마운틴", # IR 분석에서 추출 "investment_stage": "seed", # invstCdKr 정규화 "team_size": 9, # empWholeVal 또는 IR에서 추출 "business_area": "협업툴,SaaS" # tagNamesKr 또는 bizNamesKr } ``` ### 검색 조건 (Cypher 쿼리) - `tagNamesKr` 또는 `bizNamesKr`에서 공통 태그 K개 이상 (K=3) - `invstCdKr` 투자 단계 동일 또는 ±1 (seed → pre-A/series A 허용) - Top-5 유사 기업 반환 (`finacRevenueVal`, `invstSumValText` 포함) --- ## Phase 2: 베이지안 MCMC (미구현) **현재 상태**: 단순 베이지안 프레임워크 사용 (`startup_valuation.py`) - Prior: Stage 기반 고정값 + Neo4j 동적 Prior 혼합 (분위수 기반) - Posterior: Prior × Likelihood 조정 계수 (MCMC 없음) ### 모델 ``` Prior: 로그정규분포 (산업/단계별 평균, 또는 Neo4j 유사기업 분포) Likelihood: 유사 기업 투자금액 분포 (invstSumValText 파싱) Posterior: MCMC 샘플링 (PyMC3/Stan, 10,000 iterations) ``` ### 출력 ``` 평균: 7.3억원 중앙값: 6.8억원 90% 신뢰구간: [4.2억 ~ 12.5억] ``` --- ## Phase 3: 동적 프리미엄 (미구현) ### DB 구조 ```sql CREATE TABLE valuation_premia ( stage VARCHAR, industry VARCHAR, premium_mu FLOAT, premium_sigma FLOAT, updated_at TIMESTAMP ); ``` ### 학습 - 신규 투자 데이터 → 자동 재학습 - Beta(α,β) 분포로 업데이트 - 30일 주기 재계산 --- ## 구현 우선순위 1. **즉시**: Neo4j 유사 기업 (1주) 2. **단기**: MCMC 확률 분포 (2주) 3. **중기**: 동적 프리미엄 (1개월) --- ## 실현 가능성 검증 **테스트**: `rb8001/tests/test_bayesian_valuation_plan_feasibility.py` **결과**: - ✅ Phase 1: Neo4j 쿼리 구조 및 데이터 필드 호환성 확인 (환경변수 설정 필요) - ✅ Phase 2: scipy.stats 사용 가능, PyMC 라이브러리 설치 필요 (requirements.txt 추가) - ✅ Phase 3: PostgreSQL 스키마 구조 검증 완료, asyncpg 사용 가능 **결론**: 계획 실현 가능, PyMC 라이브러리 설치와 Neo4j 환경변수 설정만 추가 필요 --- ## 참고 ### 데이터 파일 - 한국 스타트업: `/mnt/51123data/DATA/startup/data/startup_data_20251016.json` (12,703개) - YC 기업: `/mnt/hdd/data/DATA/startup/yc_companies_all.json` (5,490개) - Neo4j 저장소: `/mnt/hdd/neo4j/data/` (532MB, 심볼릭 링크: `/var/lib/neo4j/data`) ### Neo4j 연결 - URI: `bolt://192.168.219.45:7687` (51123 서버) - 사용: `app/services/memory/neo4j_client.py` (Neo4jClient) ### 관련 문서 - 데이터 마이그레이션: `troubleshooting/251016_neo4j_startup_data_migration.md` - 양자 베이지안 모델 (이론): `research/bayesian_theory/251227_양자_베이지안_스타트업_가치평가_모델.md` - 가치분석 원칙: `book/300_architecture/314_스타트업_가치분석_원칙.md`