03 결과 도출 — 원고 표·그림, 제출용 엑셀, 검증¶

02_분석.ipynb의 산출물로 원고 「전망치」 장의 표 1–4, 그림 1–2, 제출용 엑셀을 만들고, 정비 전후 비교표(표 5)를 낸다. 마지막 셀은 정비판 공표 수치(config.PUBLISHED)와 계산 결과를 대조하고, 같은 계산을 이전 판 기준 시나리오에 적용한 결과가 이전 판 공표 수치(config.PREVIOUS)를 재현하는지 확인한다(반올림 범위 안에서 일치해야 통과).

2026-10 정비판. 보고서1의 기준 시나리오가 정비되었다. BOKDPM 장기 정상상태를 고치고(잠재성장률 1.8%, 물가안정목표 2%, 실질유가 불변), 실질금리를 1차 차분으로 투입하며, 시나리오 외생 경로의 레버를 연결한 뒤 산업 전망과 정합화를 다시 실행한 결과이다. 이 판은 그 기준 시나리오(data/inputs/base_va_62.csv·base_va_69.csv)만 교체하였고, AI 확산 층(산업 배분 A1, Λ 보정, 고용 중립 취업계수)은 이전 판과 같다. 이전 판 기준 시나리오는 data/published_prev/에 두고 정비 전후 비교와 이전 판 재현 점검에만 쓴다.

In [1]:
import os, hashlib
import numpy as np, pandas as pd
import config as C
import ai_forecast as F
pd.set_option("display.float_format", lambda v: f"{v:,.3f}")
C.setup()
import matplotlib.pyplot as plt
import koreanize_matplotlib  # noqa: F401  (한글 글꼴)
sens = pd.read_csv(os.path.join(C.OUTPUT, "lambda_sensitivity.csv"))
va62 = pd.read_csv(os.path.join(C.OUTPUT, "ai_va_62.csv"))
va69 = pd.read_csv(os.path.join(C.OUTPUT, "ai_va_69.csv"))
lab62 = pd.read_csv(os.path.join(C.OUTPUT, "ai_premium_labor_62.csv"), index_col=0)
lab69 = pd.read_csv(os.path.join(C.OUTPUT, "ai_premium_labor_69.csv"), index_col=0)
var = pd.read_csv(os.path.join(C.OUTPUT, "allocation_variants.csv"), index_col=0)
cmp = pd.read_csv(os.path.join(C.OUTPUT, "compare_prev.csv"))
tot = va62.groupby(["시나리오", "연도"])["실질VA_십억원"].sum().unstack(0) / 1e3
Python 3.12.10 · pandas 2.2.3 · numpy 2.4.6 · openpyxl 3.1.5 · matplotlib 3.11.0
  판: 2026-10 정비판 · 배분 A1 · 취업계수 neutral · Λ 중심 0.5
  기준 62          있음  data\inputs\base_va_62.csv
  기준 69          있음  data\inputs\base_va_69.csv
  이전 판 기준 62     있음  data\published_prev\base_va_62_prev.csv
  이전 판 기준 69     있음  data\published_prev\base_va_69_prev.csv
  크로스워크          있음  data\crosswalk_21_62.csv
  분화표            있음  data\carveout_69.csv
  설문 통계표(비공개)    있음  data\private\AI수용도조사_통계표_260417.xlsx

표 1. 시나리오별 전산업 실질부가가치 전망¶

In [2]:
b25, b35 = tot.loc[C.START, "기준(S1)"], tot.loc[C.END, "기준(S1)"]
t1 = [{"시나리오": "기준", "2025(조원)": b25, "2035(조원)": b35, "연평균(%)": F.cagr(b25, b35, 10), "기준 대비(%p)": 0.0}]
for _, r in sens.iterrows():
    t1.append({"시나리오": f"AI 확산(Λ={r['Λ(%p)']:.1f})", "2025(조원)": b25, "2035(조원)": r["2035 AI확산(조원)"],
               "연평균(%)": r["CAGR(%)"], "기준 대비(%p)": r["기준 대비(%p)"]})
