knowledge(마스터): 제조노임 미공표 16 직종 산정 반영 — 조사월마다 원 미만 버림

- 값 = 마지막 공표 조사월 값 × 조사월별 전체 평균 증가율을 이어 곱하되 곱할 때마다 원 미만 버림(건설노임 4-라 방식 준용 · 제조 원문에 규정 없음)
- 상태 「미공표」 → 「산정」 · 비고 「산정: <조사월> <값>원 × 평균 증가율(원 미만 버림) — 건설노임 4-라 방식 준용 · 제조 원문에 규정 없음」
- 빌더 build_인력_노임.py 에 estimate_make 추가 — 다시 돌려도 같은 값 · 추적 md 5절 버림 열과 기계 대조
- 구분 머리 제조업 「원천」 에 옛 회차 11 개 「3. 직종별 조사노임.md」 와 미공표직종_추적.md 를 역할 「산정근거」 로 더함
- kbiz_track_unpublished.py 에 「단계마다 버림(채택)」 열 추가 · cak_track_unpublished.py 도 같은 말로 맞춤(건설 md 는 그대로 다시 나옴)
- 시험 — 인력 상태 집합에서 「미공표」 빠짐 · 제조 산정 값 한 줄 대조

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JgUhN55Z3BCYhUJTjwTNfj
This commit is contained in:
2026-09-20 18:47:53 +09:00
co-authored by Claude Opus 5
parent b0cab9c581
commit 6fccd9ed96
6 changed files with 174 additions and 50 deletions
@@ -200,7 +200,7 @@ def main():
W("## 5. 2026.1.1 산정값")
W("")
W(
"| 직종 | 마지막 공표 | 그 값(원) | 이어 곱한 증가율 | 산정값(처리 없음) | ESTX 값 | 단계마다 버림 | 비고 |"
"| 직종 | 마지막 공표 | 그 값(원) | 이어 곱한 증가율 | 산정값(처리 없음) | ESTX 값 | 단계마다 버림(채택) | 비고 |"
)
W("|---|---|---|---|---|---|---|---|")
notes = []
@@ -224,8 +224,9 @@ def main():
)
W("")
W(
"- 「단계마다 버림」 = 공표일 단계마다 원 미만 버림하며 이은 값 — 다산소프트(ESTX) 방식과 견주기 위한 열이며, 원문에 처리 규정이 없으므로 채택하지 않음."
"- 「단계마다 버림(채택)」 = 공표일 단계마다 원 미만을 버리며 이은 값 — 다산소프트(ESTX) 와 같은 방식 · 마스터 인력 「값」 은 이 열의 원 단위 정수."
)
W("- 「산정값(처리 없음)」 = 버림 없이 이은 값 — 견주기용으로만 둠.")
W(
"- ESTX 값 = `resources/master_data/ref/_비교_estx.md` 7절 표(다산소프트 EST 2026-07 자재 · 노임 배포본)."
)
@@ -9,6 +9,7 @@
"""
import re
from decimal import ROUND_FLOOR, Decimal
from pathlib import Path
from kbiz_verify import BASE, load_rounds
@@ -57,7 +58,7 @@ def build_track(rs):
A("# 제조노임 미공표 직종 추적 — 마지막 공표값 · 전체 평균 증가율 이음 (참고 계산)\n")
A(
"> 지식DB 근거 문서 — 값을 확정하지 않음. 원 미만 처리 · 어느 시기 값으로 이을지는 사용자 협의로 정함. "
"마스터(`resources/master_data`)에는 반영하지 않음.\n"
"마스터 인력 「값」 은 5절 「단계마다 버림(채택)」 열(사용자 확정 · 건설노임과 같은 방식).\n"
"> 생성: `original/_pipeline/kbiz_track_unpublished.py` (회차 md 에서 값을 읽음)."
)
A("\n## 1. 원문 규칙\n")
@@ -80,12 +81,12 @@ def build_track(rs):
)
A(
"- 건설업 임금실태조사(대한건설협회) 임금적용요령 4-라 의 「전후 시기 값 × 전체 평균 증가율」 같은 규정은 이 보고서에 **없음**. "
"아래 산정값은 건설 쪽 방식을 같은 모양으로 대입해 본 **참고 계산**이며 원문 근거가 없음 — 채택 여부는 사용자 협의."
"아래 산정값은 건설 쪽 방식을 같은 모양으로 대입해 본 계산이며 원문 근거가 없음 — 사용자 확정으로 마스터에 반영(5절 버림 열)."
)
A(
"- 산정식(마지막 공표 조사월 L → "
f"{mlabel(latest_month)}): **산정값 = L 의 공표값 × Π(조사월마다 전체 평균 ÷ 앞 조사월 평균)** = "
f"{mlabel(latest_month)} 전체 평균 ÷ L 전체 평균 (가운데 항이 지워짐). 「원 미만 처리」 규정 없음 → 처리 없이 소수 둘째 자리까지 적음."
f"{mlabel(latest_month)} 전체 평균 ÷ L 전체 평균 (가운데 항이 지워짐). 「원 미만 처리」 규정 없음 → 처리 없는 값과 조사월 단계마다 버린 값을 5절에 함께 적음."
)
A(
"- 「전체 평균 조사노임」 = 「전체평균」 줄(조사노임표 맨 끝) · 조사결과 요약 「전체 조사직종(129개)의 평균 조사노임(일급)」 과 같음. "
@@ -129,23 +130,29 @@ def build_track(rs):
"이음은 실린 조사월끼리 곱함(2023.8 → 2024.6 은 두 조사월 평균의 비)."
)
A(f"\n## 5. {mlabel(latest_month)} 조사(2026-07-01 적용) 산정값\n")
A("| 직종 | 마지막 공표 조사월 | 그 값(원) | 이어 곱한 증가율 | 산정값(처리 없음) | 비고 |")
A("|---|---|---|---|---|---|")
A(
"| 직종 | 마지막 공표 조사월 | 그 값(원) | 이어 곱한 증가율 | 산정값(처리 없음) | 단계마다 버림(채택) | 비고 |"
)
A("|---|---|---|---|---|---|---|")
rows = []
for n in un:
code = last["rows"][n][0]
pub = [(m, val[n][m]) for m in months if val[n].get(m, "*") not in ("*", "-", "")]
m, v = pub[-1]
mult = 1.0
for k in months[months.index(m) + 1 :]:
mult *= step[k]
i = months.index(m)
mult, floor = 1.0, Decimal(num(v))
for a, b in zip(months[i:], months[i + 1 :]):
mult *= step[b]
floor = (floor * num(avg[b]) / num(avg[a])).to_integral_value(rounding=ROUND_FLOOR)
est = num(v) * mult
ratio = num(avg[latest_month]) / num(avg[m])
assert abs(mult - ratio) < 1e-9
note = "값에 `**`(5개 미만) 표기" if "**" in v else ""
rows.append((code, n, m, v, mult, est, note))
A(f"| {code} {n} | {mlabel(m)} | {v} | {mult:.6f} | {est:,.2f} | {note} |")
rows.append((code, n, m, v, mult, est, int(floor), note))
A(f"| {code} {n} | {mlabel(m)} | {v} | {mult:.6f} | {est:,.2f} | {int(floor):,} | {note} |")
A(
"\n- 「단계마다 버림(채택)」 = 조사월 단계마다 원 미만을 버리며 이은 값(건설노임과 같은 방식) — 마스터 인력 「값」 은 이 열의 원 단위 정수."
"\n- 「산정값(처리 없음)」 = 버림 없이 이은 값 — 견주기용으로만 둠."
"\n- 「마지막 공표」 는 `**`(응답업체 5개 미만 · 활용시 주의) 표기가 붙은 값도 공표값으로 보아 셈 — `*` · `-` 만 값 없음."
"\n- 「그 값」 은 마지막으로 값이 실린 조사월의 공표 표기 그대로(`**` 포함). 산정값은 `**` 를 뗀 숫자에 곱함."
"\n- 마지막 공표값이 2020 이전인 직종은 없음 — 전 직종의 마지막 공표값이 2020.8 이후 회차에서 나와 2019 이전 회차는 받지 않음."
@@ -1,6 +1,6 @@
# 제조노임 미공표 직종 추적 — 마지막 공표값 · 전체 평균 증가율 이음 (참고 계산)
> 지식DB 근거 문서 — 값을 확정하지 않음. 원 미만 처리 · 어느 시기 값으로 이을지는 사용자 협의로 정함. 마스터(`resources/master_data`)에는 반영하지 않음.
> 지식DB 근거 문서 — 값을 확정하지 않음. 원 미만 처리 · 어느 시기 값으로 이을지는 사용자 협의로 정함. 마스터 인력 「값」 은 5절 「단계마다 버림(채택)」 열(사용자 확정 · 건설노임과 같은 방식).
> 생성: `original/_pipeline/kbiz_track_unpublished.py` (회차 md 에서 값을 읽음).
## 1. 원문 규칙
@@ -11,8 +11,8 @@
- 2024.1 ~ 2026.7 적용 회차 「특수기호의 정의」: 「‘*’ 표시는 조사업체가 3개 미만이거나 표본수가 적은 경우, 또는 변동계수가 커 신뢰성을 확보하기 어려운 직종으로 ‘공표 제외’」 · 「‘**’ 표시는 응답기업 5개 미만인 직종으로 활용시 주의가 필요함」
- 조사노임 표 밑 「주2」 (전 회차): 「‘-’표시는 조사되지 않음, ‘*’표시는 조사업체가 3개 미만이거나 표본수가 적고 변동계수가 커지는 등 신뢰성을 확인하기 어려운 직종, ‘**’표시는 5개 미만을 나타내는 것으로 활용시 주의 필요함」
- 「주3」: 「(5~7)식품가공원, (20~21)일반화학원, (23~25)배합원, (125~126)특수차운전원의 통합단가는 2019년까지만 발표하고 2020년부터는 발표하지 아니함」
- 건설업 임금실태조사(대한건설협회) 임금적용요령 4-라 의 「전후 시기 값 × 전체 평균 증가율」 같은 규정은 이 보고서에 **없음**. 아래 산정값은 건설 쪽 방식을 같은 모양으로 대입해 본 **참고 계산**이며 원문 근거가 없음 — 채택 여부는 사용자 협의.
- 산정식(마지막 공표 조사월 L → 2026.3): **산정값 = L 의 공표값 × Π(조사월마다 전체 평균 ÷ 앞 조사월 평균)** = 2026.3 전체 평균 ÷ L 전체 평균 (가운데 항이 지워짐). 「원 미만 처리」 규정 없음 → 처리 없이 소수 둘째 자리까지 적음.
- 건설업 임금실태조사(대한건설협회) 임금적용요령 4-라 의 「전후 시기 값 × 전체 평균 증가율」 같은 규정은 이 보고서에 **없음**. 아래 산정값은 건설 쪽 방식을 같은 모양으로 대입해 본 계산이며 원문 근거가 없음 — 사용자 확정으로 마스터에 반영(5절 버림 열).
- 산정식(마지막 공표 조사월 L → 2026.3): **산정값 = L 의 공표값 × Π(조사월마다 전체 평균 ÷ 앞 조사월 평균)** = 2026.3 전체 평균 ÷ L 전체 평균 (가운데 항이 지워짐). 「원 미만 처리」 규정 없음 → 처리 없는 값과 조사월 단계마다 버린 값을 5절에 함께 적음.
- 「전체 평균 조사노임」 = 「전체평균」 줄(조사노임표 맨 끝) · 조사결과 요약 「전체 조사직종(129개)의 평균 조사노임(일급)」 과 같음. 원문 주: 각 직종별 평균은 단순평균값, 전체 조사직종의 평균은 가중평균.
## 2. 조사월별 전체 조사직종 평균 조사노임 (원문 인용)
@@ -81,25 +81,27 @@
## 5. 2026.3 조사(2026-07-01 적용) 산정값
| 직종 | 마지막 공표 조사월 | 그 값(원) | 이어 곱한 증가율 | 산정값(처리 없음) | 비고 |
|---|---|---|---|---|---|
| 5 제과제빵떡제조원 | 2025.8 | **85,718 | 1.051691 | 90,148.83 | 값에 `**`(5개 미만) 표기 |
| 10 목재건조기계조작원 | 2023.3 | **117,835 | 1.151870 | 135,730.60 | 값에 `**`(5개 미만) 표기 |
| 12 합판제조원 | 2025.8 | **104,356 | 1.051691 | 109,750.24 | 값에 `**`(5개 미만) 표기 |
| 14 목제품도장원 | 2023.8 | 90,586 | 1.140272 | 103,292.69 | |
| 19 채석및석재절단원 | 2025.8 | 132,499 | 1.051691 | 139,347.97 | |
| 46 판금원 | 2025.8 | 102,749 | 1.051691 | 108,060.17 | |
| 51 목형원 | 2022.8 | **102,021 | 1.192788 | 121,689.47 | 값에 `**`(5개 미만) 표기 |
| 53 다이캐스트원 | 2025.8 | **93,951 | 1.051691 | 98,807.40 | 값에 `**`(5개 미만) 표기 |
| 54 조형원 | 2025.8 | 115,864 | 1.051691 | 121,853.10 | |
| 69 금속교정원 | 2025.8 | **102,015 | 1.051691 | 107,288.23 | 값에 `**`(5개 미만) 표기 |
| 72 쇠톱기조작원 | 2023.8 | **111,861 | 1.140272 | 127,551.98 | 값에 `**`(5개 미만) 표기 |
| 77 용융도금기조작원 | 2025.8 | **109,998 | 1.051691 | 115,683.88 | 값에 `**`(5개 미만) 표기 |
| 81 태핑기조작원 | 2025.8 | **103,175 | 1.051691 | 108,508.19 | 값에 `**`(5개 미만) 표기 |
| 83 모형조각기조작원 | 2020.8 | **99,929 | 1.247053 | 124,616.78 | 값에 `**`(5개 미만) 표기 |
| 93 공업배관원 | 2025.8 | **120,639 | 1.051691 | 126,874.92 | 값에 `**`(5개 미만) 표기 |
| 104 벨트콘베이어작업원 | 2025.8 | **83,831 | 1.051691 | 88,164.29 | 값에 `**`(5개 미만) 표기 |
| 직종 | 마지막 공표 조사월 | 그 값(원) | 이어 곱한 증가율 | 산정값(처리 없음) | 단계마다 버림(채택) | 비고 |
|---|---|---|---|---|---|---|
| 5 제과제빵떡제조원 | 2025.8 | **85,718 | 1.051691 | 90,148.83 | 90,148 | 값에 `**`(5개 미만) 표기 |
| 10 목재건조기계조작원 | 2023.3 | **117,835 | 1.151870 | 135,730.60 | 135,728 | 값에 `**`(5개 미만) 표기 |
| 12 합판제조원 | 2025.8 | **104,356 | 1.051691 | 109,750.24 | 109,750 | 값에 `**`(5개 미만) 표기 |
| 14 목제품도장원 | 2023.8 | 90,586 | 1.140272 | 103,292.69 | 103,290 | |
| 19 채석및석재절단원 | 2025.8 | 132,499 | 1.051691 | 139,347.97 | 139,347 | |
| 46 판금원 | 2025.8 | 102,749 | 1.051691 | 108,060.17 | 108,060 | |
| 51 목형원 | 2022.8 | **102,021 | 1.192788 | 121,689.47 | 121,686 | 값에 `**`(5개 미만) 표기 |
| 53 다이캐스트원 | 2025.8 | **93,951 | 1.051691 | 98,807.40 | 98,807 | 값에 `**`(5개 미만) 표기 |
| 54 조형원 | 2025.8 | 115,864 | 1.051691 | 121,853.10 | 121,853 | |
| 69 금속교정원 | 2025.8 | **102,015 | 1.051691 | 107,288.23 | 107,288 | 값에 `**`(5개 미만) 표기 |
| 72 쇠톱기조작원 | 2023.8 | **111,861 | 1.140272 | 127,551.98 | 127,550 | 값에 `**`(5개 미만) 표기 |
| 77 용융도금기조작원 | 2025.8 | **109,998 | 1.051691 | 115,683.88 | 115,683 | 값에 `**`(5개 미만) 표기 |
| 81 태핑기조작원 | 2025.8 | **103,175 | 1.051691 | 108,508.19 | 108,508 | 값에 `**`(5개 미만) 표기 |
| 83 모형조각기조작원 | 2020.8 | **99,929 | 1.247053 | 124,616.78 | 124,612 | 값에 `**`(5개 미만) 표기 |
| 93 공업배관원 | 2025.8 | **120,639 | 1.051691 | 126,874.92 | 126,874 | 값에 `**`(5개 미만) 표기 |
| 104 벨트콘베이어작업원 | 2025.8 | **83,831 | 1.051691 | 88,164.29 | 88,164 | 값에 `**`(5개 미만) 표기 |
- 「단계마다 버림(채택)」 = 조사월 단계마다 원 미만을 버리며 이은 값(건설노임과 같은 방식) — 마스터 인력 「값」 은 이 열의 원 단위 정수.
- 「산정값(처리 없음)」 = 버림 없이 이은 값 — 견주기용으로만 둠.
- 「마지막 공표」 는 `**`(응답업체 5개 미만 · 활용시 주의) 표기가 붙은 값도 공표값으로 보아 셈 — `*` · `-` 만 값 없음.
- 「그 값」 은 마지막으로 값이 실린 조사월의 공표 표기 그대로(`**` 포함). 산정값은 `**` 를 뗀 숫자에 곱함.
- 마지막 공표값이 2020 이전인 직종은 없음 — 전 직종의 마지막 공표값이 2020.8 이후 회차에서 나와 2019 이전 회차는 받지 않음.