카드 소팅 (정보 구조화)
Card Sorting
카드 소팅은 사용자가 직접 콘텐츠와 기능을 그룹화하고 이름을 붙이게 하여 직관적인 정보 구조(IA)와 메뉴 체계를 설계하는 UX 연구 방법론입니다. 기획자의 직관을 배제하고 유저의 멘탈 모델에 100% 맞춘 네비게이션을 구축할 수 있습니다.
📖 개념 정의 및 실무 적용
신규 서비스나 개편 과정에서 기획자나 디자이너의 주관적인 생각으로 메뉴 구조를 설계하면 사용자는 원하는 정보를 찾지 못해 이탈하게 됩니다. 카드 소팅은 이러한 정보 구조(IA) 설계의 주관성을 제거하고, 실제 타겟 유저가 정보를 분류하는 방식을 데이터로 시각화하여 해결해 줍니다.이를 통해 메뉴 탐색 시간 단축, 전환율 상승, 그리고 고객센터 인입 문의 중 ‘어디서 찾는지 모르겠다’는 유형을 극적으로 줄일 수 있습니다.
import pandas as pd
import numpy as np
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
# 카드 소팅 결과 매트릭스(유사도 행렬) 가정
# 행과 열은 카드 아이디, 값은 두 카드가 같은 그룹으로 묶인 빈도
matrix_data = [
[1.0, 0.8, 0.2, 0.1],
[0.8, 1.0, 0.3, 0.1],
[0.2, 0.3, 1.0, 0.9],
[0.1, 0.1, 0.9, 1.0]
]
card_names = ['로그인', '회원가입', '장바구니', '결제하기']
df = pd.DataFrame(matrix_data, index=card_names, columns=card_names)
# 계층적 군집 분석을 위한 비 유사도 거리 계산
distance_matrix = 1 - df.values
linked = linkage(distance_matrix, 'single')
# 덴드로그램 시각화 (실무 리포트용)
plt.figure(figsize=(8, 5))
dendrogram(linked, labels=card_names, orientation='top', distance_sort='descending', show_leaf_counts=True)
plt.title('Card Sorting Hierarchical Cluster Analysis')
plt.xlabel('Cards')
plt.ylabel('Distance')
plt.show()
⚡ 5분 만에 적용하는 실행 스텝
단계: 분류 대상 카드 정의 - 서비스 내의 핵심 기능, 콘텐츠, 상품 카테고리를 30~50개 내외의 명확한 단어로 카드화합니다.
단계: 테스트 진행 - 오픈 카드 소팅(유저가 직접 그룹명 지정) 또는 클로즈드 카드 소팅(정해진 그룹에 카드 분류)을 유저 세션 10~15명을 대상으로 수행합니다.
단계: 데이터 분석 및 유사도 행렬 도출 - 유저들이 공통으로 묶은 카드 조합을 분석하여 상관관계와 클러스터를 파악합니다.
단계: IA 적용 및 검증 - 분석된 멘탈 모델을 신규 메뉴 트리(Tree)에 반영한 뒤, 트리 테스트(Tree Testing)로 최종 검증합니다.
🚀 실무자만 아는 한 끗 차이 Pro Tip
⚠️ 흔히 하는 실수 & 주의사항 (삽질 방지)
❓ 자주 묻는 질문 (FAQ)
오픈 카드 소팅과 클로즈드 카드 소팅 중 어떤 것을 먼저 해야 하나요?
신규 서비스 구축이나 전면 개편이라면 유저들의 자연스러운 분류 방식을 파악하기 위해 '오픈 카드 소팅'을 먼저 진행해야 합니다. 기존 메뉴에 신규 카테고리를 추가하거나 특정 섹션의 구조만 개편할 때는 이미 검증된 상위 메뉴가 있는 '클로즈드 카드 소팅'이 적합합니다.
적정 테스트 참여 유저 수는 몇 명인가요?
닐슨 노먼 그룹(NN/g)의 가이드라인에 따르면, 정량적 통계 의미를 확보하기 위해서는 최소 15명 이상의 유저로 테스트를 진행하는 것을 권장합니다. 단, 인사이트 도출 목적의 정성적 유저 인터뷰를 겸한다면 5~8명만으로도 유의미한 패턴을 발견할 수 있습니다.