Communitygithub.com

이탈 방지

사용자가 이탈률 감소, 취소 플로우 구축, 할인 제안 설정, 결제 실패 복구, 리텐션 전략 구현을 원할 때 사용합니다.

이탈 방지란 무엇인가요?

이 스킬은 SaaS 비즈니스에서 고객 이탈(자발적 이탈 및 비자발적 이탈)을 줄이기 위한 종합적인 프레임워크를 제공합니다. 자발적 이탈(고객이 스스로 취소)과 비자발적 이탈(결제 실패)을 각각 처리하기 위한 취소 플로우 설계, 동적 할인 제안, 사전 리텐션 및 던닝 전략을 포함합니다. Stripe, Chargebee, Paddle 등의 결제 제공업체와 함께 사용할 수 있으며, 사용자의 이탈 사유에 맞춰 할인, 일시 중지, 요금제 다운그레이드 등 맞춤형 제안을 제공합니다. 또한 고객 건강 점수 모델과 위험 신호를 기반으로 사전 개입을 트리거하여 이탈을 예측하고 방지합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coreyhaines31/marketingskills/tree/main/skills/churn-prevention

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

이탈 방지은(는) 무엇을 하나요?

당신은 SaaS 리텐션 및 이탈 방지 전문가입니다. 목표는 잘 설계된 취소 플로우, 동적 할인 제안, 사전 리텐션 및 던닝 전략을 통해 자발적 이탈(고객이 선택하여 취소)과 비자발적 이탈(결제 실패)을 모두 줄이는 것입니다.

시작하기 전

먼저 제품 마케팅 컨텍스트를 확인하십시오: .agents/product-marketing.md 파일(또는 .claude/product-marketing.md, 이전 설정의 product-marketing-context.md)이 있으면 질문하기 전에 읽으십시오. 해당 컨텍스트를 사용하고, 이미 다루지 않았거나 이 작업에 특화된 정보만 요청하십시오.

다음 컨텍스트를 수집하십시오(제공되지 않은 경우 질문):

1. 현재 이탈 상황

  • 월간 이탈률은 얼마입니까? (자발적/비자발적, 가능한 경우)
  • 활성 구독자는 몇 명입니까?
  • 고객당 평균 MRR은 얼마입니까?
  • 현재 취소 플로우가 있습니까, 아니면 취소가 즉시 이루어집니까?

2. 결제 및 플랫폼

  • 어떤 결제 제공업체를 사용합니까? (Stripe, Chargebee, Paddle, Recurly, Braintree)
  • 월간, 연간 또는 둘 다 청구 간격입니까?
  • 요금제 일시 중지 또는 다운그레이드를 지원합니까?
  • 기존 리텐션 도구가 있습니까? (Churnkey, ProsperStack, Raaft)

3. 제품 및 사용 데이터

  • 사용자별 기능 사용량을 추적합니까?
  • 참여도 하락을 식별할 수 있습니까?
  • 과거 이탈 데이터로부터 취소 이유 데이터가 있습니까?
  • 활성화 지표는 무엇입니까? (유지된 사용자가 이탈한 사용자와 달리 하는 것은 무엇입니까?)

4. 제약 사항

  • B2B입니까 B2C입니까? (플로우 설계에 영향)
  • 셀프 서비스 취소가 필요합니까? (일부 규정은 쉬운 취소를 요구함)
  • 오프보딩 브랜드 톤은 무엇입니까? (공감적, 직접적, 유쾌함)

이 스킬의 작동 방식

이탈에는 서로 다른 전략이 필요한 두 가지 유형이 있습니다:

유형원인해결책
자발적고객이 취소를 선택함취소 플로우, 할인 제안, 종료 설문
비자발적결제 실패던닝 이메일, 스마트 재시도, 카드 업데이터

자발적 이탈은 일반적으로 전체 이탈의 50-70%입니다. 비자발적 이탈은 30-50%이지만 종종 수정하기 더 쉽습니다.

이 스킬은 세 가지 모드를 지원합니다:

  1. 취소 플로우 구축 — 설문, 할인 제안 및 확인을 통해 처음부터 설계
  2. 기존 플로우 최적화 — 취소 데이터를 분석하고 저장률 개선
  3. 던닝 설정 — 재시도 및 이메일 시퀀스를 통한 실패한 결제 복구

취소 플로우 설계

취소 플로우 구조

모든 취소 플로우는 다음 순서를 따릅니다:

트리거 → 설문 → 동적 할인 제안 → 확인 → 취소 후

1단계: 트리거 고객이 계정 설정에서 "구독 취소"를 클릭합니다.

2단계: 종료 설문 취소하는 이유를 묻습니다. 이는 표시할 할인 제안을 결정합니다.

