Skip to content

Story: Margin Room 설정 UI/API

메타

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

사용자 스토리

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


수락 기준 (Acceptance Criteria)

AC-01: Margin Room 설정 페이지

항목내용
Given설정 페이지에서
WhenMargin Room 설정 섹션을 볼 때
Then현재 마진율과 변동성 기반 추천 타입이 표시된다

AC-02: 타입 선택 및 저장

항목내용
GivenMargin Room 설정 화면에서
When보수형/균형형/공격형 중 하나를 선택하고 저장하면
Then이후 행동 조언에 선택한 설정이 반영된다

AC-03: 변동성 기반 추천

항목내용
Given최근 3개월 마진 데이터가 있을 때
WhenMargin Room 설정 화면을 볼 때
Then변동성에 따라 타입을 추천한다
변동성 ±5% 이내: "공격형 가능" 추천
변동성 ±5~10%: "균형형" 추천 (기본)
변동성 ±10% 이상: "보수형 권장" 추천

AC-04: 기본값 처리

항목내용
GivenMargin Room을 설정하지 않았거나 데이터 부족 시
When행동 조언을 계산할 때
Then균형형(70%) 기본 적용

태스크 분해

Task 1: BE - Margin Room API AC-02, AC-04

  • [ ] 1.1: VendorSettings 테이블에 marginRoomType 컬럼 추가
  • [ ] 1.2: GET/PUT /api/settings/margin-room 엔드포인트
  • [ ] 1.3: 기본값 균형형(70%) 처리

Task 2: BE - 변동성 계산 AC-03

  • [ ] 2.1: 최근 3개월 마진율 데이터 조회
  • [ ] 2.2: 표준편차 기반 변동성 계산
  • [ ] 2.3: 추천 타입 결정 로직

Task 3: FE - 설정 UI AC-01, AC-02

  • [ ] 3.1: 설정 > Margin Room 페이지 구현
  • [ ] 3.2: 마진율/변동성 표시
  • [ ] 3.3: 타입 선택 라디오 버튼
  • [ ] 3.4: 저장 기능
  • [ ] 3.5: GA4 이벤트 (set_margin_room)

Margin Room 타입 상세

타입비율설명
보수형 (Conservative)광고비 ≤ 순이익의 50%"안전하게, 확실한 이익만"
균형형 (Balanced)광고비 ≤ 순이익의 70%"적당한 성장과 안전의 균형"
공격형 (Aggressive)광고비 ≤ 순이익의 90%"매출 성장 우선, 이익은 나중에"

이벤트 로깅

이벤트명트리거파라미터
view_margin_room_settings설정 페이지 진입{current_type}
set_margin_roomMargin Room 설정 저장{type: conservative/balanced/aggressive}

Dev Notes

API 응답 예시

json
{
  "marginRoom": {
    "currentType": "balanced",
    "avgMarginRate": 32,
    "marginVolatility": 8,
    "recommendedType": "balanced",
    "recommendReason": "마진 변동성이 중간 수준입니다"
  }
}

DB 스키마

sql
ALTER TABLE VendorSettings
ADD marginRoomType ENUM('conservative', 'balanced', 'aggressive') DEFAULT 'balanced';

생성일: 2026-01-20

장사왕 Product Team