영업 파이프라인 검토 — 모든 영업 파이프라인을 위한 진단 — Claude Skill
Claude Code용 Claude 스킬 · 제공: Gooseworks · 실행: /pipeline-review (Claude 내)·업데이트: 2026년 6월 12일
정기적인 영업 파이프라인 분석과 진단, 실행 권고안을 제공합니다
- 모든 CRM에서 거래와 미팅 데이터를 가져옵니다
- 주간/월간/분기 기간별 파이프라인을 분석합니다
- 규모, 적격률, 유입 출처 효과를 진단합니다
- 단계 속도와 정체 거래를 식별합니다
- 경영진 요약과 진단 보고서를 출력합니다
대상
기능
수동 CRM 내보내기 없이 리더십이 필요한 주간 파이프라인 보고서를 생성합니다.
퍼널에서 실제로 작동하는 것과 정체된 것을 찾아냅니다.
QBR의 파이프라인 섹션을 며칠이 아니라 몇 분 안에 만듭니다.
작동 방식
CRM 데이터와 기간을 입력으로 받습니다
파이프라인 규모와 적격률을 분석합니다
유입 출처 효과와 단계 속도를 진단합니다
패턴이 있는 정체 거래를 식별합니다
경영진 요약과 상세 진단을 출력합니다
개선되는 지표
지원 도구
영업 파이프라인 검토을(를) 사용해 보시겠어요?
시작 방법을 선택하세요.
이 스킬을 컴퓨터에 로컬로 설치하고 실행합니다.
컴퓨터에서 터미널을 열고 이 명령을 붙여넣으세요:
이 명령은 스킬과 모든 파일을 컴퓨터에 다운로드합니다:
모든 프로젝트에서 사용하려면 끝에 -g를 추가하세요.
Claude Code를 시작한 다음 명령을 입력하세요:
영업 파이프라인 검토
사용자가 파이프라인을 추적하는 어떤 시스템에서든 거래와 미팅 데이터를 가져오고, 선택한 기간 동안 분석한 뒤, 창업자, 영업 리더, 영업 담당자가 실제로 궁금해하는 질문에 답하는 보고서를 만듭니다. 충분히 예약하고 있는가? 적격한가? 거래는 어디에서 막히는가? 무엇이 작동하고 무엇이 작동하지 않는가?
두 가지 출력 모드:
- 경영진 요약: 1페이지 스냅샷. 숫자, 추세, 위험 신호. 창업자가 아침에 빠르게 읽을 내용입니다.
- 상세 진단: 전체 데이터 표, 단계별 분해, 유입 출처 분석, 정체 거래 목록, 구체적 권고안입니다.
두 출력은 항상 함께 생성됩니다. 경영진 요약은 보고서 맨 위에 배치합니다.
자동 로드 시점
다음 경우 이 복합 스킬을 로드하세요.
- 사용자가 "파이프라인 검토", "파이프라인 보고서", "우리 파이프라인 어때", "거래 리뷰"라고 말함
- 사용자가 "1:1 준비", "이사회 미팅 준비", "주간 영업 검토"라고 말함
- 상위 워크플로(파이프라인 운영, 일일 사업 개발 담당자 리듬)가 기간 종료 검토를 트리거함
- 사용자가 미팅 품질, 전환율, 파이프라인 건전성을 묻는 경우
0단계: 구성(최초 1회 설정)
첫 실행 시 아래 선호값을 수집해 저장합니다. 이후 실행에서는 건너뜁니다.
데이터 출처 구성
| 질문 | 선택지 | 저장 필드 |
|---|---|---|
| 파이프라인을 어디에서 추적하나요? | Salesforce / HubSpot / Pipedrive / Close / Supabase / Google Sheets / CSV / Notion / 기타 | crm_tool |
| 어떻게 접근하나요? | API / CSV 내보내기 / MCP 도구 / 직접 쿼리 | access_method |
| 시스템에서 "거래"를 나타내는 객체는 무엇인가요? | Opportunity / Deal / Lead / Meeting / Custom | deal_object |
파이프라인 단계 정의
| 질문 | 목적 | 저장 필드 |
|---|---|---|
| 파이프라인 단계는 어떤 순서인가요? | 데이터를 표준 퍼널에 매핑 | pipeline_stages |
| 어떤 단계가 "적격"을 의미하나요? | 적격률 계산 | qualified_stage |
| 어떤 단계가 "수주"를 의미하나요? | 수주율 계산 | won_stage |
| 어떤 단계가 "실주"를 의미하나요? | 실주 분석 | lost_stage |
| 예상 영업 주기 길이는 얼마인가요? (일) | 정체 거래 식별 | expected_cycle_days |
단계 매핑 예시:
pipeline_stages: [
"리드",
"미팅 예약",
"미팅 완료",
"적격(디스커버리 완료)",
"제안서 발송",
"협상",
"수주",
"실주"
]
qualified_stage: "적격(디스커버리 완료)"
won_stage: "수주"
lost_stage: "실주"
expected_cycle_days: 30
필드 매핑
CRM마다 필드명이 다릅니다. 사용자의 필드를 표준 분석 필드에 매핑합니다.
| 표준 필드 | 목적 | 저장 필드 | 예시 |
|---|---|---|---|
| 거래명 | 식별 | field_deal_name | "Name", "Deal Name", "Opportunity Name" |
| 회사 | 계정 그룹화 | field_company | "Company", "Account", "Organization" |
| 단계 | 퍼널 위치 | field_stage | "Stage", "Pipeline Stage", "Status" |
| 담당자 | 담당자 수준 분석 | field_owner | "Owner", "Assigned To", "Rep" |
| 출처 | 채널 기여도 | field_source | "Lead Source", "Source", "Channel", "UTM Source" |
| 생성일 | 기간 필터링 | field_created_date | "Created Date", "Created At", "Date Added" |
| 마감일 | 속도 추적 | field_close_date | "Close Date", "Expected Close", "Closed At" |
| 금액 | 매출 분석 | field_amount | "Amount", "Deal Value", "ARR", "MRR" |
| 마지막 활동일 | 오래된 거래 감지 | field_last_activity | "Last Activity", "Last Modified", "Last Touched" |
| 미팅일 | 미팅 분석 | field_meeting_date | "Meeting Date", "Call Date", "Demo Date" |
| 적격 상태 | 적격률 | field_qual_status | "Qualified", "ICP Fit", "BANT Score" |
| 실주 사유 | 실주 분석 | field_loss_reason | "Loss Reason", "Closed Lost Reason", "Disqualification Reason" |
모든 필드가 필수는 아닙니다. 분석은 사용 가능한 데이터에 맞춰 조정됩니다. 최소 실행 가능 데이터는 거래명 + 단계 + 생성일입니다.
벤치마크(선택)
| 질문 | 목적 | 저장 필드 |
|---|---|---|
| 주/월 목표 미팅 수는 얼마인가요? | 실제 성과를 목표와 비교 | target_meetings |
| 목표 적격률은 얼마인가요? | 목표 미달 시 표시 | target_qual_rate |
| 목표 수주율은 얼마인가요? | 목표 미달 시 표시 | target_win_rate |
| 목표 파이프라인 가치는 얼마인가요? | 매출 격차 분석 | target_pipeline_value |
구성 저장 위치: clients/<client-name>/config/pipeline-review.json 또는 동등한 위치.
1단계: 파이프라인 데이터 가져오기
목적: 지정된 기간에 대해 구성된 CRM에서 거래/미팅 데이터를 추출합니다.
입력 계약
period: {
type: "weekly" | "fortnightly" | "monthly" | "quarterly" | "custom"
start_date: string # ISO 날짜(type에서 자동 계산 또는 사용자가 지정)
end_date: string # ISO 날짜(기본값: 오늘)
comparison_period: boolean # 추세 비교용 이전 기간 포함(기본값: true)
}
crm_tool: string # 구성에서 가져옴
access_method: string # 구성에서 가져옴
field_mapping: { ... } # 구성에서 가져옴
프로세스
crm_tool과 access_method에 따라 처리합니다.
| CRM | 접근 방식 | 가져오는 방법 |
|---|---|---|
| Salesforce | API / CSV 내보내기 | SOQL 쿼리 또는 사용자가 CSV 내보내기 업로드 |
| HubSpot | API / CSV 내보내기 | Deals API 또는 사용자가 CSV 내보내기 업로드 |
| Pipedrive | API / CSV 내보내기 | Deals API 또는 사용자가 CSV 내보내기 업로드 |
| Close | API / CSV 내보내기 | Leads/Opportunities API 또는 CSV |
| Supabase | 직접 쿼리 | deals/outreach_log 테이블 쿼리 |
| Google Sheets | Sheets API / CSV | 시트 읽기 또는 사용자가 CSV 내보내기 |
| Notion | Notion MCP | 데이터베이스 쿼리 |
| CSV | 파일 읽기 | 사용자가 파일 경로 제공 |
두 데이터셋을 가져옵니다.
- 현재 기간: 지정한 날짜 범위 안에서 생성되었거나 활성 상태인 모든 거래
- 비교 기간: 같은 길이의 이전 기간(예: 최근 2주를 검토하면 그 전 2주도 가져옴)
데이터 표준화
출처와 관계없이 모든 데이터를 표준 구조로 정규화합니다.
deals: [
{
id: string
name: string
company: string
stage: string # pipeline_stages에 매핑됨
owner: string | null
source: string | null # 리드 출처 / 채널
created_date: string # ISO 날짜
close_date: string | null # ISO 날짜
last_activity_date: string | null
meeting_date: string | null
amount: number | null
qualification_status: string | null
loss_reason: string | null
days_in_current_stage: integer # 계산됨
total_age_days: integer # created_date 기준 계산
}
]
출력 계약
pipeline_data: {
current_period: {
start_date: string
end_date: string
deals: [...] # 표준화된 거래 레코드
deal_count: integer
}
comparison_period: {
start_date: string
end_date: string
deals: [...]
deal_count: integer
} | null
}
사람 확인 지점
## 데이터 가져오기 완료
출처: [CRM 이름]
현재 기간: [시작]부터 [종료]까지 — 거래 X건
비교 기간: [시작]부터 [종료]까지 — 거래 Y건
사용 가능한 필드: [매핑된 필드 목록]
누락된 필드: [매핑되지 않은 필드 — 분석이 이에 맞춰 조정됨]
데이터가 맞아 보이나요? (Y/n)
2단계: 파이프라인 분석
목적: 7개 차원 전체에서 분석을 실행합니다. 순수 계산 + LLM 추론이므로 본질적으로 도구에 묶이지 않습니다.
입력 계약
pipeline_data: { ... } # 1단계에서 가져옴
pipeline_stages: string[] # 구성에서 가져옴
qualified_stage: string # 구성에서 가져옴
won_stage: string # 구성에서 가져옴
lost_stage: string # 구성에서 가져옴
expected_cycle_days: integer # 구성에서 가져옴
benchmarks: { ... } | null # 구성에서 가져옴(선택)
분석 차원
현재 기간 데이터에 대해 7개 분석을 모두 실행합니다. 비교 기간이 있으면 기간 대비 추세를 계산합니다.
분석 1: 규모 지표
답하는 질문: 미팅/거래를 얼마나 예약했는가? 규모가 늘고 있는가, 줄고 있는가?
| 지표 | 계산 방법 |
|---|---|
| 생성된 전체 거래 | 기간 내 created_date가 있는 거래 수 |
| 예약된 미팅 | "미팅 예약" 단계에 도달했거나 meeting_date가 있는 거래 수 |
| 완료된 미팅 | "미팅 완료" 단계 또는 그 이후의 거래 수 |
| 노쇼율 | (예약된 미팅 - 완료된 미팅) / 예약된 미팅 |
| 기간 대비 변화 | 비교 기간과 비교 |
| 목표 대비 | target_meetings가 설정된 경우 비교 |
| 주간 실행 속도 | 기간 내 전체 / 주 수 |
출력:
volume: {
deals_created: integer
meetings_booked: integer
meetings_held: integer
no_show_count: integer
no_show_rate: percentage
weekly_run_rate: float
vs_prior_period: {
deals_change: percentage # "+15%" 또는 "-8%"
meetings_change: percentage
} | null
vs_target: {
target: integer
actual: integer
gap: integer # 양수 = 앞섬, 음수 = 뒤처짐
} | null
}
분석 2: 적격 판정 분해
답하는 질문: 얼마나 많은 미팅이 적격이었는가? 부적격이었는가? 적격률은 얼마인가?
| 지표 | 계산 방법 |
|---|---|
| 적격 거래 | qualified_stage 또는 그 이후의 거래 |
| 부적격 거래 | qualified_stage에 도달하기 전에 실주된 거래 또는 부적격으로 표시된 거래 |
| 적격률 | 적격 / (적격 + 부적격) |
| 적격 판정 대기 | "미팅 완료"와 qualified_stage 사이에 있는 거래 |
| 부적격 사유 | 적격 전 실주 거래의 loss_reason 그룹화 |
| 이전 기간 대비 | 적격률 비교 |
| 목표 대비 | target_qual_rate가 설정된 경우 비교 |
출력:
qualification: {
qualified_count: integer
unqualified_count: integer
pending_count: integer
qualification_rate: percentage
vs_prior_period: percentage_change | null
vs_target: { target: percentage, actual: percentage } | null
top_disqualification_reasons: [
{ reason: string, count: integer, percentage: percentage }
]
}
분석 3: 유입 출처 / 채널 기여도
답하는 질문: 리드는 어디에서 오는가? 어떤 출처가 가장 많은 적격 미팅을 만드는가?
| 지표 | 계산 방법 |
|---|---|
| 출처별 거래 | source로 그룹화해 수 계산 |
| 출처별 미팅 | source로 그룹화해 미팅 수 계산 |
| 출처별 적격률 | 각 출처별 적격 / 전체 |
| 최고 출처(규모) | 거래가 가장 많은 출처 |
| 최고 출처(품질) | 적격률이 가장 높은 출처(통계적으로 의미 있게 최소 5건 거래) |
| 수주 전환이 가장 높은 출처 | 마감률이 가장 좋은 출처 |
| 출처 추세 | 이전 기간과 비교 |
출력:
source_attribution: {
by_source: [
{
source: string
deals_created: integer
meetings_booked: integer
meetings_qualified: integer
qualification_rate: percentage
deals_won: integer
win_rate: percentage
revenue: number | null
vs_prior_period: percentage_change | null
}
]
best_volume_source: string
best_quality_source: string
best_conversion_source: string
source_concentration_warning: string | null # 한 출처가 60% 초과이면 표시
}
분석 4: 단계 분포 및 속도
답하는 질문: 거래가 파이프라인의 어디에 머물고 있는가? 각 단계를 얼마나 빠르게 지나가는가?
| 지표 | 계산 방법 |
|---|---|
| 단계별 거래 수 | 활성 거래를 현재 stage로 그룹화 |
| 단계별 매출 | 단계별 amount 합계 |
| 단계별 평균 체류일 | 각 단계를 지난 거래의 days_in_current_stage 평균 |
| 단계 간 전환율 | 다음 단계로 이동하는 거래 비율 |
| 파이프라인 속도 | (거래 수 × 수주율 × 평균 거래 크기) / 평균 영업 주기 |
| 전체 파이프라인 가치 | 모든 활성 거래의 amount 합계 |
| 가중 파이프라인 | 각 거래의 (금액 × 단계 확률) 합계 |
단계 확률 기본값(실제 데이터가 있으면 덮어쓰기):
리드: 5%
미팅 예약: 10%
미팅 완료: 20%
적격: 40%
제안서 발송: 60%
협상: 80%
수주: 100%
실주: 0%
출력:
stage_analysis: {
by_stage: [
{
stage: string
deal_count: integer
revenue: number | null
weighted_revenue: number | null
avg_days_in_stage: float
conversion_to_next_stage: percentage
}
]
total_pipeline_value: number | null
weighted_pipeline_value: number | null
pipeline_velocity: number | null
avg_cycle_length_days: float
vs_expected_cycle: string # "일정대로 진행", "예상보다 X일 느림" 등
}
분석 5: 정체 거래 및 위험 파이프라인
답하는 질문: 너무 오래 머문 거래가 있는가? 오래되어 위험한 파이프라인은 무엇인가?
| 지표 | 계산 방법 |
|---|---|
| 정체 거래 | days_in_current_stage가 해당 단계 평균의 2배를 넘거나 전체 기간이 expected_cycle_days를 초과하는 거래 |
| 활동 없는 거래 | last_activity_date가 14일보다 오래된 거래 |
| 노후 거래 | total_age_days가 expected_cycle_days의 1.5배를 넘는 거래 |
| 위험 매출 | 정체 + 활동 없음 + 노후 거래의 amount 합계 |
| 집중 위험 | 단일 거래가 전체 파이프라인 가치의 30% 초과 |
정체 거래 기준: 거래가 현재 단계에서 해당 단계 평균 체류 시간의 2배보다 오래 머물면 "정체"로 봅니다. 단계 평균을 계산할 충분한 데이터가 없으면 다음 기본값을 사용합니다.
| 단계 | 예상 최대 일수 |
|---|---|
| 리드 | 3일 |
| 미팅 예약 | 7일 |
| 미팅 완료 | 5일 |
| 적격 | 10일 |
| 제안서 발송 | 14일 |
| 협상 | 14일 |
출력:
stuck_and_at_risk: {
stuck_deals: [
{
name: string
company: string
stage: string
days_in_stage: integer
expected_max_days: integer
owner: string | null
amount: number | null
last_activity: string | null
recommended_action: string # "후속 조치", "일정 확인", "부적격 처리"
}
]
no_activity_deals: [
{
name: string
company: string
stage: string
days_since_activity: integer
owner: string | null
recommended_action: string
}
]
at_risk_revenue: number | null
concentration_risks: [
{ deal_name: string, amount: number, percentage_of_pipeline: percentage }
] | null
}
분석 6: 수주/실주 분석
답하는 질문: 수주율은 얼마인가? 왜 거래를 잃고 있는가?
| 지표 | 계산 방법 |
|---|---|
| 수주율 | 기간 내 마감된 거래 기준 수주 / (수주 + 실주) |
| 출처별 수주율 | 출처별 그룹화 |
| 담당자별 수주율 | 영업 담당자별 그룹화 |
| 평균 거래 크기(수주) | 수주 거래의 amount 평균 |
| 평균 마감 시간 | 생성일부터 수주까지 평균 일수 |
| 주요 실주 사유 | loss_reason 그룹화와 수 계산 |
| 실주 단계 분포 | 어느 단계에서 가장 자주 잃는가 |
| 이전 기간 대비 | 수주율 비교 |
| 목표 대비 | target_win_rate가 설정된 경우 비교 |
출력:
win_loss: {
deals_won: integer
deals_lost: integer
win_rate: percentage
vs_prior_period: percentage_change | null
vs_target: { target: percentage, actual: percentage } | null
avg_deal_size_won: number | null
avg_days_to_close: float
win_rate_by_source: [ { source: string, win_rate: percentage, count: integer } ]
win_rate_by_owner: [ { owner: string, win_rate: percentage, count: integer } ] | null
top_loss_reasons: [
{ reason: string, count: integer, percentage: percentage }
]
loss_by_stage: [
{ stage: string, lost_count: integer, percentage: percentage }
]
}
분석 7: 예측 및 충족률
답하는 질문: 목표 숫자를 달성할 수 있는가? 목표를 감당할 만큼 충분한 파이프라인이 있는가?
target_pipeline_value 또는 매출 목표가 구성된 경우에만 이 분석을 실행합니다.
| 지표 | 계산 방법 |
|---|---|
| 파이프라인 충족 배수 | 가중 파이프라인 / 남은 할당량 |
| 커밋 예측 | 협상 + 제안 단계 거래 합계 |
| 최선 사례 예측 | 커밋 + 적격 거래 × 과거 수주율 |
| 목표까지 격차 | 목표 - 최선 사례 예측 |
| 격차를 메우는 데 필요한 거래 수 | 격차 / 평균 거래 크기 |
| 격차를 메우는 데 필요한 미팅 수 | 필요한 거래 수 / 과거 미팅-마감 전환율 |
출력:
forecast: {
target: number
commit_forecast: number
best_case_forecast: number
gap_to_target: number
pipeline_coverage_ratio: float # 3x+는 건전, 2x 미만은 위험
deals_needed_to_close_gap: integer
meetings_needed_to_close_gap: integer
coverage_assessment: "건전(3x+)" | "충분(2-3x)" | "위험(<2x)" | "심각(<1x)"
} | null
출력 계약(전체 분석)
analysis: {
period: { type, start_date, end_date }
volume: { ... }
qualification: { ... }
source_attribution: { ... }
stage_analysis: { ... }
stuck_and_at_risk: { ... }
win_loss: { ... }
forecast: { ... } | null
}
이 단계 뒤에는 사람 확인 지점이 없습니다. 분석 결과는 곧바로 보고서 생성에 들어갑니다.
3단계: 보고서 생성
목적: 원시 분석을 두 가지 보고서 형식으로 바꿉니다. 경영진 요약과 상세 진단입니다. 순수 LLM 추론입니다.
입력 계약
analysis: { ... } # 2단계에서 가져옴
benchmarks: { ... } | null # 구성에서 가져옴
경영진 요약 형식
한 페이지. 숫자와 추세. 창업자나 영업 리더가 60초 안에 봐야 할 내용입니다.
# 파이프라인 검토 — [기간 유형]: [시작일]부터 [종료일]까지
## 스냅샷
| 지표 | 이번 기간 | 이전 기간 | 변화 |
|--------|------------|-------------|--------|
| 예약된 미팅 | X | Y | +/-Z% |
| 완료된 미팅 | X | Y | +/-Z% |
| 적격률 | X% | Y% | +/-Z pts |
| 수주율 | X% | Y% | +/-Z pts |
| 파이프라인 가치 | $X | $Y | +/-Z% |
| 평균 거래 크기 | $X | $Y | +/-Z% |
| 평균 마감 일수 | X | Y | +/-Z |
## 위험 신호
- [크게 하락 중인 지표]
- [기준을 넘은 정체 거래]
- [2x 미만의 파이프라인 충족률]
- [단일 출처가 파이프라인의 60% 초과]
- [20% 초과 노쇼율]
## 긍정 신호
- [상승 중인 지표]
- [성과가 좋은 출처]
- [예상보다 빠르게 움직이는 단계]
## 상위 3개 조치
1. [이번 주 가장 영향력 큰 조치]
2. [두 번째로 영향력 큰 조치]
3. [세 번째로 영향력 큰 조치]
상세 진단 형식
전체 데이터 표, 차트(마크다운 표), 해설을 포함합니다.
# 파이프라인 진단 — [기간]
## 1. 규모
[규모 지표 표]
[해설: 규모가 목표에 맞는가? 상승 중인가, 하락 중인가? 미팅 목표를 충족하는가?]
## 2. 적격 판정
[적격 판정 분해 표]
[부적격 사유 표]
[해설: 올바른 사람을 만나고 있는가? 해결해야 할 공통 부적격 사유는 무엇인가?]
## 3. 유입 출처 효과
[출처 기여도 표 — 적격률순 정렬]
[해설: 어떤 채널이 작동하는가? 어떤 채널이 시간을 낭비하는가?
어디에 더 투자해야 하는가? 어디를 줄여야 하는가?]
## 4. 단계 분포 및 속도
[거래 수, 매출, 평균 일수, 전환율이 포함된 단계 분해 표]
[해설: 파이프라인이 어디에서 두꺼운가? 어디에서 얇은가?
속도는 건전한가, 느려지는가?]
## 5. 정체 거래
[권고 조치가 포함된 정체 거래 표]
[활동 없는 거래 표]
[해설: 전체 위험 매출, 정체 거래의 공통 패턴]
## 6. 수주/실주 분석
[수주율 표 — 전체, 출처별, 담당자별]
[실주 사유 표]
[단계별 실주 표]
[해설: 왜 지는가? 어떤 단계에서 지는가? 패턴이 있는가?]
## 7. 예측 및 충족률(목표가 설정된 경우)
[예측 표]
[충족률 평가]
[해설: 목표 숫자를 달성할 수 있는가? 무엇이 필요할까?]
## 권고안
[데이터를 바탕으로 한 구체적이고 실행 가능한 권고안 번호 목록.
각 권고안은 근거가 된 특정 데이터 지표를 인용해야 합니다.]
권고안 로직
분석에서 발견된 패턴을 바탕으로 권고안을 생성합니다.
| 패턴 | 권고안 |
|---|---|
| 적격률 <40% | "ICP 타기팅을 검토하세요. 부적격 잠재고객과 너무 많이 만나고 있습니다. 상위 부적격 사유는 [X]입니다. [출처/기준]을 더 엄격히 하는 것을 고려하세요." |
| 노쇼율 >20% | "미팅 확인 흐름을 구현하세요. 24시간 전과 1시간 전에 리마인더를 보내세요. 현재 노쇼율 X%는 기간당 Y건의 미팅 손실을 만들고 있습니다." |
| 한 출처가 파이프라인의 60% 초과 | "리드 출처를 다변화하세요. [출처]가 파이프라인의 X%를 만듭니다. 이 채널 성과가 떨어지면 파이프라인이 무너집니다. [대안 채널]을 테스트하세요." |
| 품질은 높지만 규모가 낮은 출처 | "[출처]를 확장하세요. 적격률 X%(파이프라인 최고)이지만 규모는 Y%에 불과합니다. 여기에 더 투자하세요." |
| 특정 단계에 정체된 거래 | "[단계]를 해소하세요. X개 거래가 평균 Y일 머무르고 있습니다(정상의 2배). 공통 패턴: [관찰]. 권고: [구체적 조치]." |
| 수주율 하락 | "수주율이 X%에서 Y%로 하락했습니다. 주요 실주 사유가 [Z]로 이동했습니다. 고려할 대응: [구체적 대응]." |
| 파이프라인 충족률 <2x | "목표 [목표] 대비 파이프라인 충족률은 [X]x입니다. 격차를 메우려면 적격 거래 Z건이 더 필요합니다. 현재 전환율 기준으로는 미팅 W건이 필요합니다." |
| 평균 주기 길어짐 | "이전 기간 대비 거래 마감이 X일 더 오래 걸립니다. 병목은 [단계]에 있습니다. 고려할 조치: [가속화할 구체적 조치]." |
| 특정 단계 실주율 높음 | "실주의 X%가 [단계]에서 발생합니다. 이는 [해석]을 시사합니다. 고려할 조치: [조치]." |
출력 계약
report: {
executive_summary: string # 마크다운 형식
detailed_diagnostic: string # 마크다운 형식
recommendations: [
{
priority: "high" | "medium" | "low"
area: string # "volume", "qualification", "source", "velocity", "stuck", "win_loss", "forecast"
recommendation: string
data_point: string # 이 권고안을 이끈 구체적 지표
expected_impact: string # 이를 고치면 생길 효과
}
]
stuck_deal_actions: [
{
deal_name: string
company: string
action: string
owner: string | null
}
]
}
사람 확인 지점
경영진 요약을 먼저 제시한 뒤 상세 진단을 볼 수 있다고 안내합니다.
[경영진 요약 렌더링]
---
전체 상세 진단도 사용할 수 있습니다.
이번 검토의 조치:
1. [높은 우선순위 권고안]
2. [높은 우선순위 권고안]
3. [중간 우선순위 권고안]
즉시 주의가 필요한 정체 거래:
| 거래 | 회사 | 단계 | 정체 일수 | 조치 |
|------|---------|-------|------------|--------|
| ... | ... | ... | ... | ... |
전체 진단을 볼까요? 아니면 이 권고안 중 하나를 실행할까요?
4단계: 내보내기 및 공유(선택)
목적: 보고서를 저장하고, 선택적으로 사용자가 선호하는 위치로 보냅니다.
프로세스
사용자 선호에 따라 처리합니다.
| 대상 | 방법 |
|---|---|
| Markdown 파일 | clients/<client>/reports/pipeline-review-{date}.md에 저장 |
| Google Sheets | 데이터 표를 시트로 내보내기(지표, 거래 목록, 출처 분해) |
| Notion | Notion MCP를 통해 Notion 데이터베이스 페이지로 전송 |
| Slack | 경영진 요약을 채널로 전송 |
| 이메일 | agentmail로 전송 |
| stdout | 그냥 표시(기본값) |
실행 요약
| 단계 | 도구 의존성 | 사람 확인 지점 | 일반 소요 시간 |
|---|---|---|---|
| 0. 구성 | 없음 | 최초 실행 시만 | 5분(한 번) |
| 1. 데이터 가져오기 | 구성 가능(CRM API, CSV, Supabase 등) | 데이터가 맞아 보이는지 확인 | 1-2분 |
| 2. 분석 | 없음(계산 + LLM 추론) | 없음 — 곧바로 보고서로 전달 | 자동 |
| 3. 보고서 생성 | 없음(LLM 추론) | 경영진 요약 검토, 세부 내용 탐색 | 5-10분 |
| 4. 내보내기 | 구성 가능(파일, Sheets, Notion 등) | 선택 | 1분 |
전체 사람 검토 시간: 약 10-15분입니다. 보통 수동 CRM 탐색으로 30-60분 걸리는 전체 파이프라인 검토를 이 시간 안에 완료합니다.
데이터 가용성에 맞게 조정
모든 CRM이 모든 필드를 갖고 있지는 않습니다. 분석은 단계적으로 자연스럽게 축소됩니다.
| 누락 필드 | 건너뛰는 것 | 그래도 분석이 작동하나요? |
|---|---|---|
amount | 매출 지표, 가중 파이프라인, 예측 | 예 — 규모와 단계 분석은 계속 실행 |
source | 유입 출처 기여도(분석 3) | 예 — 나머지는 모두 계속 실행 |
loss_reason | 실주 사유 분해 | 예 — 수주/실주율은 계속 계산 |
owner | 담당자별 분석 | 예 — 집계 지표는 계속 실행 |
last_activity_date | 활동 없는 거래 감지 | 부분적 — 정체 거래는 단계 체류 기간으로 계속 감지 |
close_date | 속도, 평균 마감 일수 | 부분적 — 단계 분포는 계속 작동 |
| 비교 기간 데이터 | 기간 대비 추세 | 예 — 단일 기간 분석도 전체 보고서를 생성 |
유용한 보고서를 위한 최소 실행 가능 데이터: 거래명 + 단계 + 생성일. 나머지는 풍부하게 만들지만 필수는 아닙니다.
주기 가이드
| 검토 유형 | 기간 | 대상 | 초점 |
|---|---|---|---|
| 주간 스탠드업 | 최근 7일 | 영업팀 | 규모, 정체 거래, 이번 주 우선순위 |
| 격주 검토 | 최근 14일 | 영업 리더 | 적격 판정, 유입 출처 효과, 추세 |
| 월간 검토 | 최근 30일 | 창업자 / 영업 부사장 | 전체 진단, 수주/실주, 예측 |
| 분기 비즈니스 리뷰 | 최근 90일 | 리더십 / 이사회 | 추세, 단위 경제성, 전략 권고안 |
보고서 깊이는 기간 길이에 맞춰 자동으로 조정됩니다. 주간 검토는 규모와 정체 거래를 강조합니다. 분기 검토는 추세, 전환율, 전략 패턴을 강조합니다.
팁
- 일관된 주기로 실행하세요. 가치는 누적됩니다. 여러 데이터 지점이 있어야 추세가 보입니다. 최근 3개월과 비교할 수 있을 때 월간 검토의 유용성은 10배 커집니다.
- 정체 거래 섹션을 건너뛰지 마세요. 즉각적인 투자수익이 여기에서 나옵니다. 발견해 풀어낸 정체 거래마다 매출이 앞당겨집니다.
- 유입 출처 기여도는 가장 레버리지가 큰 인사이트입니다. LinkedIn이 콜드 이메일보다 3배 높은 적격률을 만든다는 사실을 알면 예산과 노력을 옮겨야 합니다. 대부분의 팀은 이 분석을 하지 않습니다.
- 허영 지표를 조심하세요. "미팅 40건을 예약했다"는 적격률이 15%라면 아무 의미가 없습니다. 품질 없는 규모는 모두의 시간을 낭비합니다.
- 노쇼율은 숨은 누수입니다. 대부분의 팀은 예약된 미팅은 추적하지만 완료된 미팅은 추적하지 않습니다. 노쇼율 25%는 미팅 4건 중 1건이 낭비된다는 뜻입니다. 확인 시퀀스로 고치세요.
- 파이프라인 충족률 2x 미만은 위험 신호입니다. 이번 분기에 $100K가 필요한데 가중 파이프라인이 $150K라면 아마 달성하기 어렵습니다. 건전한 수준은 3x+입니다.
- 실주 사유 데이터는 영업 담당자가 실제로 입력할 때만 유용합니다. 실주의 80%가 "기타"이거나 비어 있다면 실주 분석은 의미가 없습니다. 먼저 데이터 위생을 고치세요.