t1 = pd.DataFrame(t1)
t1.to_csv(os.path.join(C.OUTPUT, "table1_totals.csv"), index=False, encoding="utf-8-sig")
t1.style.format({"2025(조원)": "{:,.0f}", "2035(조원)": "{:,.0f}", "연평균(%)": "{:.2f}", "기준 대비(%p)": "{:+.2f}"}).hide(axis="index")
Out[2]:
시나리오 2025(조원) 2035(조원) 연평균(%) 기준 대비(%p)
기준 2,178 2,609 1.82 +0.00
AI 확산(Λ=0.3) 2,178 2,659 2.01 +0.19
AI 확산(Λ=0.5) 2,178 2,692 2.14 +0.32
AI 확산(Λ=0.8) 2,178 2,743 2.33 +0.51

표 2. 산업별 AI 부가가치 프리미엄(2035년, 연 %p) — 상·하위¶

In [3]:
p = lab62["VA프리미엄_2035_%p"].sort_values(ascending=False)
t2 = pd.concat([p.head(8).rename("AI 프리미엄(%p)").to_frame().assign(구분="상위"),
                p.tail(5).rename("AI 프리미엄(%p)").to_frame().assign(구분="하위")])
t2.to_csv(os.path.join(C.OUTPUT, "table2_premium_top_bottom.csv"), encoding="utf-8-sig")
t2[["구분", "AI 프리미엄(%p)"]].style.format({"AI 프리미엄(%p)": "{:+.2f}"})
Out[3]:
  구분 AI 프리미엄(%p)
산업    
44.컴퓨터 프로그래밍ㆍ시스템통합관리업 상위 +0.62
45.정보서비스업 상위 +0.62
40.출판업 상위 +0.62
41.영상ㆍ오디오기록물제작 배급업 상위 +0.62
42.방송업 상위 +0.62
43.통신업 상위 +0.62
56.교육서비스업 상위 +0.58
23.의료ㆍ정밀ㆍ광학기기ㆍ시계 상위 +0.56
39.음식점ㆍ숙박업 하위 +0.43
33.건설업 하위 +0.42
59.문화서비스업 하위 +0.40
60.스포츠ㆍ오락서비스업 하위 +0.40
62.수리ㆍ개인서비스업 하위 +0.40

그림 1. 기준 대 AI 확산 전산업 부가가치 경로(2025–2035)¶

In [4]:
fig, ax = plt.subplots(figsize=(8, 4.2))
yrs = tot.index
ax.plot(yrs, tot["기준(S1)"], marker="o", color="#1f4e79", label="기준")
ax.plot(yrs, tot["AI확산(Λ=0.5)"], marker="o", color="#a9781f", label="AI 확산(Λ=0.5)")
ax.set_ylabel("조 원(2020년 연쇄가격)"); ax.grid(alpha=.3); ax.legend(frameon=False)
ax.set_title("전산업 실질부가가치: 기준 대 AI 확산", loc="left")
fig.tight_layout(); fig.savefig(os.path.join(C.OUTPUT, "fig1_paths.png"), dpi=150)
No description has been provided for this image

그림 2. 62개 산업 AI 부가가치 프리미엄(2035년)¶

In [5]:
q = lab62["VA프리미엄_2035_%p"].sort_values()
fig, ax = plt.subplots(figsize=(8, 11))
ax.barh([s.split(".", 1)[1] for s in q.index], q.values, color="#1f4e79")
ax.set_xlabel("연 %p"); ax.grid(axis="x", alpha=.3); ax.tick_params(axis="y", labelsize=7)
ax.set_title("산업별 AI 부가가치 프리미엄(중심 Λ=0.5, 2035)", loc="left")
fig.tight_layout(); fig.savefig(os.path.join(C.OUTPUT, "fig2_premium_62.png"), dpi=150)
No description has been provided for this image

표 3. 69분류 분화 산업 — 기준 대 AI 확산(2035년)¶

In [6]:
carve = list(pd.read_csv(C.CARVEOUT)["69분화산업"])
w = va69[va69["연도"] == C.END].pivot(index="산업", columns="시나리오", values="실질VA_십억원").loc[carve] / 1e3
w["AI 프리미엄(%p)"] = lab69.loc[carve, "VA프리미엄_2035_%p"]
w.to_csv(os.path.join(C.OUTPUT, "table3_carveout_69.csv"), encoding="utf-8-sig")
w.style.format({"기준(S1)": "{:,.1f}", "AI확산(Λ=0.5)": "{:,.1f}", "AI 프리미엄(%p)": "{:+.2f}"})
Out[6]:
시나리오 AI확산(Λ=0.5) 기준(S1) AI 프리미엄(%p)
산업      
반도체 235.8 227.6 +0.56
이차전지 9.4 9.1 +0.56
신재생에너지 7.7 7.5 +0.44
조선업 9.8 9.5 +0.50
철강 12.6 12.2 +0.48
택배 12.6 12.2 +0.46
건물건설건축보수 57.3 55.8 +0.42
토목건설 24.5 23.9 +0.42

