기초 게시 2026년 6월 15일

금융 데이터 사이언스가 일반 ML과 다른 7가지

ML 모델 구축부터 평가까지 잘 하는 사람도 신용 심사에 오면 한 번씩 어긋납니다. 실력이 아니라 규칙이 다른 분야이기 때문입니다. 선택편향부터 규제까지, 금융 데이터 사이언스가 일반 ML과 구조적으로 다른 7가지를 정리했습니다.

저는 오래 이 분야에 종사한 베테랑은 아닙니다. 제조업 엔지니어로 일하다 금융권으로 넘어와서, 지금은 신용 심사 쪽 데이터 사이언티스트로 일하고 있는 정도입니다. 그래서 이 글도 “이게 정답입니다”라기보다는, 이 분야에 와서 제가 헤맸던 것들, ‘어, 책대로 했는데 왜 자꾸 틀릴까?’ 싶었던 것들을 정리한 것이라고 봐주시면 좋겠습니다.

재밌는 건, 그게 저만 겪는 일이 아니었습니다. 일반적인 ML 모델 구축부터 평가까지 다 잘 하는 사람도 신용 심사에 오면 비슷하게 한 번씩 실수합니다. 검증 지표는 좋은데 실전에서는 제 성능을 못 내고, 정확도는 99%인데 아무도 안 기뻐하고, 성능을 0.01 더 짜냈더니 리스크 부서가 배포를 막고…

이게 실력 문제라기보다, 금융(특히 신용 심사)이 ‘ML을 금융 데이터에 적용하는 일’이 아니라 규칙이 좀 다른 분야라서 그렇습니다. 그리고 앞으로 이 연재에서 다룰 거의 모든 것, 그러니까 reject inference, 인과추론, 캘리브레이션, 검증, 공정성이 결국 이 규칙들에 기반합니다.

1. 선택편향이 디폴트입니다

우리가 가진 학습 데이터에는 사실 큰 구멍이 하나 있습니다. 승인한 고객의 상환 결과만 보인다는 점입니다. 거절한 고객이 실제로 갚았을지 부도났을지는 영원히 알 수가 없습니다. 그분들께는 애초에 카드가 발급되지 않았으니까요.

일반 ML은 보통 “데이터가 모집단을 대표한다”고 가정합니다. 그런데 신용 심사에서는 이 가정이 처음부터 깨져 있습니다. 학습 데이터는 과거에 이미 승인된 고객인데, 정작 모델이 판단해야 할 대상은 아직 승인되지 않은 신청자 전체입니다. 둘은 다른 모집단입니다.

신청자 전체 승인 · 관측됨 상환 정상 상환 부도 연체·부도 거절 · 관측 안 됨 ? ? ? 결과 모름 모델은 ‘승인된 고객’만 학습합니다. 거절한 고객의 실제 결과는 데이터에 남지 않습니다.

이 한 가지가 생각보다 많은 문제를 유발합니다. “거절했던 고객”의 거절 후 데이터가 없으니, 모델은 자기가 거절한 영역을 배우지 못하고 과거 심사 정책의 편향을 그대로 물려받습니다. 그래서 이 분야에서는 reject inference(거절추론)와 인과추론이 특별한 기법이 아니라 기본이 됩니다. (이 둘은 뒤에서 한 편씩 따로 깊게 다루겠습니다.)

2. 시간은 한 방향으로 흐르고, 모델은 노화합니다

데이터를 무작위로 섞어서 K-fold를 돌렸다면, 사실 미래를 살짝 컨닝한 셈입니다. 검증 데이터에 과거와 미래의 데이터가 혼재하니까요.

신용 데이터는 시간을 따라 흐릅니다. 2024년의 가입자 데이터로 학습한 모델이 2026년 고객을 평가합니다. 그사이 경기도 바뀌고 금리도 오르고 고객 행동과 상품도 달라집니다. 분포가 *이동(drift)*하는 것입니다. 무작위 K-fold는 과거와 미래를 한데 섞어버려서, 실전에서는 절대 누릴 수 없는 정보를 검증에 슬쩍 끼워 넣습니다.

