# Agent 미팅: InsuRo 키워드 순위 기능 재설계

**날짜**: 2026-04-29
**소집 이유**: 30개 고정 키워드 순위가 실질적 가치 없음. 보험 설계사에게 의미 있는 키워드 기능으로 재설계
**참여 페르소나**: 므네모시네, 아폴론, 에이레네, 로키, 야누스, 다빈치, 프로메테우스, 비너스, 아틀라스
**미팅 모드**: hybrid
**토론 깊이**: thorough
**총 사이클 수**: 6
**벤치마킹**: 블랙키위(BlackKiwi), 썸트렌드(Sometrend)

---

## 사이클 요약

### Cycle 1 (Independent) — 9인 독립 의견 수집
- 검색량 단독 부족 → 복합 스코어 필요 (합의)
- 발견→분석→행동 원스탑 (합의)
- 시즌성 활용 (합의)
- 인포키워드와 역할 분리 (합의)
- 두 탭 통합 (합의)

### Cycle 2 (Sequential) — Phase 1 구체화 + DA(로키) 검증
- InsuRo Score 공식 확정: 검색량(0.4) + 경쟁도(0.25) + 트렌드(0.2) + 시즌(0.15)
- SearchAd compIdx는 "광고" 경쟁도 → "β 참고용" 라벨 필요
- AI: Phase 1은 규칙 기반만 (LLM 0회)
- 크롤링: 완전 배제, 공식 API만
- 플랜 차등: 빈도 차등 (무료=주1회, 맥스=일1회)
- DA 지적: Score 과신 방지, 탭 통합 시 컴포넌트 독립 유지, 정렬 옵션 병행

### Cycle 3 (Sequential) — "왜 이 리스트인가?" 본질 질문
- "키워드 랭킹"이 아니라 "글감 추천"이 본질이라는 방향 도출
- 개인화 3계층: Why Domain → Why This Keyword → Why For YOU
- DA(아폴론): "AI가 알아서 주제 정해주는 게 낫다" 반론
- **CEO 피드백: 방향이 너무 틀어졌다. 보험 관련 급상승/핫 키워드가 본질**

### Cycle 4 (Sequential) — 원점 복귀: "보험 업계 전용 실검"
- DataLab API 연동 (신규) — 일별 보험 키워드 트렌드 수집
- 시드 키워드 150개 수동 큐레이션 — "보험 관련" 필터링 해결
- 급상승 로직: 전주 대비 변화율 계산 → TOP 20 정렬
- UI = 실검 리스트 (네이버 실검 스타일)
- [글쓰기] CTA로 행동 연결
- DA(로키): "급상승 없는 날" 대비, 시드 풀 관리

### Cycle 5 (Sequential) — Phase 1 최종 구현 스펙
- 시드 키워드 150개 (8 카테고리) 구체 구성
- DataLab API 스펙: POST, 5개/요청, 30회/일
- 급상승 판정: (최근3일 - 이전7일) / 이전7일 × 100
- 랭킹 가중치: 검색량(40%) + 급상승(60%)
- DB: keyword_daily_trend + keyword_ranking_snapshot
- DA(야누스): P0/P1/P2 우선순위 분리 (일정 압박 시 P2 후순위)

### Cycle 6 (Sequential) — 블랙키위 벤치마킹 통합
- **콘텐츠 포화지수 추가**: Blog Search API로 발행수 수집, 검색량÷발행수
- **이슈성 지수 추가**: 7일 변동계수(CV)
- **오늘의 추천 배너**: 복합 추천 스코어 1위 자동 선정
- DA(로키): 포화지수가 Phase 1의 존재 이유, 영향력 순위는 포기

---

## 벤치마킹 비교

| | 블랙키위 | 썸트렌드 | InsuRo (Phase 1) |
|--|---------|---------|-----------------|
| 방식 | Pull (사용자 검색) | Pull | **Push (자동 추천)** |
| 검색량 | O | X (소셜 언급량) | O (DataLab) |
| 포화지수 | O | X | **O (Blog API)** |
| 이슈성 | O | O | **O (변동계수)** |
| 감성분석 | X | O | Phase 3 |
| 보험 특화 | X | X | **O (시즌 태그)** |
| 글쓰기 연결 | X | X | **O (원스탑)** |
| 비용 | 월 3~5만원 | 월 3~15만원 | **0원** |

---

## Phase 1 최종 구현 스펙

### 데이터 수집
| 항목 | API | 주기 | 비용 |
|------|-----|------|------|
| 검색 트렌드 | DataLab API | 일 2회 | 0원 |
| 블로그 발행수 | Blog Search API | 일 1회 | 0원 |
| 월간 검색량+경쟁도 | SearchAd API (기존) | 일 1회 | 0원 |

