| name | data-analytics |
| version | 1 |
| description | 데이터 분석 5층(질문·데이터·분석·해석·전달) + 6도메인 라우터 + 16함정 방어. LIGHT·DEEP·TURBO 3모드. 트리거: 데이터분석, 분석스킬, AARRR, cohort, RCA, A/B테스트, 인과추론, Simpson, p-hacking, Text-to-SQL, 데이터함정, 마케팅분석, 제품분석, funnel, retention, 분석해줘, 진단해줘, 왜떨어졌어, analyze, diagnose. NOT: 재무모델(→financial-model), KPI추적(→metric-tracker), 사업전략(→biz-skill), 정성리서치(→research-frame), 팩트체크(→fact-checker).
|
data-analytics — 데이터 분석 5층 프레임
분석스킬(데이터분석 엔진) — 분석의 양극단(질문·해석)을 사람이 붙잡고, 중간(실행)은 AI 자동화에 위임하되 16함정(데이터함정) 체크리스트로 전 과정을 감시한다. A/B테스트·마케팅분석·제품분석 전 도메인 커버.
Skill Boundaries
- 하는 것 — 데이터 분석 5층(질문·데이터·분석·해석·전달) + 6도메인 라우터 + 16함정 방어.
- 안 하는 것 — 재무모델(→financial-model), KPI추적(→metric-tracker), 사업전략(→biz-skill), 정성리서치(→research-frame), 팩트체크(→fact-checker).
🛡️ INVARIANT·PREFLIGHT·STEALTH: → references/invariants.md (필수 로드)
When to Use
- 사용자가 "분석해줘", "진단해줘", "왜떨어졌어", "analyze", "diagnose" 같은 표현으로 발동
- 도메인 작업이 필요한 시점
- 안 쓸 때 — 재무모델(→financial-model), KPI추적(→metric-tracker), 사업전략(→biz-skill), 정성리서치(→research-frame), 팩트체크(→fact-checker).
Prerequisites
| # | 체크 | 미충족 시 |
|---|
| 1 | 대상·입력 명확 (스킬 발동 의도 확인) | 1줄 확인 후 진입 |
| 2 | references/ 폴더 접근 가능 | inline fallback |
| 3 | scripts/ 실행 권한 | 권한 보정 후 재시도 |
모드 분기
| LIGHT | DEEP | TURBO |
|---|
| 트리거 | "진단해줘"·빠른 답 | 기본값·"분석해줘" | "터보로"·대규모·복수 도메인 |
| 범위 | L1·L4만 (질문구조화+함정 2-3개) | L1→L5 풀 파이프라인 | DEEP + 도메인 모듈 병렬 Agent |
| 확신도 상한 | 50 cap | 판정 테이블 | DEEP 동일 |
| 산출물 | 진단 메모(≤1p) | 분석 메모·deep dive·RCA | 동일 + 도메인별 섹션 |
5층 프레임
L1 QUESTION → L2 DATA → L3 ANALYSIS → L4 INTERPRET → L5 DELIVER
(사람) (부분AI) (강AI) (사람) (부분AI)
| 층 | 핵심 질문 | 서브 | AI 위임 | 스포크 |
|---|
| L1 질문설계 | "무엇을·왜 묻는가, 어떤 결정이 달렸나" | 의사결정 연결·가설 3조건·경쟁가설 3+·MDE·성공기준 | ✗ | → references/L1-question.md |
| L2 데이터확보 | "어떤 데이터로 답하나, 무엇이 빠졌나" | 정의 SSOT·시점/단위·결측·샘플링·leakage | 부분 | → references/L2-data.md |
| L3 분석실행 | "어떤 방법으로 답을 뽑나" | EDA·추론통계·인과추론·실험설계·세그먼트 | 강 | → references/L3-analysis.md |
| L4 해석검증 | "답이 맞나, 무엇을 놓쳤나" | 16함정 체크·민감도·반대증거·대안설명·확신도 | ✗ | → references/L4-interpret.md |
| L5 전달실행 | "어떻게 의사결정으로 연결하나" | 산출물 선택·1p 요약·액션·리스크 | 부분 | → references/L5-deliver.md |
도메인 라우터 (6모듈): 제품·마케팅·재무UE·실험AB·RCA·거버넌스 → references/domains.md
AI 위임 경계·Text-to-SQL 함정: → references/ai-delegation.md
TURBO 상세: → references/turbo.md
Axiom (공리, 7개)
- 질문 없는 분석 = 숫자 쓰레기 — L1 미완 시 L2 진입 금지
- 집계 수준 의문화 — Simpson 방어, 세그먼트 재확인
- 모집단 정의 명시 — Survivorship 방어, "누가 빠졌나" 선질문
- 단일 소스 = 확신도 상한 70 — 교차 확인 없이 90 금지
- 함정 체크리스트 5개 최소 — L4 필수, 스킵 시 산출물 미완
- 확신도 병기 의무 — 높음90·보통70·낮음50·모름30 + 근거 1줄 (UP 진실성 정합)
- 한계·경계 명시 — "무엇을 볼 수 없었나" 필수 기록
실행 흐름
입력 → PREFLIGHT → L1 질문설계 → [L1 게이트] → L2 데이터확보 → L3 분석실행
↓
L5 전달실행 ← [L4 게이트] ← L4 해석검증(16함정) ←────────────┘
PREFLIGHT (입력 검증)
| 입력 | 판정 | 행동 |
|---|
| "이 숫자 분석해줘"(수치만) | 추정 가능 | DEEP + 추정 + 확신도 50 + 착수 |
| "왜 떨어졌어" | 명확(RCA) | M5 RCA 모듈 라우팅 |
| "A/B 돌릴 건데" | 명확(실험) | M4 실험 모듈 라우팅 |
| 도메인만 명시 | 부분 | 도메인 라우터 + L1부터 |
| 빈 입력·단일 단어 | 차단 | "어떤 데이터·어떤 질문인지 1문장" 1회 확인 |
L1 게이트 (필수 통과)
L4 게이트 (필수 통과)
도메인 라우터 (6모듈)
| 모듈 | 키워드 | 집중 층 |
|---|
| M1 제품·PM | AARRR·cohort·retention·funnel·LTV | L3 세그먼트·L4 cohort 함정 |
| M2 마케팅 | CAC·ROAS·MMM·attribution·incrementality | L3 인과추론·L4 attribution 함정 |
| M3 재무·UE | Unit Economics·Rule of 40·burn·NRR | L3 기술통계·L5 CFO 1p |
| M4 실험·A/B | RCT·Power·MDE·MAB | L3 실험설계·L4 p-hacking |
| M5 RCA 진단 | 급락·급등·이상·"왜 떨어졌어" | L1 질문분해·L4 반대증거 |
| M6 거버넌스 | 정의 합의·Semantic Layer·메트릭사전 | L2 집중 |
상세: → references/domains.md
16함정 요약 (L4 체크)
| 카테고리 | 함정 | 핵심 방어 |
|---|
| 통계 5 | Simpson·Survivorship·p-hacking·Goodhart·Base rate | 집계재확인·모집단명시·사전등록·지표vs목표·사전확률 |
| 인지 3 | 확증편향·앵커링·Storytelling | 경쟁가설 3+·독립분석·데이터 먼저 |
| 인프라 4 | 정의불일치·시점불일치·Leakage·샘플링편향 | SSOT·timezone·미래피처금지·샘플대표성 |
| 시각화 2 | Truncated axis·평균만 | 0부터 축·분포병기 |
| 조직·AI 2 | 결론선정·Text-to-SQL 오류 | 가설 사전·Semantic Layer |
상세·정전사례: → references/L4-interpret.md
예시
| 입력 | 모드·모듈 | 동작 |
|---|
| "MAU가 2%p 떨어졌어 왜?" | DEEP · M5 RCA | L1(결정연결: 이 drop이 전략 변경 요인인가)→L2(MAU 정의 재확인)→L3(세그먼트·cohort·funnel 분해)→L4(Simpson·정의불일치 체크)→L5(RCA 메모) |
| "신기능 A/B 설계해줘" | DEEP · M4 | L1(가설·MDE)→L3(Power·표본크기)→L4(다중검정·leakage)→L5(readout 템플릿) |
| "이 숫자 빠르게 진단" | LIGHT | L1(질문구조화 1줄)+L4(함정 3개)만·cap 50 |
| "이커머스 분기 deep dive 터보로" | TURBO · M1+M2 | 도메인 병렬 Agent(PM·마케팅)+교차통합 |
§INV NO_WORK_LABEL (산출물·대화 본질 보호)
| 항목 | 정의 |
|---|
| RULE | 산출물·대화 = 인간 언어. 작업 라벨 ZERO. (1만 페이지 1단어 = FAIL) |
| 판정 | "이 단어, 이 대화 밖 사람이 사전 없이 읽을 수 있나?" NO → 작업 라벨 → 금지 |
| ALLOW | 업계 전문용어(AARRR·RCA·A/B·funnel·retention·cohort·LTV·CAC·MAU·DAU·CTR·CVR·NPS·CSAT·KPI·OKR·SQL·Simpson 역설·p-hacking) · 고유명사(GA·Mixpanel·Amplitude) · 법조문 |
| CONVERT | 라벨 발견 → 실명·평문 풀어쓰기. 예) "5층(질문·데이터·분석·해석·전달)·6도메인 라우터·16함정" → 실제 단계·도메인·함정명 / "LIGHT·DEEP·TURBO" → 분석 깊이 평문 |
| SELF_CHECK | 분석메모·RCA보고서 출력 직전에서 자체 스캔. 1개라도 발견 = 차단·재작성. paper-engine cascade 경유 시 INV 13 자동 적용 |
🚨 MUST cascade → paper-engine (절대규칙)
이 스킬의 모든 리포트·산출물 = paper-engine 허브 MUST 경유. 단독 md/html 출력 = FAIL.
- 진입점: 모드별 분석 완료 후, 산출물 생성 직전 paper-engine 발동
- paper-engine 책임: MODE_S/M/L · NYT구조 · 3패스삭제 · 4항밀도QC · design-skill cascade 강제
- DEFAULT_RENDER = 순수 마크다운:
.md 산출 시 <div>·<span>·style= 등 인라인 HTML 전면 금지. 헤더·불릿·표·인용(>)·이모지만 허용
- 예외: 사용자가
"HTML로"·"박스로"·"벤토로"·"시각화"·"카드로" 명시시에만 html-div-style·apple-box-design cascade 경유
- 위반 감지: md 파일에
<div style>·<span style> 삽입 = 절대규칙 #8 위반 → 재작성
Reference Index
| 파일 | 내용 | 언제 |
|---|
references/L1-question.md | L1 question | 해당 단계 진입 시 |
references/L2-data.md | L2 data | 해당 단계 진입 시 |
references/L3-analysis.md | L3 analysis | 해당 단계 진입 시 |
references/L4-interpret.md | L4 interpret | 해당 단계 진입 시 |
references/L5-deliver.md | L5 deliver | 해당 단계 진입 시 |
references/ai-delegation.md | ai delegation | 해당 단계 진입 시 |
references/domains.md | domains | 해당 단계 진입 시 |
references/invariants.md | invariants | 해당 단계 진입 시 |
references/turbo.md | turbo | 해당 단계 진입 시 |
Next Phase
본 스킬 작업 후 자연스럽게 이어지는 흐름:
- 후속 작업 →
financial-model
- 후속 작업 →
metric-tracker
- 후속 작업 →
biz-skill
- 후속 작업 →
research-frame
- 후속 작업 →
fact-checker
Failure Modes (Gotchas) (Top 5)
| 함정 | 대응 |
|---|
| L1 스킵 후 바로 실행 | Axiom 1 위반. L1 게이트 5개 채움 필수 |
| 함정 체크 누락 | L4 게이트. 5개+ 의무, 도메인 우선 |
| AI 자동화 과신(Text-to-SQL 95% 착각) | Semantic Layer 없으면 64.5%. → ai-delegation.md |
| Simpson 무시 후 전체 집계만 | 집계 수준 2개+ 재검증 (Axiom 2) |
| NOT 경계 침범 (재무모델·KPI추적) | financial-model·metric-tracker로 라우팅 |
→ 전체 함정: references/L4-interpret.md
❌ WRONG vs ✅ CORRECT
❌ WRONG: 트리거 단어만 보고 발동 — 본질·범위 확인 ✗ → 오발동·범위 이탈
✅ CORRECT: Skill Boundaries·When to Use 확인 후 발동 → 본질 작업만 수행
산출물 경로
| 모드·유형 | 경로 |
|---|
| DEEP 분석 메모 | {vault}/_analytics/{topic}_{yymmdd}.md |
| LIGHT 진단 | 응답 본문 (≤1p) |
| RCA 보고서 | {vault}/_analytics/RCA_{topic}_{yymmdd}.md |
| A/B readout | {vault}/_analytics/AB_{exp}_{yymmdd}.md |
paper-engine cascade 적용 (구조·블록·QC).
📄 표준 리포트 템플릿
L5 전달실행 완료 후 아래 템플릿 중 모드에 맞는 것을 선택해 채운다. 빈칸 그대로 출력 금지 — 모든 필드 실제 값으로 채울 것.
DEEP 분석 메모 (Amazon WBR 구조)
# [지표/현상명] 분석 메모
날짜: YYYY-MM-DD | 모드: DEEP/TURBO | 모듈: M1~M6
## 핵심 결론 (1문장 필수)
> [숫자+방향+인과를 1문장으로 — "XX가 YY% 하락한 주원인은 ZZ다"]
## 상황 (Situation)
- 분석 대상: [지표명·정의·측정 기간·데이터 소스]
- 기준선: 목표 [N] / 실제 [N] / 전주(월) 대비 [±N%]
- 트리거: [이 분석을 시작한 이유]
## 발견 (Findings)
| 세그먼트 | 값 | 기준선 대비 | 해석 |
|---------|-----|------------|------|
| [세그먼트1] | | ±xx% | [1줄 해석] |
| [세그먼트2] | | ±xx% | [1줄 해석] |
핵심 패턴: [숫자에서 보이는 구조적 패턴 — 2~3문장 서술]
## 인과 분석 (Root Cause)
- 1차 원인: [직접 원인 + 데이터 근거]
- 2차 원인: [1차를 유발한 구조적 원인]
- 기각된 가설: [검토 후 기각한 가설 + 기각 이유]
- 확신도: [90/70/50/30] — [근거 1줄]
## 함정 체크 (L4 — 5개+ 필수)
- [ ] Simpson: [세그먼트 재확인 결과]
- [ ] Survivorship: [빠진 모집단]
- [ ] Goodhart: [이 지표 최적화 시 역효과]
- [ ] 정의불일치: [소스간 정의 동일 여부]
- [ ] 대안 설명: [상관관계만일 가능성]
## 의사결정 연결 (Action)
| 구분 | 액션 | 기한 | 담당 |
|------|------|------|------|
| 즉시 | [구체 행동] | D+7 | |
| 구조 | [근본 해결] | D+30 | |
모니터링: [다음에 볼 지표 + 주기]
한계: [이 분석에서 볼 수 없었던 것]
RCA 보고서 (McKinsey SCR + 5-Why)
# RCA: [현상명]
기간: | 작성: | 확신도:
## Executive Summary (SCR)
**Situation:** [현재 상황 — 수치 포함 1문장]
**Complication:** [왜 지금 문제인가 — 비즈니스 임팩트 1문장]
**Resolution:** [핵심 권고 — 구체 액션 1문장]
## 문제 정의
- 발생: / 감지: / 규모: [금액·사용자 수·기간]
- 영향 범위: [매출 / 사용자 / 운영 / 평판]
## 5-Why 인과체인
| 단계 | 현상/원인 |
|------|---------|
| Why 1 | [현상] → [직접 원인] |
| Why 2 | → [...] |
| Why 3~5 | → [근본 원인] |
## 데이터 증거
| 가설 | 지지 증거 | 반박 증거 | 판정 |
|------|----------|----------|------|
| [가설1] | | | 채택/기각 |
## 대응 계획
| 액션 | 담당 | 기한 | 예상 효과 |
|------|------|------|----------|
| 즉시 | | D+7 | |
| 단기 | | D+30 | |
| 구조 | | D+90 | |
## 재발 방지
- 프로세스: [바꿀 것]
- 선행 신호: [다음에 먼저 잡을 지표]
A/B Readout
# A/B Readout: [실험명]
기간: | 표본: Control N= / Treatment N= | 신뢰수준:
## 결론 (1문장)
> [B가 A 대비 xx% [지표명] 개선. 통계적으로 유의함/아님]
## 설계
- 가설: [B를 하면 [지표]가 [방향]할 것이다 — 이유]
- Primary Metric: / Secondary: / Guardrail:
- MDE: / Power: / 실제 표본:
## 결과
| 지표 | Control(A) | Treatment(B) | Δ | p-value | 유의 |
|------|-----------|-------------|---|---------|------|
| [Primary] | | | | | Y/N |
| [Guardrail] | | | | | 안전/위험 |
## 함정 체크
- [ ] 다중검정 보정 (Bonferroni/FDR)
- [ ] Novelty Effect (초기 반응 vs 지속)
- [ ] 오염·네트워크 효과 확인
- [ ] 사전 등록 가설과 동일 여부 (p-hacking 방어)
## 의사결정
- 권고: [출시 / 롤백 / 추가실험] — 이유
- 다음 실험: [이 결과에서 생긴 새 가설]
Self-Check
L1·L4 게이트 통과 확인 필수. 자동 검증: python scripts/validate.py.
실패 시 STOP + 보고. 피드백: thumbs-down + session-briefing.
버전
→ CHANGELOG.md