TRAMS AI 프로젝트 문의
개발 사례

중소기업진흥공단 AI 기업부실 예측 시스템 구축 사례: 데이터 통합·GBM·조기경보 연계

트램스의 중소기업진흥공단 AI 기업부실 예측 시스템 구축 사례. 대출·재무·비재무 데이터 통합, 기업 유형별 GBM 모델 검증, 조기경보 연계와 8개월·2억 원·4명 규모의 개발 과정을 소개합니다.

핵심 요약

1. 재무제표만으로 파악하기 어려운 기업의 위험과 대출 이후의 변화를 함께 살피는 것이 개발 목표였습니다. 2. 대출·재무·비재무 정보를 통합하고, 네 기업 유형별로 3년 이내 부실 가능성을 예측하는 시스템을 구축했습니다. 3. 기업별 분석 결과를 모니터링하고 기존 조기경보·통합 리스크 관리 업무에서 활용할 수 있도록 연결했습니다.

프로젝트 소개

중소기업진흥공단 AI 기업부실 예측 시스템은 정책자금 지원 기업의 대출 이후 위험을 분석하는 프로젝트입니다. 트램스는 대출·재무·비재무 데이터를 통합하고, 기업별 부실 가능성 예측과 기존 조기경보 시스템 연계를 개발했습니다.

이 기업 부실 예측 시스템 구축 사례는 금융기관의 리스크·여신·IT 담당자가 예측 모델을 실제 사후관리 업무에 연결하는 방법을 보여줍니다.

부실 예측은 평가 시점에 확보한 정보로 일정 기간 안에 기업이 부실해질 가능성을 추정하는 작업입니다. 이 프로젝트에서는 평가 이후 3년을 예측 범위로 정하고, 기업의 재무 상태와 대출·신용 관련 정보를 함께 검토했습니다.

기업마다 재무제표 확보 여부와 업종이 달라 활용할 수 있는 정보에도 차이가 있었습니다. 따라서 확보된 자료를 일관된 기준으로 정리하고, 기업 유형에 맞는 분석 결과를 제시하는 것이 개발의 출발점이었습니다.

최종 산출물은 기업별 부실 가능성과 그 결과를 살펴볼 수 있는 관련 지표입니다. 기업 대출 리스크 모니터링 결과를 담당자가 확인하고, 조기경보와 통합 리스크 관리 업무에서 활용하도록 개발 범위를 구성했습니다.

기업 데이터 통합: 기준키 연결·결측치·재무비율 전처리

대출·재무·비재무 데이터 통합은 여러 자료를 같은 기업과 대출, 평가 시점 기준으로 맞추는 기능입니다. 재무 비재무 데이터 통합 과정에서는 자료를 연결하는 작업과 예측에 쓸 변수를 만드는 작업을 함께 진행했습니다.

입력 자료는 2010~2020년의 대출·조기경보 정보와 2010~2019년의 재무 정보였습니다. 기업·대출 기준키와 자료의 시점을 맞춰 연결하고, 재무 자료의 중복과 비재무 자료의 결측을 점검했습니다. 기준키는 서로 다른 자료에서 같은 기업이나 대출을 찾아 연결하기 위한 공통 값입니다.

재무 정보는 수익성·유동성·부채상환능력처럼 기업의 상태를 나타내는 변수로 구성했습니다. 단순한 금액뿐 아니라 항목 사이의 비율을 계산하므로, 계산에 필요한 값이 빠지거나 분모가 0인 상황을 먼저 처리해야 했습니다.

이에 재무비율별로 예외 유형을 나누고, 정해진 값으로 대체하거나 계산식을 조정하는 규칙을 적용했습니다. 결측치도 변수의 성격에 따라 대체하거나 제거했습니다. 같은 문제가 생겼을 때 동일한 규칙으로 처리해 모델에 전달할 입력값을 구성했습니다.

비재무 정보에는 업종·업력과 신용·대출 관련 항목처럼 표 형태로 관리하는 자료가 포함됩니다. 범주와 수치로 표현되는 정형 자료를 성격에 맞게 변환하고, 재무 변수와 함께 분석할 수 있도록 준비했습니다.

현재 유사한 통합 기능을 구현한다면, scikit-learn의 ColumnTransformer로 열 묶음마다 다른 변환을 적용할 수 있습니다. 수치형 열에는 결측값 대체와 값의 척도를 맞추는 표준화를 적용하고, 범주형 열은 숫자 표현으로 바꾼 뒤 하나의 모델 입력으로 묶는 방식입니다.

