우리는 흔히 “데이터가 답을 알고 있다”고 믿으며 그 데이터를 기반으로 방대한 리포트를 생산합니다. 하지만 시장의 본질은 데이터의 양(Volume)이 아니라, 그 데이터가 담고 있는 의사결정의 근거(Ground Truth)에 있습니다. 다음은 패션 카테고리 분석의 예시를 통해 우리가 어떤 질문을 던져야 할까요. ListeningMind DaaS API를 활용한 검색기반 인사이트 도출 과정을 통해 우리가 놓치고 있는 것들에 대해 알아봅시다.
- 분석 대상: 메리제인슈즈(Mary Jane Shoes)
- 지역: 한국(gl=kr)
- 분석 기간: 2024년1월~ 2025년12월
- 최종 산출물: 시장인텔리전스, 스타일링관련심층분석
현상의 추종인가, 구조의 파악인가
많은 기업이 ‘메리제인 슈즈’의 검색량이 전년 대비 43% 감소했다는 지표를 마주했을 때 성급히 ‘시장 쇠퇴’를 결론짓습니다. 그러나 실제 검색 데이터를 분석해 보면, 구조적 특성을 확인할 수 있는데, 특정 브랜드(어그, 뉴발란스)는 오히려 역성장하며 시장 지배력을 강화하고 있음을 알 수 있습니다.
단순히 검색 총량을 보는 것은 현상을 추종하는 일입니다. 하지만 데이터 파이프라인을 통해 검색 경로(Sequence)와 의도 클러스터를 분석하는 것은, 소비자가 ‘신발’이라는 물건이 아니라 ‘가을이라는 계절의 맥락‘과 ‘특정 브랜드의 헤리티지‘를 구매하고 있다는 구조적 결론에 도달하게 합니다. 우리가 분석해야 하는 것은 단순히 검색량 트렌드가 아닙니다. 그 이면의 인텐트의 변화를 읽어야 합니다.
할루시네이션(Hallucination)을 제거하고 데이터 품질을 높이는 방법
AI 에이전트가 거짓 정보를 생성하는 ‘환각 현상’은 데이터의 품질 문제와 직결됩니다. 하지만 더 위험한 것은 의사결정권자의 환각입니다. 검증되지 않은 외부 리서치나 파편화된 내부 CRM 데이터에만 의존하는 결정은 조직 전체를 잘못된 방향으로 이끕니다. ListeningMind DaaS API의 핵심은 단순한 데이터 공급이 아닙니다. 왜곡 없는 원천 데이터(Ground Truth)를 기업 내부 시스템에 직접 연동하여, AI와 인간이 동일한 ‘진실’을 공유하게 만드는 인프라 구축에 있습니다.
- 검증된 데이터 소스: 4년간의 전수 검색 데이터를 기반으로 한 편향 없는 니즈 파악
- 실시간성: 최근 시장 상황을 즉시 반영하여 파일럿 고립 문제를 해결
- 맥락의 연결: 단순 키워드를 넘어 고객 여정 지도(Customer Journey Map)를 통한 의도 파악
데이터로 시장을 꿰뚫어 보는 법: 리스닝마인드 DaaS API 활용 가이드
성공적인 마케팅 전략의 핵심은 ‘고객이 진짜 원하는 것이 무엇인가‘를 파악하는 것입니다. 리스닝마인드 API를 활용하면 추측이 아닌 실제 검색 데이터를 기반으로 시장의 흐름을 정확하게 짚어낼 수 있습니다.
[Case-Study] 메리제인 슈즈 시장 분석 사례를 통해, 데이터 수집부터 최종 인사이트 도출까지의 프로세스를 살펴봅시다.
1. 전략적 데이터 수집
단순히 키워드를 모으는 것이 아니라, 3단계 API 호출 전략을 통해 입체적인 데이터를 확보합니다.
- Intent Finder: 시드 키워드와 검색 의도를 공유하는 연관 키워드를 확장합니다.
- Cluster Finder: 키워드 간의 의미적 관계망을 파악하여 브랜드 인식 및 제품 타입 커뮤니티를 분석합니다.
- Keyword Info: 검색량, CPC, 경쟁도, 인구통계 등 상세 지표를 매칭하여 데이터의 깊이를 더합니다.
2. 정교한 데이터 전처리
수집된 로데이터(Raw Data)는 정제 과정을 거쳐 분석 가능한 ‘인텔리전스’가 됩니다.
- 노이즈 필터링: 브랜드명과 무관한 문화예술, 인명, 지역 키워드 등을 제거하여 데이터 순도를 높입니다.
- 자동 인텐트 분류: CPC와 검색 패턴을 기반으로 정보형(Informational)부터 거래형(Transactional)까지 검색 의도를 태깅합니다.
3. 다차원 지표 산출 및 검증
분석의 신뢰도를 위해 수치 정합성을 철저히 검증하며 핵심 지표를 도출합니다.
- TAM & SOV 분석: 전체 시장 규모와 브랜드별 점유율을 정량화하여 과점 구조나 성장 기회를 포착합니다.
- 데이터 무결성 검사: 원천 데이터와 대시보드 수치 간의 오차를 5% 이내로 관리하여 분석의 재현성을 보장합니다.
본 사례는 메리제인 슈즈 한국 시장 분석 프로젝트를 가상으로 작성되었으며, ListeningMind API를 활용한 검색 데이터 기반 시장 인텔리전스 구축의 전 과정을 표준화한 샘플 문서입니다. 리스닝마인드 API를 통한 표준화된 프로세스는 단순한 데이터 나열을 넘어 ‘Why’를 설명하는 인사이트를 제공합니다. 귀사에 최적화된 체계적인 데이터 파이프라인 구축으로 AI 에이전트 시대의 소비자 데이터 표준을 경험해 보세요.
A. 시장 규모 지표
| 지표 | 값 | 산출 근거 |
| TAM (Total Addressable Market) | 398K | 전체 키워드 월평균 검색량 합계 |
| Generic Market | 27.1K | “메리제인 슈즈” 검색량 |
| Branded Market | 198.6K | 브랜드 키워드 검색량 합계 |
| Long-tail Market | 172.3K | 나머지 키워드 |
B. 경쟁 구도 지표
| 지표 | 값 | 해석 |
| Top 1 Brand SOV | 55.4% | 어그의 압도적 시장 지배력 |
| HHI (Herfindahl Index) | 3,245 | 높은 시장 집중도 (과점 시장) |
| Top 5 Concentration | 72.1% | 상위 5개 브랜드 집중도 |
| Avg CPC | $0.41 | 중간 수준의 광고 경쟁도 |
C. 소비자 행동 지표
| 지표 | 값 | 인사이트 |
| Transactional Intent | 40% | 높은 구매 전환 의도 |
| Female Ratio | 92.3% | 명확한 여성 타겟 |
| Age 30-40s | 69.9% | 주 타겟은 30~40대 |
| Peak Season Index | 116 | 가을(9~11월) 시즌 강세 |
핵심 원칙:
- 데이터 우선: 추측이 아닌 실제 검색 데이터 기반
- 자동화: 재현 가능한 프로세스 구축
- 시각화: 직관적인 인사이트 전달
- 검증: 철저한 품질 관리
이 사례를 참조하여 다른 시장/카테고리에도 동일한 분석 방법론을 적용할 수 있습니다.
최종 산출물 예시
“`
mary-jane-shoes-analysis/
│
├── data/
│ ├── step0_seed_keywords.csv # 시드 키워드
│ ├── step1_raw_keywords.csv # API 수집 원본
│ ├── step2_cleaned_dataset.csv # 전처리 완료
│ ├── step3_analyzed_dataset.xlsx # 분석 지표 포함
│ └── metadata.json # 데이터 수집 메타정보
│
├── dashboards/
│ ├── mary-jane-market-intelligence.html # 시장 인텔리전스 대시보드
│ └── mary-jane-styling-analysis.html # 스타일링 분석 대시보드
│
├── reports/
│ ├── executive-summary.pdf # 경영진 요약 보고서
│ ├── technical-notes.md # 기술적 주석
│ └── insights-deck.pptx # 인사이트 프레젠테이션
│
└── documentation/
├── data-collection-guide.md # 분석 가이드
├── api-usage-log.txt # API 호출 이력
└── style-guide.pdf # 디자인 스타일 가이드
Step 0: 프로젝트 설계 및 시드 키워드 정의
비즈니스 질문 정의
시장 분석을 시작하기 전 명확한 리서치의 목적과 맥락을 정의하기 위한 질문을 설정합니다.
핵심 질문:
- 메리제인 슈즈의 한국 시장의 규모는? (TAM)
- 주요 브랜드의 검색점유율은? (SOV)
- 소비자들은 어떤 제품 타입을 선호하는가?
- 검색 의도 분포는? (Informational vs Transactional)
- 주요 타겟 오디언스의 인구통계학적 특성은?
- 스타일링 트렌드는 무엇인가?
시드 키워드 세트 구성
프로젝트 주제를 대표하는 핵심 키워드를 선정합니다.
선정 원칙:
● Core (1순위): 카테고리정의키워드1~2개
● Brand (2순위): 주요브랜드명조합5~7개
● Type (2순위): 제품타입분류3~5개
● Styling (3순위): 용도/스타일링관련2~3개
총 시드 키워드 수: 10~15개 권장
Category,Keyword,Priority,Rationale
Core,메리제인슈즈,1,카테고리대표키워드
Core,메리제인,1,간략표현
Brand,어그메리제인,2,시장1위브랜드
Brand,뉴발란스메리제인,2,스포츠브랜드
Brand,락피쉬메리제인,2,국내브랜드
Type,메리제인운동화,2,제품타입
Type,메리제인플랫,2,제품타입
Styling,메리제인코디,3,스타일링니즈
Styling,메리제인양말,3,액세서리조합
Step 1: 데이터 수집 (ListeningMind API)
메리제인 슈즈 시장 분석을 위해 리스닝마인드 DaaS API 3개를 순차적으로 호출합니다.
Phase 1: 연관 키워드 확장 (Intent Finder)
목적: 시드 키워드와 검색 의도를 공유하는 연관 키워드 발굴
python
# API 호출 예시
from listeningmind import IntentFinder
seed_keywords = [
"메리제인 슈즈",
"메리제인",
"어그 메리제인",
"뉴발란스 메리제인",
"메리제인 운동화"
]
# 각 시드별 연관 키워드 수집
related_keywords = []
for seed in seed_keywords:
response = IntentFinder.get_related_keywords(
keywords=[seed],
gl="kr",
volume_threshold=50, # 월평균 검색량 50회 이상
limit=5000,
sort="volume_avg",
order="desc"
)
related_keywords.extend(response['data'])
# 중복 제거
unique_keywords = list(set(related_keywords))
print(f"수집된 유니크 키워드 수: {len(unique_keywords)}")
수집 결과 (메리제인 슈즈 프로젝트 기준):
- 시드 키워드: 5개
- 수집된 총 키워드: 약 8,000~12,000개 (추정)
- 중복 제거 후: 약 6,000~8,000개 (추정)
Phase 2: 클러스터 분석 (Cluster Finder)
목적: 키워드 간 의미적 관계망 파악 및 커뮤니티 분석
python
# API 호출 예시
from listeningmind import ClusterFinder
cluster_response = ClusterFinder.analyze(
keyword="메리제인 슈즈",
gl="kr",
hop=2, # 2-hop 확장
limit=1000,
orientation="UNDIRECTED",
data_type="all" # communities + rels
)
# 커뮤니티 정보 추출
communities = cluster_response['data']['communities']
relationships = cluster_response['data']['rels']
분석 산출물:
- 브랜드 클러스터: 어그, 뉴발란스, 락피쉬 등
- 제품 타입 클러스터: 운동화, 플랫, 로퍼, 펌프스 등
- 스타일링 클러스터: 양말, 코디, 레그워머 등
Phase 3: 키워드 상세 정보 조회 (Keyword Info)
목적: 수집된 키워드 목록의 검색량, CPC, 경쟁도, 인구통계 등 상세 지표 수집
python
# 배치 처리 (1,000개 단위)
def get_keyword_info_batch(keywords, gl="kr"):
batch_size = 1000
all_results = []
for i in range(0, len(keywords), batch_size):
batch = keywords[i:i+batch_size]
response = KeywordInfo.get_info(
keywords=batch,
gl=gl,
data_type="all" # ads_metrics + features + intents + demography + monthly_volume
)
all_results.extend(response['data'])
return all_results
# 전체 키워드 정보 수집
keyword_details = get_keyword_info_batch(unique_keywords, gl="kr")
수집 데이터 필드:
| 카테고리 | 필드명 | 설명 |
| Ads Metrics | volume_avg | 월평균 검색량 (구글+네이버) |
| volume_total | 연간 총 검색량 | |
| volume_trend | 3개월 전 대비 증감률 (%) | |
| cpc | 평균 클릭당 비용 (USD) | |
| competition | 광고 경쟁도 (LOW/MEDIUM/HIGH) | |
| competition_index | 경쟁도 지수 (0~100) | |
| Intents | i, n, c, t | 검색 의도 점수 (Informational, Navigational, Commercial, Transactional) |
| Demography | m_gender_ratio | 남성 비율 (%) |
| f_gender_ratio | 여성 비율 (%) | |
| a20_ratio ~ a50_ratio | 연령대별 비율 (%) | |
| Features | f_* | SERP 특징 (이미지, 동영상, 쇼핑 등) |
| Monthly Volume | month, gg, nv, total | 월별 검색량 시계열 데이터 |
Step 2: 데이터 전처리 및 정제
1. 노이즈 필터링
분석과 무관한 키워드를 제거합니다. 리스닝마인드 인텐트 파인더의 경우, 연관 키워드를 수집할 때, 비즈니스 키워드와 무관한 동의어가 함께 추출될 수 있습니다. 따라서 데이터 전처리 및 정제 과정이 필요합니다. 노이즈 필터를 정의함으로써 수집되는 데이터를 자동으로 처리하고, AI의 도움을 받아 노이즈 필터링 과정이 이뤄지도록 프로세스를 수행합니다.
제외 키워드 카테고리:
python
# 노이즈 필터 정의
noise_filters = {
"문화예술": ["연극", "영화","작품", "드라마", "노래", "배우" ],
"이름": ["메리 제인 반스 하트", "조이","스파이더맨 메리제인", "메리제인 왓슨],
"지역": ["청주", "잠실", "원주"],
"기타": ["영어로", "txt", "뜻", "호텔", "나무위키"]
}
# 필터링 함수
def filter_noise(keywords, noise_filters):
cleaned = []
for kw in keywords:
is_noise = False
for category, terms in noise_filters.items():
if any(term in kw for term in terms):
is_noise = True
break
if not is_noise:
cleaned.append(kw)
return cleaned
cleaned_keywords = filter_noise(unique_keywords, noise_filters)
print(f"필터링 후 키워드 수: {len(cleaned_keywords)}")
메리제인 슈즈 프로젝트 필터링 결과 (추정):
- 필터링 전: 6,000~8,000개
- 필터링 후: 4,500~6,000개
- 제거율: 약 25~30%
2. 카테고리 및 브랜드 태깅
AI의 할루시네이션을 막기 위해 데이터 거버넌스가 중요합니다. 특히 패션 비즈니스 분석에서는 키워드만으로 패션 브랜드와 일반 명사가 구분되지 않는 일(e.g. “SYSTEM”은 여성 의류 브랜드이지만, IT 시스템이기도 함)이 종종 일어날 수 있기 때문에 수집된 데이터가 일관된 결과를 도출하기 위해 다음과 같이 카테고리 분류 체계나 브랜드 태깅과 같은 메타데이터를 미리 정의해 주는 것이 필요합니다.
카테고리 분류 체계
python
# 카테고리 매핑 사전
categories = {
"브랜드_글로벌": ["어그", "뉴발란스", "살로몬", "반스", "닥터마틴", "아디다스"],
"브랜드_국내": ["락피쉬", "불라디", "봉통", "르무통", "위드라비"],
"브랜드_명품": ["샤넬", "프라다", "구찌", "미우미우", "발렌시아가"],
"제품타입_운동화": ["운동화", "스니커즈", "러닝화", "워킹화"],
"제품타입_플랫": ["플랫", "단화", "로퍼", "슬립온"],
"제품타입_힐": ["펌프스", "하이힐", "미들힐", "통굽"],
"스타일링_액세서리": ["양말", "레그워머", "스타킹", "니삭스"],
"스타일링_코디": ["코디", "코디법", "착용", "스타일링", "매칭"],
"용도_계절": ["겨울", "여름", "가을", "봄", "사계절"],
"기능_특징": ["키친핏", "노크온", "방수", "미끄럼방지", "편안한"]
}
# 카테고리 태깅 함수
def assign_category(keyword, categories):
assigned = []
for cat_name, terms in categories.items():
if any(term in keyword for term in terms):
assigned.append(cat_name)
return assigned if assigned else ["기타"]
# 데이터프레임에 카테고리 추가
import pandas as pd
df = pd.DataFrame({
'keyword': cleaned_keywords
})
df['category'] = df['keyword'].apply(lambda x: assign_category(x, categories))
브랜드 태깅
python
# 브랜드 매핑 사전
brands_map = {
"UGG": ["어그", "ugg", "아그"],
"New Balance": ["뉴발란스", "뉴발", "nb"],
"Salomon": ["살로몬", "salomon"],
"Rockfish": ["락피쉬", "록피쉬"],
"Vulladi": ["불라디", "벌라디"],
"Bongtong": ["봉통", "본통"],
"Chanel": ["샤넬", "chanel"],
"Prada": ["프라다", "prada"]
}
def assign_brand(keyword, brands_map):
for brand, terms in brands_map.items():
if any(term in keyword.lower() for term in terms):
return brand
return "Generic"
df['brand'] = df['keyword'].apply(lambda x: assign_brand(x, brands_map))
3. 검색 의도 분류
CPC와 키워드 패턴을 기준으로 사용자 의도를 우리 브랜드에 최적화할 수 있습니다. 다음은 키워드 패턴을 기준으로 한 검색 의도 분류 예시입니다. 여기에 CPC 기준 추가 분류를 하는 것은 사용자의 키워드에는 중복 의도가 나타날 수 있기 때문에, 상업적 의도가 높은 키워드의 분류하기 위함입니다. 상업적 의도가 높은 키워드의 우선 순위를 조정하거나 가중치를 적용할 때 사용합니다.
또한 별다른 전처리 과정을 거치지 않아도 리스닝마인드 MCP와 연동해 AI 분석을 시도한다면, 키워드 패턴과 엔드포인트(/Keyword_Info) 내 “intents”(e.g. “i”:1, “n”:0, “c”:0, “t”:1) 데이터에 담긴 인덱싱 정보를 참고하여 AI는 사용자의 검색 의도를 추론하고 답변을 도출할 수 있습니다.
python
# 검색 의도 분류 함수
def classify_intent(row):
keyword = row['keyword']
cpc = row.get('cpc', 0)
competition = row.get('competition_index', 0)
# Transactional 패턴
transactional_terms = ["구매", "가격", "최저가", "할인", "쿠폰", "추천"]
if any(term in keyword for term in transactional_terms):
return "Transactional"
# Commercial 패턴
commercial_terms = ["비교", "후기", "리뷰", "브랜드", "순위"]
if any(term in keyword for term in commercial_terms):
return "Commercial"
# Navigational 패턴
if row['brand'] != "Generic":
return "Navigational"
# CPC 기반 추가 분류
if cpc > 0.5 and competition > 70:
return "Transactional"
elif cpc > 0.3:
return "Commercial"
return "Informational"
df['intent'] = df.apply(classify_intent, axis=1)
4. 최종 데이터셋 구조
이제 수집된 키워드 목록과 상세 지표를 병합하여 하나의 최종 데이터셋으로 정규화합니다.
python
# step2_cleaned_dataset.csv 구조
final_columns = [
'keyword', # 키워드
'category', # 카테고리 (리스트)
'brand', # 브랜드
'intent', # 검색 의도
'volume_avg', # 월평균 검색량
'volume_total', # 연간 총 검색량
'volume_trend', # 증감률 (%)
'cpc', # CPC (USD)
'competition', # 경쟁도
'competition_index', # 경쟁도 지수
'm_gender_ratio', # 남성 비율
'f_gender_ratio', # 여성 비율
'a20_ratio', 'a30_ratio', 'a40_ratio', 'a50_ratio' # 연령대별 비율
]
# CSV 저장
df[final_columns].to_csv('step2_cleaned_dataset.csv', index=False, encoding='utf-8-sig')
메리제인 슈즈 프로젝트 최종 데이터셋 (추정):
- 총 키워드 수: 4,500~6,000개
- 브랜드 키워드: 약 40%
- Generic 키워드: 약 60%
- 평균 검색량 임계값: 50회 이상
Step 3: 핵심 지표 산출 및 분석
1. TAM (Total Addressable Market) 분석
전체 시장 규모를 정량화합니다. 전 국민의 검색 행동 데이터에 근거하여 디지털 마켓에서의 현실적인 성장 잠재력을 확인해 보는 분석 과정입니다.
python
# 1. 전체 시장 규모
total_volume = df['volume_avg'].sum()
print(f"총 월평균 검색량: {total_volume:,}")
# 2. 카테고리별 TAM
category_tam = df.explode('category').groupby('category')['volume_avg'].sum().sort_values(ascending=False)
# 3. 브랜드별 TAM
brand_tam = df.groupby('brand')['volume_avg'].sum().sort_values(ascending=False)
# 4. 제품 타입별 TAM
type_keywords = df[df['category'].apply(lambda x: any('제품타입' in cat for cat in x))]
type_tam = type_keywords.groupby('brand')['volume_avg'].sum()
메리제인 슈즈 TAM 분석 결과:
| 항목 | 월평균 검색량 | 비중 |
| 전체 시장 | 398,000 | 100% |
| – 메리제인 슈즈 (Generic) | 27,116 | 6.8% |
| – 어그 메리제인 | 110,053 | 27.6% |
| – 뉴발란스 메리제인 | 10,793 | 2.7% |
| – 메리제인 운동화 | 15,120 | 3.8% |
| – 기타 브랜드/타입 | 235,000 | 59.1% |
2. SOV (Share of Voice) 분석
브랜드별 검색 점유율을 산출합니다. 특정 카테고리, 제품 아이템 시장에서 경쟁사와 비교하여 우리 브랜드가 얼마나 많은 가시성(노출)과 언급량을 차지하고 있는지 측정하는 지표가 됩니다. 이는 시장 내 우리 브랜드의 위상, 즉, 얼마나 주도적인지, 어떤 브랜드와 경쟁하고 있는지, 경쟁사의 동향은 어떻게 되는지, 브랜드 가시성 증대를 위해 마케팅 성과를 제고하고 노출 및 참여를 늘리기 위해 어떤 아이템, 키워드에 더 집중해야 할지에 대한 근거 데이터가 됩니다.
python
# 브랜드별 SOV 계산
brand_volume = df.groupby('brand')['volume_avg'].sum()
total_branded_volume = brand_volume[brand_volume.index != "Generic"].sum()
sov = (brand_volume / total_branded_volume * 100).sort_values(ascending=False)
# 상위 5개 브랜드 집중도
top5_concentration = sov.head(5).sum()
print(f"상위 5개 브랜드 집중도: {top5_concentration:.1f}%")
SOV 분석 결과 (브랜드 키워드만 대상):
| 순위 | 브랜드 | 월평균 검색량 | SOV (%) |
| 1 | UGG | 110,053 | 55.4% |
| 2 | New Balance | 10,793 | 5.4% |
| 3 | Rockfish | 7,310 | 3.8% |
| 4 | Vulladi | 7,510 | 3.8% |
| 5 | Bongtong | 6,203 | 3.1% |
| – | 기타 | 56,000 | 28.5% |
인사이트: 상위 5개 브랜드가 전체의 72.1%를 차지하는 과점 시장 구조
3. 검색 의도 퍼널 분석
앞에서 수집한 검색 의도(Intent)정보는 마케팅 퍼널을 구조화하는데 사용할 수 있습니다. 검색 의도(Intent) 기반 퍼널 분석은 단순히 키워드의 검색량을 아는 것을 넘어, 소비자가 구매 여정의 어느 단계에서, 어떤 구체적인 목적(의도)을 가지고 움직이는지를 데이터로 파악하는 핵심 전략입니다. 우리는 고객의 검색 여정에서 ‘고객의 맥락‘을 점유하는 것을 목표로 하며, 고객의 진짜 니즈를 찾아 구매 전환을 극대화하는 것입니다. 어떤 단계에서 어떤 의도로 검색하는가를 설계하기 위해서 각 퍼널별 키워드 그룹을 관리하는 것이 필요합니다. 구매 전환 의도가 높은 키워드 그룹의 마케팅 전략과 정보 탐색 비중이 높은 키워드 그룹의 마케팅 전략이 달라야 한다는 것을 의미합니다.
python
# 검색 의도별 분포
intent_distribution = df.groupby('intent').agg({
'keyword': 'count',
'volume_avg': 'sum'
}).rename(columns={'keyword': 'keyword_count'})
intent_distribution['volume_pct'] = (
intent_distribution['volume_avg'] / intent_distribution['volume_avg'].sum() * 100
)
intent_distribution = intent_distribution.sort_values('volume_avg', ascending=False)
검색 의도 분석 결과:
| 의도 | 키워드 수 | 월평균 검색량 | 비중 (%) |
| Transactional | 약 800 | 159,200 | 40% |
| Commercial | 약 1,200 | 99,500 | 25% |
| Informational | 약 1,800 | 139,300 | 35% |
인사이트: 구매 전환 의도(Transactional)가 40%로 높은 상업성
4. 인구통계학적 분석
네이버 검색광고는 성별, 연령대 등 인구통계학적 데이터를 활용하여 광고주가 코어 타겟에게 광고를 집중 노출할 수 있는 기능을 제공합니다. 해당 데이터를 참고로 리스닝마인드 한국 데이터에서는 /keyword_info 엔드포인트의 “demography” 메트릭을 통해 한국 소비자의 성별, 연령별 비중(ratio) 데이터를 추산한 데이터를 제공합니다. 이를 바탕으로 타겟 비율을 추정할 수 있습니다. (*구글은 해당 정보를 제공하지 않아 미국, 일본은 추산 불가)
python
# 성별 분포 (가중 평균)
weighted_gender = df.apply(
lambda row: pd.Series({
'male': row['volume_avg'] * row['m_gender_ratio'] / 100,
'female': row['volume_avg'] * row['f_gender_ratio'] / 100
}),
axis=1
).sum()
gender_distribution = weighted_gender / weighted_gender.sum() * 100
# 연령대 분포 (가중 평균)
age_columns = ['a20_ratio', 'a30_ratio', 'a40_ratio', 'a50_ratio']
weighted_age = df.apply(
lambda row: pd.Series({
age: row['volume_avg'] * row[age] / 100
for age in age_columns
}),
axis=1
).sum()
age_distribution = weighted_age / weighted_age.sum() * 100
인구통계 분석 결과:
| 구분 | 비율 (%) |
| 성별 | |
| 여성 | 92.3% |
| 남성 | 7.7% |
| 연령대 | |
| 20대 | 3.4% |
| 30대 | 30.5% |
| 40대 | 39.4% |
| 50대 이상 | 26.7% |
인사이트: 30~40대 여성이 전체의 69.9%를 차지하는 명확한 타겟층
5. 트렌드 분석
리스닝마인드 DaaS API (/keyword_info > “ad_metrics”) 호출 후, “volume_avg” (최근 3개월 월 평균 검색량, 한국은 구글+네이버 합산) “volume_trend” (3개월 전 대비 최근 월 증감율) 데이터를 활용해 키워드 트렌드 분석이 가능합니다. 리스닝마인드 DaaS API (/keyword_info > “ads_info”) 를 조회하면 “ad_metrics” 외에도 최근 4년까지 “monthly volume” 월별 검색량을 모두 조회할 수 있기 때문에, 특정 카테고리 내 어떤 키워드가 급성장하는지, 급감소해 왔는지, 전체 시장의 연도별 변화율(YOY) 분석도 가능합니다.
[주의] 일부 키워드의 경우 네이버 플랫폼에서 제공하는 검색량 정보가 최근 1년까지이므로 리스닝마인드가 이전부터 적재해 놓지 않은 키워드라면, 이전 연도의 검색량이 존재하지 않을 수도 있습니다. YOY 분석의 경우, 수집된 키워드 상세 지표 데이터의 유효성을 먼저 판단한 후 분석에 활용해 주세요.
python
# 증감률 기준 상위/하위 키워드
trend_analysis = df.nlargest(20, 'volume_trend')[['keyword', 'volume_avg', 'volume_trend']]
declining_analysis = df.nsmallest(20, 'volume_trend')[['keyword', 'volume_avg', 'volume_trend']]
# YoY 변화율 계산 (전체 시장)
current_volume = df['volume_avg'].sum()
# 이전 연도 데이터가 있다면:
# previous_volume = df_previous['volume_avg'].sum()
# yoy_change = (current_volume - previous_volume) / previous_volume * 100
트렌드 분석 결과:
| 유형 | 대표 키워드 | 월평균 검색량 | 증감률 |
| 급성장 | 어그 메리제인 | 110,053 | +5% |
| 뉴발란스 메리제인 | 10,793 | +32% | |
| 급감소 | 메리제인 운동화 | 15,120 | -83% |
| 살로몬 메리제인 | 5,006 | -82% |
인사이트: 전체 시장은 전년 대비 -43% 감소했으나, 특정 브랜드(어그, 뉴발란스)는 역성장
6. 계절성 분석
리스닝마인드 DaaS API (/keyword_info > “ads_info”) 호출 후,”monthly volume” 데이터를 활용해 계절별 평균값을 산출한다면, 특정 키워드나 아이템의 계절성 분석도 가능합니다. 계절별 전년도 데이터를 활용해 다음 계절의 상품 기획 및 마케팅 전략 수립에 참고할 수 있습니다.
python
# monthly_volume 데이터를 활용한 계절성 분석
def analyze_seasonality(df, keyword):
keyword_data = df[df['keyword'] == keyword].iloc[0]
monthly_data = keyword_data['monthly_volume'] # API에서 제공하는 월별 데이터
# 월별 평균 계산
monthly_avg = {}
for record in monthly_data:
month = int(record['month'].split('-')[1])
volume = record['total']
if month not in monthly_avg:
monthly_avg[month] = []
monthly_avg[month].append(volume)
# 계절별 평균
seasonal_avg = {
month: sum(volumes) / len(volumes)
for month, volumes in monthly_avg.items()
}
return seasonal_avg
# 어그 메리제인 계절성
ugg_seasonality = analyze_seasonality(df, "어그 메리제인")
계절성 분석 결과 (어그 메리제인):
| 계절 | 월 | 평균 검색량 | 지수 |
| 봄 | 3~5월 | 85,000 | 77 |
| 여름 | 6~8월 | 45,000 | 41 |
| 가을 | 9~11월 | 128,000 | 116 |
| 겨울 | 12~2월 | 95,000 | 86 |
인사이트: 9~11월 가을 시즌에 검색량이 급증 (피크: 10월 128,700회)
Step 4: 대시보드 설계 및 시각화
1. 대시보드 구조 설계
리스닝마인드 DaaS API를 통해 수집한 데이터와 분석 결과에 만족한다면, 핵심 지표와 분석 워크플로우가 완성된 것입니다. 이제 이 데이터 기반 의사결정 프로세스를 전사 직원이 함께 공유 가능하는 인텔리전스 대시보드로 시각화해 봅시다.
Dashboard 1: 시장 인텔리전스
목적: 시장 규모, 경쟁 구도, 타겟 오디언스 분석
섹션 구성:
- Executive Summary (3개 KPI 카드)
- Total Market Size: 398K
- Avg CPC: $0.41
- Top Trending: 어그 메리제인
- TAM 분석 (Bar Chart)
- X축: 브랜드/제품 타입
- Y축: 월평균 검색량
- 데이터: 상위 8개
- 브랜드 SOV (Doughnut Chart)
- 데이터: 상위 5개 브랜드 + 기타
- 퍼센티지 표시
- 제품 타입별 분포 (Polar Area Chart)
- 데이터: 운동화, 플랫, 로퍼, 펌프스, 통굽, 하이힐
- 검색 의도 퍼널 (Horizontal Bar)
- Informational: 35%
- Commercial: 25%
- Transactional: 40%
- 인구통계 (2개 Bar Chart)
- 성별 분포
- 연령대 분포
- Key Insights (4개 Insight Card)
- 계절성 트렌드
- 브랜드 집중도
- 가격 민감도
- 타겟 오디언스
Dashboard 2: 스타일링 & 코디 분석
목적: 소비자 스타일링 니즈 및 트렌드 파악
섹션 구성:
- Executive Summary (3개 KPI 카드)
- Styling Search: 1,260
- Top Accessory: 양말
- Peak Season: 9~10월
- 코디 아이템별 검색량 (Horizontal Bar Chart)
- 데이터: 양말, 코디, 레그워머 등
- 스타일링 클러스터 맵 (4개 클러스터 카드)
- 캐주얼 스포티
- 페미닌 클래식
- 오피스 모던
- 시즌 액세서리
- 검색 의도 및 월별 트렌드 (Line Chart)
- 정보 탐색: 70%
- 구매 의도: 30%
- 핵심 스타일링 인사이트 (4개 Insight Card)
- 스타일링 조합 매트릭스 (Table)
- 콘텐츠 & 마케팅 기회 (3개 카드)
2. 차트별 데이터 준비
시장 인텔리전스 프로젝트에서 데이터 수집 및 전처리는 분석의 기반을 다지는 단계입니다. 하지만 수천 개의 키워드가 담긴 데이터셋을 최종 대시보드에 효과적으로 담아내기 위해서는 각 차트의 특성에 맞게 데이터를 정교하게 가공하는 ‘차트별 데이터 준비’ 과정이 필수적입니다. 이 단계는 단순한 데이터 추출을 넘어, 시각적 인사이트의 목적에 맞게 데이터를 필터링하고 집계하는 프로세스가 필요합니다.
시장 규모 바 차트(TAM Bar Chart) 데이터 : 전체 시장(Total Addressable Market, TAM)에서 어떤 키워드 그룹(브랜드/제품 타입)이 가장 큰 검색량을 차지하는지 순위별로 정량화하여 시장 규모를 한눈에 파악하는 데 사용됩니다.
브랜드 점유율 도넛 차트(SOV Doughnut Chart) 데이터 : 시장 내 경쟁 구도를 명확히 파악하기 위해, 특정 브랜드들이 전체 시장에서 검색 점유율(Share of Voice, SOV)을 얼마나 차지하는지 시각적으로 비교하고 시장 집중도를 분석합니다.
검색 의도 퍼널 차트 (Horizontal Bar Chart) 데이터 : 소비자가 메리제인 슈즈를 검색하는 의도(Informational, Commercial, Transactional)의 비중을 정량적으로 파악하여, 마케팅 예산을 구매 전환(BOFU) 단계에 집중할지, 혹은 인지 확장(TOFU) 단계에 할당할지 결정하는 근거를 마련합니다.
제품 타입별 분포 차트 (Polar Area Chart) 데이터 : 소비자가 메리제인 슈즈 내에서 어떤 특정 제품 유형(예: 운동화, 플랫, 펌프스)을 가장 많이 검색하는지 비율로 보여주어, 제품 포트폴리오 전략 수립의 근거로 사용합니다.
코디 아이템별 검색량 차트 (Horizontal Bar Chart) 데이터 : 메리제인 슈즈와 함께 검색되는 액세서리나 코디 아이템 중 어떤 것이 소비자들의 최대 관심사인지 파악하여, 관련 상품 추천 또는 콘텐츠 기획의 근거를 마련합니다.
계절성 분석 차트 (Line Chart) 데이터 : 상품 판매나 마케팅 캠페인의 적절한 시기(타이밍)를 결정하기 위해, 특정 키워드나 전체 시장의 월별 검색량 변화 추이(트렌드)를 시각화합니다. 검색량을 기준으로 가장 높은 시너지 효과를 내는 ‘메리제인 슈즈 타입’과 ‘매칭 액세서리/하의’ 조합을 찾아냅니다. 이는 상품 기획 및 콘텐츠 제작팀에게 직관적이고 실행 가능한 추천 목록을 제공합니다.
스타일링 조합 매트릭스 (Table) 데이터 : 검색 패턴을 기반으로 제품 유형, 코디 아이템, 시즌을 교차 분석하여 최적의 상품 조합을 추천하는 최종 의사 결정 자료를 생성할 수 있습니다.
이러한 세밀한 데이터 준비 과정을 거쳐야만, 최종 대시보드가 단순한 숫자의 나열이 아닌, 즉각적인 의사 결정에 필요한 명확한 시장 인텔리전스를 제공할 수 있습니다. 차트별 데이터 준비 과정을 통해 원천 데이터는 대시보드에 최적화된 형태로 전환되며, 분석 결과의 신뢰성과 시각적 전달력을 극대화할 수 있습니다.
Step 5: 품질 검증 및 최종 검수
데이터 수집과 가공만큼이나 최종 산출물(대시보드, 리포트)의 신뢰성과 재현성을 보장하는 품질 검증 단계를 반드시 거쳐야 합니다. 이 단계는 분석 결과가 현실을 정확히 반영하고, 비즈니스 의사 결정에 오류 없이 활용될 수 있도록 보장하는 최종 방어선입니다.
1. 데이터 무결성 검증 : 원천 데이터셋에 잠재된 오류를 시스템적으로 제거하는 과정입니다. 이는 단순한 형식적 체크가 아니라, 데이터의 품질을 담보하는 핵심적인 절차입니다.
- 총 키워드 수 및 검색량 합계가 예상 범위를 벗어나지 않는지
- 중복 키워드가 제대로 제거되어 동일 키워드가 중복 계산되어 검색량이 부풀려지는 것은 아닌지
- 분석에 필요한 핵심 필드 (검색량, 인구 통계 비율, CPC)에 누락된 값이 없는지
2. 대시보드 수치 검증 : 데이터 무결성이 확보된 후에는, 최종 대시보드에 표시되는 핵심 성과 지표(KPI)가 원천 데이터에서 계산된 실제 값과 일치하는지 비교 검증해야 합니다.
- 대시보드에 표시된 수치가 원천 데이셋에서 직접 계산한 값과 일치하는지
- 수집 및 가공 과정에서 발생 가능한 오차 허용 범위를 벗어나지 않는지
3. 품질 체크리스트
데이터 및 수치 검증이 완료되면, 프로젝트의 세부 프로세스 및 산출물 완성도를 확인하기 위한 포괄적인 체크리스트 검수 단계를 거쳐 최종 배포될 수 있도록 합니다.
Step 6: 산출물 정리 및 전달
검색 데이터를 수집하고 정교하게 분석한 뒤, 시각화 대시보드까지 구축하는 여정은 프로젝트의 90%를 차지합니다. 하지만 나머지 10%를 차지하는 산출물 정리 및 전달 과정은 프로젝트의 장기적인 가치와 재현성을 보장하는 가장 중요한 마무리 단계입니다. 이 단계에서는 모든 결과물을 체계적으로 구조화하고, 분석 과정의 투명성을 확보하는 메타데이터를 기록하여, 최종 리포트가 단순한 ‘일회성 문서’가 아닌 ‘지속 가능한 시장 인텔리전스 자산’이 되도록 만듭니다.
- 최종 산출물 목록 :
- 메타데이터 기록 : 프로젝트 정보, 데이터 수집 조건, 핵심 지표 요약 등
- API 사용 이력 로그 : 호출 시점, 호출된 키워드, 반환 결과, 소모 크레딧 등
Step 7: 업데이트 및 유지보수 프로세스
검색 기반 시장 인텔리전스 리포트는 한 번의 분석으로 끝나지 않습니다. 시장의 변화 속도에 발맞추어 지속적인 가치를 제공하려면, 체계적인 유지보수 프로세스와 투명한 변경 이력 관리가 필수적입니다.
1.정기 업데이트 주기 : 데이터 분석 프로젝트의 최종 산출물인 대시보드와 리포트는 시장 변화에 맞춰 꾸준히 갱신되어야 합니다. 프로젝트의 중요도와 비용 효율성을 고려하여, 업데이트 주기를 월간, 분기별로 차등화하고 담당 액션을 명확히 정의합니다.
- 분기별 업데이트 : 전체 데이터 재수집 및 가공, TAM 및 SOV 지표 재계산, 대시보드에 반영된 모든 수치 및 차트 데이터 갱신
- 월별 모니터링 : 키워드 검색량 및 광고 지표 업데이트(/keyword_info), 신규 브랜드 또는 새로운 제품 타입 시장 진입 여부 감지(/cluster_finder)
2. 변경 이력 관리 : 데이터 기반 의사 결정을 위해서는 ‘결과가 왜 바뀌었는지’에 대한 투명한 설명이 제공될 수 있도록 변경 이력을 관리하고 분석의 재현성을 확보함으로써 대시보드와 리포트의 신뢰도를 높일 수 있습니다.