# 자재 발주 플래너 — 작업 노트 (결정·근거) ## 목표 완제품 소진예정일 + ML 예측 판매량 + BOM을 연결해, "어떤 BOM 자재를 언제까지 입고하고 얼마나 발주해야 하는지"를 한눈에 보여주는 화면. ## 확정된 결정 (2026-06-12) 1. **소진예정일 = 예측 판매량 누적 기준** (현재재고를 예측 일별 판매로 차감해 0 되는 날). - 근거: 계절성 반영 + 자재 수량 계산과 일관성. 저volume은 과거 가중속도 폴백·병기. 2. **부자재 입고 데드라인 = 소진예정일 − 리드타임(45일 기본, 슬라이더 조정)**. - "발주일"이 아니라 "자재가 입고돼 있어야 하는 마감일" 개념. 3. **대상 = 전체 BOM 자재** (원자재+부자재 모두). 4. **위치 = 신규 탭으로 먼저 추가(Phase1) → 확인 후 BOM·소진기한과 통합(Phase2)**. - 근거: 기존 소진기한 탭(600줄+) 직접 병합은 운영기능 손상 위험. 단계 분리로 위험 0. ## 데이터 소스 - 예측: demand_forecasts (product_name, forecast_date, predicted_qty) — 우리가 적재. - 현재재고: raw_sojin → load_google_sojin_data_v6 / calculate_sojin_metrics (품명, 현재재고). - BOM: bom_df (parent_name, child_name, child_code, unit_qty) — get_base_data_cached. - 매칭: clean_product_name 퍼지조인 (기존 로직 재사용). ## 리스크 - 품명 매칭률(예측↔소진↔BOM)이 낮으면 커버리지 부실 → Phase0에서 먼저 검증. - 45/90 블록 타이밍 로직은 사용자가 대시보드 보고 최종 확정 예정(확인1).