이 구현안에서는 항목마다 필요한 정제 방법을 유지하면서 처리 흐름을 한곳에서 관리할 수 있습니다. 실제 프로젝트에서 정의했던 변수별 예외 규칙을 새 시스템에 옮길 때도, 공통 변환과 업무에 따른 개별 규칙을 구분해 설계할 수 있습니다.

중진공 기업부실 예측 시스템의 대출·재무·비재무 데이터 통합
<중진공 기업부실 예측 시스템>

기업 부실 예측: 유형별 GBM 모델과 시점 분리 검증

기업 유형별 부실 예측과 모델 검증은 통합한 변수를 기업의 정보 조건에 맞게 평가하는 기능입니다. 재무제표 유무와 제조업·서비스업을 조합해 네 집단을 구성하고, 각 집단에서 평가 시점 이후 3년 이내의 부실 여부를 학습 목표로 정했습니다.

이 분류는 재무제표를 확보한 집단과 확보하지 못한 집단의 입력 조건을 구분하기 위한 선택이었습니다. 업종도 함께 나눠 제조업과 서비스업의 자료를 각 유형에 맞게 검토했습니다. 이후 변수 사이의 관련성과 정상·부실 집단 간 차이를 통계적으로 점검해 후보 변수를 좁혔습니다.

후보 모형은 앞선 예측의 오류를 보완하며 학습하는 GBM, 여러 의사결정나무의 판단을 모으는 Random Forest를 포함했습니다. 집단을 구분하는 경계를 학습하는 SVM과 여러 층에서 입력 관계를 학습하는 신경망까지 네 계열을 비교했습니다.

각 계열의 학습 설정을 바꾼 후보들을 평가한 결과, 네 기업 집단 모두 최종 모형으로 GBM을 선택했습니다. GBM은 나무를 순차적으로 더하면서 예측 오차를 줄이는 부스팅 방식이며, 이 프로젝트에서는 집단별로 학습 설정을 달리했습니다.

검증 자료는 대출 연도를 기준으로 시간 순서를 반영해 나눴습니다. 2010~2017년 대출 자료를 학습 구간으로, 2018~2020년 대출 자료를 이후 시점 검증 구간으로 구분했습니다. 학습 구간 안에서도 정상·부실 비율을 고려해 학습용과 평가용 자료를 나눴습니다.

이렇게 시점을 구분한 이유는 과거 자료에서 학습한 규칙이 이후 자료에도 적용되는지 확인하기 위해서였습니다. 학습 과정에서의 평가와 이후 시점 검증을 구분해, 같은 시기의 자료를 잘 설명하는지만으로 모형을 판단하지 않도록 했습니다.

부실 예측 모델 검증에서는 정상·부실 표본 수가 불균형하다는 점도 반영했습니다. 전체 정답 비율인 정확도에 더해 F-score를 평가했습니다. F-score는 부실로 분류한 결과가 맞은 비율과 실제 부실을 찾아낸 비율을 함께 반영합니다.

판정 기준을 바꿀 때 탐지와 오탐의 관계를 살피는 ROC 곡선도 비교에 활용했습니다. 최종 결과에서는 위험 순위가 부실을 얼마나 잘 구분하는지 보는 AR을 함께 확인했습니다. 이를 통해 기업별 3년 이내 부실 가능성을 산출하고, 그 결과를 유형별 검증 기준과 함께 평가했습니다.

중진공 기업부실 예측 시스템의 기업 유형별 GBM 모델 검증
<중진공 기업부실 예측 시스템>

리스크 모니터링: 조기경보·전자정부 표준프레임워크 연계

예측 결과의 모니터링·기존 업무 시스템 연계는 모델의 산출물을 담당자의 조회와 판단에 연결하는 기능입니다. 기업별 예측 결과를 입력으로 받아 평가 시점, 적용 모형, 참고 지표와 함께 확인할 수 있도록 구성했습니다.

연계 대상은 전자정부 표준프레임워크 기반의 기존 업무 환경이었습니다. 이 환경의 데이터 구조와 연계 요건에 맞춰, 예측 산출물을 조기경보시스템의 필터링 항목과 통합 리스크 관리의 신규 지표에 활용하도록 연결했습니다.

담당자는 개별 기업의 부실 가능성을 관련 경영 정보와 함께 살펴볼 수 있습니다. 기업평가 과정에서도 해당 기업의 세부 유형에 맞는 분석 결과를 요약 자료로 확인하도록 구성해, 예측값을 기존 검토 절차에서 활용할 수 있게 했습니다.

