Skip to content

Epic Spec: E-04 Phase 2 순이익 번역

메타

항목
Epic IDE-04
SprintS52
상태approved
PO 승인일-
담당수민 (FE), 하록 (BE)

1. WHY: 왜 이 기능이 필요한가?

문제 정의

셀러가 ROAS를 보는 진짜 이유순이익을 극대화하기 위해서다. 그러나 쿠팡은 원가를 모르니 ROAS(프록시 지표)만 제공할 수밖에 없다.

[셀러의 고통]
1. ROAS 441%인데... 이게 좋은 건가?
2. 입찰가를 올려야 할까, 내려야 할까?
3. 결국 "감"으로 광고 설정 변경
4. 잘못된 판단 → 순이익 손실

장사왕만 할 수 있는 것

쿠팡 광고센터: 원가 모름 → ROAS만 제공

장사왕: 원가 있음 → 순이익 기반 판단 가능

"ROAS 441%인데 실제로는 100원당 12원밖에 안 남아요"
"입찰가 200원→150원으로 낮추면 100원당 25원 남아요"

이건 쿠팡이 절대 못하는 것 = 우리의 해자(Moat)

근거 데이터

지표수치출처비고
"ROAS 이해 안 됨" VOC다수채널톡초보 셀러
Sprint 50 Intent Rate9.1%GA4행동 전환 낮음
"그래서 뭘 해야 하죠?" VOC핵심채널톡판단 대신 니즈

기대 효과

  1. 판단 대신 서비스: "ROAS 몇 %" → "100원당 X원 남아요"
  2. 행동 유도: "입찰가 200원→150원" 구체적 가이드
  3. 차별화: 쿠팡/경쟁사가 절대 따라올 수 없는 영역

2. WHAT: 상세 요구사항

데이터 제약사항 (2026-01-26 DB 분석 결과)

⚠️ 쿠팡 광고 스크랩 데이터 한계로 인한 제약. 아래 분석은 snapshot_service_db 실사 기준.

✅ 사용 가능한 데이터 (진단 가능)

데이터테이블컬럼활용
순이익CoupangAdCampaignProductDailynetProfit100원당 순이익 계산
마진율CoupangAdCampaignProductDailymarginRateBEP ROAS 계산
ROAS계산conversionAmount / adCost × 100효율 판단
CPC계산adCost / clickCount광고비 효율
CTR계산clickCount / exposureCount × 100노출 효율
CVR계산orderCnt / clickCount × 100전환 효율
광고 유형CoupangAdCampaignProductDailyadType자동/수동 조언 분기

✅ 영역별 데이터 (2026-01-27 추가)

데이터테이블컬럼활용
노출 영역CoupangAdExposureDailyexposureArea검색/비검색/리타게팅 분리
영역별 노출CoupangAdExposureDailyexposureCount영역별 효율 분석
영역별 클릭CoupangAdExposureDailyclickCount영역별 CTR 계산
영역별 광고비CoupangAdExposureDailyadCost영역별 CPC/ROAS 계산
영역별 전환매출CoupangAdExposureDailyconversionAmount영역별 순이익 계산

노출 영역 분포 (DB 분석 2026-01-27, 최근 30일)

  • 검색 영역: 48.2% (CTR 3.15%, CPC 861원, ROAS 338%)
  • 비검색 영역: 33.2% (CTR 0.11%, CPC 295원, ROAS 388%)
  • 리타게팅(외부 채널): 18.6% (CTR 2.98%, CPC 39원, ROAS 313%)

❌ 사용 불가능한 데이터

데이터상태대안
목표 ROAS쿠팡 미제공BEP ROAS 기반 방향성 제시
입찰가쿠팡 미제공CPC 기반 방향성 제시

📌 핵심 원칙

1. 구체적 값("목표 ROAS 400%로") 대신 방향성("목표 ROAS를 높여보세요") 제시
2. 광고 유형(adType)에 따라 자동/수동 조언 분기
3. BEP ROAS를 기준점으로 활용 (= 손익분기 ROAS)
4. 100원당 순이익을 핵심 지표로 사용

핵심 기능

#기능설명필수 여부데이터
1순이익 번역 UI"ROAS 441% → 100원당 12원 남음"필수✅ 가능
2Margin Room 설정셀러 성향 (보수형/균형형/공격형)필수✅ 가능
3캠페인 행동 조언순이익 + BEP ROAS 기반 방향성 제시필수✅ 가능
4키워드 행동 조언키워드별 입찰가 조정 가이드필수❌ 입찰가 없음 → 스펙아웃
5셀러 타입 자동 분류마진 변동성 기반 추천선택 (P1)✅ 가능

비즈니스 로직

로직 1: 번역 레벨 (Translation Levels)

[번역의 깊이 - 4단계]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Level 1: 정보 번역 (Information)
┌─────────────────────────────────────────────────────────────────┐
│ ROAS 441%                                                       │
│ ─────────────────                                               │
│ 💰 100원당 12원 남음                                            │
└─────────────────────────────────────────────────────────────────┘
→ 단순 숫자 변환, 가치 낮음

Level 2: 판단 번역 (Judgment)
┌─────────────────────────────────────────────────────────────────┐
│ ROAS 441% → 100원당 12원 남음                                   │
│                                                                 │
│ 💡 마진 대비 광고비가 과해요                                    │
│    (마진율 30%인데 광고비가 25% 먹고 있어요)                    │
└─────────────────────────────────────────────────────────────────┘
→ 좋고 나쁨 판단 추가

Level 3: 행동 번역 (Action) ⭐ Phase 2 목표
┌─────────────────────────────────────────────────────────────────┐
│ ROAS 441% → 100원당 12원 남음                                   │
│                                                                 │
│ 💡 마진 대비 광고비가 과해요                                    │
│                                                                 │
│ 📋 추천 액션:                                                   │
│ 목표 ROAS를 400% → 500%로 올리면                                │
│ 100원당 25원 남을 수 있어요 (+13원 ↑)                          │
│                                                                 │
│ [쿠팡 광고센터에서 목표 ROAS 조정하기 →]                       │
└─────────────────────────────────────────────────────────────────┘
→ 구체적 행동과 예상 결과 제시

Level 4: 결과 번역 (Outcome) - 미래
┌─────────────────────────────────────────────────────────────────┐
│ 이번 달 예상:                                                    │
│ 현재대로 유지 → 순이익 50만원                                    │
│ 조언대로 변경 → 순이익 80만원 (+30만원)                         │
└─────────────────────────────────────────────────────────────────┘
→ 월간/누적 영향 계산 (Phase 3+)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Phase 2 목표: Level 3 (행동 번역) 달성
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

로직 2: 순이익 번역 계산식

[기본 계산식]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

순이익 = 전환매출 - 상품원가 - 광고비
       = conversionAmount - (totalPurchaseCost × saleQuantity) - adCost

100원당 순이익 = (순이익 / 광고비) × 100

[예시]
광고비: 100,000원
전환매출: 441,000원 (ROAS 441%)
상품원가: 300,000원 (마진율 32%)
순이익: 441,000 - 300,000 - 110,000 = 31,000원
100원당 순이익: 31원

BUT 실제로는...
광고비 VAT 포함하면: 110,000원
실제 순이익: 441,000 - 300,000 - 110,000 = 31,000원
실제 100원당: 28원

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[표시 규칙]
• 양수: "100원당 X원 남음" (초록색)
• 0~소액: "100원당 거의 본전" (노란색)
• 음수: "100원당 X원 손해" (빨간색)

로직 2-1: 영역별 순이익 번역 ⭐ 신규 (2026-01-27)

[영역별 순이익 번역 - 검색/비검색/리타게팅]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📌 WHY: 캠페인 전체 ROAS가 좋아도, 특정 영역에서 손해볼 수 있음
   → 영역별 순이익을 보여줘야 "어디서 새는지" 알 수 있음

[영역별 계산식]

검색 영역:
• 검색 순이익 = 검색 전환매출 - (검색 전환 상품원가) - 검색 광고비
• 검색 100원당 = (검색 순이익 / 검색 광고비) × 100