3단계: 동적 할인 제안 이유에 따라 대상 지정 제안을 제시합니다(할인, 일시 중지, 다운그레이드 등).

4단계: 확인 여전히 취소하려면 청구 기간 종료 메시지와 함께 명확하게 확인합니다.

5단계: 취소 후 기대치를 설정하고, 쉬운 재활성화 경로를 제공하며, 윈백 시퀀스를 트리거합니다.

종료 설문 설계

종료 설문은 기초입니다. 좋은 이유 카테고리:

이유알려주는 것
너무 비쌈가격 민감도, 할인 또는 다운그레이드에 반응할 수 있음
충분히 사용하지 않음낮은 참여도, 일시 중지 또는 온보딩 도움에 반응할 수 있음
필요한 기능 없음제품 격차, 로드맵 또는 해결 방법 표시
경쟁사로 전환경쟁 압력, 그들이 제공하는 것을 이해
기술적 문제 / 버그제품 품질, 지원팀으로 에스컬레이션
일시적 / 계절적 필요사용 패턴, 일시 중지 제안
사업 종료 / 변경불가피, 배우고 우아하게 보내줌
기타포괄적, 자유 텍스트 필드 포함

설문 모범 사례:

  • 1개의 질문, 선택적 자유 텍스트가 있는 단일 선택
  • 최대 5-8개의 이유 옵션 (결정 피로 방지)
  • 가장 일반적인 이유를 먼저 배치 (분기별 데이터 검토)
  • 죄책감을 유발하는 느낌이 들지 않도록 함
  • "개선에 도움" 프레이밍이 "왜 떠나시나요?"보다 더 효과적임

동적 할인 제안

핵심 통찰력: 제안을 이유에 매칭하십시오. 제품을 사용하지 않는 사람에게 할인은 소용이 없습니다. 기능 로드맵은 제품을 감당할 수 없는 사람을 구하지 못합니다.

제안-이유 매핑:

취소 이유기본 제안대체 제안
너무 비쌈할인 (20-30%, 2-3개월)더 낮은 요금제로 다운그레이드
충분히 사용하지 않음일시 중지 (1-3개월)무료 온보딩 세션
필요한 기능 없음로드맵 미리보기 + 일정해결 방법 가이드
경쟁사로 전환경쟁사 비교 + 할인피드백 세션
기술적 문제즉시 지원팀으로 에스컬레이션크레딧 + 우선 수정
일시적 / 계절적구독 일시 중지임시 다운그레이드
사업 종료제안 생략 (상황 존중)—

제안 유형 저장

할인

  • 2-3개월 동안 20-30% 할인이 최적점
  • 50% 이상 할인은 피하십시오 (고객이 거래를 위해 취소하도록 훈련시킴)
  • 제안에 시간 제한 설정 ("이 제안은 이 페이지를 떠날 때 만료됩니다")
  • 절약된 금액을 달러로 표시하고, 백분율만 표시하지 마십시오

구독 일시 중지

  • 최대 1-3개월 일시 중지 (더 긴 일시 중지는 거의 재활성화되지 않음)
  • 일시 중지자의 60-80%는 결국 활성 상태로 돌아옴
  • 사전 통지 이메일과 함께 자동 재활성화
  • 데이터 및 설정을 그대로 유지

요금제 다운그레이드

  • 전체 취소 대신 더 낮은 등급 제공
  • 유지하는 것과 잃는 것을 표시
  • "다운그레이드"가 아닌 "요금제 크기 조정"으로 포지셔닝
  • 준비가 되면 쉽게 다시 업그레이드할 수 있는 경로

기능 잠금 해제 / 확장

  • 아직 사용해보지 않은 프리미엄 기능 잠금 해제
  • 더 높은 등급의 평가판 연장
  • "충분한 가치를 얻지 못함" 이유에 가장 효과적

개인 아웃리치

  • 고가치 계정 (MRR 기준 상위 10-20%)
  • 고객 성공팀에 연결하여 통화
  • 소규모 회사의 경우 창업자로부터 개인 이메일

취소 플로우 UI 패턴

┌─────────────────────────────────────┐
│  떠나시는 것 같아 아쉽습니다        │
│                                     │
│  취소하는 주된 이유는 무엇인가요?    │
│                                     │
│  ○ 너무 비쌈                        │
│  ○ 충분히 사용하지 않음             │
│  ○ 필요한 기능이 없음               │
│  ○ 다른 도구로 전환                 │
│  ○ 기술적 문제                      │
│  ○ 일시적 / 지금은 필요하지 않음     │
│  ○ 기타: [____________]             │
│                                     │
│  [계속]                             │
│  [괜찮습니다. 구독 유지]           │
└─────────────────────────────────────┘
         ↓ ("너무 비쌈" 선택)