이 기능에서 중요한 연결 기준은 어떤 기업을 어느 시점에 어떤 모형으로 평가했는지입니다. 예측값에 평가 맥락을 함께 제공해야 담당자가 다른 시점의 정보와 혼동하지 않고 결과를 해석할 수 있습니다. 이를 바탕으로 대출 이후의 위험 변화를 살피는 업무를 지원합니다.

현재 유사 시스템의 설계안으로는 자료를 묶어 일괄 처리하는 배치 방식과, 시스템 사이에서 결과를 주고받는 API 방식을 검토할 수 있습니다. 배치를 선택한다면 전자정부 표준프레임워크의 배치 실행환경을 활용해 대량 처리와 실행 결과 관리, 재시작 기능을 구성할 수 있습니다.

새로 구축하는 시스템의 조회 권한, 결과 변경 이력, 실패한 작업의 재처리 기준도 이 단계에서 함께 설계할 수 있습니다. 갱신 주기는 원천 데이터가 들어오는 주기와 담당자의 업무 기준에 맞춰 정하고, 조회 결과에 평가 시점을 표시하는 방식으로 구체화합니다.

중진공 기업부실 예측 시스템의 부실위험 모니터링 화면
<중진공 기업부실 예측 시스템>

성공 요소

프로젝트 초기에 사용할 데이터 범위를 넓게 정리한 것이 중요한 성공 요소였습니다. 자료가 뒤늦게 추가될 때마다 임시 처리를 덧붙이는 상황을 줄이고, 정제와 변수 구성에 필요한 기준을 먼저 마련했습니다. 데이터 확보 범위와 예외 규칙을 함께 다룬 점이 이후 분석의 기반이 됐습니다.

알고리즘 선택과 검증 기준을 함께 설계한 점도 핵심이었습니다. 정상·부실 불균형과 시간 차이를 검증 절차에 반영해, 후보 모형의 개선 여부를 같은 조건에서 비교했습니다. 데이터 조건이 다른 기업 집단을 구분한 뒤 각각의 결과를 평가한 것도 이 원칙에 따른 선택이었습니다.

기존 시스템의 데이터 구조와 연계 요건을 초기에 정의해 분석 산출물이 실제 업무로 이어지도록 했습니다. 개발 과정에서는 물리적·소프트웨어 보안 규정을 준수하고, 전자정부 표준프레임워크 기반 환경의 제약을 반영해야 했습니다. 모델 개발과 결과 전달 요건을 함께 검토한 이유입니다.

짧은 예측 기간별로 독립 모형을 만들 만큼 표본이 충분하지 않은 제약도 있었습니다. 이에 3년 예측 결과에 과거의 기간별 사고 통계를 결합해 짧은 기간의 위험을 살피는 보조 지표를 마련했습니다. 기간별로 별도 학습한 AI 모형과는 적용 범위를 구분했습니다.

외부 전망지표를 활용한 분석도 업종·지역별 대출자산의 위험을 살피는 통계적 보조 분석으로 구성했습니다. 기업별 AI 예측 결과와 대출자산 집단을 대상으로 한 참고 지표의 의미를 구분해, 담당자가 각 결과의 목적에 맞춰 활용하도록 했습니다.

개발 기간 · 비용 · 투입 인력

2020년에 완료한 프로젝트입니다. 총 개발 기간은 8개월, 개발 비용은 2억 원이며 투입 인원은 4명이었습니다. 데이터 통합, 분석 결과 활용과 기존 시스템 연계를 포함한 당시 프로젝트 범위의 기준입니다. 유사 프로젝트의 기간과 비용은 데이터 준비 상태와 구축·연동 범위에 따라 별도로 검토합니다.

참고 자료

  1. https://scikit-learn.org/stable/auto_examples/compose/plot_column_transformer_mixed_types.html
  2. https://scikit-learn.org/stable/modules/ensemble.html
  3. https://egovframe.go.kr/docs/5.0/egovframe-runtime/batch-layer/intro/
TRAMS AI

개발 문의

기업 조기경보 시스템 고도화나 여신 사후관리 시스템 구축을 검토하고 있다면, 보유 데이터와 연결할 업무 시스템을 알려주세요. 트램스가 필요한 기능과 개발 범위, 일정을 함께 검토하겠습니다.

프로젝트 문의