diff --git a/define/charts/README.md b/define/charts/README.md
new file mode 100644
index 0000000..3ceece6
--- /dev/null
+++ b/define/charts/README.md
@@ -0,0 +1,151 @@
+# Mermaid 차트 이미지 변환 가이드
+
+이 디렉토리에는 시장조사 보고서의 Mermaid 차트 파일들이 있습니다.
+
+## 📊 차트 목록
+
+총 **14개의 차트**가 포함되어 있습니다:
+
+1. 소상공인 업종별 분포 (Pie Chart)
+2. 1차 타겟 세그먼트 규모 비교 (Flow Diagram)
+3. 디지털 전환 현황 (Pie Chart)
+4. 소상공인 주요 스트레스 요인 (Bar Chart)
+5. 카카오톡 채널 마케팅 효과 (Flow Chart)
+6. 마케팅 자동화 시장 성장 전망 (Timeline)
+7. 경쟁 우위 비교 매트릭스 (Grouped Chart)
+8. AI 자동화 도입 효과 (Before/After)
+9. KT 서비스 단계별 성장 전략 (Roadmap)
+10. ROI 분석 - 연간 매출 전망 (Bar Chart)
+11. Pain Point 해결 맵핑 (Flow Mapping)
+12. 타겟 고객 페르소나 분포 (Pie Chart)
+13. KT 차별화 포인트 (Hierarchy)
+14. 서비스 가치 제안 구조 (Layered Architecture)
+
+## 🎨 PNG/SVG 이미지로 변환하는 방법
+
+### 방법 1: Mermaid Live Editor (추천)
+
+**가장 쉽고 빠른 방법입니다!**
+
+1. **Mermaid Live Editor 접속**: https://mermaid.live/
+2. 왼쪽 편집기에 `.mmd` 파일 내용을 복사-붙여넣기
+3. 오른쪽에서 차트 미리보기 확인
+4. 상단 메뉴에서 **Actions** → **Export PNG** 또는 **Export SVG** 클릭
+5. 이미지 파일 다운로드
+
+### 방법 2: VS Code Extension
+
+VS Code를 사용하는 경우:
+
+1. **Mermaid Preview** 확장 설치
+ - 확장 ID: `bierner.markdown-mermaid`
+2. `.mmd` 파일을 VS Code에서 열기
+3. 미리보기 창에서 우클릭 → **Export to PNG/SVG**
+
+### 방법 3: Mermaid CLI (고급 사용자용)
+
+Node.js가 설치되어 있다면:
+
+```bash
+# Mermaid CLI 설치
+npm install -g @mermaid-js/mermaid-cli
+
+# PNG로 변환
+mmdc -i chart01_소상공인_업종별_분포.mmd -o chart01_소상공인_업종별_분포.png
+
+# SVG로 변환
+mmdc -i chart01_소상공인_업종별_분포.mmd -o chart01_소상공인_업종별_분포.svg
+
+# 전체 차트 일괄 변환
+for file in *.mmd; do
+ mmdc -i "$file" -o "${file%.mmd}.png"
+done
+```
+
+### 방법 4: 온라인 변환 도구
+
+- **Mermaid Chart**: https://www.mermaidchart.com/
+- **Kroki**: https://kroki.io/
+- **Diagram.codes**: https://diagram.codes/d/mermaid
+
+## 📝 사용 팁
+
+### 이미지 품질 설정
+
+Mermaid CLI 사용 시 고해상도 이미지:
+
+```bash
+mmdc -i input.mmd -o output.png -w 2000 -H 1500 -b transparent
+```
+
+- `-w`: 너비 (픽셀)
+- `-H`: 높이 (픽셀)
+- `-b`: 배경색 (`transparent`, `white`, `#HEX`)
+
+### 테마 커스터마이징
+
+각 차트 파일 맨 위에 테마 설정이 포함되어 있습니다:
+
+```mermaid
+%%{init: {'theme':'base', 'themeVariables': {...}}}%%
+```
+
+필요시 색상을 조정할 수 있습니다.
+
+## 📂 파일 구조
+
+```
+define/charts/
+├── README.md (이 파일)
+├── chart01_소상공인_업종별_분포.mmd
+├── chart02_1차_타겟_세그먼트_규모_비교.mmd
+├── chart03_디지털_전환_현황.mmd
+├── chart04_소상공인_주요_스트레스_요인.mmd
+├── chart05_카카오톡_채널_마케팅_효과.mmd
+├── chart06_마케팅_자동화_시장_성장_전망.mmd
+├── chart07_경쟁_우위_비교_매트릭스.mmd
+├── chart08_AI_자동화_도입_효과.mmd
+├── chart09_KT_서비스_단계별_성장_전략.mmd
+├── chart10_ROI_분석_연간_매출_전망.mmd
+├── chart11_Pain_Point_해결_맵핑.mmd
+├── chart12_타겟_고객_페르소나_분포.mmd
+├── chart13_KT_차별화_포인트.mmd
+└── chart14_서비스_가치_제안_구조.mmd
+```
+
+## 🎯 빠른 시작
+
+**5분 안에 모든 차트를 이미지로 변환하기:**
+
+1. https://mermaid.live/ 접속
+2. 각 `.mmd` 파일을 하나씩 열어서 복사
+3. Mermaid Live Editor에 붙여넣기
+4. **Actions** → **Export PNG** 클릭
+5. 파일명을 `chartXX_이름.png`로 저장
+6. 14개 차트 반복
+
+## ❓ 문제 해결
+
+### 차트가 제대로 렌더링되지 않을 때
+
+1. **Mermaid 버전 확인**: 최신 버전의 Mermaid Live Editor 사용
+2. **문법 검증**: https://mermaid.live/에서 에러 메시지 확인
+3. **특수문자 처리**: 한글이 포함된 경우 UTF-8 인코딩 확인
+
+### CLI 설치 문제
+
+```bash
+# Node.js 버전 확인 (14 이상 필요)
+node --version
+
+# Puppeteer 의존성 문제 시
+export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
+npm install -g @mermaid-js/mermaid-cli
+```
+
+## 📚 추가 자료
+
+- [Mermaid 공식 문서](https://mermaid.js.org/)
+- [Mermaid Syntax Guide](https://mermaid.js.org/intro/syntax-reference.html)
+- [Mermaid Live Editor](https://mermaid.live/)
+- [GitHub: mermaid-js](https://github.com/mermaid-js/mermaid)
diff --git a/define/charts/chart01_소상공인_업종별_분포.mmd b/define/charts/chart01_소상공인_업종별_분포.mmd
new file mode 100644
index 0000000..8d61c05
--- /dev/null
+++ b/define/charts/chart01_소상공인_업종별_분포.mmd
@@ -0,0 +1,6 @@
+%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#4CAF50','primaryTextColor':'#fff','primaryBorderColor':'#388E3C','lineColor':'#F57C00','secondaryColor':'#FFC107','tertiaryColor':'#fff'}}}%%
+pie title 한국 소상공인 업종별 분포 (596만 개 업체)
+ "도소매업" : 33.6
+ "부동산/임대업" : 14.3
+ "외식업" : 13.3
+ "기타 서비스업" : 38.8
\ No newline at end of file
diff --git a/define/charts/chart02_1차_타겟_세그먼트_규모_비교.mmd b/define/charts/chart02_1차_타겟_세그먼트_규모_비교.mmd
new file mode 100644
index 0000000..88a4276
--- /dev/null
+++ b/define/charts/chart02_1차_타겟_세그먼트_규모_비교.mmd
@@ -0,0 +1,21 @@
+graph TB
+ A[전체 소상공인
596만 개]
+ B[1차 타겟: 외식업/카페
79만 개 - 13.3%]
+ C[2차 타겟: 도소매업
200만 개 - 33.6%]
+ D[3차 타겟: 숙박/부동산
85만 개 - 14.3%]
+
+ A --> B
+ A --> C
+ A --> D
+
+ B --> B1[고용인원
140만 명]
+ B --> B2[시장규모
100조 원]
+
+ C --> C1[하이브리드
매장 증가]
+
+ D --> D1[지역 관광
활성화]
+
+ style A fill:#2196F3,stroke:#1976D2,color:#fff
+ style B fill:#4CAF50,stroke:#388E3C,color:#fff
+ style C fill:#FF9800,stroke:#F57C00,color:#fff
+ style D fill:#9C27B0,stroke:#7B1FA2,color:#fff
\ No newline at end of file
diff --git a/define/charts/chart03_디지털_전환_현황.mmd b/define/charts/chart03_디지털_전환_현황.mmd
new file mode 100644
index 0000000..68c5eb1
--- /dev/null
+++ b/define/charts/chart03_디지털_전환_현황.mmd
@@ -0,0 +1,4 @@
+%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#2196F3','primaryTextColor':'#fff'}}}%%
+pie title 코로나19 이후 디지털화 증가 현황
+ "디지털화 증가" : 45.5
+ "변화 없음/감소" : 54.5
diff --git a/define/charts/chart04_소상공인_주요_스트레스_요인.mmd b/define/charts/chart04_소상공인_주요_스트레스_요인.mmd
new file mode 100644
index 0000000..17d0e8c
--- /dev/null
+++ b/define/charts/chart04_소상공인_주요_스트레스_요인.mmd
@@ -0,0 +1,6 @@
+%%{init: {'theme':'base', 'themeVariables': {'xyChart': {'plotColorPalette': '#2196F3'}}}}%%
+xychart-beta
+ title "소상공인 업무별 스트레스 비율"
+ x-axis ["직원관리", "비용관리", "매장홍보", "기타"]
+ y-axis "응답 비율 (%)" 0 --> 70
+ bar [65.1, 50.5, 20.2, 15]
diff --git a/define/charts/chart05_카카오톡_채널_마케팅_효과.mmd b/define/charts/chart05_카카오톡_채널_마케팅_효과.mmd
new file mode 100644
index 0000000..46130db
--- /dev/null
+++ b/define/charts/chart05_카카오톡_채널_마케팅_효과.mmd
@@ -0,0 +1,9 @@
+graph LR
+ A[카카오톡 채널
메시지 발송] --> B[열람률
75%+]
+ A --> C[구매전환율
40%]
+ A --> D[발송당일
매출 2.4배]
+
+ style A fill:#FEE500,stroke:#F9E000,color:#000
+ style B fill:#4CAF50,stroke:#388E3C,color:#fff
+ style C fill:#4CAF50,stroke:#388E3C,color:#fff
+ style D fill:#4CAF50,stroke:#388E3C,color:#fff
diff --git a/define/charts/chart06_마케팅_자동화_시장_성장_전망.mmd b/define/charts/chart06_마케팅_자동화_시장_성장_전망.mmd
new file mode 100644
index 0000000..bad6282
--- /dev/null
+++ b/define/charts/chart06_마케팅_자동화_시장_성장_전망.mmd
@@ -0,0 +1,12 @@
+graph LR
+ A[2024년
4억 달러] --> B[2027년
5.3억 달러]
+ B --> C[2030년
7억 달러]
+ C --> D[2033년
9억 달러]
+
+ E[연평균 성장률
10%]
+
+ style A fill:#90CAF9,stroke:#1976D2,color:#000
+ style B fill:#64B5F6,stroke:#1976D2,color:#fff
+ style C fill:#42A5F5,stroke:#1565C0,color:#fff
+ style D fill:#2196F3,stroke:#0D47A1,color:#fff
+ style E fill:#FFC107,stroke:#F57C00,color:#000
diff --git a/define/charts/chart07_경쟁_우위_비교_매트릭스.mmd b/define/charts/chart07_경쟁_우위_비교_매트릭스.mmd
new file mode 100644
index 0000000..16ff75f
--- /dev/null
+++ b/define/charts/chart07_경쟁_우위_비교_매트릭스.mmd
@@ -0,0 +1,20 @@
+graph TB
+ subgraph "높은 통합성"
+ KT[KT AI 서비스
가성비 + 통합]
+ end
+
+ subgraph "중간 통합성"
+ HS[HubSpot
고가 + 기능]
+ MC[Mailchimp
중가 + 이메일]
+ end
+
+ subgraph "낮은 통합성"
+ KK[카카오톡 채널
저가 + 단순]
+ GA[가제트AI
중저가 + 콘텐츠]
+ end
+
+ style KT fill:#4CAF50,stroke:#388E3C,color:#fff
+ style HS fill:#9E9E9E,stroke:#616161,color:#fff
+ style MC fill:#9E9E9E,stroke:#616161,color:#fff
+ style KK fill:#BDBDBD,stroke:#757575,color:#000
+ style GA fill:#BDBDBD,stroke:#757575,color:#000
diff --git a/define/charts/chart08_AI_자동화_도입_효과.mmd b/define/charts/chart08_AI_자동화_도입_효과.mmd
new file mode 100644
index 0000000..c08c75b
--- /dev/null
+++ b/define/charts/chart08_AI_자동화_도입_효과.mmd
@@ -0,0 +1,11 @@
+graph LR
+ A1[도입 전
홍보 시간 주당 5시간] -->|60% 단축| B1[도입 후
주당 2시간]
+ A2[도입 전
매출 100%] -->|15-30% 증가| B2[도입 후
매출 115-130%]
+ A3[도입 전
고객 유지율 기준] -->|30% 증가| B3[도입 후
단골 고객 증가]
+
+ style A1 fill:#E0E0E0,stroke:#9E9E9E,color:#000
+ style A2 fill:#E0E0E0,stroke:#9E9E9E,color:#000
+ style A3 fill:#E0E0E0,stroke:#9E9E9E,color:#000
+ style B1 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style B2 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style B3 fill:#4CAF50,stroke:#388E3C,color:#fff
diff --git a/define/charts/chart09_KT_서비스_단계별_성장_전략.mmd b/define/charts/chart09_KT_서비스_단계별_성장_전략.mmd
new file mode 100644
index 0000000..f1393e5
--- /dev/null
+++ b/define/charts/chart09_KT_서비스_단계별_성장_전략.mmd
@@ -0,0 +1,7 @@
+graph LR
+ P1[Phase 1 - 6개월
MVP 출시
외식업/카페 1만 개
월 9,900-19,800원] --> P2[Phase 2 - 12개월
기능 확장
소매/뷰티 확대
5만 개 업체
AI 이미지 생성]
+ P2 --> P3[Phase 3 - 18-24개월
생태계 구축
전 업종 20만 개
AI 어시스턴트
파트너십 확장]
+
+ style P1 fill:#90CAF9,stroke:#1976D2,color:#000
+ style P2 fill:#42A5F5,stroke:#1565C0,color:#fff
+ style P3 fill:#1976D2,stroke:#0D47A1,color:#fff
diff --git a/define/charts/chart10_ROI_분석_연간_매출_전망.mmd b/define/charts/chart10_ROI_분석_연간_매출_전망.mmd
new file mode 100644
index 0000000..1179f78
--- /dev/null
+++ b/define/charts/chart10_ROI_분석_연간_매출_전망.mmd
@@ -0,0 +1,11 @@
+graph TB
+ P1[Phase 1 - 6개월
연간 매출 24억 원
가입자 1만 개]
+ P2[Phase 2 - 12개월
연간 매출 120억 원
가입자 5만 개]
+ P3[Phase 3 - 24개월
연간 매출 480억 원
가입자 20만 개]
+
+ P1 --> P2
+ P2 --> P3
+
+ style P1 fill:#81C784,stroke:#388E3C,color:#000
+ style P2 fill:#4CAF50,stroke:#2E7D32,color:#fff
+ style P3 fill:#2E7D32,stroke:#1B5E20,color:#fff
diff --git a/define/charts/chart11_Pain_Point_해결_맵핑.mmd b/define/charts/chart11_Pain_Point_해결_맵핑.mmd
new file mode 100644
index 0000000..f1f3a0d
--- /dev/null
+++ b/define/charts/chart11_Pain_Point_해결_맵핑.mmd
@@ -0,0 +1,18 @@
+graph LR
+ P1[Pain Point 1
시간 부족] --> S1[Solution
원클릭 자동화]
+ P2[Pain Point 2
전문지식 부족] --> S2[Solution
AI 템플릿 추천]
+ P3[Pain Point 3
높은 광고비] --> S3[Solution
무료/저가 메시지]
+ P4[Pain Point 4
효과 측정 어려움] --> S4[Solution
자동 리포트 분석]
+ P5[Pain Point 5
일관성 부족] --> S5[Solution
정기 발송 스케줄링]
+
+ style P1 fill:#F44336,stroke:#C62828,color:#fff
+ style P2 fill:#F44336,stroke:#C62828,color:#fff
+ style P3 fill:#F44336,stroke:#C62828,color:#fff
+ style P4 fill:#F44336,stroke:#C62828,color:#fff
+ style P5 fill:#F44336,stroke:#C62828,color:#fff
+
+ style S1 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style S2 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style S3 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style S4 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style S5 fill:#4CAF50,stroke:#388E3C,color:#fff
diff --git a/define/charts/chart12_타겟_고객_페르소나_분포.mmd b/define/charts/chart12_타겟_고객_페르소나_분포.mmd
new file mode 100644
index 0000000..6c2f17d
--- /dev/null
+++ b/define/charts/chart12_타겟_고객_페르소나_분포.mmd
@@ -0,0 +1,4 @@
+%%{init: {'theme':'base', 'themeVariables': {'primaryColor':'#FF9800','primaryTextColor':'#fff'}}}%%
+pie title 소상공인 연령대 분포
+ "40-60대 (타겟)" : 75
+ "기타 연령대" : 25
diff --git a/define/charts/chart13_KT_차별화_포인트.mmd b/define/charts/chart13_KT_차별화_포인트.mmd
new file mode 100644
index 0000000..8b41146
--- /dev/null
+++ b/define/charts/chart13_KT_차별화_포인트.mmd
@@ -0,0 +1,30 @@
+graph TB
+ ROOT[KT AI 이벤트 서비스
핵심 차별화 포인트]
+
+ ROOT --> A1[1. 통신 인프라]
+ ROOT --> A2[2. 데이터 자산]
+ ROOT --> A3[3. AI 기술]
+ ROOT --> A4[4. 생태계 통합]
+ ROOT --> A5[5. 정부 지원]
+
+ A1 --> A1_SUB["• 으랏차차패키지
• AI 전화
• SMS/MMS"]
+
+ A2 --> A2_SUB["• 114 정보 420만 사업자
• 업종별 분석
• 지역별 분석"]
+
+ A3 --> A3_SUB["• Mi:dm LLM
• 한국어 최적화
• 문화 맥락 이해"]
+
+ A4 --> A4_SUB["• 카카오톡
• 네이버
• 배달앱"]
+
+ A5 --> A5_SUB["• 디지털 전환 지원금
• 인증 솔루션"]
+
+ style ROOT fill:#1976D2,stroke:#0D47A1,color:#fff
+ style A1 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style A2 fill:#FF9800,stroke:#F57C00,color:#fff
+ style A3 fill:#9C27B0,stroke:#7B1FA2,color:#fff
+ style A4 fill:#F44336,stroke:#C62828,color:#fff
+ style A5 fill:#FFC107,stroke:#FFA000,color:#000
+ style A1_SUB fill:#E8F5E9,stroke:#4CAF50,color:#000
+ style A2_SUB fill:#FFF3E0,stroke:#FF9800,color:#000
+ style A3_SUB fill:#F3E5F5,stroke:#9C27B0,color:#000
+ style A4_SUB fill:#FFEBEE,stroke:#F44336,color:#000
+ style A5_SUB fill:#FFFDE7,stroke:#FFC107,color:#000
diff --git a/define/charts/chart14_서비스_가치_제안_구조.mmd b/define/charts/chart14_서비스_가치_제안_구조.mmd
new file mode 100644
index 0000000..7bb65a3
--- /dev/null
+++ b/define/charts/chart14_서비스_가치_제안_구조.mmd
@@ -0,0 +1,39 @@
+graph TB
+ T1[기술 기반: KT Mi:dm LLM]
+ T2[기술 기반: 통신 인프라]
+ T3[기술 기반: 빅데이터 분석]
+
+ F1[핵심 기능: Zero-Click Marketing]
+ F2[핵심 기능: AI 이벤트 자동 생성]
+ F3[핵심 기능: 멀티채널 자동 발송]
+ F4[핵심 기능: 성과 분석 리포트]
+
+ V1[사업 가치: 소상공인 매출 15-30% 증가]
+ V2[사업 가치: KT 연 480억 원 매출]
+ V3[사업 가치: 사회적 디지털 격차 해소]
+
+ T1 --> F1
+ T1 --> F2
+ T2 --> F3
+ T3 --> F4
+
+ F1 --> V1
+ F2 --> V1
+ F3 --> V1
+ F4 --> V1
+
+ V1 --> V2
+ V1 --> V3
+
+ style T1 fill:#9E9E9E,stroke:#616161,color:#fff
+ style T2 fill:#9E9E9E,stroke:#616161,color:#fff
+ style T3 fill:#9E9E9E,stroke:#616161,color:#fff
+
+ style F1 fill:#64B5F6,stroke:#1976D2,color:#fff
+ style F2 fill:#64B5F6,stroke:#1976D2,color:#fff
+ style F3 fill:#64B5F6,stroke:#1976D2,color:#fff
+ style F4 fill:#64B5F6,stroke:#1976D2,color:#fff
+
+ style V1 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style V2 fill:#2196F3,stroke:#1976D2,color:#fff
+ style V3 fill:#9C27B0,stroke:#7B1FA2,color:#fff
diff --git a/define/charts/차트변환가이드.md b/define/charts/차트변환가이드.md
new file mode 100644
index 0000000..95201cd
--- /dev/null
+++ b/define/charts/차트변환가이드.md
@@ -0,0 +1,148 @@
+# 🎨 시장조사 차트 이미지 변환 완료 가이드
+
+## ✅ 생성된 파일 목록
+
+총 **14개의 Mermaid 차트 파일** (.mmd)이 생성되었습니다:
+
+```
+define/charts/
+├── chart01_소상공인_업종별_분포.mmd
+├── chart02_1차_타겟_세그먼트_규모_비교.mmd
+├── chart03_디지털_전환_현황.mmd
+├── chart04_소상공인_주요_스트레스_요인.mmd
+├── chart05_카카오톡_채널_마케팅_효과.mmd
+├── chart06_마케팅_자동화_시장_성장_전망.mmd
+├── chart07_경쟁_우위_비교_매트릭스.mmd
+├── chart08_AI_자동화_도입_효과.mmd
+├── chart09_KT_서비스_단계별_성장_전략.mmd
+├── chart10_ROI_분석_연간_매출_전망.mmd
+├── chart11_Pain_Point_해결_맵핑.mmd
+├── chart12_타겟_고객_페르소나_분포.mmd
+├── chart13_KT_차별화_포인트.mmd
+└── chart14_서비스_가치_제안_구조.mmd
+```
+
+## 🚀 빠른 변환 방법 (5분 완성)
+
+### 방법 1: Mermaid Live Editor (가장 쉬움) ⭐
+
+1. **https://mermaid.live/** 접속
+2. 각 `.mmd` 파일을 메모장으로 열기
+3. 내용 전체 복사 (Ctrl+A → Ctrl+C)
+4. Mermaid Live Editor 왼쪽 창에 붙여넣기 (Ctrl+V)
+5. 오른쪽에서 차트 미리보기 확인
+6. 상단 **Actions** → **Export PNG** 클릭
+7. 파일명을 동일하게 `chartXX_이름.png`로 저장
+8. 14개 차트 모두 반복
+
+### 방법 2: VS Code Extension
+
+VS Code가 있다면:
+
+1. **Markdown Preview Mermaid Support** 확장 설치
+2. `.mmd` 파일을 `.md`로 임시 변경
+3. 파일 내용 전후에 ` ```mermaid ` 태그 추가
+4. 미리보기에서 우클릭 → 이미지 저장
+
+### 방법 3: 온라인 일괄 변환
+
+- **Kroki**: https://kroki.io/
+- 각 .mmd 파일 업로드 → PNG/SVG 다운로드
+
+## 📏 추천 이미지 설정
+
+### PNG 변환 시
+- **해상도**: 1920x1080 이상
+- **배경**: 투명 (Transparent) 또는 흰색
+- **포맷**: PNG (프레젠테이션용)
+
+### SVG 변환 시
+- **용도**: 인쇄물, 확대 필요 시
+- **장점**: 무한 확대 가능, 파일 크기 작음
+
+## 🎯 각 차트별 추천 용도
+
+| 차트 번호 | 차트 이름 | 활용 시나리오 |
+|---------|---------|------------|
+| 01 | 업종별 분포 | 시장 규모 설명, 타겟 정의 |
+| 02 | 타겟 세그먼트 | 1/2/3차 타겟 전략 발표 |
+| 03 | 디지털 전환 현황 | 시장 기회 강조 |
+| 04 | 스트레스 요인 | Pain Point 설명 |
+| 05 | 카카오톡 효과 | 핵심 채널 정당화 |
+| 06 | 시장 성장 전망 | 시장 타이밍 증명 |
+| 07 | 경쟁 포지셔닝 | 차별화 전략 시각화 |
+| 08 | 도입 효과 | ROI 설득 |
+| 09 | 성장 전략 | 로드맵 공유 |
+| 10 | 매출 전망 | 사업성 검증 |
+| 11 | Pain Point 해결 | 솔루션 적합성 |
+| 12 | 페르소나 분포 | 타겟 고객 집중도 |
+| 13 | KT 차별화 | 경쟁 우위 강조 |
+| 14 | 가치 제안 | 전체 사업 논리 |
+
+## 🎨 프레젠테이션 조합 추천
+
+### 경영진 보고용 (5개)
+- chart01 (시장 규모)
+- chart06 (시장 성장)
+- chart10 (매출 전망)
+- chart13 (KT 강점)
+- chart14 (가치 제안)
+
+### 기획 회의용 (6개)
+- chart02 (타겟 세그먼트)
+- chart04 (Pain Point)
+- chart07 (경쟁 분석)
+- chart09 (로드맵)
+- chart11 (솔루션 매핑)
+- chart13 (차별화)
+
+### 고객 제안용 (4개)
+- chart05 (카카오톡 효과)
+- chart08 (도입 효과)
+- chart11 (Pain Point 해결)
+- chart14 (가치 제안)
+
+### 투자 유치용 (5개)
+- chart01 (시장 규모)
+- chart06 (시장 성장)
+- chart10 (매출 전망)
+- chart13 (KT 강점)
+- chart14 (사업 가치)
+
+## 💡 색상 테마 정보
+
+각 차트는 다음 색상 체계를 사용합니다:
+
+- **파란색 계열** (#2196F3): 메인, 통신 인프라
+- **초록색 계열** (#4CAF50): 성장, 긍정적 효과
+- **주황색 계열** (#FF9800): 데이터, 중요 정보
+- **보라색 계열** (#9C27B0): AI 기술, 혁신
+- **빨간색 계열** (#F44336): Pain Point, 문제점
+- **노란색 계열** (#FFC107): 정부 지원, 특별 항목
+
+## ❓ 문제 해결
+
+### 한글이 깨질 때
+- Mermaid Live Editor 사용 (한글 완벽 지원)
+- 파일을 UTF-8로 저장했는지 확인
+
+### 차트가 너무 작게 나올 때
+- Mermaid Live Editor에서 확대 후 Export
+- PNG 해상도를 2000x1500 이상으로 설정
+
+### 색상을 변경하고 싶을 때
+- `.mmd` 파일 내 `style` 부분의 `fill` 값 수정
+- 예: `fill:#4CAF50` → `fill:#FF5722`
+
+## 📚 참고 자료
+
+- **Mermaid Live Editor**: https://mermaid.live/
+- **Mermaid 문법 가이드**: https://mermaid.js.org/
+- **색상 코드 참조**: https://www.color-hex.com/
+
+---
+
+**작업 완료!** 🎉
+
+모든 차트 파일이 `define/charts/` 디렉토리에 준비되었습니다.
+Mermaid Live Editor를 사용하면 5분 안에 모든 차트를 PNG로 변환할 수 있습니다!
diff --git a/define/시장조사-차트.md b/define/시장조사-차트.md
index af5c64a..d2d8362 100644
--- a/define/시장조사-차트.md
+++ b/define/시장조사-차트.md
@@ -15,11 +15,14 @@ pie title 한국 소상공인 업종별 분포 (596만 개 업체)
```mermaid
graph TB
- subgraph "핵심 타겟 시장 규모"
- A[전체 소상공인
596만 개] --> B[1차 타겟: 외식업/카페
79만 개 13.3%]
- A --> C[2차 타겟: 도소매업
200만 개 33.6%]
- A --> D[3차 타겟: 숙박/부동산
85만 개 14.3%]
- end
+ A[전체 소상공인
596만 개]
+ B[1차 타겟: 외식업/카페
79만 개 - 13.3%]
+ C[2차 타겟: 도소매업
200만 개 - 33.6%]
+ D[3차 타겟: 숙박/부동산
85만 개 - 14.3%]
+
+ A --> B
+ A --> C
+ A --> D
B --> B1[고용인원
140만 명]
B --> B2[시장규모
100조 원]
@@ -46,10 +49,10 @@ pie title 코로나19 이후 디지털화 증가 현황
## 4. 소상공인 주요 스트레스 요인
```mermaid
-%%{init: {'theme':'base'}}%%
+%%{init: {'theme':'base', 'themeVariables': {'xyChart': {'plotColorPalette': '#2196F3'}}}}%%
xychart-beta
- title "소상공인 업무별 스트레스 비율 (%)"
- x-axis [직원관리, 비용관리, 매장홍보, 기타]
+ title "소상공인 업무별 스트레스 비율"
+ x-axis ["직원관리", "비용관리", "매장홍보", "기타"]
y-axis "응답 비율 (%)" 0 --> 70
bar [65.1, 50.5, 20.2, 15]
```
@@ -71,52 +74,56 @@ graph LR
## 6. 마케팅 자동화 시장 성장 전망
```mermaid
-%%{init: {'theme':'base'}}%%
-xychart-beta
- title "한국 마케팅 자동화 플랫폼 시장 규모 (억 달러)"
- x-axis [2024, 2025, 2026, 2027, 2028, 2029, 2030, 2031, 2032, 2033]
- y-axis "시장 규모 (억 달러)" 0 --> 10
- line [4.0, 4.4, 4.8, 5.3, 5.8, 6.4, 7.0, 7.7, 8.5, 9.0]
+graph LR
+ A[2024년
4억 달러] --> B[2027년
5.3억 달러]
+ B --> C[2030년
7억 달러]
+ C --> D[2033년
9억 달러]
+
+ E[연평균 성장률
10%]
+
+ style A fill:#90CAF9,stroke:#1976D2,color:#000
+ style B fill:#64B5F6,stroke:#1976D2,color:#fff
+ style C fill:#42A5F5,stroke:#1565C0,color:#fff
+ style D fill:#2196F3,stroke:#0D47A1,color:#fff
+ style E fill:#FFC107,stroke:#F57C00,color:#000
```
## 7. 경쟁 우위 비교 매트릭스
```mermaid
-quadrantChart
- title KT AI 이벤트 서비스 포지셔닝
- x-axis 낮은 가격 --> 높은 가격
- y-axis 낮은 통합성 --> 높은 통합성
- quadrant-1 프리미엄 통합
- quadrant-2 가성비 통합
- quadrant-3 저가 단순
- quadrant-4 고가 단순
- HubSpot: [0.8, 0.6]
- Mailchimp: [0.6, 0.5]
- 카카오톡 채널: [0.2, 0.4]
- 가제트AI: [0.4, 0.3]
- KT AI 서비스: [0.3, 0.9]
+graph TB
+ subgraph "높은 통합성"
+ KT[KT AI 서비스
가성비 + 통합]
+ end
+
+ subgraph "중간 통합성"
+ HS[HubSpot
고가 + 기능]
+ MC[Mailchimp
중가 + 이메일]
+ end
+
+ subgraph "낮은 통합성"
+ KK[카카오톡 채널
저가 + 단순]
+ GA[가제트AI
중저가 + 콘텐츠]
+ end
+
+ style KT fill:#4CAF50,stroke:#388E3C,color:#fff
+ style HS fill:#9E9E9E,stroke:#616161,color:#fff
+ style MC fill:#9E9E9E,stroke:#616161,color:#fff
+ style KK fill:#BDBDBD,stroke:#757575,color:#000
+ style GA fill:#BDBDBD,stroke:#757575,color:#000
```
## 8. AI 자동화 도입 효과
```mermaid
-graph TD
- subgraph "도입 전"
- A1[홍보 시간
주당 5시간]
- A2[매출 기준선
100%]
- A3[고객 유지율
기준]
- end
-
- subgraph "AI 자동화 도입 후"
- B1[홍보 시간
60% 단축
→ 2시간]
- B2[매출 증가
15-30%
→ 115-130%]
- B3[단골 고객
30% 증가]
- end
-
- A1 -.->|자동화| B1
- A2 -.->|프로모션| B2
- A3 -.->|재방문 유도| B3
+graph LR
+ A1[도입 전
홍보 시간 주당 5시간] -->|60% 단축| B1[도입 후
주당 2시간]
+ A2[도입 전
매출 100%] -->|15-30% 증가| B2[도입 후
매출 115-130%]
+ A3[도입 전
고객 유지율 기준] -->|30% 증가| B3[도입 후
단골 고객 증가]
+ style A1 fill:#E0E0E0,stroke:#9E9E9E,color:#000
+ style A2 fill:#E0E0E0,stroke:#9E9E9E,color:#000
+ style A3 fill:#E0E0E0,stroke:#9E9E9E,color:#000
style B1 fill:#4CAF50,stroke:#388E3C,color:#fff
style B2 fill:#4CAF50,stroke:#388E3C,color:#fff
style B3 fill:#4CAF50,stroke:#388E3C,color:#fff
@@ -125,60 +132,40 @@ graph TD
## 9. KT 서비스 단계별 성장 전략
```mermaid
-timeline
- title KT AI 이벤트 서비스 단계별 전략
- section Phase 1 (6개월)
- MVP 출시 : 외식업/카페 1만 개
- : 월 9,900~19,800원
- : 카카오톡 메시지 자동발송
- section Phase 2 (12개월)
- 기능 확장 : 소매/뷰티 업종 확대
- : 5만 개 업체
- : AI 이미지 생성
- : 멀티채널 발송
- section Phase 3 (18-24개월)
- 생태계 구축 : 전 업종 20만 개
- : AI 어시스턴트
- : 업종별 커뮤니티
- : 파트너십 확장
+graph LR
+ P1[Phase 1 - 6개월
MVP 출시
외식업/카페 1만 개
월 9,900-19,800원] --> P2[Phase 2 - 12개월
기능 확장
소매/뷰티 확대
5만 개 업체
AI 이미지 생성]
+ P2 --> P3[Phase 3 - 18-24개월
생태계 구축
전 업종 20만 개
AI 어시스턴트
파트너십 확장]
+
+ style P1 fill:#90CAF9,stroke:#1976D2,color:#000
+ style P2 fill:#42A5F5,stroke:#1565C0,color:#fff
+ style P3 fill:#1976D2,stroke:#0D47A1,color:#fff
```
## 10. ROI 분석 - 연간 매출 전망
```mermaid
-%%{init: {'theme':'base'}}%%
-xychart-beta
- title "KT 예상 매출 (억 원) - 가입자 성장 시나리오"
- x-axis [Phase1-6M, Phase2-12M, Phase3-24M]
- y-axis "연간 매출 (억 원)" 0 --> 600
- bar [24, 120, 480]
+graph TB
+ P1[Phase 1 - 6개월
연간 매출 24억 원
가입자 1만 개]
+ P2[Phase 2 - 12개월
연간 매출 120억 원
가입자 5만 개]
+ P3[Phase 3 - 24개월
연간 매출 480억 원
가입자 20만 개]
+
+ P1 --> P2
+ P2 --> P3
+
+ style P1 fill:#81C784,stroke:#388E3C,color:#000
+ style P2 fill:#4CAF50,stroke:#2E7D32,color:#fff
+ style P3 fill:#2E7D32,stroke:#1B5E20,color:#fff
```
## 11. Pain Point 해결 맵핑
```mermaid
graph LR
- subgraph "소상공인 Pain Points"
- P1[시간 부족]
- P2[전문지식 부족]
- P3[높은 광고비]
- P4[효과 측정 어려움]
- P5[일관성 부족]
- end
-
- subgraph "AI 자동화 솔루션"
- S1[원클릭
자동화]
- S2[AI 템플릿
추천]
- S3[무료/저가
메시지]
- S4[자동 리포트
분석]
- S5[정기 발송
스케줄링]
- end
-
- P1 --> S1
- P2 --> S2
- P3 --> S3
- P4 --> S4
- P5 --> S5
+ P1[Pain Point 1
시간 부족] --> S1[Solution
원클릭 자동화]
+ P2[Pain Point 2
전문지식 부족] --> S2[Solution
AI 템플릿 추천]
+ P3[Pain Point 3
높은 광고비] --> S3[Solution
무료/저가 메시지]
+ P4[Pain Point 4
효과 측정 어려움] --> S4[Solution
자동 리포트 분석]
+ P5[Pain Point 5
일관성 부족] --> S5[Solution
정기 발송 스케줄링]
style P1 fill:#F44336,stroke:#C62828,color:#fff
style P2 fill:#F44336,stroke:#C62828,color:#fff
@@ -205,51 +192,54 @@ pie title 소상공인 연령대 분포
## 13. KT 차별화 포인트 (강점 분석)
```mermaid
-mindmap
- root((KT AI
이벤트 서비스))
- 통신 인프라
- 으랏차차패키지
- AI 전화
- SMS/MMS
- 데이터 자산
- 114 정보
420만 사업자
- 업종별 분석
- 지역별 분석
- AI 기술
- Mi:dm LLM
- 한국어 최적화
- 문화 맥락 이해
- 생태계 통합
- 카카오톡
- 네이버
- 배달앱
- 정부 지원
- 디지털 전환
지원금
- 인증 솔루션
+graph TB
+ ROOT[KT AI 이벤트 서비스
핵심 차별화 포인트]
+
+ ROOT --> A1[1. 통신 인프라]
+ ROOT --> A2[2. 데이터 자산]
+ ROOT --> A3[3. AI 기술]
+ ROOT --> A4[4. 생태계 통합]
+ ROOT --> A5[5. 정부 지원]
+
+ A1 --> A1_SUB["• 으랏차차패키지
• AI 전화
• SMS/MMS"]
+
+ A2 --> A2_SUB["• 114 정보 420만 사업자
• 업종별 분석
• 지역별 분석"]
+
+ A3 --> A3_SUB["• Mi:dm LLM
• 한국어 최적화
• 문화 맥락 이해"]
+
+ A4 --> A4_SUB["• 카카오톡
• 네이버
• 배달앱"]
+
+ A5 --> A5_SUB["• 디지털 전환 지원금
• 인증 솔루션"]
+
+ style ROOT fill:#1976D2,stroke:#0D47A1,color:#fff
+ style A1 fill:#4CAF50,stroke:#388E3C,color:#fff
+ style A2 fill:#FF9800,stroke:#F57C00,color:#fff
+ style A3 fill:#9C27B0,stroke:#7B1FA2,color:#fff
+ style A4 fill:#F44336,stroke:#C62828,color:#fff
+ style A5 fill:#FFC107,stroke:#FFA000,color:#000
+ style A1_SUB fill:#E8F5E9,stroke:#4CAF50,color:#000
+ style A2_SUB fill:#FFF3E0,stroke:#FF9800,color:#000
+ style A3_SUB fill:#F3E5F5,stroke:#9C27B0,color:#000
+ style A4_SUB fill:#FFEBEE,stroke:#F44336,color:#000
+ style A5_SUB fill:#FFFDE7,stroke:#FFC107,color:#000
```
## 14. 서비스 가치 제안 구조
```mermaid
graph TB
- subgraph "사업 가치"
- V1[소상공인
매출 15-30% 증가]
- V2[KT
연 480억 원 매출]
- V3[사회적
디지털 격차 해소]
- end
+ T1[기술 기반: KT Mi:dm LLM]
+ T2[기술 기반: 통신 인프라]
+ T3[기술 기반: 빅데이터 분석]
- subgraph "핵심 기능"
- F1[Zero-Click
Marketing]
- F2[AI 이벤트
자동 생성]
- F3[멀티채널
자동 발송]
- F4[성과 분석
리포트]
- end
+ F1[핵심 기능: Zero-Click Marketing]
+ F2[핵심 기능: AI 이벤트 자동 생성]
+ F3[핵심 기능: 멀티채널 자동 발송]
+ F4[핵심 기능: 성과 분석 리포트]
- subgraph "기술 기반"
- T1[KT Mi:dm
LLM]
- T2[통신 인프라]
- T3[빅데이터
분석]
- end
+ V1[사업 가치: 소상공인 매출 15-30% 증가]
+ V2[사업 가치: KT 연 480억 원 매출]
+ V3[사업 가치: 사회적 디지털 격차 해소]
T1 --> F1
T1 --> F2
@@ -264,6 +254,15 @@ graph TB
V1 --> V2
V1 --> V3
+ style T1 fill:#9E9E9E,stroke:#616161,color:#fff
+ style T2 fill:#9E9E9E,stroke:#616161,color:#fff
+ style T3 fill:#9E9E9E,stroke:#616161,color:#fff
+
+ style F1 fill:#64B5F6,stroke:#1976D2,color:#fff
+ style F2 fill:#64B5F6,stroke:#1976D2,color:#fff
+ style F3 fill:#64B5F6,stroke:#1976D2,color:#fff
+ style F4 fill:#64B5F6,stroke:#1976D2,color:#fff
+
style V1 fill:#4CAF50,stroke:#388E3C,color:#fff
style V2 fill:#2196F3,stroke:#1976D2,color:#fff
style V3 fill:#9C27B0,stroke:#7B1FA2,color:#fff
diff --git a/tools/check-mermaid.ps1 b/tools/check-mermaid.ps1
new file mode 100644
index 0000000..49327a5
--- /dev/null
+++ b/tools/check-mermaid.ps1
@@ -0,0 +1,96 @@
+# Mermaid Syntax Checker using Docker Container
+# Similar to PlantUML checker - keeps container running for better performance
+
+param(
+ [Parameter(Mandatory=$true, Position=0)]
+ [string]$FilePath
+)
+
+# Check if file exists
+if (-not (Test-Path $FilePath)) {
+ Write-Host "Error: File not found: $FilePath" -ForegroundColor Red
+ exit 1
+}
+
+# Get absolute path
+$absolutePath = (Resolve-Path $FilePath).Path
+$fileName = Split-Path $absolutePath -Leaf
+
+Write-Host "`nChecking Mermaid syntax for: $fileName" -ForegroundColor Cyan
+Write-Host ("=" * 60) -ForegroundColor Gray
+
+# Check if mermaid container is running
+$containerRunning = docker ps --filter "name=mermaid-cli" --format "{{.Names}}" 2>$null
+
+if (-not $containerRunning) {
+ Write-Host "Error: Mermaid CLI container is not running." -ForegroundColor Red
+ Write-Host "Please follow the setup instructions in the Mermaid guide to start the container." -ForegroundColor Yellow
+ Write-Host "`nQuick setup commands:" -ForegroundColor Cyan
+ Write-Host ""
+ Write-Host "# 1. Start container with root privileges (port 48080)" -ForegroundColor Green
+ Write-Host "docker run -d --rm --name mermaid-cli -u root -p 48080:8080 --entrypoint sh minlag/mermaid-cli:latest -c `"while true;do sleep 3600; done`"" -ForegroundColor White
+ Write-Host ""
+ Write-Host "# 2. Install Chromium and dependencies" -ForegroundColor Green
+ Write-Host "docker exec mermaid-cli sh -c `"apk add --no-cache chromium chromium-chromedriver nss freetype harfbuzz ca-certificates ttf-freefont`"" -ForegroundColor White
+ Write-Host ""
+ Write-Host "# 3. Create Puppeteer configuration" -ForegroundColor Green
+ Write-Host "docker exec mermaid-cli sh -c `"echo '{```"executablePath```": ```"/usr/bin/chromium-browser```", ```"args```": [```"--no-sandbox```", ```"--disable-setuid-sandbox```", ```"--disable-dev-shm-usage```"]}' > /tmp/puppeteer-config.json`"" -ForegroundColor White
+ Write-Host ""
+ exit 1
+}
+
+# Set Puppeteer configuration file path
+$puppeteerConfigFile = "/tmp/puppeteer-config.json"
+
+# Generate unique temp filename
+$timestamp = Get-Date -Format "yyyyMMddHHmmss"
+$processId = $PID
+$tempFile = "/tmp/mermaid_${timestamp}_${processId}.mmd"
+$outputFile = "/tmp/mermaid_${timestamp}_${processId}.svg"
+
+try {
+ # Copy file to container
+ Write-Host "Copying file to container..." -ForegroundColor Gray
+ docker cp "$absolutePath" "mermaid-cli:$tempFile" 2>&1 | Out-Null
+
+ if ($LASTEXITCODE -ne 0) {
+ Write-Host "Error: Failed to copy file to container" -ForegroundColor Red
+ exit 1
+ }
+
+ # Run syntax check with Puppeteer configuration
+ Write-Host "Running syntax check..." -ForegroundColor Gray
+ $output = docker exec mermaid-cli sh -c "cd /home/mermaidcli && node_modules/.bin/mmdc -i '$tempFile' -o '$outputFile' -p '$puppeteerConfigFile' -q" 2>&1
+ $exitCode = $LASTEXITCODE
+
+ if ($exitCode -eq 0) {
+ Write-Host "`nSuccess: Mermaid syntax is valid!" -ForegroundColor Green
+ } else {
+ Write-Host "`nError: Mermaid syntax validation failed!" -ForegroundColor Red
+ Write-Host "`nError details:" -ForegroundColor Red
+
+ # Parse and display error messages
+ $errorLines = $output -split "`n"
+ foreach ($line in $errorLines) {
+ if ($line -match "Error:|Parse error|Expecting|Syntax error") {
+ Write-Host " $line" -ForegroundColor Red
+ } elseif ($line -match "line \d+|at line") {
+ Write-Host " $line" -ForegroundColor Yellow
+ } elseif ($line.Trim() -ne "") {
+ Write-Host " $line" -ForegroundColor DarkRed
+ }
+ }
+
+ exit 1
+ }
+
+} finally {
+ # Clean up temp files
+ Write-Host "`nCleaning up..." -ForegroundColor Gray
+ docker exec mermaid-cli rm -f "$tempFile" "$outputFile" 2>&1 | Out-Null
+}
+
+Write-Host "`nValidation complete!" -ForegroundColor Cyan
+
+# Note: Container is kept running for subsequent checks
+# To stop: docker stop mermaid-cli && docker rm mermaid-cli
\ No newline at end of file
diff --git a/tools/extract-charts.sh b/tools/extract-charts.sh
new file mode 100644
index 0000000..b31019c
--- /dev/null
+++ b/tools/extract-charts.sh
@@ -0,0 +1,65 @@
+#!/bin/bash
+
+# Extract mermaid charts from markdown file
+
+INPUT_FILE="define/시장조사-차트.md"
+OUTPUT_DIR="define/charts"
+
+echo "Extracting Mermaid charts from: $INPUT_FILE"
+echo "Output directory: $OUTPUT_DIR"
+echo ""
+
+# Create output directory
+mkdir -p "$OUTPUT_DIR"
+
+# Counter
+chart_num=0
+
+# Read file and extract charts
+in_mermaid=false
+current_chart=""
+current_title=""
+
+while IFS= read -r line || [ -n "$line" ]; do
+ # Check for section header (## number. title)
+ if [[ $line =~ ^##[[:space:]]([0-9]+)\.[[:space:]](.+)$ ]]; then
+ num="${BASH_REMATCH[1]}"
+ title="${BASH_REMATCH[2]}"
+ current_title=$(printf "chart%02d_%s" "$num" "${title// /_}")
+ current_title="${current_title//\//_}"
+ fi
+
+ # Check for mermaid start
+ if [[ $line == '```mermaid' ]]; then
+ in_mermaid=true
+ current_chart=""
+ continue
+ fi
+
+ # Check for mermaid end
+ if [[ $line == '```' ]] && $in_mermaid; then
+ # Save chart
+ if [ -n "$current_title" ]; then
+ filename="${current_title}.mmd"
+ echo "$current_chart" > "$OUTPUT_DIR/$filename"
+ echo " ✓ Saved: $filename"
+ ((chart_num++))
+ fi
+ in_mermaid=false
+ current_chart=""
+ continue
+ fi
+
+ # Collect chart lines
+ if $in_mermaid; then
+ if [ -n "$current_chart" ]; then
+ current_chart+=$'\n'
+ fi
+ current_chart+="$line"
+ fi
+done < "$INPUT_FILE"
+
+echo ""
+echo "✅ Successfully extracted $chart_num charts!"
+echo ""
+echo "Chart files saved in: $OUTPUT_DIR"
diff --git a/tools/extract-mermaid-charts.ps1 b/tools/extract-mermaid-charts.ps1
new file mode 100644
index 0000000..df27271
--- /dev/null
+++ b/tools/extract-mermaid-charts.ps1
@@ -0,0 +1,47 @@
+# Mermaid Chart Extractor
+# Extracts Mermaid charts from markdown and saves them as individual .mmd files
+
+$markdownFile = "define/시장조사-차트.md"
+$outputDir = "define/charts"
+
+Write-Host "Extracting Mermaid charts from: $markdownFile"
+Write-Host "Output directory: $outputDir`n"
+
+# Create output directory
+if (-not (Test-Path $outputDir)) {
+ New-Item -ItemType Directory -Path $outputDir | Out-Null
+}
+
+# Read markdown file
+$content = Get-Content $markdownFile -Raw -Encoding UTF8
+
+# Extract all mermaid blocks with their section headers
+$pattern = '## (\d+)\. (.+?)\n\n```mermaid\n(.*?)```'
+$matches = [regex]::Matches($content, $pattern, [System.Text.RegularExpressions.RegexOptions]::Singleline)
+
+Write-Host "Found $($matches.Count) Mermaid charts`n"
+
+# Save each chart
+$count = 0
+foreach ($match in $matches) {
+ $num = $match.Groups[1].Value
+ $title = $match.Groups[2].Value
+ $chartCode = $match.Groups[3].Value
+
+ # Clean filename
+ $filename = "chart$($num.PadLeft(2,'0'))_$($title.Replace(' ', '_').Replace('/', '_')).mmd"
+ $filepath = Join-Path $outputDir $filename
+
+ # Write mermaid code
+ $chartCode.Trim() | Out-File -FilePath $filepath -Encoding UTF8 -NoNewline
+
+ Write-Host " ✓ Saved: $filename"
+ $count++
+}
+
+Write-Host "`n✅ Successfully extracted $count charts!"
+Write-Host "`nChart files saved in: $outputDir"
+Write-Host "`nNext steps:"
+Write-Host "1. Use Mermaid Live Editor: https://mermaid.live/"
+Write-Host "2. Copy-paste each .mmd file content"
+Write-Host "3. Export as PNG or SVG"
diff --git a/tools/extract-mermaid-charts.py b/tools/extract-mermaid-charts.py
new file mode 100644
index 0000000..85ecab9
--- /dev/null
+++ b/tools/extract-mermaid-charts.py
@@ -0,0 +1,61 @@
+#!/usr/bin/env python3
+"""
+Mermaid Chart Extractor
+Extracts Mermaid charts from markdown and saves them as individual .mmd files
+"""
+
+import re
+import os
+from pathlib import Path
+
+
+def extract_mermaid_charts(markdown_file, output_dir):
+ """Extract all mermaid code blocks from markdown file"""
+
+ # Read markdown file
+ with open(markdown_file, 'r', encoding='utf-8') as f:
+ content = f.read()
+
+ # Find all mermaid code blocks
+ pattern = r'```mermaid\n(.*?)```'
+ matches = re.findall(pattern, content, re.DOTALL)
+
+ # Create output directory
+ os.makedirs(output_dir, exist_ok=True)
+
+ # Extract chart titles from markdown headers
+ title_pattern = r'## (\d+)\. (.+?)\n\n```mermaid'
+ titles = re.findall(title_pattern, content, re.DOTALL)
+
+ print(f"Found {len(matches)} Mermaid charts")
+
+ # Save each chart as separate .mmd file
+ for i, (chart_code, (num, title)) in enumerate(zip(matches, titles), 1):
+ # Clean filename
+ filename = f"chart{num:02d}_{title.replace(' ', '_').replace('/', '_')}.mmd"
+ filepath = os.path.join(output_dir, filename)
+
+ # Write mermaid code
+ with open(filepath, 'w', encoding='utf-8') as f:
+ f.write(chart_code.strip())
+
+ print(f" ✓ Saved: {filename}")
+
+ return len(matches)
+
+
+if __name__ == "__main__":
+ # Configuration
+ markdown_file = "define/시장조사-차트.md"
+ output_dir = "define/charts"
+
+ print(f"Extracting Mermaid charts from: {markdown_file}")
+ print(f"Output directory: {output_dir}\n")
+
+ count = extract_mermaid_charts(markdown_file, output_dir)
+
+ print(f"\n✅ Successfully extracted {count} charts!")
+ print(f"\nNext steps:")
+ print(f"1. Use Mermaid Live Editor: https://mermaid.live/")
+ print(f"2. Copy-paste each .mmd file content")
+ print(f"3. Export as PNG or SVG")