업종 코드 체계 거버넌스 통합

업종 코드 체계 거버넌스 통합

ADR-005 업종 코드 체계 거버넌스 통합

1. Metadata

  • ADR ID: ADR-005
  • Status: draft
  • Date: 2026-03-12
  • Owner: YSY

2. Context

  1. 업종 체계의 1차 목적은 정밀 분류가 아니라 검색 필터에서의 즉시 인식이다.
  2. 파트너/사용자가 자신의 매장 성격과 필터 의도를 빠르게 매칭할 수 있어야 한다.
  3. 과도한 세분화는 탐색 속도와 선택 명확성을 저해하므로 L1은 제한된 개수로 운영한다.

3. Domain Decision

  1. Canonical 업종 L1 v2는 아래 8개로 고정한다.
    • DINING
    • CAFE_DESSERT
    • BAR
    • BEAUTY
    • FITNESS
    • ACTIVITY
    • WELLNESS
    • ETC
  2. 기본값(Default)은 ETC로 한다. 미지정/미지원/알 수 없는 업종은 ETC로 정규화한다.
  3. 업종 SoT는 매장 도메인 값(stores.category)으로 고정한다.
  4. 관심업종/선결제/업종분석 등 하위 기능의 category 참조는 canonical L1 코드만 사용한다.
  5. 업종 추가/변경은 임의 반영을 금지하고 ADR 갱신 -> DB 제약/마이그레이션 -> API 검증 -> 앱 라벨/필터 반영 -> 집계/백필 검증 순서로 반영한다.

4. Product Decision

  1. 사용자 노출 라벨은 즉시 인식 중심으로 운영한다.
    • DINING: 식사
    • CAFE_DESSERT: 카페/디저트
    • BAR: 술집
    • BEAUTY: 뷰티
    • FITNESS: 운동
    • ACTIVITY: 액티비티
    • WELLNESS: 웰니스
    • ETC: 기타
  2. 검색 필터는 L1 기준으로만 제공한다.
  3. 미정의 업종은 사용자 화면에서 기타로 표시한다.
  4. 업종 기능 정책(필터, 관심업종, 선결제, 분석)은 업종 추가 시 영향 검토를 함께 수행한다.

5. UX Decision

  1. 매장 등록 업종 선택 UI는 canonical L1만 노출한다.
  2. 필터 명칭은 직관적 한글 라벨을 우선하며, 기술 코드 표시는 사용자 화면에서 노출하지 않는다.
  3. 구버전 앱/레거시 데이터에서 미정의 업종이 유입되어도 UX는 기타로 안전 표시한다.
  4. 업종 추가 릴리스 시 라벨/정렬/필터 노출 일관성을 동일 릴리스 범위에서 검증한다.

6. Tech Decision

  1. 쓰기 경로(RPC/API)는 미정의 업종 입력을 ETC로 정규화한다.
  2. 읽기 경로(API/집계)는 미정의 업종을 ETC로 안전 매핑해 하위 기능 장애를 방지한다.
  3. 분석/집계 테이블의 업종 키는 canonical L1 코드만 저장한다.
  4. 업종 추가 시 기존 데이터 backfill 및 집계 재계산 절차를 필수 수행한다.

7. Ops Decision

  1. 업종 코드 변경은 RUNBOOK 체크리스트로 배포한다.
  2. 배포 후 미정의 업종 정규화 비율을 모니터링한다.
  3. 업종 추가/변경 이력은 ADR/운영로그에서 추적 가능해야 한다.

8. Validation

  • 업종 canonical 코드와 라벨 매핑이 앱/서버/분석에서 일치한다.
  • 미정의 업종 유입 시 ETC 정규화/표시가 모든 경로에서 보장된다.
  • 검색 필터가 세분 정확도보다 즉시 인식 목적을 우선하도록 유지된다.
  • 업종 추가/변경 절차가 RUNBOOK과 연결된다.