비검색 영역:
• 비검색 순이익 = 비검색 전환매출 - (비검색 전환 상품원가) - 비검색 광고비
• 비검색 100원당 = (비검색 순이익 / 비검색 광고비) × 100

리타게팅(외부 채널):
• 리타게팅 순이익 = 리타게팅 전환매출 - (리타게팅 전환 상품원가) - 리타게팅 광고비
• 리타게팅 100원당 = (리타게팅 순이익 / 리타게팅 광고비) × 100

[데이터 소스]
• 테이블: CoupangAdExposureDaily (prod_service_db)
• 분류 키: exposureArea ("검색 영역", "비검색 영역", "리타게팅(외부 채널)")
• JOIN: 캠페인별 원가 데이터 필요

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[예시: 캠페인 A 영역별 순이익]

전체: ROAS 350% → 100원당 15원 남음

┌─────────────────────────────────────────────────────────────────┐
│ 📊 영역별 분석                                                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ 🔍 검색 광고                                                    │
│    광고비: 50,000원 (50%)                                       │
│    ROAS: 380% → 100원당 28원 남음 ✅                            │
│                                                                 │
│ 📺 비검색 광고                                                  │
│    광고비: 30,000원 (30%)                                       │
│    ROAS: 250% → 100원당 -8원 손해 🔴                            │
│                                                                 │
│ 🎯 리타게팅                                                     │
│    광고비: 20,000원 (20%)                                       │
│    ROAS: 420% → 100원당 35원 남음 ✅                            │
│                                                                 │
│ ─────────────────────────────────────────────────────────────── │
│ 💡 비검색에서 손해가 나고 있어요. 비검색 입찰가를 낮춰보세요.  │
└─────────────────────────────────────────────────────────────────┘

[영역별 기여도 분석]
• 전체 순이익: 15,000원
  ├─ 검색 기여: +14,000원 (93%)
  ├─ 비검색 기여: -2,400원 (-16%)
  └─ 리타게팅 기여: +7,000원 (47%)

→ 비검색이 전체 순이익을 깎아먹고 있음!

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[영역별 표시 규칙]

| 영역 | 100원당 순이익 | 표시 |
|------|---------------|------|
| 검색 | ≥ 30 | 🟢 검색에서 잘 벌고 있어요 |
| 검색 | 0 ~ 29 | 🟡 검색은 본전이에요 |
| 검색 | < 0 | 🔴 검색에서 손해예요 |
| 비검색 | ≥ 30 | 🟢 비검색에서 잘 벌고 있어요 |
| 비검색 | 0 ~ 29 | 🟡 비검색은 본전이에요 |
| 비검색 | < 0 | 🔴 비검색에서 손해예요 |
| 리타게팅 | ≥ 30 | 🟢 리타게팅에서 잘 벌고 있어요 |
| 리타게팅 | 0 ~ 29 | 🟡 리타게팅은 본전이에요 |
| 리타게팅 | < 0 | 🔴 리타게팅에서 손해예요 |

※ 리타게팅 특성: CPC가 매우 낮아(~39원) 대체로 효율 좋음
※ E-03 Surface Layer와 연계: 영역별 Status Badge와 동기화

로직 3: Margin Room 설정

[Margin Room = 광고에 쓸 수 있는 여유 마진]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

셀러 성향에 따라 "순이익의 몇 %까지 광고비로 쓸 것인가" 결정

┌─────────────────────────────────────────────────────────────────┐
│ Margin Room 설정                                                 │
│                                                                 │
│ 💰 현재 평균 마진율: 32%                                        │
│ 📊 최근 3개월 마진 변동성: ±8% (중간)                           │
│                                                                 │
│ 추천: 균형형                                                     │
│                                                                 │
│ ○ 보수형 (Conservative)                                         │
│   광고비 ≤ 순이익의 50%                                         │
│   "안전하게, 확실한 이익만"                                      │
│                                                                 │
│ ● 균형형 (Balanced) ← 추천                                      │
│   광고비 ≤ 순이익의 70%                                         │
│   "적당한 성장과 안전의 균형"                                    │
│                                                                 │
│ ○ 공격형 (Aggressive)                                           │
│   광고비 ≤ 순이익의 90%                                         │
│   "매출 성장 우선, 이익은 나중에"                                │
│                                                                 │
│                                          [설정 저장]            │
└─────────────────────────────────────────────────────────────────┘

[변동성 기반 추천 기준]
| 마진 변동성 | 추천 타입 | 이유 |
|------------|----------|------|
| 낮음 (±5% 이내) | 공격형 가능 | 예측 가능, 리스크 낮음 |
| 중간 (±5~10%) | 균형형 추천 | 적당한 버퍼 필요 |
| 높음 (±10% 이상) | 보수형 권장 | 마진 급락 대비 필요 |

로직 4: 캠페인 행동 조언 (자동 광고)

[자동 광고 사용자용 - BEP ROAS 기반 조언]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

⚠️ 데이터 제약: 목표 ROAS는 쿠팡 스크랩 데이터에 없어 구체적 값 제시 불가
   → BEP ROAS 및 순이익 기반으로 판단

현재 상태:
• BEP ROAS: 367% (마진율 30% 기준)
• 실제 ROAS: 280%
• 100원당 순이익: 5원 (거의 본전)
• Margin Room: 균형형 (70%)

┌─────────────────────────────────────────────────────────────────┐
│ 캠페인 A                                              🟡 주의   │
│                                                                 │
│ ROAS 280% → 100원당 5원 남음 (거의 본전)                        │
│                                                                 │
│ 💡 Margin Room(균형형) 기준으로 광고비가 과해요                 │
│                                                                 │
│ 📋 추천: 쿠팡 광고센터에서 목표 ROAS를 높여보세요               │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ 현재 ROAS: 280%                                             ││
│ │ BEP ROAS: 367% (이 이상이면 순이익 발생)                    ││
│ │                                                             ││
│ │ 💡 목표 ROAS를 높이면:                                      ││
│ │ • 입찰가가 자동으로 낮아져요                                ││
│ │ • 노출은 줄 수 있지만, 효율이 올라가요                     ││
│ │                                                             ││
│ │ ※ 목표 ROAS 현재값은 쿠팡 광고센터에서 확인하세요          ││
│ └─────────────────────────────────────────────────────────────┘│
│                                                                 │
│ [쿠팡 광고센터에서 목표 ROAS 높이기 →]                         │
└─────────────────────────────────────────────────────────────────┘

[BEP ROAS 계산 로직]
BEP ROAS = 100 / marginRate × 100
예) 마진율 30% → BEP ROAS = 100 / 30 × 100 = 333%

로직 5: 캠페인 행동 조언 (CPC 기반 방향성)

[CPC 기반 방향성 조언]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

⚠️ 데이터 제약: 입찰가는 쿠팡 스크랩 데이터에 없어 구체적 값 제시 불가
   → CPC 및 순이익 기반으로 방향성 제시

현재 상태:
• CPC: 180원 (계산됨: adCost / clickCount)
• 허용 CPC: 120원 (계산됨: (평균 주문금액 × CVR) / BEP ROAS)
• 100원당 순이익: 8원
• Margin Room: 균형형 (70%)

┌─────────────────────────────────────────────────────────────────┐
│ 캠페인 B                                              🟡 주의   │
│                                                                 │
│ ROAS 320% → 100원당 8원 남음                                    │
│                                                                 │
│ 💡 CPC가 허용 범위보다 높아서 순이익이 적어요                   │
│                                                                 │
│ 📋 추천: 쿠팡 광고센터에서 입찰가를 낮춰보세요                  │
│                                                                 │
│ ┌─────────────────────────────────────────────────────────────┐│
│ │ 현재 CPC: 180원                                             ││
│ │ 허용 CPC: 120원 (이 이하면 적정 순이익)                     ││
│ │                                                             ││
│ │ 💡 입찰가를 낮추면:                                         ││
│ │ • CPC가 낮아져서 광고 효율이 올라가요                       ││
│ │ • 노출은 줄 수 있지만, 순이익이 개선돼요                    ││
│ │                                                             ││
│ │ ※ 현재 입찰가는 쿠팡 광고센터에서 확인하세요               ││
│ └─────────────────────────────────────────────────────────────┘│
│                                                                 │
│ [쿠팡 광고센터에서 입찰가 조정하기 →]                          │
└─────────────────────────────────────────────────────────────────┘