표 4. AI 확산에 따른 취업계수 연변화(2035년, %p) — 고용 중립(중심)과 설문 탄력성(하방 민감도)¶

In [7]:
e = lab62["취업계수변화_설문탄력성_%p"].sort_values()
t4 = lab62.loc[list(e.head(6).index) + list(e.tail(4).index),
               ["VA프리미엄_2035_%p", "취업계수변화_고용중립_%p", "고용탄력성_ε(설문)", "취업계수변화_설문탄력성_%p"]]
t4.to_csv(os.path.join(C.OUTPUT, "table4_labor_coef.csv"), encoding="utf-8-sig")
t4.style.format("{:+.2f}")
Out[7]:
  VA프리미엄_2035_%p 취업계수변화_고용중립_%p 고용탄력성_ε(설문) 취업계수변화_설문탄력성_%p
산업        
10.가죽제품 +0.48 -0.48 -1.81 -1.35
9.섬유ㆍ의복 +0.48 -0.48 -1.81 -1.35
19.비금속광물제품 +0.46 -0.46 -1.52 -1.15
26.자동차 +0.50 -0.50 -1.14 -1.08
27.기타 운송장비 +0.50 -0.50 -1.14 -1.08
56.교육서비스업 +0.58 -0.58 -0.80 -1.05
5.금속ㆍ비금속광업 +0.44 -0.44 -0.06 -0.47
58.사회복지 서비스업 +0.47 -0.47 +0.11 -0.42
57.의료ㆍ보건업 +0.47 -0.47 +0.11 -0.42
61.사회단체 +0.47 -0.47 +0.11 -0.42

표 5. 정비 전후 비교 — 정비판 대 이전 판¶

이전 판 값은 같은 AI 확산 층을 이전 판 기준 시나리오에 적용해 다시 계산한 것이다(02_분석.ipynb 8절, 검증 셀에서 이전 판 공표 수치와 대조). AI 확산의 총량 효과(기준 대비 연평균 차이)는 Λ로 보정되므로 정비 전후가 거의 같고, 수준은 기준 시나리오를 따라 움직인다.

In [8]:
LABEL = {"기준_2025_조": "기준 2025(조원)", "기준_2035_조": "기준 2035(조원)", "기준_CAGR": "기준 연평균(%)",
         "AI_2035_조": "AI 확산(Λ=0.5) 2035(조원)", "AI_CAGR": "AI 확산(Λ=0.5) 연평균(%)", "AI_차이_%p": "AI 확산(Λ=0.5) 기준 대비(%p)",
         "AI_수준차이_조": "AI 확산(Λ=0.5) 2035 수준 차이(조원)", "AI_수준차이_%": "AI 확산(Λ=0.5) 2035 수준 차이(%)",
         "L03_2035_조": "AI 확산(Λ=0.3) 2035(조원)", "L03_차이_%p": "AI 확산(Λ=0.3) 기준 대비(%p)",
         "L08_2035_조": "AI 확산(Λ=0.8) 2035(조원)", "L08_차이_%p": "AI 확산(Λ=0.8) 기준 대비(%p)"}
tt = cmp[cmp["구분"] == "총량"].set_index("항목").loc[list(LABEL), ["이전 판", "정비판", "차이"]].rename(index=LABEL)
pp = cmp[cmp["구분"] == "62 프리미엄(%p)"].set_index("항목").loc[list(t2.index), ["이전 판", "정비판", "차이"]]
pp.index = [f"AI 프리미엄 {c}(%p)" for c in pp.index]
sm = cmp[cmp["항목"] == "반도체"].set_index("구분").loc[["69 분화 기준 2035(조원)", "69 분화 AI 2035(조원)", "69 분화 프리미엄(%p)"], ["이전 판", "정비판", "차이"]]
sm.index = ["반도체 기준 2035(조원)", "반도체 AI 확산 2035(조원)", "반도체 AI 프리미엄(%p)"]
t5 = pd.concat([tt, pp, sm])
t5.to_csv(os.path.join(C.OUTPUT, "table5_vs_previous.csv"), encoding="utf-8-sig")
r = cmp[cmp["구분"] == "62 프리미엄(%p)"]
r = r["정비판"] / r["이전 판"]
print(f"산업별 프리미엄 비율(정비판/이전 판): 최소 {r.min():.6f} · 최대 {r.max():.6f} (62개 산업)")
t5.style.format("{:,.2f}")
산업별 프리미엄 비율(정비판/이전 판): 최소 1.002474 · 최대 1.002474 (62개 산업)
Out[8]:
  이전 판 정비판 차이
