콘텐츠로 이동
Data Prep
상세

예측 분석 (Predictive Analytics)

개요

예측 분석은 과거 데이터를 기반으로 미래 결과를 예측하는 분석 기법이다. 통계 모델, 머신러닝, 데이터 마이닝 기술을 활용하여 비즈니스 의사결정을 지원한다.

예측 분석 유형

유형 목적 예시
분류 예측 카테고리 예측 이탈 여부, 구매 여부
회귀 예측 수치 예측 매출액, 수요량
시계열 예측 시간 흐름 예측 주가, 트래픽
확률 예측 확률 분포 예측 리스크 스코어

예측 분석 프로세스

[비즈니스 문제 정의]
[데이터 수집/통합]
[탐색적 분석 (EDA)]
[피처 엔지니어링]
[모델 개발/검증]
[배포/모니터링]
[비즈니스 액션]

비즈니스 활용 사례

1. 고객 이탈 예측 (Churn Prediction)

목적: 이탈 가능성 높은 고객 사전 식별

핵심 피처:

카테고리 피처 설명
행동 최근 활동일 Recency
행동 이용 빈도 추세 감소 패턴
거래 구매액 변화 MoM 비교
서비스 CS 문의 건수 불만 신호
인구통계 가입 기간 Tenure

모델링 접근:

# 이탈 예측 파이프라인
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.model_selection import cross_val_score

# 피처 생성
features = [
    'days_since_last_activity',
    'activity_trend_30d',
    'purchase_amount_change',
    'cs_contact_count',
    'tenure_months'
]

# 모델 학습
model = GradientBoostingClassifier(n_estimators=100)
scores = cross_val_score(model, X[features], y, cv=5, scoring='roc_auc')
print(f"AUC: {scores.mean():.3f} (+/- {scores.std()*2:.3f})")

액션 연계:

이탈 확률 액션 예산
> 80% 즉시 연락 + 특별 혜택 높음
50-80% 리텐션 캠페인 중간
30-50% 이메일 마케팅 낮음
< 30% 정기 커뮤니케이션 최소

2. 수요 예측 (Demand Forecasting)

목적: 상품/서비스 수요량 예측

핵심 피처:

카테고리 피처 설명
시간 요일, 월, 계절 주기성
이벤트 프로모션, 휴일 외부 요인
가격 가격 변동 탄력성
경쟁 경쟁사 가격 시장 상황
외부 날씨, 경제지표 환경 요인

모델링 접근:

# 시계열 수요 예측
from prophet import Prophet
import pandas as pd

# Prophet 모델
model = Prophet(
    yearly_seasonality=True,
    weekly_seasonality=True,
    holidays=holidays_df
)

# 외부 회귀변수 추가
model.add_regressor('promotion')
model.add_regressor('price')
model.add_regressor('weather')

model.fit(df)
forecast = model.predict(future)

활용: - 재고 최적화 - 인력 배치 - 생산 계획 - 마케팅 예산 배분

3. 신용 리스크 예측 (Credit Risk)

목적: 대출 상환 능력 평가

핵심 피처:

카테고리 피처 설명
신용 신용점수, 연체 이력 과거 이력
소득 연소득, 고용 안정성 상환 능력
부채 DTI, 기존 대출 부채 부담
자산 담보, 자산 규모 보증 능력

모델링:

# 신용 스코어링
from sklearn.linear_model import LogisticRegression
from sklearn.calibration import CalibratedClassifierCV

# 해석 가능한 모델 선호
base_model = LogisticRegression(penalty='l1', solver='saga')
calibrated = CalibratedClassifierCV(base_model, cv=5, method='isotonic')
calibrated.fit(X_train, y_train)

# 확률 예측
default_prob = calibrated.predict_proba(X_test)[:, 1]

규제 고려사항: - 모델 해석 가능성 (XAI) - 공정성 검증 (Fairness) - 규제 준수 (Basel, IFRS9)

4. 가격 최적화 (Price Optimization)

목적: 수익 극대화 가격 설정

핵심 분석:

분석 유형 목적 방법
가격 탄력성 가격-수요 관계 회귀 분석
경쟁 분석 시장 포지셔닝 크롤링 + 비교
세분화 고객별 지불 의향 클러스터링

모델링:

# 가격 탄력성 추정
import statsmodels.api as sm

# 로그-로그 모델
model = sm.OLS(
    np.log(df['quantity']),
    sm.add_constant(np.log(df['price']))
).fit()

elasticity = model.params['log_price']
print(f"가격 탄력성: {elasticity:.2f}")
# -1.5 → 가격 1% 상승 시 수요 1.5% 감소

예측 모델 선택 가이드

문제 유형별 추천 모델

문제 추천 모델 이유
이탈 예측 XGBoost, LightGBM 정확도, 피처 중요도
수요 예측 Prophet, LSTM 시계열, 계절성
신용 스코어 LR, GAM 해석 가능성, 규제
가격 최적화 인과 모델, DML 인과관계 추정
이미지 분류 CNN, ViT 이미지 특화
텍스트 분류 BERT, RoBERTa 언어 이해

정확도 vs 해석 가능성

높은 정확도                     높은 해석 가능성
     ↓                              ↓
딥러닝 ─ 앙상블 ─ 트리 ─ GAM ─ 선형모델 ─ 규칙
     │                              │
     └──────── 트레이드오프 ────────┘

모델 평가 지표

분류 문제

지표 설명 적합한 경우
AUC-ROC 분류 성능 종합 균형 데이터
PR-AUC 정밀도-재현율 불균형 데이터
F1 Score 정밀도/재현율 조화 비용 균형
Precision@K 상위 K개 정밀도 마케팅 타겟팅

회귀 문제

지표 설명 적합한 경우
RMSE 오차 제곱 평균 큰 오차 패널티
MAE 오차 절대 평균 이상치 민감도 낮음
MAPE 백분율 오차 스케일 독립
R-squared 설명력 모델 비교

예측 분석 성공 요소

데이터 품질

요소 체크 포인트
완전성 결측치 비율 < 5%
정확성 이상치 검증
일관성 형식 통일
시의성 데이터 지연 최소화

모델 운영

단계 핵심 활동
배포 A/B 테스트, 카나리 배포
모니터링 드리프트 감지, 성능 추적
재학습 주기적 업데이트, 트리거 기반
피드백 실제 결과 반영

참고 자료


마지막 업데이트: 2026-02-11