[허용 CPC 계산 로직]
허용 CPC = (평균 주문금액 × CVR) / BEP ROAS × Margin Room%
예) 평균 주문금액 30,000원, CVR 3%, BEP ROAS 367%, MarginRoom 70%
   → 허용 CPC = (30,000 × 0.03) / 3.67 × 0.7 = 171원

※ Margin Room이 높을수록(공격형) 허용 CPC가 높아짐
   - 공격형(90%): 광고비 많이 쓸 의향 → 높은 CPC 허용 (220원)
   - 균형형(70%): 적정 광고비 → 적정 CPC 허용 (171원)
   - 보수형(30%): 광고비 적게 쓸 의향 → 낮은 CPC만 허용 (73원)

로직 6: 조언 판정 플로우 (Decision Tree)

[Phase 2 순이익 번역 → 조언 판정 플로우 v4.0]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📌 v4.0 핵심 변경
   • MECE 보장: 하나의 캠페인 → 하나의 케이스만 분류
   • 단일 경로: 우선순위 기반 순차 체크
   • 자동/수동 완전 분리: 모든 액션 케이스에 광고유형 분기

[Step 0: Pre-condition]
원가 입력 여부?
├─ NO → P-E1 (원가 미입력) → 종료
└─ YES → Step 1로

[Step 1: 대분류 - 100원당 순이익]
100원당 순이익 = ((전환매출 - 원가 - 광고비) / 광고비) × 100
BEP ROAS = (100 / marginRate) × 100

├─ < 0 (손해) → 🔴 Step 2A
├─ 0 ~ 29 (본전) → 🟡 Step 2B
└─ ≥ 30 (건강) → 🟢 Step 2C

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Step 2A: 🔴 손해 분기] - 마진 우선 체크

마진율 체크 (구조적 문제 우선)
├─ 마진 < 10% → P-1a → 종료
├─ 10% ≤ 마진 < 15% → P-1b → 종료
└─ 마진 ≥ 15% → Step 3A (광고 효율 문제)

[Step 3A: 광고 유형 분기]
├─ 자동광고 → Step 4A-자동
└─ 수동광고 → Step 4A-수동

[Step 4A-자동: 자동광고 손해 - ROAS 기반]
ROAS vs BEP ROAS 비교
├─ ROAS < BEP × 0.8 → P-2a → 종료
└─ ROAS ≥ BEP × 0.8 → P-3a → 종료

[Step 4A-수동: 수동광고 손해 - CPC 기반] (우선순위 순서)
├─ CPC ≥ 허용CPC × 1.5 → P-4a → 종료
├─ 허용CPC × 1.3 ≤ CPC < 허용CPC × 1.5 → P-4b → 종료
├─ CVR < 3% AND 클릭 ≥ 50 → P-5 → 종료
└─ 그 외 → P-2b → 종료

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Step 2B: 🟡 본전 분기] - MarginRoom 기준

광고비 vs MarginRoom 비교
├─ 광고비 > MarginRoom → Step 3B-초과
└─ 광고비 ≤ MarginRoom → Step 3B-이내

[Step 3B-초과: MarginRoom 초과]
├─ 자동광고 → P-6a → 종료
└─ 수동광고 → P-6b → 종료

[Step 3B-이내: MarginRoom 이내]
마진율 체크
├─ 마진 < 15% → P-7 → 종료
└─ 마진 ≥ 15% → Step 4B

[Step 4B: 최적화 여지]
├─ 자동광고 → P-8a → 종료
└─ 수동광고 → P-8b → 종료

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Step 2C: 🟢 건강 분기] - 마진 기준 확장 가능성

마진율 체크
├─ 마진 ≥ 30% → Step 3C-스케일업
├─ 20% ≤ 마진 < 30% → Step 3C-소폭확장
└─ 마진 < 20% → P-9c → 종료

[Step 3C-스케일업: 마진 ≥ 30%]
├─ 자동광고 → P-9a-자동 → 종료
└─ 수동광고 → P-9a-수동 → 종료

[Step 3C-소폭확장: 20% ≤ 마진 < 30%]
├─ 자동광고 → P-9b-자동 → 종료
└─ 수동광고 → P-9b-수동 → 종료

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

로직 7: 조언 케이스별 상세 테이블 (1:1:1 매칭)

📌 조언 원칙: 광고 유형(adType)에 따라 자동/수동 조언 분기. 구체적 값("목표 ROAS 400%로", "입찰가 150원으로") 대신 방향성("높여보세요", "낮춰보세요") 제시.

📐 플레이스홀더 계산식

플레이스홀더의미계산식데이터 소스
{X} (ROAS)현재 ROAS (%)(conversionAmount / adCost) × 100CoupangAdCampaignProductDaily
{Y} (BEP ROAS)손익분기 ROAS (%)(100 / marginRate) × 100CoupangAdCampaignProductDaily.marginRate
{M} (마진율)현재 마진율 (%)marginRateCoupangAdCampaignProductDaily.marginRate
{C} (CPC)현재 CPC (원)adCost / clickCount계산
{AC} (허용CPC)허용 CPC (원)(평균주문금액 × CVR) / BEP ROAS × MarginRoom%계산

BEP ROAS 예시: 마진율 30% → (100/30) × 100 = 333%


케이스 정의서 (진단-메시지-액션 1:1:1)

📌 구조: 각 케이스는 진단 1개, 메시지 1개, 액션 1개로 구성됨.

  • 진단: Badge(🔴🟡🟢) + 상태 한줄 요약
  • 메시지: 사용자에게 보여줄 설명 (원인 + 방향성)
  • 액션: 쿠팡 광고센터 버튼 라벨 또는 장사왕 내 행동

🔴 손해 케이스 (100원당 순이익 < 0)

📌 분기 우선순위: 마진 체크 → 광고유형 분기 → 세부 조건

  • 자동광고: ROAS vs BEP ROAS 비교
  • 수동광고: CPC vs 허용 CPC 비교
케이스조건진단메시지액션
P-1a마진 < 10%🔴 마진 구조 한계마진 {M}%로는 광고비를 감당할 수 없어요. 광고보다 자연 판매에 집중하세요.광고 중단 검토
P-1b10% ≤ 마진 < 15%🔴 마진 개선 필요마진 {M}%로는 광고비 감당이 빠듯해요. 판매가를 조금 올리면 흑자 전환 가능해요.판매가 인상 검토
P-2a마진 ≥ 15% + 자동 + ROAS < BEP×0.8🔴 효율 대폭 개선 필요ROAS {X}%가 BEP {Y}%보다 많이 낮아요. 목표 ROAS를 높여보세요.목표 ROAS 높이기
P-2b마진 ≥ 15% + 수동 + 기타🔴 효율 개선 필요광고 효율이 낮아서 손해예요. 입찰가를 낮춰보세요.입찰가 낮추기
P-3a마진 ≥ 15% + 자동 + ROAS ≥ BEP×0.8🔴 효율 소폭 개선 필요ROAS {X}%가 BEP {Y}%에 거의 다 왔어요. 목표 ROAS를 조금만 높이면 흑자예요.목표 ROAS 조금 높이기
P-4a마진 ≥ 15% + 수동 + CPC ≥ 허용×1.5🔴 CPC 과다CPC {C}원이 허용 {AC}원을 크게 초과해요. 입찰가를 낮춰보세요.입찰가 낮추기
P-4b마진 ≥ 15% + 수동 + 허용×1.3 ≤ CPC🔴 CPC 높음CPC {C}원이 허용 {AC}원보다 조금 높아요. 입찰가를 조금 낮추면 본전 이상 가능해요.입찰가 조금 낮추기
P-5마진 ≥ 15% + 수동 + CVR < 3% + 클릭 ≥ 50🔴 전환율 점검 필요클릭은 오는데 구매로 안 이어져요. 상세페이지나 가격을 점검해보세요.상세페이지 점검