그래서 금융의 기본 검증은 OOT(out-of-time), 즉 학습보다 나중 기간으로 평가하는 방식입니다. 배포 후에는 분포가 얼마나 움직였는지, 시간이 지남에 따라 고객이 어떻게 변화하는지 계속 모니터링해야 합니다. 모델은 배포하는 순간부터 노화가 시작됩니다.

3. “누가 더 위험한가”로는 부족하고, “정확히 몇 %인가”가 필요합니다

일반 분류 문제는 보통 순위만 맞으면 됩니다. 누가 더 위험한지 줄만 잘 세우면 되고, AUC가 그 능력을 측정합니다.

그런데 신용은 거기서 멈출 수 없습니다. **절대 확률, 즉 보정된 PD(calibrated PD)**가 필요합니다. “이 고객의 부도 확률은 정확히 3.2%“라는 숫자가 있어야 가격을 매기고(risk-based pricing), 충당금을 쌓고(provisioning), 기대손실을 계산합니다. 순위만으로는 이 중 아무것도 할 수 없습니다.

그래서 신용에서는 이런 일이 은근히 흔합니다. AUC는 훌륭한데 PD는 틀린 모델입니다. 판별력(discrimination)과 보정(calibration)은 다른 축이라, 둘 다 챙겨야 합니다. (캘리브레이션만 다루는 편을 따로 준비했습니다. 의외로 이걸 빠트리는 경우가 많습니다.)

4. 비용이 비대칭이고, 한참 늦게 오고, 금액 단위입니다

정확도(accuracy)는 모든 오류를 똑같이 셉니다. 그런데 신용에서 오류의 무게는 전혀 같지 않습니다.

우량 고객 한 명을 승인해서 버는 돈은 마진(수천 엔), 부도 한 건의 비용은 LGD × EAD(수십만 엔)입니다. 한쪽이 수십 배 무겁습니다. 그러니 우리가 최적화할 것은 정확도가 아니라 기대수익과 기대손실입니다.

기대수익 = (1 − PD) × 마진 − PD × LGD × EAD
EL = PD 부도 확률 × LGD 부도 시 손실률 × EAD 부도 시 잔액 세 요소가 각각 다른 모델링 문제입니다. 스코어링의 핵심은 PD입니다.

게다가 정답이 한참 뒤에 옵니다. 오늘 승인한 고객이 부도인지 아닌지는 12~24개월 뒤에야 확정됩니다. 라벨이 이렇게 늦게 온다는 것은, 빠른 피드백에 익숙한 ML 사고방식과 꽤 부딪힙니다. 결과를 모르는 채로 계속 결정을 쌓아가야 하니까요.

5. 안정성이 한계 성능을 이깁니다

ML 대회라면 AUC를 0.001이라도 더 짜내는 게 미덕입니다. Kaggle 같은 대회처럼요. 그런데 현업 신용 모델에서는 그게 손해일 때가 많습니다.

성능을 한 방울 더 얻으려다 불안정해진 모델은 운영에서 곧 비용이 됩니다. 입력이 조금만 흔들려도 점수가 출렁이고, 재현이 안 되고, “소득이 높을수록 점수가 낮아지는” 이상한 구간이 생기는 모델 말입니다. **운영 안정성, 재현성, 단조성(monotonicity)**이 소수점 성능보다 중요할 때가 잦습니다. 로지스틱 회귀가 GBM 시대에도 스코어링 표준으로 살아남은 데에는 이런 이유도 있습니다.

6. 해석가능성은 선택이 아니라 의무입니다

다른 분야에서는 “왜 이 예측이 나왔지?”를 설명할 수 있으면 좋은 보너스입니다. 하지만 신용에서는 그게 없으면 불법이거나 배포가 안 되는 경우가 많습니다.

거절 사유 통지(adverse action, 否決理由), 감독당국 설명, 내부 거버넌스가 전부 “왜 이 점수인지”를 설명하라고 요구합니다. 그래서 블랙박스는 멋진 게 아니라 그 자체로 리스크입니다. 현업에서 WOE나 스코어카드처럼 사유가 자연스럽게 떨어지는 구조를 선호하고, 부스팅을 쓰더라도 SHAP으로 사유를 뽑을 장치를 같이 깔아두는 이유입니다.

