자영업자 조기경보 AI v2: Recall 68%에서 86%로
카드 거래 데이터로 폐업 위험을 3~6개월 전에 예측. 47개 피처, 3개 모델 앙상블, Optuna, SHAP.
실제 카드 거래 데이터를 활용해 자영업자의 폐업 위험을 3~6개월 전에 예측하는 모델을 v2로 개선했다. v1 대비 핵심 지표가 이렇게 바뀌었다.
| 지표 | v1 | v2 | 개선 |
|---|---|---|---|
| Accuracy | 94.3% | 97.2% | +2.9%p |
| Recall | 68.2% | 85.7% | +17.5%p |
| Precision | 76.5% | 89.3% | +12.8%p |
| AUC-ROC | 0.912 | 0.964 | +0.052 |
조기경보 문제에서 중요한 건 Recall이다. 위험한 매장을 놓치면 경보 시스템의 의미가 없다. 그래서 v2는 “위험 매장을 얼마나 많이 잡아내는가”에 집중했다.
문제를 어떻게 구조화했나
매출 · 이용 · 고객 변동을 기반으로 Risk Score를 정의하고, 47개 피처를 설계했다.
- 다중 기간 매출 분석: 1 · 3 · 6 · 12개월 추세를 동시에 본다. 단기 위기와 장기 하락을 모두 감지.
- 고객 행동: 재이용률 변화, 신규 vs 기존 고객 비율, 연령/성별 구성 변화.
- 계절성: 업종별 계절 매출 변동을 반영해 오경보(False Positive)를 줄였다.
모델
XGBoost + LightGBM + CatBoost 앙상블. 하이퍼파라미터는 Optuna로 자동 최적화하고, 클래스 불균형은 SMOTE로 처리했다. 단일 모델 대비 앙상블이 안정적으로 좋았고, 특히 계절성 피처가 들어간 뒤 Precision이 크게 올랐다.
해석 가능성
예측 결과를 현업이 쓰려면 “왜 위험한가”가 함께 나와야 한다. SHAP으로 상위 위험 요인의 기여도를 제시하도록 구성했다.
위험도: 78.5/100
등급: 높음
폐업 확률: 78.5%
주요 위험 요인:
- 매출 감소 추세: 32.5점
- 고객 수 감소: 25.8점
- 재이용률 하락: 12.3점
간단한 API로 즉시 예측할 수 있게 감싸고, 모델은 Hugging Face에 배포했다.
배운 것
- 지표를 하나 고르면 설계가 명확해진다. Recall을 목표로 두니 피처 · 샘플링 · 임계값 결정이 모두 같은 방향을 향했다.
- 도메인 피처(계절성, 재이용률)가 모델 튜닝보다 더 큰 개선을 만들었다.
- 설명 가능성은 부가 기능이 아니라 제품 요구사항이었다.