Uncertainty-Aware Bid ML
고객사별 낙찰확률과 불확실성 · q1000 예측 · Monte Carlo 의사결정
Built withPython · XGBoost · CatBoost · TabICLv2 · Quantile Regression · Monte Carlo Simulation · SHA256 Manifest

WHY
추천값 하나만으로는 고객사에게 낙찰 가능성과 위험을 함께 설명할 수 없었습니다. 같은 예측값도 지역·공고별 경쟁환경에 따라 의미가 달랐고, 소수의 분석 인력이 1,000개 이상의 고객사를 일관된 기준으로 검토하기도 어려웠습니다. 하나의 숫자를 반환하는 모델이 아니라 추천값, 낙찰확률과 불확실성을 함께 제공하는 의사결정 시스템이 필요했습니다.
0.001부터 0.999까지 1,000개 분위수
기존 단일 분위모델 대비
Simulation·평가 연산 벡터화
HOW
서로 다른 가격 이력에서 배포 가능한 의사결정까지
모델 계열은 동일한 분포 interface로 교체할 수 있게 하고, 배포 gate는 평가된 후보가 근거 없이 write되는 것을 막습니다.
- 01공통 좌표
서로 다른 가격 이력과 63개 feature schema를 하나의 affine target coordinate로 변환합니다.
- 02분포 모델
XGBoost·CatBoost 분위회귀와 routed TabICLv2로 q1000 후보를 생성합니다.
- 03지역별 simulation
지역별 Monte Carlo contract로 후보 유효확률과 최저가 확률을 계산합니다.
- 04Policy 평가
시간분리 평가, 과거 순위 신호와 운영 제약을 결합합니다.
- 05근거 기반 배포
Manifest, calibration semantics, artifact size, SHA256와 dry-run을 확인한 뒤 승인된 후보만 배포합니다.
RESULT
운영 contract
| Layer | 구현 | 의사결정 output |
|---|---|---|
| Forecast | XGBoost / CatBoost quantile, TabICLv2 routing | 1,000분위 분포 |
| Simulation | 지역별 Monte Carlo | 유효확률과 최저가 확률 |
| Evaluation | Time split, CRPS, pinball, 운영 KPI | 후보 policy |
| Deployment | Manifest + SHA256 + dry-run + approval | 검증된 artifact |

기여
- Model zoo를 q1000 contract로 통일하고 공고당 약 8만 개 후보를 지역별 의사결정 simulation과 연결했습니다.
- 1,000개 이상 고객사에 제공되는 학습, 평가, routed inference, 리포트, artifact provenance, dry-run과 승인 후 배포 경로를 구축했습니다.
관련 자료
비공개 프로젝트