7. 규제·거버넌스 오버헤드가 항상 깔려 있습니다

마지막으로, 모델은 자유롭게 배포할 수 없습니다.

모델을 다 만들었다고 끝이 아닙니다. 모델 리스크 관리(MRM), 독립 검증, 문서화, 감사 추적이 개발 과정의 일부입니다. 개발자와 검증자가 분리되고, 새 모델은 보통 shadow mode로 한참 병행 관찰한 다음에야 실제 의사결정에 들어갑니다. “성능 좋은 모델을 빨리 배포하자”는 스타트업식 직관이 여기서는 잘 통하지 않습니다. 느린 데는 이유가 있습니다. 모델 하나가 충당금과 자본 계산까지 흘러가니까요.

(일본에서 일하다 보면 이게 더 피부에 와닿습니다. 카드 발급과 한도에 할부판매법(割賦販売法)의 지불가능산정액(支払可能見込額) 산정 의무가 걸려 있어서, 모델이 곧 법적 근거가 됩니다. 이 이야기는 규제 편에서 따로 다루겠습니다.)

이건 AI가 다 해주지 않나요

요즘 이런 질문을 자주 받습니다. 생성형 AI와 에이전트가 이렇게 빠르게 발전하는데, 이런 모델링 지식을 굳이 배워야 하느냐고요. 솔직한 답은, 오히려 더 필요해진다는 쪽입니다(적어도 아직까지는).

지금까지 본 7가지는 특정 알고리즘이 아니라 이 분야 문제의 구조입니다. 관측되지 않는 반사실, 시간 순으로 흐르는 데이터, 비대칭 비용, 절대 확률, 안정성, 설명 의무, 규제. 여기에 LLM을 붙인다고 이런 문제들이 사라지지 않습니다. 오히려 그게 있다는 걸 아는 사람이 있어야, 자동으로 만들어진 모델이 자신만만하게 틀리는 것을 막을 수 있습니다.

특히 6번과 7번이 핵심입니다. 거절 사유를 설명해야 하고, 모델을 독립적으로 검증해야 하고, 그 결과가 충당금과 자본 계산의 근거가 됩니다. 블랙박스 모델은 이 요건들에서 구조적으로 막힙니다. 그래서 생성 AI가 신용 심사를 통째로 가져가지 못하고, 대신 “왜 설명 가능해야 하고 어떻게 검증하는가”를 아는 사람이 그 AI가 내놓은 결과를 판정하는 자리에 남습니다.

물론 바뀌는 것도 있습니다. 반복적인 코드 작성이나 기초적인 분석은 점점 AI의 역할이 됩니다. 그래서 실무의 무게중심은 손으로 모델을 짜는 능력에서, 문제를 올바로 세우고 검증하고 감리하는 판단력으로 옮겨갑니다. 이 연재가 다루려는 것이 바로 그 후자입니다.

그래서, 이 분야의 실력이란

7가지를 한 줄로 묶으면 이렇습니다.

금융 데이터 사이언스는 “예측 정확도 경쟁”이 아니라, 관측되지 않는 반사실(counterfactual)을, 시간이 흐르고 비용이 비대칭인 환경에서, 설명 가능하고 안정적으로 추정하는 일입니다.

평가지표와 스코어카드는 입장권 같은 것입니다. 진짜 실력 차이는 선택편향, 인과, 검증, 거버넌스에서 갈립니다.

이 연재에서는 이 7가지를 하나씩 천천히 파볼 생각입니다. reject inference는 어떻게 푸는지, 캘리브레이션은 왜 다들 틀리는지, 인과추론이 왜 심사의 핵심인지, 검증은 어떻게 해야 프로덕션에서 살아남는지. 다음 편부터 같이 가보겠습니다.

← 글 목록

새 글을 메일로 받기

연재가 올라오면 메일로 알려드립니다. 스팸은 없고, 언제든 해지할 수 있습니다.

스팸 없음, 언제든 해지