카노 모델
KANO Model
카노 모델(KANO Model)은 고객 만족도와 제품 기능의 상관관계를 분석하여 MVP의 기능 우선순위를 정하는 프레임워크입니다. 필수적(Must-be), 일원적(One-dimensional), 매력적(Attractive) 요소를 분류하여 한정된 리소스 내에서 최대의 고객 만족을 이끌어냅니다.
📖 개념 정의 및 실무 적용
신제품이나 MVP를 개발할 때 모든 기능을 한 번에 구현하는 것은 리소스 낭비와 출시 지연을 초래합니다. 카노 모델은 고객에게 직접 설문을 진행한 뒤 기능 충족 시의 만족도와 미충족 시의 불만족 데이터를 교차 분석하여, ‘반드시 있어야 하는 기능’과 ‘있으면 대박 나는 기능’을 객관적으로 분리해 줍니다. 이를 통해 감에 의존한 백로그(Backlog) 우선순위 산정에서 벗어나 데이터 기반의 의사결정이 가능해집니다.
import pandas as pd
import numpy as np
def calculate_kano_category(df):
satisfaction_map = {
('Like', 'Like'): 'Q',
('Like', 'Must-be'): 'A',
('Like', 'Attractive'): 'A',
('Like', 'Indifferent'): 'A',
('Like', 'Dislike'): 'R',
('Dislike', 'Like'): 'I',
('Dislike', 'Must-be'): 'M',
('Dislike', 'Attractive'): 'M',
('Dislike', 'Indifferent'): 'M',
('Dislike', 'Dislike'): 'Q',
('Neutral', 'Like'): 'I',
('Neutral', 'Must-be'): 'I',
('Neutral', 'Attractive'): 'I',
('Neutral', 'Indifferent'): 'I',
('Neutral', 'Dislike'): 'R'
}
def get_category(row):
return satisfaction_map.get((row['functional'], row['dysfunctional']), 'Q')
df['kano_result'] = df.apply(get_category, axis=1)
summary = df['kano_result'].value_counts().reset_index()
summary.columns = ['Category', 'Count']
return summary
data = {
'user_id': [1, 2, 3],
'functional': ['Like', 'Dislike', 'Neutral'],
'dysfunctional': ['Indifferent', 'Must-be', 'Like']
}
df_sample = pd.DataFrame(data)
print(calculate_kano_category(df_sample))
⚡ 5분 만에 적용하는 실행 스텝
기능 정의: 검증하고자 하는 MVP 후보 기능 리스트(예: 소셜 로그인, 실시간 채팅 등)를 선정합니다.
설문 설계: 각 기능마다 '그 기능이 있으면 어떤가요?(Functional)'와 '그 기능이 없으면 어떤가요?(Dysfunctional)'라는 질문을 '좋아한다/당연하다/상관없다/견딜 수 없다/싫어한다' 5가지 척도로 구성합니다.
데이터 수집 및 매핑: 고객 설문 결과를 카노 평가표(Evaluation Matrix) 대조군에 넣어 각 응답자를 필수적, 매력적, 일원적, 무관심, 회의적, 역기능 등으로 분류합니다.
우선순위 확정: '필수적(Must-be)' 기능은 무조건 먼저 구현하고, '매력적(Attractive)' 기능으로 차별화 포인트를 잡아 스프린트 백로그를 구성합니다.
지속적 재평가: 제품 성장에 따라 과거의 '매력적' 기능은 시간이 지나며 '필수적' 기능으로 변하므로 주기적으로 카노 분석을 반복합니다.
🚀 실무자만 아는 한 끗 차이 Pro Tip
⚠️ 흔히 하는 실수 & 주의사항 (삽질 방지)
❓ 자주 묻는 질문 (FAQ)
카노 설문 결과 여러 카테고리가 팽팽하게 나오면 어떻게 우선순위를 정하나요?
이럴 때는 '기능 만족도 코효전(Better-Worse Index)'을 계산하여 활용합니다. Better(만족 계수)와 Worse(불잠족 계수)의 절대값 크기를 비교해 고객 불만을 방지하는 Must-be를 먼저 챙길지, 만족도를 극대화하는 Attractive를 먼저 할지 결정합니다.
설문 응답 수가 얼마나 되어야 신뢰할 수 있나요?
통계적 유의성을 위해 기능별로 최소 100명 이상의 유효 응답을 확보하는 것을 권장합니다. 타겟 유저가 명확한 B2B SaaS의 경우 30~50명의 핵심 의사결정권자 응답만으로도 충분히 실무 적용 가능한 인사이트를 얻을 수 있습니다.