Skip to content

Story: AI 진단 요금제 분기 (E-04 연계)

메타

항목
Story IDE-05-S-06
EpicE-05 요금제 정책 재설계 및 가드레일
상태draft
우선순위P0
규모L
담당창훈님 (하록님, 수민님)

사용자 스토리

As a Pro 요금제 셀러, I want AI 진단 서비스를 받고 싶다, So that 더 똑똑한 광고 운영 조언을 얻을 수 있다.


수락 기준 (Acceptance Criteria)

AC-01: BE - 요금제별 진단 엔진 분기

항목내용
Given진단 요청 수신
When요금제 확인
ThenPro/Business는 AI 진단, 나머지는 규칙 기반

분기 로직:

typescript
async getDiagnosis(bizId: string, campaignId: string): Promise<DiagnosisResult> {
  const { features } = await this.planGuardService.getPlanInfo(bizId);

  if (features.ai_diagnosis.enabled) {
    return this.aiDiagnosisService.generate(bizId, campaignId);
  }

  return this.ruleDiagnosisService.generate(campaignId);
}

AC-02: FE - Starter/Basic AI 진단 잠금

항목내용
GivenStarter 또는 Basic 요금제
WhenSurface Layer 조언 카드 표시
Then규칙 기반 진단 + AI 진단 업그레이드 유도

UI 스펙:

┌────────────────────────────────────────┐
│ 🟡 효율 개선이 필요해요                 │
│                                        │
│ ROAS가 150%로, 광고비 대비 순이익이    │
│ 낮은 상태예요.                         │
│                                        │
│ ┌────────────────────────────────────┐ │
│ │ 🤖 AI 진단으로 더 정확한 조언 받기  │ │
│ │                                    │ │
│ │ "비검색 입찰가를 15% 낮추면        │ │
│ │  순이익이 +12% 개선될 수 있어요"   │ │
│ │                                    │ │
│ │ Pro 요금제에서 사용 가능           │ │
│ │         [Pro로 업그레이드]         │ │
│ └────────────────────────────────────┘ │
└────────────────────────────────────────┘

AC-03: FE - Pro/Business AI 진단 표시

항목내용
GivenPro 또는 Business 요금제
WhenSurface Layer 조언 카드 표시
ThenAI 진단 결과 + Beta 뱃지

UI 스펙:

┌────────────────────────────────────────┐
│ 🟡 주의가 필요합니다           🤖 Beta │
│                                        │
│ 최근 7일간 ROAS가 180% → 150%로        │
│ 하락했어요. 비검색 광고비가 65%를       │
│ 차지하고 있어서, 입찰가를 15% 낮추면    │
│ 순이익이 개선될 수 있어요.              │
│                                        │
│ 💡 제안: 비검색 입찰가 15% 인하         │
│    예상 효과: 순이익 +12%               │
│                                        │
│ [적용했어요]  [나중에]  [맞지 않아요]   │
└────────────────────────────────────────┘

AC-04: 첫결제 100원 후 체험

항목내용
GivenPro 첫결제 100원 쿠폰 사용
WhenPro 요금제 활성화
ThenAI 진단 즉시 사용 가능

플로우:

Trial (규칙 기반) → Pro 첫결제 100원 → AI 진단 활성화

                                    "이거 좋은데!"

                                   다음 달 ₩110,000

                              유지 or 다운그레이드

                       다운그레이드 시 AI 진단 사라짐

                            "뭔가 부족한데..." → Pro 복귀

태스크 분해

Task 1: BE - 진단 엔진 분기 AC-01

  • [ ] 1.1: DiagnosisService에 PlanGuardService 주입
  • [ ] 1.2: ai_diagnosis Feature 체크 로직
  • [ ] 1.3: AI/규칙 기반 분기 처리
  • [ ] 1.4: 응답에 diagnosisType 필드 추가 ('ai' | 'rule')

Task 2: FE - 업그레이드 유도 UI AC-02

  • [ ] 2.1: AIDiagnosisTeaser 컴포넌트 (Starter/Basic용)
  • [ ] 2.2: AI 진단 샘플 표시 (블러 또는 일부만)
  • [ ] 2.3: 업그레이드 CTA

Task 3: FE - AI 진단 표시 AC-03

  • [ ] 3.1: diagnosisType에 따른 UI 분기
  • [ ] 3.2: AI 진단 시 🤖 Beta 뱃지
  • [ ] 3.3: 제안 + 예상 효과 표시

Task 4: 첫결제 100원 연계 AC-04

  • [ ] 4.1: 쿠폰 적용 시 즉시 Feature 활성화 확인
  • [ ] 4.2: 다운그레이드 시 Feature 비활성화 확인

Dev Notes (AI Agent 최적화)

영향 받는 소스 트리

BE:
src/
├── service/
│   ├── diagnosis.service.ts          # 🔄 수정 (분기 추가)
│   └── plan-guard.service.ts         # (E-05-S-02)
└── dto/
    └── diagnosis.dto.ts              # 🔄 수정 (diagnosisType 추가)

FE:
src/
├── components/
│   ├── diagnosis/
│   │   ├── DiagnosisCard.tsx         # 🔄 수정 (타입 분기)
│   │   ├── AIDiagnosisTeaser.tsx     # 🆕 업그레이드 유도
│   │   └── AIBetaBadge.tsx           # 🆕

E-04와의 연계

E-04 (AI 진단 엔진)
├── E-04-S-01: LLM 연동 ─────────┐
├── E-04-S-02: AI 진단 API ──────┤
├── E-04-S-03: 프리미엄 게이트 ──┴─→ E-05-S-06 (요금제 분기)
└── E-04-S-05: Surface Layer UI ────→ E-05-S-06 (UI 분기)

핵심: E-04-S-03(프리미엄 게이트)의 요금제 체크 로직을 E-05-S-02(PlanGuardService)로 통합


의존성

의존설명상태
E-05-S-02PlanGuardService선행 필수
E-04-S-01LLM 연동병렬 가능
E-04-S-02AI 진단 API병렬 가능

생성일: 2026-01-27

장사왕 Product Team