Skip to content

Story: 키워드별 순이익 분석

메타

항목
Story IDE-04-S-05
EpicE-04 Phase 2 순이익 번역
상태ready-for-dev
우선순위P1
규모L
담당 개발자수민 (FE), 하록 (BE)

사용자 스토리

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


수락 기준 (Acceptance Criteria)

AC-01: 키워드별 순이익 표시

항목내용
Given캠페인에 키워드가 등록되어 있을 때
When키워드 분석 섹션을 볼 때
Then키워드별 "100원당 X원" 순이익이 표시된다

AC-02: 키워드 분류

항목내용
Given키워드 목록이 표시될 때
When순이익에 따라 분류하면
Then🟢수익/🟡본전/🔴손해로 분류되어 표시된다
🟢 수익: 100원당 +20원 이상 → "유지 추천"
🟡 본전: 100원당 0~+20원 → "입찰가 10~20% 하향"
🔴 손해: 100원당 음수 → "입찰가 30%+ 하향 또는 제외"

AC-03: 키워드별 조언 (방향성)

항목내용
Given손해/본전 키워드가 있을 때
When해당 키워드를 볼 때
Then"입찰가 낮추기" 또는 "제외 검토" 방향성 조언이 표시된다

⚠️ 데이터 제약: 키워드별 입찰가는 쿠팡 스크랩 데이터에 없어 구체적 값 제시 불가

AC-04: 요약 정보

항목내용
Given키워드 분석 화면에서
When요약 섹션을 볼 때
Then수익/본전/손해 키워드 개수가 요약되어 표시된다

AC-05: 데이터 부족 처리

항목내용
Given키워드의 클릭 수가 10건 미만일 때
When키워드 목록을 볼 때
Then"데이터 부족"으로 표시하고 분석에서 제외

태스크 분해

Task 1: BE - 키워드 순이익 계산 API AC-01, AC-05

  • [ ] 1.1: 키워드별 광고 데이터 집계
  • [ ] 1.2: 키워드별 순이익 계산 (전환 상품 원가 매핑 필요)
  • [ ] 1.3: 100원당 순이익 계산
  • [ ] 1.4: 클릭 10건 미만 필터링

Task 2: BE - 키워드 분류 및 조언 AC-02, AC-03, AC-04

  • [ ] 2.1: 수익/본전/손해 분류 로직 (건강 기준 30원)
  • [ ] 2.2: 키워드별 권장 입찰가 계산 → 방향성만 제시 (입찰가 데이터 없음)
  • [ ] 2.3: 허용 CPC vs 현재 CPC 비교
  • [ ] 2.4: 요약 정보 집계

Task 3: FE - 키워드 분석 UI AC-01~AC-05

  • [ ] 3.1: 키워드 분석 페이지/섹션
  • [ ] 3.2: 키워드 목록 컴포넌트 (정렬, 필터)
  • [ ] 3.3: 상태별 컬러 코딩 (🟢🟡🔴)
  • [ ] 3.4: 키워드별 조언 표시
  • [ ] 3.5: 요약 카드
  • [ ] 3.6: 쿠팡 광고센터 연결 버튼
  • [ ] 3.7: GA4 이벤트 (view_keyword_analysis)

데이터 제약사항 (2026-01-26)

⚠️ 쿠팡 광고 스크랩 데이터 한계로 인한 제약

데이터상태대안
키워드별 입찰가❌ 없음방향성만 제시 ("입찰가 낮추기")
권장 입찰가❌ 계산 불가허용 CPC 대비 현재 CPC 비교

키워드 분류 기준

상태조건조언
🟢 수익100원당 +30원 이상유지
🟡 본전100원당 0~+30원입찰가 낮추기 (쿠팡에서)
🔴 손해100원당 음수입찰가 낮추기 또는 제외 검토
⚪ 부족클릭 < 10건데이터 부족, 분석 제외

※ 구체적 입찰가 권장값은 쿠팡 데이터 제약으로 제시 불가


이벤트 로깅

이벤트명트리거파라미터
view_keyword_analysis키워드 분석 진입{campaign_id, keyword_count}
click_keyword_action키워드 조언 클릭{campaign_id, keyword, action_type}

Dev Notes

API 응답 예시

json
{
  "campaignId": "456",
  "summary": {
    "profitable": 8,
    "breakeven": 7,
    "loss": 5,
    "insufficientData": 3
  },
  "keywords": [
    {
      "keyword": "강아지 간식",
      "clicks": 150,
      "cost": 25000,
      "revenue": 120000,
      "profitPer100": 35,
      "status": "profitable",
      "currentCpc": 167,
      "allowedCpc": 200,
      "advice": {
        "type": "maintain",
        "direction": null,
        "message": "수익 나고 있어요. 유지하세요."
      }
    },
    {
      "keyword": "강아지 사료",
      "clicks": 80,
      "cost": 16000,
      "revenue": 40000,
      "profitPer100": 15,
      "status": "breakeven",
      "currentCpc": 200,
      "allowedCpc": 150,
      "advice": {
        "type": "decrease_bid",
        "direction": "down",
        "message": "쿠팡 광고센터에서 입찰가를 낮춰보세요."
      }
    },
    {
      "keyword": "애견용품",
      "clicks": 60,
      "cost": 12000,
      "revenue": 15000,
      "profitPer100": -12,
      "status": "loss",
      "currentCpc": 200,
      "allowedCpc": 100,
      "advice": {
        "type": "exclude_or_decrease",
        "direction": "down",
        "message": "입찰가를 낮추거나 제외를 검토하세요."
      }
    }
  ]
}

currentBid, recommendedBid 제거됨 (쿠팡 데이터 없음) ※ CPC 기반 방향성만 제시


### 주의사항

- 키워드별 전환 상품과 원가를 정확히 매핑해야 함
- 다수 상품 전환 시 평균 원가 적용

### 의존성

- E-04-S-01: 순이익 번역
- E-04-S-02: Margin Room 설정
- E-02-S-02: 검색/비검색 API (keyword IS NOT NULL)

---

*생성일: 2026-01-20*<br>

장사왕 Product Team