┌─────────────────────────────────────┐
│  도움을 드릴 수 있을까요?           │
│                                     │
│  당신을 유지하고 싶습니다. 특별     │
│  제안을 드립니다:                   │
│                                     │
│  ┌───────────────────────────────┐  │
│  │  앞으로 3개월 동안 25% 할인   │  │
│  │  월 XX달러 절약                │  │
│  │                               │  │
│  │  [제안 수락]                  │  │
│  └───────────────────────────────┘  │
│                                     │
│  또는 [기본 요금제] 월 X달러로      │
│  전환 →                             │
│                                     │
│  [아니요, 계속 취소합니다]          │
└─────────────────────────────────────┘

UI 원칙:

  • "계속 취소" 옵션을 계속 표시 (다크 패턴 금지)
  • 하나의 기본 제안 + 하나의 대체 제안, 옵션의 벽이 아님
  • 추상적인 백분율이 아닌 구체적인 달러 절약액 표시
  • 가능하면 고객 이름 및 계정 데이터 사용
  • 모바일 친화적 (많은 취소가 모바일에서 발생)

업종 및 결제 제공업체별 상세 취소 플로우 패턴은 references/cancel-flow-patterns.md를 참조하십시오.


이탈 예측 및 사전 리텐션

가장 좋은 구제는 고객이 "취소"를 클릭하기 전에 이루어집니다.

위험 신호

이탈의 이러한 선행 지표를 추적하십시오:

신호위험 수준기간
로그인 빈도 50% 이상 감소높음취소 2-4주 전
주요 기능 사용 중단높음취소 1-3주 전
지원 티켓 급증 후 중단높음취소 1-2주 전
이메일 오픈율 감소중간취소 2-6주 전
결제 페이지 방문 증가높음취소 며칠 전
팀 시트 제거높음취소 1-2주 전
데이터 내보내기 시작심각취소 며칠 전
NPS 점수 6 미만 하락중간취소 1-3개월 전

건강 점수 모델

가중 신호로 간단한 건강 점수(0-100)를 구축하십시오:

건강 점수 = (
  로그인 빈도 점수 × 0.30 +
  기능 사용 점수   × 0.25 +
  지원 감정        × 0.15 +
  결제 건강        × 0.15 +
  참여도 점수      × 0.15
)
점수상태조치
80-100건강함업셀 기회
60-79주의 필요사전 확인
40-59위험개입 캠페인
0-39심각개인 아웃리치

사전 개입

취소를 고려하기 전에:

트리거개입
2주 동안 사용량 50% 이상 감소"[기능]을 사용하지 않은 것 같습니다. 도움이 필요하신가요?" 이메일
요금제 한도 도달 임박업그레이드 알림 (벽이 아님 — 페이월이 처리함)
14일 동안 로그인 없음최근 제품 업데이트와 함께 재참여 이메일
NPS 비추천자 (0-6)24시간 이내 개인 후속 조치
지원 티켓 48시간 이상 미해결에스컬레이션 + 사전 상태 업데이트
연간 갱신 30일 전가치 요약 이메일 + 갱신 확인

비자발적 이탈: 결제 복구

실패한 결제는 전체 이탈의 30-50%를 유발하지만 가장 복구하기 쉽습니다.

던닝 스택

사전 던닝 → 스마트 재시도 → 던닝 이메일 → 유예 기간 → 강제 취소

사전 던닝 (실패 방지)

  • 카드 만료 알림: 카드 만료 30, 15, 7일 전에 이메일 발송
  • 백업 결제 수단: 가입 시 두 번째 결제 수단 요청
  • 카드 업데이터 서비스: Visa/Mastercard 자동 업데이트 프로그램 (하드 거절 30-50% 감소)
  • 청구 전 알림: 연간 요금제의 경우 청구 3-5일 전에 이메일 발송

스마트 재시도 로직

모든 실패가 동일하지는 않습니다. 거절 유형별 재시도 전략:

거절 유형예시재시도 전략
소프트 거절 (일시적)잔액 부족, 프로세서 시간 초과7-10일 동안 3-5회 재시도
하드 거절 (영구적)카드 도난, 계정 폐쇄재시도하지 않음 — 새 카드 요청
인증 필요3D Secure, SCA결제 업데이트로 고객 안내

재시도 타이밍 모범 사례:

  • 재시도 1: 실패 후 24시간
  • 재시도 2: 실패 후 3일
  • 재시도 3: 실패 후 5일
  • 재시도 4: 실패 후 7일 (던닝 이메일 에스컬레이션 포함)
  • 4회 재시도 후: 재활성화 경로가 있는 강제 취소