🟡 본전 케이스 (0 ≤ 100원당 순이익 < 30)

케이스조건진단메시지액션
P-6a광고비 > MarginRoom AND 자동광고🟡 효율 개선 필요{MarginRoom타입} 기준으로 광고비가 과해요. 쿠팡 광고센터에서 목표 ROAS를 높여보세요.목표 ROAS 높이기
P-6b광고비 > MarginRoom AND 수동광고🟡 효율 개선 필요{MarginRoom타입} 기준으로 광고비가 과해요. 쿠팡 광고센터에서 입찰가를 낮춰보세요.입찰가 낮추기
P-7광고비 ≤ MarginRoom AND 마진 < 15%🟡 현 수준 유지돈은 벌고 있지만, 마진 {M}%라 확장해도 크게 달라지지 않아요.현 수준 유지
P-8a광고비 ≤ MarginRoom AND 마진 ≥ 15% AND 자동광고🟡 최적화 여지 있음지금 괜찮아요. 목표 ROAS를 조금 높이면 순이익이 더 늘어날 수 있어요.목표 ROAS 조금 높이기
P-8b광고비 ≤ MarginRoom AND 마진 ≥ 15% AND 수동광고🟡 최적화 여지 있음지금 괜찮아요. 입찰가를 조금 낮추면 순이익이 더 늘어날 수 있어요.입찰가 조금 낮추기

🟢 건강 케이스 (100원당 순이익 ≥ 30)

📌 자동/수동 분리: 확장 조언 시 광고유형에 따라 조정 대상이 다름

  • 자동광고: 목표 ROAS 낮추기 또는 예산 증액
  • 수동광고: 입찰가 올리기 또는 예산 증액
케이스조건진단메시지액션
P-9a-자동100원당 ≥ 30 + 마진 ≥ 30% + 자동🟢 스케일업 가능잘 벌고 있어요! 목표 ROAS를 낮추거나 예산을 늘려 매출을 더 키워보세요.목표 ROAS 낮추기
P-9a-수동100원당 ≥ 30 + 마진 ≥ 30% + 수동🟢 스케일업 가능잘 벌고 있어요! 입찰가를 올리거나 예산을 늘려 매출을 더 키워보세요.입찰가 올리기
P-9b-자동100원당 ≥ 30 + 20% ≤ 마진 < 30% + 자동🟢 소폭 확장 가능수익 나고 있어요! 목표 ROAS를 조금 낮춰서 테스트해보세요.목표 ROAS 조금 낮추기
P-9b-수동100원당 ≥ 30 + 20% ≤ 마진 < 30% + 수동🟢 소폭 확장 가능수익 나고 있어요! 입찰가를 조금 올려서 테스트해보세요.입찰가 조금 올리기
P-9c100원당 ≥ 30 + 마진 < 20%🟢 현 수준 유지순이익은 나고 있지만 마진이 낮아서 광고비 늘리면 오히려 손해볼 수 있어요.현 수준 유지

⚪ 예외 케이스

케이스조건진단메시지액션
P-E1원가 = NULL⚪ 원가 미입력원가를 입력하면 이 캠페인이 돈을 버는지 알려드릴게요.원가 입력하기

케이스 번호 매핑표

영역케이스총 개수
🔴 손해P-1a, P-1b, P-2a, P-2b, P-3a, P-4a, P-4b, P-58개
🟡 본전P-6a, P-6b, P-7, P-8a, P-8b5개
🟢 건강P-9a-자동, P-9a-수동, P-9b-자동, P-9b-수동, P-9c5개
⚪ 예외P-E11개
총계19개

로직 7-1: 영역별 조언 로직 ⭐ 신규 (2026-01-27)

[영역별 순이익 기반 추가 조언]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📌 목적: 캠페인 전체 조언(로직 6-7) + 영역별 세부 조언 제공
📌 E-03 연계: Surface Layer 영역별 진단과 메시지 동기화

[영역별 조언 판정 플로우]

Step 1: 영역별 데이터 존재 확인
├─ 검색 데이터 있음 → 검색 영역 조언
├─ 비검색 데이터 있음 → 비검색 영역 조언
└─ 리타게팅 데이터 있음 → 리타게팅 영역 조언 (참고 수준)

Step 2: 영역별 100원당 순이익 계산

Step 3: 영역별 상태 판정 + 조언 매칭

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[영역별 조언 케이스]

🔍 검색 영역 조언:

| 케이스 | 조건 | 조언 메시지 | 액션 |
|--------|------|-------------|------|
| A-S1 | 검색 100원당 < 0 + 자동 | 검색에서 손해예요. 목표 ROAS를 높여보세요. | 목표 ROAS 높이기 |
| A-S2 | 검색 100원당 < 0 + 수동 | 검색에서 손해예요. 검색 입찰가를 낮춰보세요. | 검색 입찰가 낮추기 |
| A-S3 | 검색 100원당 ≥ 30 | 검색에서 잘 벌고 있어요! | 현 수준 유지 |

📺 비검색 영역 조언:

| 케이스 | 조건 | 조언 메시지 | 액션 |
|--------|------|-------------|------|
| A-N1 | 비검색 100원당 < 0 | 비검색에서 손해예요. 비검색 입찰가를 낮춰보세요. | 비검색 입찰가 낮추기 |
| A-N2 | 비검색 100원당 0~29 | 비검색은 본전이에요. 비검색 입찰가를 조금 낮춰보세요. | 비검색 입찰가 조금 낮추기 |
| A-N3 | 비검색 100원당 ≥ 30 | 비검색에서 잘 벌고 있어요! | 현 수준 유지 |

🎯 리타게팅 영역 조언:

| 케이스 | 조건 | 조언 메시지 | 액션 |
|--------|------|-------------|------|
| A-R1 | 리타게팅 100원당 < 0 | 리타게팅 효율이 낮아요. 상품 페이지 전환율을 확인해보세요. | 상품 페이지 점검 |
| A-R2 | 리타게팅 100원당 ≥ 0 | 리타게팅은 괜찮아요. (CPC가 낮아서 효율 좋은 편) | 현 수준 유지 |

※ 리타게팅은 셀러 컨트롤 제한적 → "참고" 수준 조언

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[영역별 우선순위]

전체가 손해일 때, 어느 영역을 먼저 고쳐야 하나?

우선순위 = 해당 영역의 "손해 금액" 기준
├─ 손해 금액이 가장 큰 영역 먼저 표시
├─ 리타게팅은 셀러 컨트롤 어려움 → 항상 마지막
└─ 검색 vs 비검색은 광고비 비중 고려

[예시]
• 검색 손해: -5,000원
• 비검색 손해: -8,000원
• 리타게팅 손해: -1,000원

→ "비검색에서 가장 많은 손해가 나고 있어요. 비검색 입찰가를 먼저 낮춰보세요."

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[UI 표시 예시]

┌─────────────────────────────────────────────────────────────────┐
│ 캠페인 A                                              🟡 주의   │
│                                                                 │
│ 전체: ROAS 280% → 100원당 5원 남음 (본전)                       │
│                                                                 │
│ ▼ 영역별 분석                                                   │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 🔍 검색      100원당 +25원 🟢  광고비 비중 50%               │ │
│ │ 📺 비검색    100원당 -15원 🔴  광고비 비중 35%               │ │
│ │ 🎯 리타게팅   100원당 +10원 🟡  광고비 비중 15%               │ │
│ └─────────────────────────────────────────────────────────────┘ │
│                                                                 │
│ 💡 비검색에서 손해가 나고 있어요.                               │
│    비검색 입찰가를 낮추면 전체 순이익이 개선돼요.               │
│                                                                 │
│ [쿠팡 광고센터에서 비검색 입찰가 낮추기 →]                      │
└─────────────────────────────────────────────────────────────────┘