기준 2025(조원) 2,178.49 2,178.49 0.00
기준 2035(조원) 2,688.52 2,609.03 -79.49
기준 연평균(%) 2.13 1.82 -0.31
AI 확산(Λ=0.5) 2035(조원) 2,774.24 2,692.22 -82.02
AI 확산(Λ=0.5) 연평균(%) 2.45 2.14 -0.31
AI 확산(Λ=0.5) 기준 대비(%p) 0.32 0.32 -0.00
AI 확산(Λ=0.5) 2035 수준 차이(조원) 85.72 83.19 -2.53
AI 확산(Λ=0.5) 2035 수준 차이(%) 3.19 3.19 0.00
AI 확산(Λ=0.3) 2035(조원) 2,739.66 2,658.66 -81.00
AI 확산(Λ=0.3) 기준 대비(%p) 0.19 0.19 -0.00
AI 확산(Λ=0.8) 2035(조원) 2,826.84 2,743.26 -83.58
AI 확산(Λ=0.8) 기준 대비(%p) 0.51 0.51 -0.00
AI 프리미엄 44.컴퓨터 프로그래밍ㆍ시스템통합관리업(%p) 0.62 0.62 0.00
AI 프리미엄 45.정보서비스업(%p) 0.62 0.62 0.00
AI 프리미엄 40.출판업(%p) 0.62 0.62 0.00
AI 프리미엄 41.영상ㆍ오디오기록물제작 배급업(%p) 0.62 0.62 0.00
AI 프리미엄 42.방송업(%p) 0.62 0.62 0.00
AI 프리미엄 43.통신업(%p) 0.62 0.62 0.00
AI 프리미엄 56.교육서비스업(%p) 0.58 0.58 0.00
AI 프리미엄 23.의료ㆍ정밀ㆍ광학기기ㆍ시계(%p) 0.56 0.56 0.00
AI 프리미엄 39.음식점ㆍ숙박업(%p) 0.43 0.43 0.00
AI 프리미엄 33.건설업(%p) 0.42 0.42 0.00
AI 프리미엄 59.문화서비스업(%p) 0.40 0.40 0.00
AI 프리미엄 60.스포츠ㆍ오락서비스업(%p) 0.40 0.40 0.00
AI 프리미엄 62.수리ㆍ개인서비스업(%p) 0.40 0.40 0.00
반도체 기준 2035(조원) 256.05 227.62 -28.43
반도체 AI 확산 2035(조원) 265.18 235.76 -29.42
반도체 AI 프리미엄(%p) 0.56 0.56 0.00

제출용 엑셀¶

한국고용정보원 전달용으로 62·69분류 기준·AI 확산 실질부가가치(2025–2035), 산업별 프리미엄·탄력성·취업계수 변화, 민감도, 정비 전후 비교(표 5)를 한 파일에 담는다.

In [9]:
xl = os.path.join(C.OUTPUT, "AI확산_부가가치_취업계수_전망_62_69_2025-2035.xlsx")
note = pd.DataFrame({"항목": ["단위", "기준 시나리오", "AI 확산 시나리오", "Λ", "산업 배분", "취업계수 변화", "작성"],
    "내용": ["실질부가가치 십억 원(2020년 연쇄가격), 프리미엄·취업계수 변화는 연 %p",
             f"보고서1 5장 정합화 후 S1, {C.VERSION}(2025 실적, 2026–2035 전망)",
             "기준 성장률 + 산업별 AI 프리미엄 누적",
             "2035년 실질부가가치 가중평균 프리미엄 0.5%p(민감도 0.3·0.8)",
             f"{C.ALLOCATION}: E4-1 2040년 점수 − 1(척도 최저점) × 시점 램프",
             "중심: 고용 중립(ε=0) → −프리미엄. 민감도: (ε − 1) × 프리미엄, ε는 E4·E5(2024년 대비 2040년 기대 증감)로 구한 고용 탄력성",
             "aiforalab · 보고서2 4장 재현 패키지"]})