스마트 재시도 팁: 결제가 원래 성공한 날짜에 재시도하십시오 (1일에 성공했다면 1일에 재시도). Stripe Smart Retries가 자동으로 처리합니다.

던닝 이메일 시퀀스

이메일시기톤내용
10일차 (실패)친근한 알림"결제가 처리되지 않았습니다. 카드를 업데이트하세요."
23일차도움이 되는 알림"빠른 알림 — 액세스를 유지하려면 결제를 업데이트하세요."
37일차긴급"계정이 3일 후에 일시 중지됩니다. 지금 업데이트하세요."
410일차최종 경고"계정을 활성 상태로 유지할 마지막 기회입니다."

던닝 이메일 모범 사례:

  • 결제 업데이트 페이지에 대한 직접 링크 (가능하면 로그인 불필요)
  • 잃을 것을 표시 (데이터, 팀 액세스)
  • 비난하지 않음 ("결제 실패"가 아닌 "결제가 실패했습니다")
  • 도움을 위한 지원 연락처 포함
  • 일반 텍스트가 던닝용 디자인 이메일보다 더 나은 성능을 보임

복구 벤치마크

지표나쁨평균좋음
소프트 거절 복구<40%50-60%70%+
하드 거절 복구<10%20-30%40%+
전체 결제 복구<30%40-50%60%+
사전 던닝 방지없음10-15%20-30%

제공업체별 설정을 포함한 전체 던닝 플레이북은 references/dunning-playbook.md를 참조하십시오.


지표 및 측정

주요 이탈 지표

지표공식목표
월간 이탈률이탈한 고객 / 월초 고객B2C <5%, B2B <2%
매출 이탈 (순)(손실 MRR - 확장 MRR) / 시작 MRR음수 (순 확장)
취소 플로우 저장률저장됨 / 총 취소 세션25-35%
제안 수락률수락된 제안 / 표시된 제안15-25%
일시 중지 재활성화율재활성화됨 / 총 일시 중지됨60-80%
던닝 복구율복구됨 / 총 실패한 결제50-60%
취소까지의 시간첫 이탈 신호부터 취소까지의 일수추세 추적

코호트 분석

다음 기준으로 이탈을 세분화하십시오:

  • 획득 채널 — 어떤 채널이 더 충성도 높은 고객을 가져오는가?
  • 요금제 유형 — 어떤 요금제가 가장 많이 이탈하는가?
  • 사용 기간 — 대부분의 취소가 언제 발생하는가? (30, 60, 90일?)
  • 취소 이유 — 어떤 이유가 증가하고 있는가?
  • 할인 제안 유형 — 어떤 제안이 어떤 세그먼트에 가장 효과적인가?

취소 플로우 A/B 테스트

한 번에 하나의 변수를 테스트하십시오:

테스트가설지표
할인율 (20% vs 30%)더 높은 할인이 더 많이 저장저장률, LTV 영향
일시 중지 기간 (1 vs 3개월)더 긴 일시 중지가 복귀율 증가재활성화율
설문 배치 (제안 전 vs 후)설문 우선이 제안 개인화저장률
제안 표시 (모달 vs 전체 페이지)전체 페이지가 더 많은 관심저장률
카피 톤 (공감적 vs 직접적)공감적이 마찰 감소저장률

취소 플로우 실험 실행 방법: ab-testing 스킬을 사용하여 통계적으로 엄격한 테스트를 설계하십시오. PostHog는 취소 플로우 실험에 적합합니다. 기능 플래그를 사용하여 …

[번역을 위해 잘림]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions

ads

When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions

ai-seo

When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers. Also use when the user mentions

analytics

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions

aso

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions

attribution

When the user wants to figure out which marketing actually drives conversions and revenue, choose or interpret an attribution model, or reconcile conflicting numbers across tools. Also use when the user mentions

cold-email

Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions

co-marketing

When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says

community-marketing

Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: \

competitor-profiling

When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions

competitors

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions

content-strategy

When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions

copy-editing

When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions

copywriting

When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says

coreyhaines31/ab-test-setup

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics-tracking. For page-level conversion optimization, see page-cro.

coreyhaines31/analytics-tracking

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "attribution," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For A/B test measurement, see ab-test-setup.

coreyhaines31/aso-audit

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it.

coreyhaines31/competitor-alternatives

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement.

coreyhaines31/email-sequence

When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding-cro.

coreyhaines31/form-cro

When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms, demo request forms, application forms, survey forms, or checkout forms. Also use when the user mentions "form optimization," "lead form conversions," "form friction," "form fields," "form completion rate," "contact form," "nobody fills out our form," "form abandonment," "too many fields," "demo request form," or "lead form isn't converting." Use this for any non-signup form that captures information. For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.

관련 스킬