로직 8: 키워드 행동 조언

[키워드별 입찰가 조정 가이드]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

캠페인 A의 키워드 분석 (수동 광고)

┌─────────────────────────────────────────────────────────────────┐
│ 🔑 키워드별 순이익 분석                                         │
│                                                                 │
│ ┌───────────────────────────────────────────────────────────┐   │
│ │ 🟢 "강아지 간식"              100원당 +35원 (Good!)        │   │
│ │    현재 입찰가 150원 → 유지 추천                          │   │
│ ├───────────────────────────────────────────────────────────┤   │
│ │ 🟡 "강아지 사료"              100원당 +8원 (본전)          │   │
│ │    현재 입찰가 200원 → 150원 추천 (+10원 예상)            │   │
│ ├───────────────────────────────────────────────────────────┤   │
│ │ 🔴 "애견용품"                 100원당 -12원 (손해)         │   │
│ │    현재 입찰가 180원 → 100원 또는 제외 추천               │   │
│ └───────────────────────────────────────────────────────────┘   │
│                                                                 │
│ 📊 요약:                                                        │
│ • 수익 키워드: 3개 (유지)                                       │
│ • 조정 필요: 5개 (입찰가 낮추기)                                │
│ • 제외 검토: 2개 (손해 지속)                                    │
│                                                                 │
│ [쿠팡 광고센터에서 키워드 관리하기 →]                          │
└─────────────────────────────────────────────────────────────────┘

[키워드 분류 기준]
| 상태 | 조건 | 추천 액션 |
|------|------|----------|
| 🟢 수익 | 100원당 +20원 이상 | 유지 또는 입찰가 소폭 상향 |
| 🟡 본전 | 100원당 0~+20원 | 입찰가 10~20% 하향 |
| 🔴 손해 | 100원당 음수 | 입찰가 30%+ 하향 또는 제외 |

User Story (상세)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
US-01: ROAS를 순이익으로 이해하기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

As a ROAS가 뭔지 잘 모르는 초보 셀러
I want to "100원당 X원 남음"으로 번역된 순이익을 보고 싶다
So that 내 광고가 돈을 버는지 알 수 있다

[수락 기준]
Given 캠페인에 원가 데이터가 입력되어 있을 때
When 캠페인 카드를 볼 때
Then ROAS 옆에 "100원당 X원 남음" 번역이 표시된다
And 양수면 초록색, 본전이면 노란색, 음수면 빨간색으로 표시된다

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
US-02: 내 성향에 맞는 Margin Room 설정하기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

As a 광고 전략을 세우려는 셀러
I want to 내 성향(보수형/균형형/공격형)에 맞는 Margin Room을 설정하고 싶다
So that 그에 맞는 맞춤 조언을 받을 수 있다

[수락 기준]
Given 설정 페이지에서
When Margin Room 설정 섹션을 볼 때
Then 현재 마진율과 변동성 기반 추천 타입이 표시된다
And 보수형/균형형/공격형 중 하나를 선택할 수 있다
And 선택 후 저장하면 이후 조언에 반영된다

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
US-03: 자동 광고에서 목표 ROAS 조정 가이드 받기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

As a 자동 광고를 사용하는 셀러
I want to 목표 ROAS를 얼마로 설정해야 하는지 알고 싶다
So that 쿠팡 광고센터에서 바로 조정할 수 있다

[수락 기준]
Given Margin Room 대비 광고비가 과할 때
When 캠페인 카드를 펼치면
Then "목표 ROAS를 X%로 올리면" 조언이 표시된다
And 예상 순이익 변화 (+Y원)가 표시된다
And "쿠팡 광고센터에서 목표 ROAS 조정하기" 버튼이 표시된다

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
US-04: 수동 광고에서 입찰가 조정 가이드 받기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

As a 수동 광고를 사용하는 셀러
I want to 입찰가를 얼마로 조정해야 하는지 알고 싶다
So that 구체적인 금액으로 조정할 수 있다

[수락 기준]
Given Margin Room 대비 CPC가 높을 때
When 캠페인 카드를 펼치면
Then "입찰가 X원 → Y원" 구체적 조언이 표시된다
And 예상 순이익 변화 (+Z원)가 표시된다
And "쿠팡 광고센터에서 입찰가 조정하기" 버튼이 표시된다

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
US-04-1: 영역별 순이익 분석 보기 ⭐ 신규 (2026-01-27)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

As a 캠페인 전체 ROAS는 괜찮은데 어디서 새는지 모르는 셀러
I want to 검색/비검색/리타게팅 영역별 순이익을 보고 싶다
So that 문제 영역을 찾아서 집중 개선할 수 있다

[수락 기준]
Given 캠페인에 영역별 데이터가 있을 때
When 캠페인 카드를 펼치고 "영역별 분석"을 볼 때
Then 검색/비검색/리타게팅 각각의 "100원당 X원" 순이익이 표시된다
And 각 영역의 광고비 비중(%)이 표시된다
And 손해 영역이 있으면 해당 영역 우선 개선 조언이 표시된다
And 리타게팅은 "참고" 수준으로 표시된다 (셀러 컨트롤 제한적)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
US-05: 키워드별 순이익 분석 보기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

As a 수동 광고로 키워드를 직접 관리하는 셀러
I want to 어떤 키워드가 돈을 벌고 어떤 키워드가 손해인지 알고 싶다
So that 키워드별로 입찰가를 조정하거나 제외할 수 있다

[수락 기준]
Given 캠페인에 키워드가 등록되어 있을 때
When 키워드 분석 섹션을 볼 때
Then 키워드별 "100원당 X원" 순이익이 표시된다
And 수익/본전/손해로 분류되어 표시된다
And 손해 키워드에는 "입찰가 낮추기" 또는 "제외 검토" 조언이 표시된다

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
US-06: 원가 미입력 시 안내 받기
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

As a 아직 원가를 입력하지 않은 셀러
I want to 원가 입력이 필요하다는 안내를 받고 싶다
So that 순이익 번역 기능을 사용할 수 있다

[수락 기준]
Given 캠페인에 원가 데이터가 없을 때
When 캠페인 카드를 볼 때
Then ROAS만 표시되고 순이익 번역은 표시되지 않는다
And "원가를 입력하면 순이익을 계산할 수 있어요" 안내가 표시된다
And "원가 입력하기" 버튼이 표시된다

사용자 시나리오

시나리오 1: ROAS 해석 못하는 초보 셀러

페르소나: 김셀러 (초보, 자동광고, ROAS 의미 모름)

1. 김셀러가 광고 진단 페이지 진입
2. 캠페인 A 카드에서 "ROAS 441%" 옆에 "100원당 12원 남음" 표시
3. 김셀러: "아, 100원 광고하면 12원 버는구나. 괜찮네!"
4. 캠페인 B는 "ROAS 180%" 옆에 "100원당 8원 손해" 표시 (빨간색)
5. 김셀러: "이건 손해구나. 뭘 해야 하지?"
6. 카드 펼치면: "목표 ROAS를 300% → 400%로 올리면 100원당 +5원 예상"
7. 김셀러: "그래, 올려봐야겠다"
8. [쿠팡 광고센터에서 목표 ROAS 조정하기 →] 클릭

결과: ROAS 몰라도 순이익 기반으로 판단하고 행동 가능

---

시나리오 2: Margin Room 설정 + 키워드 관리

페르소나: 박셀러 (중급, 수동광고, 키워드 20개 운영)

1. 박셀러가 설정 > Margin Room 설정 진입
2. "마진 변동성: ±8% (중간) → 균형형 추천" 확인
3. 균형형 선택, 저장
4. 캠페인 C 키워드 분석 진입
5. 키워드 20개 중:
   - 🟢 수익: 8개 ("강아지 간식" 등)
   - 🟡 본전: 7개 ("강아지 사료" 등)
   - 🔴 손해: 5개 ("애견" 등)
6. 손해 키워드 5개에 "입찰가 180원 → 100원" 조언 표시
7. 박셀러: "이 키워드들 입찰가 낮춰야겠다"
8. [쿠팡 광고센터에서 키워드 관리하기 →] 클릭

