Financial Panel · 100 × 20

영업이익률은 어디서 사업하는가
거의 결정된다

100개 한국 기업, 20년 재무 패널 데이터(2005–2024)에서 찾은 영업이익률(year n)의 Top 5 결정요인.
Gradient Boosting + Partial Dependence 분석.

2026-04-24 · PwC 컨설팅 샘플 프로젝트 · 합성 데이터 기반
영업이익률(year n) 결정요인 Top 5 100社 · 20년 재무 패널 · Gradient Boosting · 구조적 드라이버 기준 (R² = 0.82) 섹터 (업종) 게임 24% ⟷ 조선 4% 70.2% 기업 연령 8년→70년 : −4%p 20.8% 자산 규모 log(자산) p10→p90 : −3%p 7.0% 매출성장률 rev_growth : 거의 flat 1.3% 연도 / 매크로 2008·2020·2022 충격 0.7% 구조 요인 ≈ 98% 💡 INSIGHT Capex·부채·현금비율은 < 0.6%p — '어디서 사업하는가(섹터)'가 '어떻게 운영하는가'를 압도. → 컨설팅 레버 1순위는 포트폴리오 리밸런싱. 운영 효율화는 섹터 내부에서 재분석 필요.
애니메이션은 4.5초 동안 재생됩니다.
관측 수
1,768rows
기업 × 연도
모델 R²
0.82
구조 요인만 / 테스트셋 0.68
1위 설명력
70%
섹터 베이스라인
섹터 간 격차
~20%p
게임 24% ⟷ 조선 4%

01Top 5 드라이버

Tier 2 모델(OCF·전년 이익률을 제외한 순수 구조 요인)을 기반으로, 섹터·연도 더미를 그룹 합산한 Permutation Importance 결과입니다. 섹터가 전체 설명력의 약 70%를 차지합니다.

① 가장 큰 드라이버

섹터 (업종)

70.2%of importance

게임·IT·반도체·금융은 베이스라인 15%+, 조선·건설은 4% 내외. 업종 mix가 곧 운명.

② 체질 요인

기업 연령

20.8%

8년 → 70년으로 이동 시 영업이익률 −4%p. 30년 이후 급격히 하락하는 계단형.

③ 규모 효과

자산 규모 (log)

7.0%

log(자산) p10 → p90 이동 시 −3%p. 일정 규모를 넘으면 마진 압박이 점프.

④ 동태 요인

매출성장률

1.3%

성장이 마진을 만들어주진 않음 (+0.6%p). 볼륨 게임 vs 마진 게임의 구분.

⑤ 외생 충격

연도 / 매크로

0.7%

2008 금융위기 · 2020 코로나 · 2022 반도체 다운사이클 구간에서 체계적 하락.

💡 Insight
Capex · 부채비율 · 현금비율 · 자산회전율 모두 < 0.6%p. 재무비율 튜닝으로 영업이익률을 개선하려는 시도는 — 적어도 이 데이터에선 — 섹터·구조 효과에 의해 거의 가려집니다. 컨설팅 레버의 1순위는 "어디서 사업할 것인가"(포트폴리오).

02Partial Dependence — 변수 하나만 움직이면?

PDP는 "다른 변수를 고정하고 이 변수만 바꿨을 때 예측 마진이 얼마나 변하는가"를 보여줍니다. 파란 얇은 선은 개별 기업(ICE), 빨간 굵은 선은 평균(PDP)입니다.

6개 구조 드라이버의 PDP + ICE 곡선
6개 구조 드라이버의 PDP + ICE 곡선 (centered). 아래 행(capex, debt)은 거의 수평 — 영향 미미.
변수p10 → p90Δ margin해석
기업 연령8년 → 70년−4.03 %p가장 극적인 음의 효과
log(자산)400억 → 160조−3.09 %p규모의 불경제 · 계단형
Capex / 자산2.3% → 7.1%−0.73 %p약한 음의 효과
매출성장률−16% → +33%+0.63 %p거의 flat, 소폭 양(+)
Capex / 매출3.7% → 9.4%−0.11 %p사실상 중립
부채비율38.5% → 66.5%−0.11 %p사실상 중립
⚠️ 데이터의 진실성에 대한 노트
Capex · 부채비율의 낮은 중요도는 이 합성 데이터의 설계 한계일 수 있습니다. 생성 스크립트에서 Capex는 매출에 비례하는 독립 난수(-rev × U(0.03, 0.10))로 뽑혔기 때문. 실제 DART 기반 패널에 같은 파이프라인을 적용하면 Capex · lag 구조가 의미 있게 나올 가능성이 높습니다.

03섹터가 곧 운명 — 베이스라인 격차 ≈ 20%p

전 기간(2005–2024) 섹터별 평균 영업이익률. 막대는 평균, 오차막대는 표준편차, 옆의 n은 관측연도 수입니다.

섹터별 영업이익률 베이스라인
15개 섹터 평균 영업이익률 — 게임 24%부터 조선 4%까지 약 6배 격차.

04방법론 & 함정 기록

재현 가능한 분석을 위해 실제로 밟은 과정과 부딪친 함정을 그대로 공유합니다.

1. 데이터

100개 KOSPI/KOSDAQ 실재 기업명 + 20년(2005–2024) 합성 재무제표 SQLite DB (1,768 rows after cleaning). 15개 섹터, 섹터별 성장률·마진·변동성 프로파일 + 매크로 충격(2008·2020·2021·2022) 반영.

2. 피처 엔지니어링

12개 수치 피처 (capex 집약도·부채비율·자산회전율·log 자산·기업 연령·매출성장률 등) + 섹터 14개 더미 + 연도 18개 더미 = 총 44개.

3. 모델링

세 층위로 분리했습니다 —

4. 중요도 산정

Pearson r / Standardized OLS / GBR feature_importance / Permutation importance(on test set, n=10 repeats). Top 5는 Permutation 기준. 이게 과적합 영향을 가장 덜 받음.

5. 산출물 경로 (프로젝트 내부)

workspace/projects/pwc/
├── data/
│   ├── fin_sample.db                         # 원본 SQLite
│   ├── op_margin_feature_importance.csv      # Tier 1
│   ├── op_margin_structural_drivers.csv      # Tier 2
│   └── plots/
│       ├── pdp_numeric.png
│       ├── sector_baseline.png
│       └── drivers-top5.svg
└── scripts/
    ├── build_fin_sample.py
    ├── analyze_op_margin_drivers.py
    └── plot_op_margin_pdp.py

05다음 스텝

실데이터

DART 기반 재검증

같은 파이프라인을 KRX 상장사 실제 재무제표에 적용. Capex의 진짜 영향력 확인.

세분화

섹터 내부 드라이버

"반도체 안에서, 금융 안에서 뭐가 마진을 가르나" — CEO에게 바로 꽂히는 질문.

상호작용

2D PDP · 교차효과

log_assets × firm_age 히트맵 — "큰 + 오래된" 조합의 저마진 트랩 시각화.