2026 YEONHUI YOGA WEEK

방법론과 데이터 계보

원천자료 수집부터 전처리, OCR, AI 검수, 공개/내부 분리까지 추적한 방법론 문서입니다.

방법론 및 데이터 계보

작성일: 2026-05-16

현재 프로젝트 전체 현황판은 docs/project-current-status.md에 따로 정리되어 있다.

1. 처리 원칙

모든 데이터는 원천자료 수집 -> 전처리 -> OCR -> 구조화 -> 비식별/내부 매칭 -> 분석 -> 리포트 순서로 처리했다. public 산출물에는 전화번호, 실명, API key, 원본 스크린샷을 포함하지 않는다.

2. 원천자료와 접근 권한

자료위치접근/권한사용 범위
ON STUDIO 예약/취소/수업/강사data/raw/onstudio/축제 참여 요가원별 ON STUDIO 계정 접근 가능예약/취소/수업 분석
오붓 리뷰 스크린샷data/raw/obud_reviews/screenshots/오붓 리뷰 화면이 마우스 드래그/텍스트 복사를 허용하지 않아 사용자가 최신순으로 직접 화면 캡처. 원본은 private/rawOCR 및 리뷰 분석
Google Vision OCR 텍스트data/raw/obud_reviews/ocr_text/OCR API key는 로컬 파일/환경변수, 결과 원문은 rawOCR 구조화
Gemini Vision 검수 결과data/processed/obud_reviews/private/obud_reviews_ai_checked_private.csvGemini API key는 로컬 전용. 원본 이미지와 OCR 텍스트를 함께 사용해 JSON 구조화 검수리뷰 구조화 품질 검수
티켓 가격표references/obud-ticket-pricing.md사용자 제공 이미지 기반 기록가격 추정 기준
오붓 정산 기준references/obud-settlement-rules.md, data/raw/settlement/obud/빅블루 요가 유동환 대표 전달 카카오톡 메시지와 오붓 화면 스크린샷 기반 전사. 2026-05-16 공개 오붓 사이트/FAQ/오붓패스/입점문의/sitemap 확인 결과 공개 정산표는 미확인1회권/패스권 정산 추정
요가원/행사 장소 주소data/external/studio_locations_public.csvON STUDIO 수업 설명과 공개 웹 검색으로 수집. 최종 예약/시간표에 남은 active 장소만 GIS seed로 사용하며, 초기 기획안에만 남은 궁동산 행은 active GIS에서 제외GIS 1차 분석
수업별 실제 장소 증거data/processed/analysis/public/class_location_evidence_public.csv수업 설명의 📍 장소, 집합 장소, 장소: 문구를 파싱해 organizer_studio_keyactual_location_key를 분리GIS 동선 분석
Google Drive 공유 프로그램/운영 문서data/raw/google_drive_shared/rightnow_yogi/files/, data/raw/google_drive_shared/rightnow_yogi/full_archive/bigblue.yoga@gmail.com 계정에서 rightnow.yogi@gmail.com으로부터 공유받은 2026년 이후 연희 요가 축제 관련 자료의 로컬 사본. raw는 GitHub 공유 제외수업 정원, 운영 문구, F&B/스폰서/기획 맥락
공유용 Notion 커뮤니케이션 문서data/raw/notion_shared/사용자가 제공한 공유용 Notion URL 2건을 읽기 전용으로 수집. 원문 JSON/텍스트와 블록별 원문 inventory는 raw/private로만 보관하고 GitHub 공유 제외행사 기획 의도, 대외 메시지, 크루 운영 철학, 참여자 경험 설계 맥락
Google Drive 수업 정원 후보표data/processed/analysis/public/google_drive_program_capacity_reference.csvprogram_obud_delivery.xlsx에서 날짜/시간/장소/수업명/정원 후보를 추출한 public 파생표정원 대비 예약률/운영 분석 후보
ON STUDIO 캘린더 정원/예약현황data/raw/onstudio/calendar_capacity/onstudio_calendar_capacity_2026_yeonhui_yoga_week_2026-05-16.txt사용자가 ON STUDIO 캘린더 화면에서 직접 복사한 원본. raw는 GitHub 공유 제외실제 운영 기준 정원/점유율 분석
ON STUDIO 캘린더 public 파생표data/processed/analysis/public/onstudio_calendar_capacity_reference.csv캘린더 원본에서 수업별 예약수|정원을 추출한 public 파생표정원 대비 채움률/운영 포화도 분석
네이버 블로그 검색 결과data/raw/external_web/naver_blog_mentions_raw.csv네이버 검색 API. raw는 GitHub 공유 제외외부 Viral 후보 수집
네이버 블로그 본문data/raw/external_web/naver_blog_bodies_raw.csvconfirmed 네이버 블로그 공개 페이지. 로그인/비공개 접근 없음. raw는 GitHub 공유 제외본문 기반 노이즈 검수와 질적 요약
유튜브 검색 결과data/raw/external_web/youtube_mentions_raw.csvYouTube Data API v3. raw는 GitHub 공유 제외외부 Viral 후보 수집