결과: Margin Room 기반 맞춤 조언으로 키워드별 최적화 가능

3. HOW: 플로우 & 화면

페이지 구조

[Surface Layer - 캠페인 카드 (순이익 번역 포함)]
┌───────────────────────────────────────────────────────────────┐
│ 🟢 캠페인 A                                                    │
│                                                               │
│ ROAS 441%                                                     │
│ ────────────────                                              │
│ 💰 100원당 12원 남음                    ← 순이익 번역 (L1)    │
│                                                               │
│ 광고비 ₩100,000 | 매출 ₩441,000 | 순이익 ₩31,000             │
│                                                               │
│ [펼쳐보기 ▼]                                                  │
└───────────────────────────────────────────────────────────────┘


[펼쳐진 상태 - 행동 조언 포함]
┌───────────────────────────────────────────────────────────────┐
│ 🟡 캠페인 B                                                    │
│                                                               │
│ ROAS 280%                                                     │
│ ────────────────                                              │
│ 💰 100원당 5원 남음 (거의 본전)         ← 순이익 번역 (L1)    │
│                                                               │
│ 광고비 ₩200,000 | 매출 ₩560,000 | 순이익 ₩10,000             │
│                                                               │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│ 💡 Margin Room(균형형) 기준으로 광고비가 과해요 ← 판단 (L2)   │
│                                                               │
│ 📋 추천: 목표 ROAS를 높여보세요            ← 행동 조언 (L3)   │
│                                                               │
│ ┌─────────────────────────────────────────────────────────┐   │
│ │ 현재 목표 ROAS: 300%                                    │   │
│ │         ↓                                               │   │
│ │ 권장 목표 ROAS: 400%                                    │   │
│ │                                                         │   │
│ │ 예상 변화:                                              │   │
│ │ • 100원당 순이익: 5원 → 18원 (+13원) ✨                 │   │
│ └─────────────────────────────────────────────────────────┘   │
│                                                               │
│ [쿠팡 광고센터에서 목표 ROAS 조정하기 →]                     │
│                                                               │
│ [접기 ▲]                                                      │
└───────────────────────────────────────────────────────────────┘


[설정 - Margin Room]
┌───────────────────────────────────────────────────────────────┐
│ ⚙️ 설정 > Margin Room                                         │
├───────────────────────────────────────────────────────────────┤
│                                                               │
│ 💰 현재 평균 마진율: 32%                                      │
│ 📊 최근 3개월 마진 변동성: ±8% (중간)                         │
│                                                               │
│ 추천: 균형형 ✨                                               │
│                                                               │
│ ┌─────────────────────────────────────────────────────────┐   │
│ │ ○ 보수형 (Conservative)                                 │   │
│ │   광고비 ≤ 순이익의 50%                                 │   │
│ │   "안전하게, 확실한 이익만"                              │   │
│ │                                                         │   │
│ │ ● 균형형 (Balanced) ← 추천                              │   │
│ │   광고비 ≤ 순이익의 70%                                 │   │
│ │   "적당한 성장과 안전의 균형"                            │   │
│ │                                                         │   │
│ │ ○ 공격형 (Aggressive)                                   │   │
│ │   광고비 ≤ 순이익의 90%                                 │   │
│ │   "매출 성장 우선, 이익은 나중에"                        │   │
│ └─────────────────────────────────────────────────────────┘   │
│                                                               │
│                                          [설정 저장]          │
└───────────────────────────────────────────────────────────────┘

디자인 요청사항

항목내용
톤앤매너친근하고 쉬운 표현, "판단 대신" 느낌
컬러순이익 양수=초록, 본전=노랑, 손해=빨강
숫자큰 글씨로 "100원당 X원" 강조
참고토스 금융 앱, 뱅크샐러드

4. EDGE: 예외 & 엣지 케이스

데이터 예외

상황처리 방법
원가 미입력순이익 번역 미표시, "원가 입력 필요" 안내
광고비 0원"광고 데이터 없음" 표시
마진율 음수"원가가 판매가보다 높아요" 경고
변동성 계산 불가데이터 3개월 미만 시 "균형형" 기본 추천

계산 예외

상황처리 방법
100원당 순이익 < -50원"-50원 이상 손해" 표시 (캡)
예상 변화 계산 불가"예상 변화를 계산할 수 없어요" 표시
키워드 데이터 부족클릭 10건 미만 시 분석 제외

사용자 예외

상황처리 방법
Margin Room 미설정균형형(70%) 기본 적용
자동/수동 구분 불가공통 조언만 표시

5. 성공 지표

5.1 지표 체계 개요

┌─────────────────────────────────────────────────────────────┐
│              Phase 2 순이익 번역 지표 체계                    │
├─────────────────────────────────────────────────────────────┤
│  [Sprint 내 판단]                                           │
│  Primary: 조언 확인률 ≥ 30% AND 쿠팡 이동률 ≥ 40%           │
│  Secondary: Margin Room 설정률 ≥ 50%                        │
├─────────────────────────────────────────────────────────────┤
│  [Sprint 이후 확인]                                         │
│  Lagging: 조언 후 ROAS 개선율 ≥ 15%                         │
│  Ultimate: KR2 이탈율 ≤ 15% 기여                            │
├─────────────────────────────────────────────────────────────┤
│  [Guard Rails]                                              │
│  • "계산 틀림" CS ≤ 광고분석 CS의 5%                        │
│  • 원가 입력 안내 후 입력률 ≥ 20%                           │
│  • 광고분석 이탈률 기존 대비 20% 이상 증가 금지              │
└─────────────────────────────────────────────────────────────┘

5.2 Sprint 내 판단 지표

계층지표산식목표
Primary조언 확인률조언 카드 펼침 유저 / 순이익 번역 노출 유저≥ 30%
Primary쿠팡 이동률쿠팡 링크 클릭 유저 / 조언 카드 펼침 유저≥ 40%
SecondaryMargin Room 설정률설정 완료 유저 / 순이익 번역 노출 유저≥ 50%
Secondary복귀율쿠팡 이동 후 세션 내 복귀 유저 / 쿠팡 이동 유저≥ 50%

5.3 Sprint 이후 확인 지표

계층지표산식목표
LaggingROAS 개선율조언 후 7일 ROAS 개선 캠페인 / 조언 확인 캠페인≥ 15%
Lagging100원당 순이익 개선조언 후 7일 100원당 순이익 변화+5원 이상
Ultimate이탈율 기여Phase 2 사용자 이탈율 vs 전체 이탈율KR2 연결

5.4 Guard Rails (위반 시 롤백 검토)

  • "계산 틀림" CS가 광고분석 CS의 5% 초과하지 않을 것
  • 원가 입력 안내 후 입력률이 20% 미만이면 UX 개선 필요
  • 광고분석 페이지 이탈률이 기존 대비 20% 이상 증가하지 않을 것
  • 키워드 분석 진입률이 기존 대비 30% 이상 감소하지 않을 것

5.5 성공 판단 기준

[Sprint 종료 시점]
✅ 성공: 조언 확인률 ≥ 30% AND 쿠팡 이동률 ≥ 40%
⚠️ 부분 성공: 둘 중 하나만 달성
❌ 실패: 둘 다 미달성 OR Guard Rails 위반

[Sprint +2주 후]
✅ 가설 검증: ROAS 개선율 ≥ 15%
→ "순이익 번역 조언이 실제 행동 변화를 유도했다"

6. 이벤트 트래킹 명세

6.1 이벤트 목록

이벤트명트리거 시점우선순위
view_profit_translation순이익 번역 노출P0
expand_profit_advice조언 카드 펼침P0
click_action_advice추천 액션 클릭P0
click_coupang_link쿠팡 광고센터 링크 클릭P0
set_margin_roomMargin Room 설정 저장P0
view_keyword_analysis키워드 분석 진입P1
click_keyword_action키워드별 액션 클릭P1
view_cost_input_guide원가 입력 안내 노출P1
click_cost_input원가 입력하기 클릭P1