### 시드 키워드 150개 (8 카테고리)
- 생명보험 상품 (20): 종신, 변액, 저축, CI, GI
- 손해보험 상품 (20): 자동차, 화재, 운전자
- 건강/질병 (25): 암, 치아, 실손, 간병, 치매
- 라이프스테이지 (20): 태아, 어린이, 연금
- 업계/제도 (20): 설계사, GA, 해약환급금
- 시사/이슈 (15): 실손개편, 보험사기, 4세대실손
- 비교/행동 (15): 보험비교, 추천, 갈아타기
- 경쟁/채널 (15): 다이렉트, MDRT, 보험상담

### 분석 지표
- **급상승 가중 랭킹**: 검색량(40%) + 급상승률(60%)
- **콘텐츠 포화지수**: 검색량 ÷ 발행수 → 🔵블루오션/🟡경쟁중/🔴포화
- **이슈성 지수**: 7일 변동계수 → 📊안정/📈변동/⚡급변
- **복합 추천 스코어**: 급상승 × 포화지수 역수 → "오늘의 추천"

### 급상승 판정 기준
- 🔥 급상승: +50% 이상 AND 이전 7일 평균 ≥ 10
- ↑ 상승: +20% ~ +49%
- — 보합: -19% ~ +19%
- ↓ 하락: -20% 이하
- NEW 신규: 이전 7일 평균 < 5 AND 최근 3일 평균 ≥ 15

### UI
- "키워드 순위" 탭 → **"트렌드 인사이트"** 탭으로 교체
- "검색량 조회" 탭 → 변경 없이 유지
- TOP 20 카드 리스트 (순위, 등락, 키워드명, 검색량 바, 포화뱃지, 이슈라벨, 7일 스파크라인, [글쓰기] CTA)
- 하단 "오늘의 추천" 배너 (복합 스코어 1위)
- 카테고리 필터 (8개)
- 모바일 반응형

### 행동 연결
- [글쓰기] → /generate?keyword=X&source=insight
- /generate에서 해당 키워드 자동 삽입

### 플랜 차등
- 빈도 차등: 무료=주1회, 맥스=일2회
- TOP 20 전체 표시 (블러/개수 제한 없음)

### DB
```sql
keyword_daily_trend (id, keyword, category, search_date, relative_volume, blog_total, collected_at)
keyword_ranking_snapshot (id, snapshot_date, snapshot_period, rank, keyword, category, change_type, change_pct, prev_rank, saturation_level, volatility_level, created_at)
```

### 리스크 대비
- 급상승 없는 날 → "꾸준히 높은 키워드 TOP 10"으로 전환
- DataLab 장애 → 기존 데이터 유지 + "마지막 수집: X시간 전" 표시
- 시드 풀 방치 → 월 1회 SearchAd 연관키워드 자동 확장 제안
- Score 과신 → "β 참고용" 라벨

### 우선순위 (일정 압박 시)
- **P0 (필수 3일)**: DataLab 수집 + 랭킹 산출 + TOP 20 리스트 + 글쓰기 CTA
- **P1 (강력권장 2일)**: 카테고리 필터 + 급상승/상승/보합 표시 + 포화지수 뱃지
- **P2 (후순위 1일)**: 시즌 태그 + "오늘의 추천" 배너 + 스파크라인

### 예상 일정: 6일, 추가 비용: 0원

---

## Phase 2 이후 로드맵
- 연관 키워드 확장 (SearchAd API)
- 연령/성별 분석 (SearchAd API)
- 뉴스 크롤링 → 돌발 이슈 감지 (보험신문 RSS)
- 소셜 언급량 분석 (썸트렌드 방식, Blog/카페 발행수 변화)
- 긍부정 감성 분석 (LLM 기반)
- AI 키워드 예측 (법규 변경/시장 동향)
- 경쟁사 발행 급증 알림

---

## 건드리지 않는 것
- 기존 trend_keywords 테이블
- 기존 "검색량 조회" 탭
- 기존 인포키워드 API 연동

---

## Cycle 7 — 실행단 A to Z 최종 합의 (CONSENSUS REACHED)

### 2,000개 키워드 선정 파이프라인
1. 시드 30개 (6카테고리, config/keyword-seeds.json)
2. SearchAd 연관 확장 → ~14,000개
3. 검색량 상위 2,000개 컷오프 (하한 월 100회)
4. 노이즈 필터링 (정규식 블록리스트 + 브랜드 제거)
5. 카테고리 자동 분류 (규칙 기반)
6. 갱신 주기: 월 1회

### DataLab 정규화 (로키 DA 핵심 제안)
- 앵커 키워드 "보험" 고정 포함 → 배치 간 상대값 통일
- 배치: 앵커 + 4개 = 500회/일 (여유 50%)

### 복합 랭킹 가중치 (확정)
- 기회도(100-포화): 0.40
- 급상승: 0.35
- 이슈성: 0.25

### 크론 스케줄
- 03:00 월 1회: 키워드 풀 갱신
- 06:00 매일: DataLab 트렌드 수집
- 06:30 매일: 블로그 포화도 수집
- 07:00 매일: 랭킹 산출
- 07:30 매일: 헬스체크 + 알림

### DB (5테이블)
keywords, keyword_trends, keyword_saturation, keyword_rankings, failed_batches

### 전원 합의 20개 항목: 모두 ✅