with pd.ExcelWriter(xl, engine="openpyxl") as wr:
    note.to_excel(wr, sheet_name="설명", index=False)
    for g, va in [("62", va62), ("69", va69)]:
        for sc in ["기준(S1)", "AI확산(Λ=0.5)"]:
            va[va["시나리오"] == sc].pivot(index="산업", columns="연도", values="실질VA_십억원").to_excel(
                wr, sheet_name=f"{g}_{'기준' if sc.startswith('기준') else 'AI확산'}")
    lab62.to_excel(wr, sheet_name="62_프리미엄_취업계수")
    lab69.to_excel(wr, sheet_name="69_프리미엄_취업계수")
    t1.to_excel(wr, sheet_name="Λ민감도", index=False)
    var.to_excel(wr, sheet_name="배분방식_비교")
    t5.to_excel(wr, sheet_name="정비전후_비교")
print("저장:", os.path.basename(xl))
저장: AI확산_부가가치_취업계수_전망_62_69_2025-2035.xlsx

검증 — 정비판 공표 수치와 이전 판 재현¶

  1. 정비판: 위 표·그림을 만든 산출물(lambda_sensitivity.csv, ai_va_62.csv, ai_va_69.csv, ai_premium_labor_62.csv)에서 계산한 값과 config.PUBLISHED(정비 실행에서 기록한 공표 수치, 정수 조 원·소수 첫째 또는 둘째 자리 %)의 차이가 반올림 범위 안에 있어야 한다.
  2. 이전 판 재현: 같은 AI 확산 층을 이전 판 기준 시나리오에 적용한 결과(compare_prev.csv의 이전 판 열)가 이전 판 공표 수치(config.PREVIOUS, 이전 판 원고·패키지의 값)를 반올림 범위 안에서 재현해야 한다. 이 점검이 통과하면 정비 전후의 차이는 기준 시나리오 교체에서만 온다.
In [10]:
P = C.PUBLISHED
def pick(df, prefix, col):
    return df.loc[[c for c in df.index if c.startswith(prefix)], col].iloc[0]
a35 = tot.loc[C.END, "AI확산(Λ=0.5)"]
v69 = va69[(va69["연도"] == C.END) & (va69["산업"] == "반도체")].set_index("시나리오")["실질VA_십억원"] / 1e3
sv = sens.set_index("Λ(%p)")
calc = {
    "기준_2025_조": b25, "기준_2035_조": b35, "기준_CAGR": F.cagr(b25, b35, 10),
    "AI_2035_조": a35, "AI_CAGR": F.cagr(b25, a35, 10), "AI_차이_%p": F.cagr(b25, a35, 10) - F.cagr(b25, b35, 10),
    "AI_수준차이_조": a35 - b35, "AI_수준차이_%": (a35 / b35 - 1) * 100,
    "L03_2035_조": sv.loc[0.3, "2035 AI확산(조원)"], "L03_차이_%p": sv.loc[0.3, "기준 대비(%p)"],
    "L08_2035_조": sv.loc[0.8, "2035 AI확산(조원)"], "L08_차이_%p": sv.loc[0.8, "기준 대비(%p)"],
    "정보통신_프리미엄_%p": pick(lab62, "44.", "VA프리미엄_2035_%p"), "교육_프리미엄_%p": pick(lab62, "56.", "VA프리미엄_2035_%p"),
    "문화_프리미엄_%p": pick(lab62, "59.", "VA프리미엄_2035_%p"),
    "반도체_2035_기준_조": v69["기준(S1)"], "반도체_2035_AI_조": v69["AI확산(Λ=0.5)"],
    "정보통신_취업계수_%p": pick(lab62, "44.", "취업계수변화_2035_%p"), "건설_취업계수_%p": pick(lab62, "33.", "취업계수변화_2035_%p"),
}
assert set(calc) == set(P) == set(C.PREVIOUS) == set(C.PUBLISHED_SPEC), "검증 항목과 공표 수치 항목이 다르다"
rows = []
for k, (grp, item, dg) in C.PUBLISHED_SPEC.items():
    tol = C.tolerance(dg)
    rows.append({"구분": "정비판", "항목": k, "계산": calc[k], "기준값": P[k], "허용오차": tol, "통과": abs(calc[k] - P[k]) <= tol})