6.2 핵심 이벤트 상세

view_profit_translation

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "view_profit_translation",
  params: {
    campaign_id: "camp_12345",
    profit_per_100: 12,              // 100원당 순이익
    profit_status: "profit",          // profit | breakeven | loss
    roas: 441,
    end_roas: 350,
    margin_rate: 32,                  // 마진율 (%)
    ad_type: "auto",                  // auto | manual
    margin_room_type: "balanced",     // conservative | balanced | aggressive
    is_demo: "N"
  }
});

expand_profit_advice

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "expand_profit_advice",
  params: {
    campaign_id: "camp_12345",
    profit_per_100: 5,
    profit_status: "breakeven",
    advice_case: "P-C1-a",            // 조언 케이스 코드
    advice_type: "roas_up",           // roas_up | roas_down | bidding_down | bidding_up | maintain | stop
    current_target_roas: 300,
    recommended_target_roas: 400,
    expected_profit_change: 13,       // 예상 100원당 변화
    is_demo: "N"
  }
});

click_action_advice

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "click_action_advice",
  params: {
    campaign_id: "camp_12345",
    advice_case: "P-C1-a",
    advice_type: "roas_up",
    action_code: "target_roas_adjust",  // target_roas_adjust | bidding_adjust | keyword_manage | cost_input | page_check
    current_value: "300%",
    recommended_value: "400%",
    expected_profit_change: 13,
    is_demo: "N"
  }
});
javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "click_coupang_link",
  params: {
    campaign_id: "camp_12345",
    advice_case: "P-C1-a",
    link_type: "target_roas",          // target_roas | bidding | keyword
    source: "profit_advice_card",      // profit_advice_card | keyword_analysis
    is_demo: "N"
  }
});

set_margin_room

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "set_margin_room",
  params: {
    margin_room_type: "balanced",      // conservative | balanced | aggressive
    previous_type: "aggressive",       // 이전 설정 (첫 설정 시 null)
    avg_margin_rate: 32,               // 평균 마진율
    margin_volatility: "medium",       // low | medium | high
    recommended_type: "balanced",      // 시스템 추천 타입
    is_recommended_selected: "Y",      // 추천 타입 선택 여부
    is_demo: "N"
  }
});

view_keyword_analysis

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "view_keyword_analysis",
  params: {
    campaign_id: "camp_12345",
    total_keywords: 20,
    profit_keywords: 8,                // 🟢 수익 키워드 수
    breakeven_keywords: 7,             // 🟡 본전 키워드 수
    loss_keywords: 5,                  // 🔴 손해 키워드 수
    ad_type: "manual",
    is_demo: "N"
  }
});

click_keyword_action

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "click_keyword_action",
  params: {
    campaign_id: "camp_12345",
    keyword_id: "kw_67890",
    keyword_name: "강아지 간식",
    keyword_status: "loss",            // profit | breakeven | loss
    profit_per_100: -12,
    action_type: "bidding_down",       // bidding_down | bidding_up | exclude | maintain
    current_bidding: 180,
    recommended_bidding: 100,
    is_demo: "N"
  }
});

view_cost_input_guide

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "view_cost_input_guide",
  params: {
    campaign_id: "camp_12345",
    trigger_location: "campaign_card",  // campaign_card | keyword_analysis
    is_demo: "N"
  }
});

click_cost_input

javascript
dataLayer.push({
  event: "ad_analysis",
  event_name: "click_cost_input",
  params: {
    campaign_id: "camp_12345",
    trigger_location: "campaign_card",
    is_demo: "N"
  }
});

6.3 측정 타이밍

시점확인 항목
릴리즈 D+3이벤트 수집 정상 여부
릴리즈 D+7Primary 지표 초기값 (조언 확인률, 쿠팡 이동률)
릴리즈 D+14전체 KPI 1차 판정, Guard Rails 점검
릴리즈 D+21Lagging 지표 확인 (ROAS 개선율)

7. 개발 범위 및 우선순위

7.1 P0 (필수, MVP)

항목설명담당
100원당 순이익 계산 API캠페인별 순이익 계산 로직BE
순이익 번역 UI"100원당 X원 남음" 표시FE
조언 케이스 판정 로직20개 케이스 분기 로직BE
캠페인 조언 카드타이틀/메시지/액션 표시FE
쿠팡 광고센터 링크목표 ROAS/입찰가 조정 링크FE
Margin Room 설정 UI보수형/균형형/공격형 선택FE
Margin Room API설정 저장/조회BE

7.2 P1 (중요)

항목설명담당
키워드별 순이익 분석키워드별 100원당 계산BE + FE
키워드 조언 카드키워드별 입찰가 조정 가이드FE
마진 변동성 계산3개월 마진 변동성 분석BE
이벤트 트래킹DataLayer 이벤트 전송FE
원가 미입력 안내원가 입력 유도 UIFE

7.3 P2 (선택)

항목설명담당
셀러 타입 자동 분류마진 변동성 기반 추천BE
예상 변화 시뮬레이션목표 ROAS/입찰가 변경 시 예상 순이익BE

8. 의존성 & 제약 (기존 6번)

기술 의존성

의존 항목상태비고
원가 데이터 (Product 테이블)✅ 확인됨marginRate 사용
자동/수동 광고 구분⏳ BE 확인 필요API 필요
E-03 Surface LayerE-03 완료 후UI 확장

제약 조건

  • 원가 의존: 원가 미입력 시 핵심 기능 사용 불가
  • 예측 한계: 목표 ROAS 변경 시 실제 결과는 다를 수 있음 (면책 필요)
  • 키워드 데이터: 수동 광고만 키워드 분석 가능

9. 스토리 목록

Epic Spec 승인 후 분해

Story ID제목규모우선순위담당상태
E-04-S-01순이익 번역 UI (100원당 X원)MP0FEdraft
E-04-S-02Margin Room 설정 UI/APIMP0FE/BEdraft
E-04-S-03캠페인 행동 조언 (자동 광고)LP0FE/BEdraft
E-04-S-04캠페인 행동 조언 (수동 광고)LP0FE/BEdraft
E-04-S-05키워드별 순이익 분석LP1FE/BEdraft
E-04-S-06GA4 이벤트 트래킹 (9개 이벤트)SP1FEdraft

Story Point 추정

규모Story합계
L (3pt)S-03, S-04, S-059
M (2pt)S-01, S-024
S (1pt)S-061
총합14 SP

의존성 그래프

[BE] 순이익 계산 API (S-03,S-04 공통)

    ┌────┴────┬────────────────┐
    ▼         ▼                ▼
[FE] S-01  [FE/BE] S-02    [FE/BE] S-05
 번역UI    MarginRoom       키워드분석
    │         │
    └────┬────┘

    [FE/BE] S-03, S-04
     조언 케이스


    [FE] S-06 GA4

10. QA 체크리스트

기능 테스트

순이익 번역

  • [ ] 100원당 순이익 양수 → 초록색 "X원 남음" 표시
  • [ ] 100원당 순이익 0~10 → 노란색 "거의 본전" 표시
  • [ ] 100원당 순이익 음수 → 빨간색 "X원 손해" 표시
  • [ ] 원가 미입력 시 → "원가 입력 필요" 안내 표시
  • [ ] 광고비 0원 시 → "광고 데이터 없음" 표시

Margin Room 설정

  • [ ] 보수형/균형형/공격형 3종 선택 가능
  • [ ] 현재 마진율, 변동성 표시
  • [ ] 추천 타입 하이라이트
  • [ ] 설정 저장 후 유지
  • [ ] 미설정 시 균형형(70%) 기본 적용

자동 광고 조언

  • [ ] 목표 ROAS 상향 조언 표시
  • [ ] 현재 → 권장 목표 ROAS 표시
  • [ ] 예상 100원당 순이익 변화 표시
  • [ ] "쿠팡 광고센터에서 조정하기" 링크 동작