3. 실행 스크립트 계보

단계스크립트입력출력현재 상태
ON STUDIO 전처리scripts/preprocess_onstudio.pydata/raw/onstudio/processed ON STUDIO CSV완료
예약/취소 비식별scripts/deidentify_reservation_cancel.pyprivate 예약/취소 CSVpublic 비식별 CSV완료
public DuckDB 생성scripts/build_public_duckdb.pypublic CSVdata/database/yogaweek_public.duckdb완료/재실행 가능
Google Vision OCRscripts/ocr_obud_reviews_google_vision.py리뷰 스크린샷OCR txt/json, manifest완료
OCR 통합표scripts/build_obud_google_ocr_raw_table.pyOCR txtdata/interim/obud_reviews/google_vision_ocr_raw.csv완료
리뷰 필드 파싱scripts/parse_obud_reviews.pyOCR raw CSVdata/processed/obud_reviews/private/obud_reviews_extracted_private.csv완료
수업명 매칭scripts/match_review_classes.py리뷰 파싱표, ON STUDIO 수업명같은 private 리뷰표에 매칭 컬럼 추가완료
AI/규칙 검수scripts/ai_review_quality_check.py수업명 매칭 private 리뷰표data/processed/obud_reviews/private/obud_reviews_ai_checked_private.csv완료
리뷰 작성자 내부 매칭scripts/match_reviewers_private.py리뷰 private, 예약 privatedata/processed/obud_reviews/private/review_reviewer_match_private.csv완료
분석 테이블/리포트scripts/build_analysis_tables.py예약/취소/review/가격public 리뷰, Hype metrics, 리포트완료
오붓 정산 기준/추정scripts/build_obud_settlement_analysis.py예약/취소 공개용 CSV, 오붓 정산표 전사값, 유동환 대표의 소비자 기준/이용완료된 기준 후속 확인정산 규칙 CSV, 패스 정산표, 수업/요가원-월별 정산 추정치, 패스권 회차 추정 요약완료/최종 정산서 확인 필요
GIS 좌표화scripts/geocode_studio_locations_arcgis.pydata/external/studio_locations_public.csv좌표가 채워진 장소 테이블, 지오코딩 리포트완료
GIS 분석scripts/build_gis_tables.py장소 좌표, Hype metricsGIS CSV, GeoJSON, HTML 지도, GIS 리포트완료
GIS 거리 행렬scripts/build_gis_distance_matrix.py행사 위치 카탈로그location nodes, distance matrix완료/재실행 가능
GIS 시간표/동선scripts/build_gis_schedule_flows.py예약/취소, 거리 행렬, Hype GIS, 수업별 장소 증거class location evidence, class schedule, transition feasibility완료/재실행 가능
GIS 심화 리포트scripts/build_gis_deep_report.pyGIS 심화 public tables심화 리포트, 이동 지도, 시간-공간 큐브완료/재실행 가능
Google Drive 정원 후보 추출scripts/extract_google_drive_program_capacity_reference.pyprogram_obud_delivery.xlsxgoogle_drive_program_capacity_reference.csv완료/재실행 가능
ON STUDIO 캘린더 정원 파싱scripts/parse_onstudio_calendar_capacity.pyON STUDIO 캘린더 raw txtonstudio_calendar_capacity_reference.csv완료/재실행 가능
정원표 대조scripts/compare_capacity_references.pyGoogle Drive 정원표, ON STUDIO 캘린더 정원표capacity_reference_comparison.csv, 대조 리포트완료/재실행 가능
Google Drive 전량 아카이브scripts/archive_google_drive_shared_files.pybigblue.yoga@gmail.com 접근 계정, rightnow.yogi@gmail.com 공유 원천, Drive 공유 폴더raw full archive, 로컬 manifest/report완료/재실행 가능. raw/manifest는 GitHub 공유 제외
Google Drive 아카이브 분석scripts/build_drive_archive_analysis.pyfull archive manifestDrive 영역 요약, asset type 요약, 분석 기회 matrix완료/재실행 가능
정원+Hype 결합scripts/build_capacity_hype_analysis.pyON STUDIO 캘린더 정원표, Hype metrics수업별/요가원별 정원+Hype metrics, 리포트완료/재실행 가능
F&B/스폰서 GIS 분석scripts/build_fnb_sponsor_gis_analysis.pyF&B 협업표, Drive manifest, location nodesF&B public/GIS 표, F&B GeoJSON, 스폰서 asset inventory, 리포트완료/재실행 가능
Notion 공유 커뮤니케이션 자료 요약scripts/archive_notion_shared_pages.py사용자가 제공한 공유용 Notion URL 2건raw/private 원문 보관본, public 페이지 요약, public 테마 요약, 커뮤니케이션 검토 리포트완료/재실행 가능
네이버 블로그 수집scripts/collect_naver_blog_mentions.py네이버 검색 API, 확장 검색어블로그 검색 raw CSV, 수집 리포트완료/재실행 가능
유튜브 수집scripts/collect_youtube_mentions.pyYouTube Data API v3, core 검색어유튜브 검색 raw CSV, 수집 리포트완료/재실행 가능
Viral 검수 큐scripts/build_viral_mentions_review_queue.py네이버/유튜브 raw CSV내부 검수 큐 CSV, 리포트완료/재실행 가능
연희요가위크 언급 필터scripts/filter_yeonhui_yoga_week_mentions.pyViral 검수 큐confirmed internal/public 표, 플랫폼/요가원 요약완료/재실행 가능
네이버 블로그 본문 수집scripts/collect_naver_blog_bodies.pyconfirmed 네이버 블로그 링크공개 본문 raw CSV, 본문 수집 리포트완료/재실행 가능
네이버 블로그 본문 특징scripts/build_naver_blog_body_features.py네이버 블로그 본문 raw내부 본문 특징, public 테마/요가원 요약완료/재실행 가능
네이버 블로그 본문 심층 특징scripts/build_naver_blog_body_deep_features.py네이버 블로그 본문 raw, 기본 본문 특징관련성 신뢰도, 후기 깊이, 감정 강도, 혼합글 위험도, 게시물 유형 요약완료/재실행 가능
Viral 지표scripts/build_viral_metrics.pypublic confirmed Viral 표별도 Viral metrics, 분석 리포트완료/재실행 가능

