Problem

여러 공개 데이터셋에 분산된 계약 정보를 결합해 “어떤 기관이 어떤 품목을 어떤 방식으로 구매하는가”를 탐색했다.

Context

원천 데이터는 필드명, 날짜 형식, 공급자 표기가 서로 달랐다. 분석보다 먼저 재사용 가능한 데이터 사전을 만드는 것이 필요했다.

Data

계약 기본 정보, 품목 분류, 수요기관, 공급자, 낙찰 방식 데이터를 사용했다. 원본 파일은 변경하지 않고 정제 단계별 산출물을 분리했다.

Approach

  1. 스키마 프로파일링과 결측률 확인
  2. 기관명 및 공급자명 표준화
  3. 품목 분류 체계 매핑
  4. DuckDB 기반 집계 테이블 생성
  5. 지출 집중도와 경쟁 수준 시각화

What failed

회사명 문자열 유사도만으로 공급자를 합치자 동명이인과 계열사가 과도하게 병합됐다. 사업자 식별자가 없는 행은 자동 병합하지 않고 별도 검토 대상으로 남겼다.

Results

기관별 수의계약 비중과 공급자 집중도를 비교할 수 있는 분석 테이블을 만들었다. 원천 파일이 갱신되어도 같은 결과를 재생성할 수 있도록 정제 과정을 스크립트로 고정했다.

What I learned

공공 데이터 분석에서는 화려한 모델보다 정의가 일관된 키와 검증 가능한 정제 로그가 결과의 신뢰도를 결정한다.