for k, (grp, item, dg) in C.PUBLISHED_SPEC.items():
    tol, v = C.tolerance(dg), F.lookup(cmp, "이전 판", grp, item)
    rows.append({"구분": "이전 판 재현", "항목": k, "계산": v, "기준값": C.PREVIOUS[k], "허용오차": tol, "통과": abs(v - C.PREVIOUS[k]) <= tol})
res = pd.DataFrame(rows)
res.to_csv(os.path.join(C.OUTPUT, "verification.csv"), index=False, encoding="utf-8-sig")
display(res)
assert res["통과"].all(), "공표 수치와 계산 결과가 다르다 — 위 표에서 통과=False 항목을 확인한다"
n_new, n_prev = (res["구분"] == "정비판").sum(), (res["구분"] == "이전 판 재현").sum()
print(f"검증 통과: 정비판 공표 수치 {n_new}개 항목과 이전 판 재현 {n_prev}개 항목, 모두 {len(res)}개 항목이 반올림 범위 안에서 일치한다.")
구분 항목 계산 기준값 허용오차 통과
0 정비판 기준_2025_조 2,178.489 2,178.000 0.500 True
1 정비판 기준_2035_조 2,609.028 2,609.000 0.500 True
2 정비판 기준_CAGR 1.820 1.820 0.005 True
3 정비판 AI_2035_조 2,692.217 2,692.000 0.500 True
4 정비판 AI_CAGR 2.140 2.140 0.005 True
5 정비판 AI_차이_%p 0.320 0.320 0.005 True
6 정비판 AI_수준차이_조 83.189 83.000 0.500 True
7 정비판 AI_수준차이_% 3.189 3.200 0.050 True
8 정비판 L03_2035_조 2,658.662 2,659.000 0.500 True
9 정비판 L03_차이_%p 0.192 0.190 0.005 True
10 정비판 L08_2035_조 2,743.259 2,743.000 0.500 True
11 정비판 L08_차이_%p 0.512 0.510 0.005 True
12 정비판 정보통신_프리미엄_%p 0.620 0.620 0.005 True
13 정비판 교육_프리미엄_%p 0.584 0.580 0.005 True
14 정비판 문화_프리미엄_%p 0.400 0.400 0.005 True
15 정비판 반도체_2035_기준_조 227.623 228.000 0.500 True
16 정비판 반도체_2035_AI_조 235.756 236.000 0.500 True
17 정비판 정보통신_취업계수_%p -0.620 -0.620 0.005 True
18 정비판 건설_취업계수_%p -0.425 -0.420 0.005 True
19 이전 판 재현 기준_2025_조 2,178.489 2,178.000 0.500 True
20 이전 판 재현 기준_2035_조 2,688.518 2,689.000 0.500 True
21 이전 판 재현 기준_CAGR 2.126 2.130 0.005 True
22 이전 판 재현 AI_2035_조 2,774.242 2,774.000 0.500 True
23 이전 판 재현 AI_CAGR 2.447 2.450 0.005 True
24 이전 판 재현 AI_차이_%p 0.321 0.320 0.005 True
25 이전 판 재현 AI_수준차이_조 85.724 86.000 0.500 True
26 이전 판 재현 AI_수준차이_% 3.189 3.200 0.050 True
27 이전 판 재현 L03_2035_조 2,739.664 2,740.000 0.500 True
28 이전 판 재현 L03_차이_%p 0.193 0.190 0.005 True
29 이전 판 재현 L08_2035_조 2,826.838 2,827.000 0.500 True
30 이전 판 재현 L08_차이_%p 0.514 0.510 0.005 True
31 이전 판 재현 정보통신_프리미엄_%p 0.619 0.620 0.005 True
32 이전 판 재현 교육_프리미엄_%p 0.583 0.580 0.005 True
33 이전 판 재현 문화_프리미엄_%p 0.399 0.400 0.005 True
34 이전 판 재현 반도체_2035_기준_조 256.053 256.000 0.500 True
35 이전 판 재현 반도체_2035_AI_조 265.179 265.000 0.500 True
36 이전 판 재현 정보통신_취업계수_%p -0.619 -0.620 0.005 True
37 이전 판 재현 건설_취업계수_%p -0.424 -0.420 0.005 True
검증 통과: 정비판 공표 수치 19개 항목과 이전 판 재현 19개 항목, 모두 38개 항목이 반올림 범위 안에서 일치한다.