34d90a14d1bd7e534e219b85c7f31284b3e67e48
**`B09_Estimation_MachineCost.py` 신설 — 취득가 → 시간당 사용료 두 단계** - `mach_base_2026.json` 실사: `mach_price` **613 기종**(`machine_code`+`specification`), `mach_loss_coef` 387건(시간당 손료계수·내용시간·연간표준시간). - **시간당 손료 = 취득가 × 손료계수.** 취득가가 **천원 단위**라 환산을 놓치면 1,000배 틀리는 자리 — 테스트로 박음. 굴착기(무한궤도) 0.7㎥ → **24,554원/hr** (STC 2024 관측 23,128 과 같은 자릿수, 취득가 판 차이로 설명됨). - ⚠ **빠진 성분을 0 으로 안 때움** — `mach_fuel_rate`·`mach_operator_map` 이 **0건**이라 연료(재료비)·운전사(노무비)를 못 채움. `HourlyMachineCost.gaps` 로 **공백을 알림**. 실측 비중이 노무 53·재료 20·경비 27 % 라 손료만 쓰면 **4분의 1**이 됨 — 조용히 총액에 섞이면 안 되는 자리. - 손료계수 없는 기종 **230건**도 0 으로 안 때우고 멈춤. **자원 축에 기종 매칭 추가** - 기종 셀은 괄호 안에 **형식과 규격이 섞여** 있음 — 「굴착기(무한궤도, 0.7㎥)」는 이름 `굴착기(무한궤도)` + 규격 `0.7`. 형식은 이름의 일부이고 숫자 조각만 규격임. - **규격이 옆 칸에 있는 표**가 많아(`['굴착기 (무한궤도)','굴착기(무한궤도,0.2㎥)','hr',…]) 뒷 칸에서 규격 후보를 찾아 고름. 규격 없이 매칭 성공으로 치지 않는 규칙은 그대로. - 산출 갱신 — 매칭 86 → **91행**(노무 86 + 기종 5), 미매칭 274 → **269건**. 자체검증 — 신규 7건 포함 `pytest tmp/tests/ -q` **104 passed** · ruff 통과. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Aislo
Aislo 웹앱
Languages
Lasso
99.4%
Python
0.3%
TypeScript
0.3%