수동 광고 조언

  • [ ] 입찰가 하향 조언 표시
  • [ ] 현재 → 권장 입찰가 표시
  • [ ] 예상 100원당 순이익 변화 표시
  • [ ] "쿠팡 광고센터에서 조정하기" 링크 동작

키워드 분석

  • [ ] 키워드별 100원당 순이익 표시
  • [ ] 🟢/🟡/🔴 상태별 분류
  • [ ] 손해 키워드에 "입찰가 낮추기/제외" 조언
  • [ ] 수익 키워드에 "유지" 조언
  • [ ] 요약 (수익/조정필요/제외검토 개수)

영역별 순이익 분석 ⭐ 신규 (2026-01-27)

  • [ ] 검색/비검색/리타게팅 영역별 데이터 존재 확인
  • [ ] 영역별 "100원당 X원" 순이익 표시
  • [ ] 영역별 광고비 비중(%) 표시
  • [ ] 영역별 🟢/🟡/🔴 상태 표시
  • [ ] 손해 영역 우선 개선 조언 표시
  • [ ] 리타게팅은 "참고" 수준 표시 (셀러 컨트롤 제한적)
  • [ ] 영역별 기여도 분석 (어느 영역이 전체 순이익에 기여/손해)
  • [ ] 영역별 조언 케이스 판정 (A-S1~3, A-N1~3, A-R1~2)

계산 로직 테스트

  • [ ] 100원당 순이익 = ((전환매출 - 원가 - 광고비) / 광고비) × 100
  • [x] VAT 포함 광고비 계산 (×1.1) → ETL 시 VAT 포함 완료
  • [ ] 마진율 = (판매가 - 원가) / 판매가 × 100
  • [ ] End ROAS = 100 / 마진율 × 100
  • [ ] 허용 CPC = (평균 주문금액 × CVR) / BEP ROAS × Margin Room%

조언 케이스 로직 테스트 (v4.0 MECE 기준)

🔴 손해 케이스 (8개)

  • [ ] P-1a: 마진 < 10% → 광고 중단 검토
  • [ ] P-1b: 10% ≤ 마진 < 15% → 판매가 인상 검토
  • [ ] P-2a: 마진 ≥ 15% + 자동 + ROAS < BEP×0.8 → 목표 ROAS 높이기
  • [ ] P-2b: 마진 ≥ 15% + 수동 + 기타 → 입찰가 낮추기
  • [ ] P-3a: 마진 ≥ 15% + 자동 + ROAS ≥ BEP×0.8 → 목표 ROAS 조금 높이기
  • [ ] P-4a: 마진 ≥ 15% + 수동 + CPC ≥ 허용×1.5 → 입찰가 낮추기
  • [ ] P-4b: 마진 ≥ 15% + 수동 + 허용×1.3 ≤ CPC < 허용×1.5 → 입찰가 조금 낮추기
  • [ ] P-5: 마진 ≥ 15% + 수동 + CVR < 3% + 클릭 ≥ 50 → 상세페이지 점검

🟡 본전 케이스 (5개)

  • [ ] P-6a: 광고비 > MarginRoom + 자동 → 목표 ROAS 높이기
  • [ ] P-6b: 광고비 > MarginRoom + 수동 → 입찰가 낮추기
  • [ ] P-7: 광고비 ≤ MarginRoom + 마진 < 15% → 현 수준 유지
  • [ ] P-8a: 광고비 ≤ MarginRoom + 마진 ≥ 15% + 자동 → 목표 ROAS 조금 높이기
  • [ ] P-8b: 광고비 ≤ MarginRoom + 마진 ≥ 15% + 수동 → 입찰가 조금 낮추기

🟢 건강 케이스 (5개)

  • [ ] P-9a-자동: 100원당 ≥ 30 + 마진 ≥ 30% + 자동 → 목표 ROAS 낮추기
  • [ ] P-9a-수동: 100원당 ≥ 30 + 마진 ≥ 30% + 수동 → 입찰가 올리기
  • [ ] P-9b-자동: 100원당 ≥ 30 + 20% ≤ 마진 < 30% + 자동 → 목표 ROAS 조금 낮추기
  • [ ] P-9b-수동: 100원당 ≥ 30 + 20% ≤ 마진 < 30% + 수동 → 입찰가 조금 올리기
  • [ ] P-9c: 100원당 ≥ 30 + 마진 < 20% → 현 수준 유지

⚪ 예외 케이스 (1개)

  • [ ] P-E1: 원가 = NULL → 원가 입력 안내

이벤트 트래킹 테스트

  • [ ] view_profit_translation 이벤트 발생
  • [ ] expand_profit_advice 이벤트 발생
  • [ ] click_action_advice 파라미터 정확성
  • [ ] click_coupang_link 이벤트 발생
  • [ ] set_margin_room 이벤트 발생
  • [ ] view_keyword_analysis 이벤트 발생
  • [ ] GA4 DebugView에서 확인

엣지 케이스 테스트

  • [ ] 마진율 음수 → "원가가 판매가보다 높아요" 경고
  • [ ] 100원당 순이익 < -50원 → "-50원 이상 손해" 표시 (캡)
  • [ ] 데이터 3개월 미만 → 변동성 계산 불가, 균형형 추천
  • [ ] 키워드 클릭 10건 미만 → 분석 제외
  • [ ] 자동/수동 구분 불가 → 공통 조언만 표시

체크리스트

PO 승인 전 체크

  • [x] 문제 정의가 명확한가?
  • [x] 비즈니스 로직이 구체적인가? (계산식, 조건 등)
  • [x] 와이어프레임/플로우가 있는가?
  • [x] 엣지 케이스가 정의되었는가?
  • [x] 성공 지표가 측정 가능한가?
  • [ ] 기술 의존성이 확인되었는가? (자동/수동 구분 API)

미결 사항

항목상태담당
자동/수동 광고 구분 API✅ DB 컬럼 존재 확인됨하록
예측 정확도 면책 문구✅ 불필요 확인윤재
디자인 요청⏳ 스프린트 시작 전 전달 예정윤재

승인

항목확인
PO 승인
승인일2026-01-20
비고자동/수동 구분 컬럼 DB에 존재 확인됨, 면책 문구 불필요

참고 자료

전략 문서

  • 전략 문서: .context/global/strategy.md (Phase 2 상세 설계 섹션)
  • Product Roadmap: Notion
  • ROAS → 순이익 가설: One Pager

번역 레벨 참고

Level이름예시Phase 2 목표
1정보 번역"100원당 12원 남음"
2판단 번역"광고비가 과해요"
3행동 번역"목표 ROAS 400%로"✅ 목표
4결과 번역"월 80만원 예상"Phase 3+

변경 이력

버전날짜내용
v2.62026-01-27영역별 순이익 번역 로직 추가: 로직 2-1 (영역별 계산식), 로직 7-1 (영역별 조언 A-S/A-N/A-R), US-04-1 (영역별 분석 스토리), QA 체크리스트
v2.52026-01-27허용 CPC 계산식 수정: (1-MarginRoom%)MarginRoom% (공격형일수록 높은 CPC 허용)
v2.42026-01-27MECE Decision Tree v4.0 정합성 확보: 케이스 매핑표/QA 체크리스트 동기화 (손해 8개, 본전 5개, 건강 5개, 예외 1개 = 총 19개)
v2.32026-01-26VAT 계산 제거: ETL 시 VAT 포함 완료로 ×1.1 불필요
v2.22026-01-26데이터 제약 수정: 광고 유형(adType) 사용 가능으로 변경, 플레이스홀더 계산식 추가
v2.12026-01-261일치 정책 조정: P-E1 삭제, P-2a→P-2a-자동/P-2a-수동 분리
v2.02026-01-23Notion PRD 수준으로 상세화: 조언 케이스 테이블(20개), 판정 플로우, 이벤트 트래킹 JS 코드, 성공 지표 계층 구조, QA 체크리스트, 개발 범위 우선순위 추가
v1.02026-01-19초안 작성

작성일: 2026-01-19최종 수정: 2026-01-27 (영역별 순이익 번역 로직 추가)

장사왕 Product Team