시퀀스 성과 진단 - 이메일 캠페인을 끝까지 분석합니다 — Claude Skill
Claude Code용 Claude 스킬 · 제공: Gooseworks · 실행: /sequence-performance (Claude 내)·업데이트: 2026년 6월 14일
이메일 시퀀스 성과를 카피와 콘텐츠 분석까지 포함해 진단합니다
- 캠페인 발송, 오픈, 답장, 반송 데이터를 가져옵니다
- 실제 이메일 카피와 제목줄을 읽습니다
- 답장 내용을 분석해 이의 제기와 관심 신호를 파악합니다
- 정량 지표와 카피 품질 평가를 제공합니다
- 실행 가능한 권장사항을 출력합니다
대상
기능
캠페인마다 무엇이 효과적이었고 무엇을 다음에 고쳐야 하는지 확인합니다.
진행 중인 시퀀스에서 실제 답장 패턴을 기준으로 어떤 터치를 다시 써야 하는지 찾습니다.
콜드 이메일 시퀀스의 카피 품질과 반응 패턴을 점검합니다.
작동 방식
캠페인 데이터와 이메일 카피를 입력으로 받습니다
정량 지표를 계산합니다
실제 이메일 카피를 읽고 분석합니다
답장을 의도별로 분류합니다
권장사항이 포함된 진단 보고서를 출력합니다
개선되는 지표
지원 도구
시퀀스 성과 진단을(를) 사용해 보시겠어요?
시작 방법을 선택하세요.
이 스킬을 컴퓨터에 로컬로 설치하고 실행합니다.
컴퓨터에서 터미널을 열고 이 명령을 붙여넣으세요:
이 명령은 스킬과 모든 파일을 컴퓨터에 다운로드합니다:
모든 프로젝트에서 사용하려면 끝에 -g를 추가하세요.
Claude Code를 시작한 다음 명령을 입력하세요:
시퀀스 성과
허영 지표를 넘어섭니다. 대부분의 캠페인 보고서는 오픈율과 답장률만 알려줍니다. 이 composite은 실제로 보낸 이메일을 읽고, 받은 모든 답장을 읽고, 응답을 분류하고, 문구를 평가하고, 리드 품질을 평가한 뒤 무엇이 작동하는지, 무엇이 작동하지 않는지, 무엇을 해야 하는지 구체적으로 알려줍니다.
세 가지 분석 레이어:
- 정량: 숫자 - 발송, 오픈, 답장, 반송, 전환을 touch 및 variant별로 분석
- 정성(문구): 제목, 이메일 본문, CTA, 개인화가 실제로 좋은가? 무엇이 먹히고 무엇이 실패하는가?
- 정성(답장): 사람들이 실제로 뭐라고 말하는가? 어떤 반론이 반복되는가? 무엇이 진짜 관심을 만드는가?
자동 로드 시점
다음 경우 이 composite을 로드합니다.
- 사용자가 "내 캠페인 성과가 어떤가요", "시퀀스 성과", "캠페인 리뷰", "이메일 분석"이라고 말함
- 사용자가 "내 영업 연락을 분석해 주세요", "왜 캠페인이 작동하지 않나요", "이메일 결과를 리뷰해 주세요"라고 말함
- 상위 작업 흐름(파이프라인 운영, 주간 리뷰)이 캠페인 성과 확인을 트리거함
- 캠페인이 7일 이상 실행되었고 의미 있는 데이터가 있음
0단계: 설정(1회)
첫 실행에서 이 선호도를 수집하고 저장합니다. 이후 실행에서는 건너뜁니다.
영업 연락 도구 설정
| 질문 | 옵션 | 저장 이름 |
|---|---|---|
| 어떤 영업 연락 도구를 사용하나요? | Smartlead / Instantly / Outreach.io / Lemlist / Apollo / Other | outreach_tool |
| 캠페인 데이터에 어떻게 접근하나요? | MCP tools / API / CSV export / dashboard screenshot | access_method |
귀사 맥락(문구 평가용)
| 질문 | 목적 | 저장 이름 |
|---|---|---|
| 회사는 무엇을 하나요? | 문구가 가치를 명확히 전달하는지 평가 | company_description |
| ICP는 누구인가요? 직함, 업종, 회사 규모 | 리드 품질 평가 | icp_definition |
| 어떤 문제를 해결하나요? | 문구가 올바른 고통을 다루는지 평가 | pain_point |
| 어떤 증거 자료가 있나요? | 문구가 이를 효과적으로 쓰는지 평가 | proof_points |
| CTA 목표는 무엇인가요? 미팅 예약, 답장 받기, 페이지 이동 | CTA 효과 평가 | cta_goal |
벤치마크 맥락
| 질문 | 목적 | 저장 이름 |
|---|---|---|
| 콜드 영업 연락인가요, 웜/육성인가요? | 벤치마크 보정 - 콜드는 기대율이 낮음 | outreach_type |
| 어떤 업종에 판매하나요? | 업종별 벤치마크 | target_industry |
| SMB, mid-market, enterprise 중 어디에 판매하나요? | 세그먼트별 벤치마크 | target_segment |
설정 저장 위치: clients/<client-name>/config/sequence-performance.json 또는 동등한 위치.
1단계: 캠페인 데이터 가져오기
목적: 지표, 이메일 문구, 답장 내용 등 모든 캠페인 데이터를 추출합니다.
입력 계약
campaign_selection: {
campaign_id: string | null # 특정 캠페인 ID(알고 있는 경우)
campaign_name: string | null # 검색할 캠페인명
date_range: { # 선택 - 지정하지 않으면 모든 데이터 가져오기
start_date: string
end_date: string
} | null
include_replies: boolean # 기본값: true - 실제 답장 텍스트 가져오기
}
outreach_tool: string # 설정에서 가져옴
access_method: string # 설정에서 가져옴
프로세스
세 범주의 데이터를 가져옵니다.
A) 캠페인 지표
| 데이터 포인트 | 필요한 내용 |
|---|---|
| 전체 이메일 발송 | touch별(Touch 1, Touch 2, Touch 3 등) |
| 전체 고유 수신자 | 이메일을 받은 사람의 중복 제거 수 |
| 오픈 | touch별, 고유 오픈 vs. 전체 오픈 |
| 답장 | touch별, 전체 답장 수 |
| 반송 | hard bounce + soft bounce |
| 구독 해지 | 수량 |
| 클릭 | 링크 추적이 켜져 있는 경우(touch별) |
| 긍정 답장 | 도구에서 분류되어 있는 경우 |
| 예약된 미팅 | 도구에서 추적되는 경우 |
영업 연락 도구별:
| 도구 | 지표 가져오는 방법 |
|---|---|
| Smartlead | get_campaign_stats, get_campaign_analytics, get_campaign_variant_statistics, get_campaign_sequence_analytics |
| Instantly | 대시보드 CSV export 또는 API |
| Outreach.io | Sequence analytics API 또는 CSV export |
| Lemlist | 캠페인 analytics API 또는 CSV export |
| Apollo | Sequence analytics 또는 CSV export |
| Other/CSV | 사용자가 columns: email, status, opened, replied, bounced가 있는 CSV 제공 |
B) 이메일 문구(시퀀스 콘텐츠)
시퀀스의 모든 touch에 대해 실제 이메일 템플릿/문구를 가져옵니다.
| 데이터 포인트 | 필요한 내용 |
|---|---|
| 제목 | 각 touch와 각 variant(A/B test) |
| 이메일 본문 | 각 touch와 각 variant의 전체 텍스트 |
| 개인화 필드 | 사용된 merge field |
| 시퀀스 타이밍 | touch 사이 일수 |
| variant split | A/B testing이면 각 variant 비중 |
영업 연락 도구별:
| 도구 | 문구 가져오는 방법 |
|---|---|
| Smartlead | get_campaign_sequences |
| Instantly | CSV export 또는 API |
| Others | CSV export 또는 사용자가 문구 붙여넣기 |
C) 답장 내용
받은 모든 답장의 실제 텍스트를 가져옵니다.
| 데이터 포인트 | 필요한 내용 |
|---|---|
| 답장 텍스트 | 전체 답장 본문 |
| 답장 발신자 | 이름, 직함, 회사 |
| 답장을 유발한 touch | Touch 1, 2, 3 등 |
| 답장 카테고리 | 도구에서 이미 분류한 경우(interested, not interested 등) |
| 스레드 맥락 | 답장을 받은 원본 이메일 |
영업 연락 도구별:
| 도구 | 답장 가져오는 방법 |
|---|---|
| Smartlead | get_campaign_leads_history, fetch_master_inbox_replies, get_campaign_lead_message_history |
| Instantly | 답장 CSV export |
| Others | CSV export 또는 사용자가 reply dump 제공 |
데이터 표준화
표준 구조로 정규화합니다.
campaign_data: {
campaign_name: string
campaign_id: string
date_range: { start: string, end: string }
status: "active" | "paused" | "completed"
metrics: {
total_sent: integer
unique_recipients: integer
total_opens: integer
unique_opens: integer
total_replies: integer
bounces: integer
unsubscribes: integer
clicks: integer | null
meetings_booked: integer | null
}
sequence: [
{
touch_number: integer
delay_days: integer # 이전 touch 이후 일수
variants: [
{
variant_id: string # "A", "B" 등
subject: string
body: string
personalization_fields: string[]
metrics: {
sent: integer
opens: integer
replies: integer
bounces: integer
}
}
]
}
]
replies: [
{
sender_name: string
sender_title: string | null
sender_company: string | null
sender_email: string
reply_text: string
reply_date: string
triggered_by_touch: integer
triggered_by_variant: string | null
existing_category: string | null # 도구의 분류가 있으면 사용
}
]
lead_list_summary: {
total_leads: integer
by_title: [ { title: string, count: integer } ] | null
by_industry: [ { industry: string, count: integer } ] | null
by_source: [ { source: string, count: integer } ] | null
} | null
}
사람 확인 지점
## 캠페인 데이터 가져옴
캠페인: [name]
상태: [active/paused/completed]
기간: [start] to [end]
발송: Y명 수신자에게 X개 이메일
받은 답장: Z개(분석용 전체 텍스트 가져옴)
Touches: N touches, M variants
리드 데이터 사용 가능: [yes/partial/no]
데이터가 완전해 보이나요? (Y/n)
2단계: 정량 분석
목적: 모든 성과 지표를 계산하고, 업계 기준과 비교하며, 통계적 패턴을 식별합니다. 순수 계산입니다.
입력 계약
campaign_data: { ... } # 1단계에서 가져옴
outreach_type: string # 설정에서 가져옴("cold" 또는 "warm")
target_segment: string # 설정에서 가져옴("smb", "mid-market", "enterprise")
벤치마크
영업 연락 유형과 세그먼트에 따라 기대치를 보정합니다.
| 지표 | 콜드(SMB) | 콜드(Mid-Market) | 콜드(Enterprise) | 웜/육성 |
|---|---|---|---|---|
| 오픈율 | 40-60% | 30-50% | 25-40% | 50-70% |
| 답장률 | 3-8% | 2-5% | 1-3% | 10-20% |
| 긍정 답장률 | 1-3% | 0.5-2% | 0.3-1% | 5-10% |
| 반송률 | <3% | <3% | <2% | <1% |
| 구독 해지율 | <1% | <1% | <0.5% | <0.5% |
지표 계산
A) 전체 캠페인 지표
| 지표 | 공식 | 벤치마크 비교 |
|---|---|---|
| 오픈율 | unique_opens / (total_sent - bounces) | benchmark 대비 |
| 답장률 | total_replies / (total_sent - bounces) | benchmark 대비 |
| 반송률 | bounces / total_sent | benchmark 대비 |
| 구독 해지율 | unsubscribes / (total_sent - bounces) | benchmark 대비 |
| 클릭률 | clicks / (total_sent - bounces) | 추적되는 경우 |
| 긍정 답장률 | positive_replies / (total_sent - bounces) | benchmark 대비 |
| 미팅 전환 | meetings_booked / total_replies | 추적되는 경우 |
| 전달 가능률 | (total_sent - bounces) / total_sent | >97%여야 함 |
B) Touch별 분해
시퀀스의 각 touch에 대해:
| 지표 | 의미 |
|---|---|
| Touch 수준 오픈율 | 어떤 제목이 작동하는지 |
| Touch 수준 답장률 | 어떤 이메일이 응답을 만드는지 |
| 한계 답장률 | 이 touch의 답장 / 이 touch를 받았지만 아직 답하지 않은 사람 |
| 이탈률 | 이전 touch를 열었지만 이번 touch를 열지 않은 수신자 비율 |
| Touch 기여도 | 전체 답장 중 각 touch가 만든 비율 |
C) Variant 분석(A/B Testing)
touch별 variant가 여러 개 있으면:
| 지표 | 의미 |
|---|---|
| Variant 오픈율 | 어떤 제목이 이기는지 |
| Variant 답장률 | 어떤 이메일 본문이 이기는지 |
| 통계적 확신 | 차이가 실제인지 noise인지(의미 있는 데이터에는 variant당 약 100+ sends 필요) |
| 승자 선언 | 어떤 variant를 scale하고 어떤 것을 kill할지 |
통계적 유의성 확인:
- variant당 <50 sends → "데이터 부족 - 판단하기 이름"
- 50-100 sends → "방향성 - [variant]가 앞서지만 결론 아님"
- 100-250 sends → "유력한 승자 - [variant]가 X% 우수"
- 250+ sends → "통계적으로 유의 - [variant] scale, [other] kill"
D) 시간 패턴
| 지표 | 의미 |
|---|---|
| 요일별 답장률 | 사람들이 언제 가장 응답하는지 |
| 시간대별 답장률 | 오전 vs 오후 vs 저녁 응답 패턴 |
| 오픈-답장 시간 | 열고 답장하기까지 걸린 시간(즉시 = 강한 hook, 며칠 뒤 = 고민 후 응답) |
| 답장 속도 추세 | 캠페인 기간 동안 답장이 가속되는지, 안정적인지, 둔화되는지 |
출력 계약
quantitative_analysis: {
overall: {
open_rate: percentage
reply_rate: percentage
positive_reply_rate: percentage
bounce_rate: percentage
unsubscribe_rate: percentage
click_rate: percentage | null
meeting_conversion: percentage | null
deliverability_rate: percentage
}
vs_benchmark: {
open_rate: "above" | "at" | "below"
reply_rate: "above" | "at" | "below"
bounce_rate: "healthy" | "concerning" | "critical"
assessment: string # 한 줄 요약
}
by_touch: [
{
touch_number: integer
sent: integer
open_rate: percentage
reply_rate: percentage
marginal_reply_rate: percentage
reply_contribution: percentage # 전체 답장 중 이 touch에서 나온 비율
}
]
by_variant: [
{
touch_number: integer
variant_id: string
subject: string # 빠른 참조용
sent: integer
open_rate: percentage
reply_rate: percentage
confidence: string # "insufficient", "directional", "likely", "significant"
recommendation: string # "scale", "keep testing", "kill"
}
] | null
temporal: {
best_day: string
best_time: string
avg_open_to_reply_hours: float
velocity_trend: "accelerating" | "steady" | "decelerating"
} | null
}
사람 확인 지점은 없습니다. 다음 분석으로 바로 전달됩니다.
3단계: 답장 분석
목적: 모든 답장을 읽고, 분류하고, 반론 패턴을 추출하고, 답장이 문구와 리드 품질에 대해 무엇을 말하는지 평가합니다. 순수 LLM reasoning입니다.
입력 계약
replies: [...] # 1단계 campaign_data.replies에서 가져옴
your_company: {
description: string
pain_point: string
icp_definition: string
}
프로세스
A) 답장 분류
각 답장을 읽고 카테고리로 분류합니다.
| 카테고리 | 정의 | 예시 |
|---|---|---|
| 긍정적 관심 | 더 알고 싶어 하거나 대화에 열려 있음 | "좋습니다, 통화를 잡아 보죠" |
| 미팅 요청 | 명시적으로 만나자고 하거나 가능한 시간을 제공 | "How about Tuesday at 2pm?" |
| 웜 / 호기심 | 관심은 있지만 확정적이지 않고 질문함 | "Interesting — what does pricing look like?" |
| 반론 — 타이밍 | 지금은 아니지만 나중에는 가능 | "Q4까지 계약에 묶여 있습니다" |
| 반론 — 예산 | 감당할 수 없거나 우선순위가 아님 | "Not in our budget right now" |
| 반론 — 경쟁사 | 이미 경쟁 솔루션 사용 중 | "이미 [competitor]를 사용하고 있습니다" |
| 반론 — 관련성 | 적합성을 못 느낌 | "저희는 그런 문제가 없습니다" |
| 반론 — 권한 | 적절한 담당자가 아님 | "제가 이 일을 담당하지 않습니다" |
| 관심 없음 | 명확한 거절, 다시 연락하지 말라고 함 | "Not interested, please remove me" |
| 자동 답장 / OOO | 자동 응답, 부재중 | "...까지 부재중입니다" |
| 반송 / 전달 불가 | 기술적 실패 | "Mailbox not found" |
| 소개 | 회사 내 다른 사람에게 연결 | "우리 팀의 Sarah와 이야기해 보세요" |
| 질문 | 제품/제안에 대한 구체적 질문 | "Salesforce와 연동되나요?" |
B) 반론 패턴 분석
반론을 그룹화하고 패턴을 식별합니다.
| 분석 | 확인할 것 |
|---|---|
| 상위 반론 유형 | 어떤 반론이 가장 많이 나타나나요? 이는 시스템적 이슈를 드러냅니다. |
| Touch별 반론 | 반론이 Touch 1(나쁜 타기팅) vs Touch 3(피로)에 몰리나요? |
| Variant별 반론 | 어떤 variant가 "관련 없음" 반론을 더 많이 유발하나요? |
| 반론 언어 | 사람들이 정확히 어떤 단어를 쓰나요? 문제를 어떻게 생각하는지 드러냅니다 |
| 처리 가능 vs 종결 | 어떤 반론은 극복 가능(타이밍, 권한)하고 어떤 반론은 부적격(관련성)인가요? |
C) 긍정 신호 분석
긍정 답장과 웜 응답에 대해:
| 분석 | 확인할 것 |
|---|---|
| 관심을 유발한 것 | 어떤 touch/variant가 긍정 답장을 만들었나요? 어떤 표현이 먹혔나요? |
| 공통 관심 패턴 | 긍정 응답자는 무엇을 공유하나요? 직함, 업종, 회사 규모 |
| 공감된 구체 문구 | 무엇이 hook이 되었는지 보여주는 답장의 정확한 문장을 인용 |
| 받은 질문 | 웜 리드는 무엇을 알고 싶어 하나요? 이메일에 무엇이 빠졌는지 드러냅니다 |
D) 답장 품질 점수
종합 평가:
| 점수 | 기준 |
|---|---|
| 강함 | 답장의 >50%가 긍정/웜/질문. 반론이 처리 가능(타이밍, 권한). "관련 없음"이 적음. |
| 혼합 | 30-50% 긍정. 처리 가능한 반론과 종결 반론이 섞임. "관련 없음" 일부 - 타기팅 이슈 가능. |
| 약함 | <30% 긍정. "관심 없음"과 "관련 없음"이 지배적. 타기팅 또는 문구 문제 신호. |
| 유해 | 높은 구독 해지 + "remove me" + 분노한 답장. 근본적으로 무언가 잘못됨(나쁜 리스트, 공격적 문구, 과도한 빈도). |
출력 계약
reply_analysis: {
total_replies: integer
classification: [
{ category: string, count: integer, percentage: percentage }
]
reply_quality_score: "strong" | "mixed" | "weak" | "toxic"
reply_quality_reasoning: string
objection_patterns: {
top_objection: { type: string, count: integer, example_quotes: string[] }
objections_by_touch: [ { touch: integer, objection_type: string, count: integer } ]
handleable_objections: [ { type: string, count: integer, suggested_handle: string } ]
terminal_objections: [ { type: string, count: integer, implication: string } ]
}
positive_signals: {
interest_triggers: [ { touch: integer, variant: string | null, pattern: string } ]
common_responder_traits: string # 긍정 응답자의 공통점
resonating_phrases: string[] # 긍정 답장의 정확한 인용
common_questions: string[] # 웜 리드가 묻는 질문
}
notable_replies: [ # 가장 배울 점이 많은 답장 5-10개
{
category: string
sender_info: string # Title @ Company
quote: string # 핵심 발췌
insight: string # 이것이 알려주는 점
}
]
}
4단계: 문구 품질 평가
목적: 실제 이메일 문구, 즉 제목, 본문, 개인화, CTA를 모범 사례와 답장 데이터에 비춰 평가합니다. 순수 LLM reasoning입니다.
입력 계약
sequence: [...] # 1단계 campaign_data.sequence에서 가져옴(실제 이메일)
quantitative_analysis: { ... } # 2단계에서 가져옴(성과가 좋은 touch/variant)
reply_analysis: { ... } # 3단계에서 가져옴(답장이 문구에 대해 말하는 것)
your_company: {
description: string
pain_point: string
proof_points: string[]
cta_goal: string
}
프로세스
각 touch와 variant를 다음 차원으로 평가합니다.
A) 제목 분석
각 제목에 대해:
| 기준 | 확인할 것 | 위험 신호 |
|---|---|---|
| 길이 | 50자 미만인가요? | 60자 초과는 모바일에서 잘림 |
| 구체성 | 특정 신호, 회사, 고통을 언급하나요? | 일반적인 "Quick question" 또는 "Checking in" |
| 호기심 간극 | 열어볼 이유를 만드나요? | 제목에서 명백한 영업 제안 |
| 스팸 유발 단어 | 스팸 필터를 유발하는 단어가 있나요? | "Free", "Limited time", "Act now", ALL CAPS |
| 본문과 일관성 | 이메일이 제목의 약속을 지키나요? | clickbait 제목 → 무관한 본문 |
| 오픈율 상관 | 2단계 오픈율과 교차 참조 | 낮은 오픈율 = 제목 문제 |
Variant별 제목 판정:
- 작동 중: 기준 이상의 오픈율. 유지합니다.
- 저성과: 기준 이하의 오픈율. 원인을 진단하고 대안을 제안합니다.
- 스팸 위험: 매우 낮은 오픈율 + 높은 반송률. 스팸 필터에 걸릴 가능성이 큽니다.
B) 이메일 본문 분석
각 이메일 본문에 대해:
| 기준 | 확인할 것 | 위험 신호 |
|---|---|---|
| 후킹 문장(첫 줄) | 수신자로 시작하나요, 아니면 우리 이야기로 시작하나요? | "I'm reaching out because..." 또는 "We are a company that..." |
| 길이 | Touch 1: 50-90단어. Touch 2+: 30-50단어. | 긴 문단. 150단어 초과. |
| 가치 제안 명확성 | 독자가 한 문장으로 무엇을 하는지 이해할 수 있나요? | jargon, 모호한 표현, buzzword |
| 증거 자료 | 구체적 근거(숫자, 고객, 결과)를 포함하나요? | 증거 없음 = 신뢰 없음. 일반적 주장. |
| 개인화 | 수신자에게 구체적인 것을 언급하나요? | {first_name} merge field만 있음. 회사/역할 맥락 없음. |
| CTA | 하나의 명확하고 마찰 낮은 행동 요청인가요? | CTA 여러 개. 높은 마찰의 요청("60분 데모 예약"). CTA 없음. |
| 톤 | 청중과 맞나요? SMB에는 캐주얼, enterprise에는 전문적? | 스타트업에는 너무 격식 있음. enterprise VP에게 너무 캐주얼. |
| 군더더기 표현 | 이메일 작성 엄격 규칙의 금지 문구가 있나요? | "Hope this finds you well", "just checking in", "touching base" |
| 시퀀스 진행 | 각 touch가 새 가치를 추가하나요, 반복만 하나요? | Touch 2가 Touch 1의 "bump"일 뿐. 같은 CTA 반복. |
| 답장 상관 | 2단계 답장률과 본문 품질을 교차 참조 | 좋은 문구 + 낮은 답장 = 타기팅 문제. 나쁜 문구 + 낮은 답장 = 문구 문제. |
C) 개인화 평가
| 수준 | 모습 | 평가 |
|---|---|---|
| 없음 | 모두에게 같은 이메일, merge field 없음 | "개인화가 없습니다 - 대량 발송처럼 읽힙니다" |
| 티어 1(필드만) | {first_name}, {company} - 하지만 템플릿 동일 | "최소 개인화 - merge field는 있지만 세그먼트별 콘텐츠 없음" |
| 티어 2(세그먼트) | 업종/역할/신호별 다른 템플릿 | "세그먼트 수준 개인화 - 확장에 적합" |
| 티어 3(개인) | 개인별 고유 참조(그들의 게시물, 그들의 신호) | "깊은 개인화 - 고가치 타깃에 훌륭함" |
D) 시퀀스 아키텍처 평가
| 기준 | 확인할 것 |
|---|---|
| Touch 수 | 충분한 touch가 있나요? 3-5개가 표준. 1-2개는 너무 적고, 7개 이상은 너무 많음. |
| 타이밍 | 지연 시간이 적절한가요? 너무 짧으면 성가시고, 너무 길면 잊힙니다. |
| 각도 다양성 | 각 touch가 새 관점을 가져오나요, 아니면 반복하나요? |
| 에스컬레이션 | 시퀀스가 긴급성을 키우나요, 아니면 평평한가요? |
| breakup | 끝에 깔끔한 exit ramp가 있나요? |
출력 계약
copy_assessment: {
overall_grade: "A" | "B" | "C" | "D" | "F"
overall_summary: string # 2-3문장 평가
subject_lines: [
{
touch: integer
variant: string
subject: string
open_rate: percentage
verdict: "working" | "underperforming" | "spam_risk"
issues: string[]
suggested_alternative: string | null
}
]
email_bodies: [
{
touch: integer
variant: string
word_count: integer
hook_quality: "strong" | "adequate" | "weak"
value_prop_clarity: "clear" | "muddled" | "missing"
proof_usage: "strong" | "weak" | "none"
personalization_level: "tier_1" | "tier_2" | "tier_3" | "none"
cta_quality: "clear_low_friction" | "clear_high_friction" | "unclear" | "missing"
issues: string[]
rewrite_suggestions: string[]
}
]
sequence_architecture: {
touch_count_verdict: string
timing_verdict: string
angle_diversity_verdict: string
overall_flow: string
}
strongest_element: string # 문구에서 가장 잘 작동하는 요소
weakest_element: string # 가장 많이 고쳐야 할 요소
}
5단계: 리드 품질 평가
목적: 올바른 사람에게 보내고 있는지 평가합니다. 완벽한 문구도 청중이 틀리면 실패합니다. 답장 패턴과 리드 데이터를 교차 참조합니다.
입력 계약
lead_list_summary: { ... } | null # 1단계에서 가져옴(사용 가능한 경우)
reply_analysis: { ... } # 3단계에서 가져옴
quantitative_analysis: { ... } # 2단계에서 가져옴
icp_definition: string # 설정에서 가져옴
프로세스
A) 타기팅 평가
| 확인 | 확인할 것 | 위험 신호 |
|---|---|---|
| 직함 적합성 | 리드 직함이 ICP buyer/champion/user persona와 맞나요? | 구매하거나 사용하지 않는 역할에 발송 |
| 업종 적합성 | 리드가 타깃 업종에 있나요? | 리스트에 ICP 밖 업종 포함 |
| 직급 적합성 | 요청에 맞는 수준인가요? | 너무 주니어(구매 불가) 또는 너무 시니어(콜드 이메일 안 읽음) |
| 회사 규모 적합성 | 회사가 타깃 범위에 있나요? | 너무 작음(지불 불가) 또는 너무 큼(콜드에 응답 안 함) |
B) 신호 품질(답장에서 추론)
| 패턴 | 의미 |
|---|---|
| 높은 "관련 없음" 답장 | 문제가 없는 사람에게 보내고 있음 |
| 높은 "담당자 아님" 답장 | 회사는 맞지만 역할이 틀림 |
| 높은 "이미 솔루션 있음" 답장 | 문제는 맞지만 늦게 접근함 |
| 높은 "타이밍" 반론 | 사람과 문제는 맞지만 시점이 틀림 - 타기팅 문제 아님 |
| 낮은 답장률 + 높은 오픈율 | 열어 보지만 관련성을 못 느낌 - 문구/타기팅 불일치 |
| 높은 반송률 | 리스트 품질 문제 - 나쁜 이메일, 오래된 데이터 |
C) 응답자 프로필 분석
긍정적으로 답한 사람의 데이터가 있으면:
- 어떤 직함이 가장 많이 응답했나요?
- 어떤 업종인가요?
- 어떤 회사 규모인가요?
- 전체 발송 리스트와 다른 패턴이 있나요?
이는 "의도한 ICP"와 "실제 ICP"를 드러냅니다. 둘이 어긋나는 경우가 있습니다.
출력 계약
lead_quality: {
overall_grade: "A" | "B" | "C" | "D" | "F"
overall_summary: string
targeting_assessment: {
title_fit: "aligned" | "partially_aligned" | "misaligned"
industry_fit: "aligned" | "partially_aligned" | "misaligned"
issues: string[]
}
signal_quality: {
primary_signal: string # 답장 패턴이 타기팅에 대해 시사하는 것
evidence: string[] # 구체 데이터 포인트
}
responder_profile: {
most_responsive_titles: string[]
most_responsive_industries: string[]
actual_vs_intended_icp: string # 응답 청중이 타기팅과 어떻게 다른지
} | null
recommendations: string[]
}
6단계: 보고서 생성
목적: 모든 분석을 하나의 진단 보고서로 종합합니다. 경영진 요약과 상세 분해, 그리고 우선순위화된 작업 목록을 포함합니다.
입력 계약
quantitative_analysis: { ... } # 2단계에서 가져옴
reply_analysis: { ... } # 3단계에서 가져옴
copy_assessment: { ... } # 4단계에서 가져옴
lead_quality: { ... } # 5단계에서 가져옴
benchmarks: { ... } # 2단계에서 보정됨
보고서 구조
# 시퀀스 성과 리뷰: [Campaign Name]
**기간:** [date range] | **상태:** [active/paused/completed]
---
## 경영진 요약
**전체 판정:** [한 문장: "이 캠페인은 [performing well / underperforming / in trouble] because [key reason]."]
| 차원 | 등급 | 한 줄 평가 |
|-----------|-------|-------------------|
| 지표 | [A-F] | [e.g., "Reply rate 2x benchmark — strong performance"] |
| 문구 품질 | [A-F] | [e.g., "Touch 1 is strong, Touch 2-3 need new angles"] |
| 리드 품질 | [A-F] | [e.g., "Targeting is tight but volume is too low"] |
| 답장 품질 | [Strong/Mixed/Weak/Toxic] | [e.g., "60% positive — objections are handleable"] |
### 작동하는 것(더 밀어붙이기)
- [Specific thing that's working, with data]
- [Another]
### 작동하지 않는 것(수정 또는 중단)
- [Specific thing that's failing, with data]
- [Another]
### 상위 3개 작업
1. [Highest-impact action with expected result]
2. [Second]
3. [Third]
---
## 상세 지표
### 전체 성과
| 지표 | 실제 | 벤치마크 | 상태 |
|--------|--------|-----------|--------|
| 발송 이메일 | X | — | — |
| 전달 가능률 | X% | >97% | [flag] |
| 오픈율 | X% | Y% | [above/below] |
| 답장률 | X% | Y% | [above/below] |
| 긍정 답장률 | X% | Y% | [above/below] |
| 반송률 | X% | <3% | [flag] |
| 미팅 전환 | X% | — | — |
### Touch별 성과
| Touch | 발송 | 오픈율 | 답장률 | 한계 답장률 | 전체 답장 비중 |
|-------|------|-----------|------------|--------------------|--------------------|
| 1 | X | Y% | Z% | Z% | W% |
| 2 | X | Y% | Z% | Z% | W% |
| 3 | X | Y% | Z% | Z% | W% |
[Commentary: which touches are carrying the campaign? Is Touch 2+ adding value or wasting sends?]
### Variant 성과(A/B testing인 경우)
| Touch | Variant | 제목 | 발송 | 오픈율 | 답장률 | 확신도 | 작업 |
|-------|---------|---------|------|-----------|------------|------------|--------|
| 1 | A | "..." | X | Y% | Z% | Likely | Scale |
| 1 | B | "..." | X | Y% | Z% | Likely | Kill |
---
## 답장 심층 분석
### 답장 분류
| 카테고리 | 수 | 답장 비중 | 추세 |
|----------|-------|-------------|-------|
| 긍정적 관심 | X | Y% | — |
| 미팅 요청 | X | Y% | — |
| 웜 / 호기심 | X | Y% | — |
| 반론 — 타이밍 | X | Y% | — |
| 반론 — 관련성 | X | Y% | [flag if high] |
| 관심 없음 | X | Y% | — |
| 자동 답장 / OOO | X | Y% | — |
### 상위 반론
| 반론 | 수 | 처리 가능? | 제안 응답 |
|-----------|-------|------------|-------------------|
| [objection] | X | Yes/No | [how to handle or what it implies] |
### 주목할 답장
[5-10 most instructive replies with quotes and what they teach us]
---
## 문구 평가
### 제목
| Touch | 제목 | 오픈율 | 판정 | 이슈 |
|-------|---------|-----------|---------|-------|
| 1 | "..." | X% | Working | — |
| 2 | "..." | X% | Underperforming | Too generic |
### 이메일 본문
| Touch | 등급 | Hook | 가치 제안 | 증거 | 개인화 | CTA |
|-------|-------|------|-----------|-------|----------------|-----|
| 1 | B+ | Strong | Clear | One proof point | Tier 2 | Clear, low-friction |
| 2 | C | Weak ("just following up") | Repeat of T1 | None new | Tier 1 | Same CTA as T1 |
[Specific rewrite suggestions for underperforming touches]
### 시퀀스 아키텍처
- Touch 수: [verdict]
- 타이밍: [verdict]
- 각도 다양성: [verdict]
- 전체 흐름: [verdict]
---
## 리드 품질
### 타기팅
| 차원 | 의도 | 실제(응답자 기준) | 적합성 |
|-----------|---------|------------------------|-----|
| 직함 | VP Sales, CRO | Sales Managers (mostly) | Partial |
| 업종 | SaaS, FinTech | SaaS (90%) | Aligned |
| 회사 규모 | 50-500 | 20-200 | Shift down |
[Commentary on targeting gaps]
---
## 권장안(우선순위순)
### 높은 우선순위(이번 주 실행)
1. **[Action]** — [Data point] → [Expected impact]
2. **[Action]** — [Data point] → [Expected impact]
### 중간 우선순위(이번 달 실행)
3. **[Action]** — [Data point] → [Expected impact]
4. **[Action]** — [Data point] → [Expected impact]
### 낮은 우선순위(Backlog)
5. **[Action]** — [Data point]
### 중단 목록
- [Anything that should be stopped — a variant, a touch, a segment]
권장안 생성 로직
| 발견 | 권장안 카테고리 |
|---|---|
| 오픈율이 benchmark보다 낮음 | 제목 재작성. 가장 성과가 좋은 touch/variant에서 작동하는 것을 바탕으로 대안 3개 제안. |
| 답장률이 기준보다 낮고 오픈율은 괜찮음 | 본문 문구 이슈. 제목은 열게 만들지만 이메일이 답장을 유도하지 못함. 후킹 문장, 증거, CTA에 집중. |
| 답장률도 낮고 오픈율도 낮음 | 둘 다. 제목과 본문 모두 작업 필요. 전체 시퀀스 재작성 고려. |
| 높은 "관련 없음" 반론 | 타기팅 이슈. ICP 필터를 좁힘. 리스트에서 [specific segments] 제거. |
| 높은 "담당자 아님" 소개 | 직함 타기팅 이슈. 사람들이 소개해 주는 대상을 기준으로 [suggested titles]로 이동. |
| 높은 "이미 솔루션 있음" 반론 | 포지셔닝 이슈. 문구에 경쟁 차별화를 추가. 또는 교체 전용 variant 고려. |
| 높은 "타이밍" 반론 | 문제 아님. 미래 영업 파이프라인입니다. 90일 후 재참여 시퀀스를 설정. |
| 한 variant가 명확히 승리 | 승자 scale. [X] variant로 100% 발송. 패자 slot에는 새 아이디어 테스트. |
| Touch 2/3 한계 답장이 거의 0 | 시퀀스를 짧게 줄이기 또는 후속 touch를 진짜 새 관점으로 재작성. |
| 높은 반송률 | 리스트 위생 이슈. 발송 전 이메일 검증. 유효하지 않은 주소 제거. 데이터 소스 확인. |
| Deliverability <95% | 인프라 이슈. SPF/DKIM/DMARC 확인, 발송 도메인 warm up, 일일 발송량 감소. |
출력 계약
report: {
executive_summary: string # Markdown formatted
detailed_report: string # Markdown formatted
recommendations: [
{
priority: "high" | "medium" | "low" | "kill"
category: "subject_line" | "body_copy" | "targeting" | "sequence" | "variant" | "infrastructure" | "list_hygiene"
action: string
data_point: string
expected_impact: string
}
]
rewrite_suggestions: [ # 바로 사용할 수 있는 문구 대안
{
touch: integer
element: "subject" | "body" | "cta"
current: string
suggested: string
rationale: string
}
] | null
}
사람 확인 지점
경영진 요약을 제시한 뒤 상세 확인을 제안합니다.
[Executive Summary rendered]
---
전체 상세 보고서에는 다음이 포함됩니다.
- Touch별 오픈/답장률 분해
- 모든 답장 분류와 인용
- Touch별 6개 차원의 문구 점수
- 의도한 ICP 대비 실제 ICP를 포함한 리드 품질 평가
- 재작성 제안이 포함된 우선순위 권장안
전체 보고서를 볼까요? 아니면 특정 권장안을 실행할까요?
실행 요약
| 단계 | 도구 의존성 | 사람 확인 지점 | 일반 소요 시간 |
|---|---|---|---|
| 0. 설정 | 없음 | 첫 실행만 | 5분(1회) |
| 1. 데이터 가져오기 | 설정 가능(Smartlead MCP, API, CSV) | 데이터 완전성 확인 | 1-2분 |
| 2. 정량 | 없음(계산) | 없음 - 보고서로 전달 | 자동 |
| 3. 답장 분석 | 없음(LLM reasoning) | 없음 - 보고서로 전달 | 자동 |
| 4. 문구 평가 | 없음(LLM reasoning) | 없음 - 보고서로 전달 | 자동 |
| 5. 리드 품질 | 없음(LLM reasoning) | 없음 - 보고서로 전달 | 자동 |
| 6. 보고서 생성 | 없음(LLM reasoning) | 경영진 요약 검토 | 5-10분 |
전체 사람 검토 시간: 약 10-15분. 수동 캠페인 리뷰로는 1-2시간 걸릴 분석입니다.
데이터 가용성에 따른 조정
| 누락 데이터 | 건너뛰는 항목 | 그래도 보고서가 유용한가? |
|---|---|---|
| 답장 텍스트 | 3단계(답장 분류, 반론 패턴) | 부분적으로 - 지표 + 문구 분석은 계속 실행 |
| Variant 데이터 | 2단계 variant 분석, variant 수준 문구 평가 | 예 - 단일 variant 분석은 계속 실행 |
| 리드 인구통계 | 5단계(리드 품질 타기팅 평가) | 예 - 답장 패턴에서 타기팅 품질 추론 |
| 오픈 추적 | 오픈율 분석 | 부분적으로 - 답장률 + 문구 분석은 계속 실행 |
| 미팅/전환 데이터 | 전환 지표 | 예 - 나머지는 모두 계속 실행 |
최소 실행 가능 데이터: 이메일 발송 수 + 답장 수 + 이메일 문구 텍스트. 나머지는 풍부하게 만드는 데이터입니다.
팁
- 캠페인 7일차와 14일차에 실행하세요. 7일차는 초기 문제(전달 가능성, 제목)를 잡습니다. 14일차는 의미 있는 반론 분석에 충분한 답장 볼륨을 제공합니다.
- 답장 분석에 진짜 가치가 있습니다. 지표는 무엇이 일어나는지 말해 줍니다. 답장은 왜 일어나는지 말해 줍니다.
- 높은 오픈율 + 낮은 답장률은 문구 문제입니다. 사람들은 열 만큼 관심이 있지만 이메일이 제목의 약속을 지키지 못합니다.
- 낮은 오픈율 + 오픈한 사람 기준 괜찮은 답장률은 제목 문제입니다. 이메일은 작동합니다. 사람들이 보지 못할 뿐입니다. 제목을 고치면 답장이 scale됩니다.
- "관련 없음" 반론은 가장 중요한 신호입니다. 답장의 20% 이상이 "이건 나와 관련 없다"고 말하면 문구 문제가 아니라 타기팅 문제입니다. 나쁜 리스트는 어떤 문구 재작성으로도 해결되지 않습니다.
- Variant를 너무 빨리 kill하지 마세요. 방향성 데이터를 보려면 variant당 100+ sends가 필요합니다. 30 sends에서 승자를 부르는 것은 noise를 읽는 것입니다.
- Touch 2/3은 전체 답장의 30-40%를 기여해야 합니다. Touch 1이 답장의 90% 이상을 차지하면 후속 이메일이 가치를 추가하지 못하는 것입니다. 진짜 새 관점으로 재작성하세요.
- 반론 분석을 저장하세요. 이것은 제품 마케팅의 핵심 자산입니다. 잠재고객이 반론을 제기할 때 쓰는 정확한 언어는 웹사이트와 영업 자료가 선제적으로 다뤄야 할 언어입니다.