4. 행 수 검증

5. 비식별 정책

6. AI 검수 상태

ai_validation_mode
gemini_vision_structured_output    96
ai_provider_status
available    96
ai_model
gemini-3.1-flash-lite    67
gemini-2.5-flash         29

모델이 둘로 나뉜 이유는 검수 중 gemini-2.5-flash 호출에서 쿼터 제한이 발생했기 때문이다. 이미 성공한 29건은 보존했고, 남은 67건은 gemini-3.1-flash-lite로 재시도해 완료했다. 두 모델 모두 같은 Pydantic 스키마로 검증했고, 최종 public 분석표는 96건 전부 Gemini Vision 구조화 검수가 완료된 표를 기준으로 재생성했다.

7. 분석 지표 정의

Viral 지표는 Hype와 별도 축으로 둔다.

8. 재현 명령

python scripts\preprocess_onstudio.py
python scripts\deidentify_reservation_cancel.py
python scripts\ocr_obud_reviews_google_vision.py
python scripts\build_obud_google_ocr_raw_table.py
python scripts\parse_obud_reviews.py
python scripts\match_review_classes.py
python scripts\ai_review_quality_check.py --use-api
python scripts\match_reviewers_private.py
python scripts\build_analysis_tables.py
python scripts\geocode_studio_locations_arcgis.py
python scripts\build_gis_tables.py
python scripts\build_gis_distance_matrix.py
python scripts\build_gis_schedule_flows.py
python scripts\build_gis_deep_report.py
python scripts\collect_naver_blog_mentions.py --queries-file references\naver-blog-viral-queries-expanded.txt
python scripts\collect_youtube_mentions.py --queries-file references\external-web-viral-queries-core.txt
python scripts\build_viral_mentions_review_queue.py
python scripts\filter_yeonhui_yoga_week_mentions.py
python scripts\collect_naver_blog_bodies.py
python scripts\build_naver_blog_body_features.py
python scripts\build_naver_blog_body_deep_features.py
python scripts\build_viral_metrics.py
python scripts\extract_google_drive_program_capacity_reference.py
python scripts\parse_onstudio_calendar_capacity.py
python scripts\compare_capacity_references.py
python scripts\build_drive_archive_analysis.py
python scripts\build_capacity_hype_analysis.py
python scripts\build_fnb_sponsor_gis_analysis.py
python scripts\archive_notion_shared_pages.py
python scripts\build_public_duckdb.py

9. GIS 방법론 참고 자료