데이터 기준: 2026-06-14 dartlab 실측 — HD현대중공업(329180) 연결(원화) 기준, 분기 데이터를 달력연도로 합산(단위 조원). 내부로 쓰는 건 2021~2025 연결 5줄 — 매출·영업이익·OPM·당기순이익·영업CF. 2021년 이전 단독 데이터가 없는 건 2021.9 재상장(분할 이력)의 흔적이지 데이터 결함이 아니다. 후판 가격·수주잔고·사업부 비중(조선/엔진/해양)·힘센엔진 점유율·HD현대미포 합병·HD한국조선해양 지배구조는 연결 손익에 안 나오므로 공시·언론(외부 인용)으로 표기.
핵심 숫자: 매출 17.58조 · 영업이익 2.04조 (OPM 11.6%) · 당기순이익 1.42조 (NPM 약 8.1%) · 영업현금흐름 3.51조 · 영업이익 부호 2021 -0.80조 → 2023 +0.18조 흑전(흑전 시점 매출은 2021보다 약 +44%) · 2021 영업이익 -0.80조 vs 영업CF +0.76조(부호 불일치)
이 글의 용어: 헤비테일(heavy-tail) = 배 한 척 값의 대부분을 인도 시점에 몰아 인식하는 구조 · 진행기준 = 공정 진척률에 따라 매출·이익을 나눠 인식 · OPM(영업이익률)·NPM(순이익률) = 각각 영업이익·순이익÷매출(별개 비율) · 수주잔고(backlog) = 이미 계약된 미래 매출.
프롤로그 — 장부가 찍는 건 ‘지금’이 아니다
조선업의 장부에는 시계가 두 개 돈다. 하나는 회계가 매출과 이익을 인식하는 시각, 다른 하나는 2~3년 전 어떤 배를 얼마에 따냈고 그새 후판값이 어떻게 변했는지가 지금 매출로 도착하는 시각.

이 글은 외부 산업 서사로 결론을 끌어오지 않는다. 대신 HD현대중공업의 연결 실측 5줄(매출·영업이익·OPM·당기순이익·영업CF, 2021~2025)만으로 한 가지를 보인다 — 이 회사 장부는 지금이 아니라 시차(時差)를 찍는다. 비유는 여기 한 번만 쓰고, 이후로는 숫자와 부호로만 말한다.
관통선은 하나다. “매출은 매년 오르는데 흑자는 왜 2년 늦게 왔고, 적자인 해에 현금은 왜 들어왔는가?” 후판값·수주잔고·사업부 비중은 전부 외부 인용으로만 등장하며, 내부 수치가 증명하는 경계 — 시차가 존재한다 — 에서 정확히 멈춘다.
1막 — 매출은 매년 오르는데, 흑자는 2년 늦게 왔다
왜 이 관찰을 맨 앞에 두나. ‘매출이 곧 이익’이라는 자연스러운 기대를 단 두 줄의 내부 수치로 깨는 것이 관통선의 입구이기 때문이다 — 이익 부호가 매출 크기의 함수가 아니라면, 장부는 다른 시계를 따른다.
import dartlab
c = dartlab.Company("329180")
c.select("IS", ["매출액", "영업이익"], freq="Q") # 분기→연간 합산 | 항목 (조원) | 2021 | 2022 | 2023 | 2024 | 2025 |
|---|---|---|---|---|---|
| 매출 | 8.31 | 9.05 | 11.96 | 14.49 | 17.58 |
| 영업이익 | -0.80 | -0.29 | +0.18 | 0.71 | 2.04 |
매출은 5년 내내 멈춤 없이 올랐다(8.31→9.05→11.96→14.49→17.58조, 2.12배, 재상장 첫해 2021 기점 연평균 약 +20.6%). 그런데 영업이익 부호는 2021 -0.80, 2022 -0.29로 적자였다가 2023년(+0.18조)에야 플러스로 뒤집혔다. 흑전한 2023년의 매출(11.96조)은 적자였던 2021년보다 이미 약 44% 크다. 더 큰 매출이 된 뒤에야 부호가 바뀐 것이다 — 즉 그해 이익 부호는 그해 매출 크기의 단순 함수가 아니다. 여기서 ‘왜’를 단정하지 않는다. 헤비테일과 정합하지만, 후판 급등기 마진 압박·고정비 레버리지·일회성 충당금도 같은 패턴을 만들 수 있다. 내부 수치가 증명하는 건 ‘이익 부호 ≠ 매출 크기’까지다.
2막 — 결정타: 손익은 적자인데 현금은 들어왔다 (2021)
왜 1막 다음에 곧장 현금흐름인가. 1막의 시차를 같은 한 해 안에서 못 박는 가장 강한 내부 증거가 2021년의 부호 불일치이기 때문이다.
c.select("CF", ["영업활동현금흐름"], freq="Q") # 2021 손익 vs 현금 
적자 정점 2021년, 영업이익은 -0.80조인데 영업현금흐름은 +0.76조다. 부호가 어긋난다. 장부가 손실을 인식하는 동안 현금은 들어왔다.
5년 누적으로도 영업CF 7.39조가 영업이익 1.84조를 웃돌아 갭이 +5.55조다. 여기서 정직성 선을 긋는다. 이 부호 불일치를 ‘선수금 덕분’으로 단정하면 비약이다 — 손실 중에도 영업CF를 플러스로 만드는 경로는 여럿(감가상각 가산, 재고·매출채권 감소, 충당금 설정)이고, 5줄로는 어느 것인지 분해할 수 없다. 누적 갭이 크다고 ‘현금흐름 우량주’로 단정하는 것도 비약이다. 안전한 진술은 하나 — 손익과 현금의 부호가 어긋났다. 그 관찰만으로도 ‘장부 이익이 곧 그해의 현금 사정이 아니다 = 인식 시점이 따로 논다’는 시차가 확인된다.
3막 — 데이터의 끝: 2021년이 ‘바닥’으로 보이는 건 착시일 수 있다
왜 회복 곡선을 그리기 전에 데이터 경계부터 짚나. 2021년을 ‘적자 바닥·출발점’으로 읽으면 ‘회사가 새로 망했다 살아났다’로 오독하기 때문 — 곡선을 그리기 전에 이 착시를 먼저 제거해야 한다.
우리 5줄 시계열이 2021년부터 시작하는 건 회사가 그때 바닥을 쳤기 때문이 아니라, 2021년 9월 재상장(분할 이력)으로 그 이전 단독 연결 데이터가 존재하지 않기 때문이다(외부 인용).
이건 데이터 결함이 아니라 분할 이력의 흔적이다. 따라서 ‘2021 = 사이클의 시작점’이 아니다 — 우리가 보는 5년 창은 한 건조 사이클의 전체가 아니라, 잘려나간 더 긴 사이클의 한 토막일 수 있다. 소유구조·분할 경위는 여기서 사실로만 두고(‘알짜만 떼서 상장했다’ 류의) 가치판단은 얹지 않는다. 같은 분할·재상장의 가족인 HD한국조선해양이 그 위에 있다.
4막 — 양의 끝: 같은 시차가 이번엔 흑자를 찍는다
왜 회복 곡선을 4막에 두나. 1~2막에서 시차를 보이고 3막에서 착시를 제거한 다음에야, OPM 상승을 ‘실력’이 아니라 시차가 양으로 도착한 결과로 정확히 읽을 수 있기 때문이다.
c.select("IS", ["매출액","영업이익"], freq="Q") # OPM 추이 OPM은 -9.6 → -3.2 → 1.5 → 4.9 → 11.6%로, 레벨은 매년 올랐다. 단 정확히 짚는다 — 레벨은 단조 상승이지만 개선 폭은 일정하지 않다(구간별 +6.4 → +4.7 → +3.4 → +6.7%p로, 줄다가 마지막 해에 다시 커졌다).
가장 두드러진 건 마지막 한 해다 — 2024→2025 매출 +21.3%(14.49→17.58조)에 영업이익은 0.71→2.04조로 뛰었다. 다르게 말하면 늘어난 매출 1조당 영업이익 약 0.43조가 더해졌다(한계 영업이익률 약 43%). 단 세 가지를 못 박는다. (1) 이 43%는 단일 연도 1점 증분이라 잡음에 취약하다 — ‘구조적 43% 마진’으로 일반화하지 않는다. 고정비 레버리지(기존 매출의 단위당 고정비 감소)만으로도 같은 한계마진이 나올 수 있다. (2) 늘어난 매출 분모에 2025년 12월 HD현대미포 흡수합병분(외부 인용)이 섞였을 수 있어, ‘같은 회사 신규 수주 마진’이라는 전제가 깨질 수 있다(합병 기준일·편입 범위는 외부 확인 필요). (3) OPM 개선의 원인을 ‘고가 수주분 건조’로 돌리는 건 외부 서사 차용 — 환율·후판 하락·일회성 항목 등 교란요인은 내부 분해 불가다. 그래서 표현은 ‘회복’이 아니라 ‘시차가 양으로 도착했다’이다.
5막 — 다른 박자: 간판 뒤의 또 하나의 사업부 (외부 인용)
왜 회복 곡선 직후에 엔진을 한 문단만 넣나. 우리 5줄에는 사업부 분해가 0이라 엔진은 내부로 증명할 수 없다 — 그래서 척추가 아니라, ‘간판=조선’이라는 단순화를 깨는 외부 각주 한 문단으로만 절제한다.
간판은 조선이지만, 외부 자료에 따르면 사업부는 대략 조선 약 73% / 엔진기계 약 22% / 해양 약 4%로 나뉘고, 중속 선박엔진 ‘힘센’은 세계 1위급 점유로 알려져 있다(전부 외부 인용). 엔진은 후판·수주 사이클과 다른 박자를 가진 사업부일 수 있다.
그러나 반드시 선을 긋는다 — 우리 영업CF 개선(0.76→3.51조)을 엔진 덕으로 돌리는 건 외부 정성 서술을 내부 현금흐름에 잘못 귀속하는 비약이다. 우리 5줄은 연결 합산뿐이라 엔진의 기여를 분리 확인할 수 없다. 이 문단의 역할은 하나 — ‘이 장부는 한 박자가 아니라 최소 두 박자가 겹쳐 있다’는 사실을 외부 인용으로 표시하고 지나가는 것이다. 같은 엔진 사업의 한화엔진, 같은 조선 빅3의 한화오션, 같은 그룹의 HD현대일렉트릭이 각각 다른 박자의 거울이다.
6막 — 경계: 다음 시각이 무엇을 찍을지는, 여기까지만
왜 미래(수주잔고)를 마지막에, 그것도 경계로만 두나. 시차가 관통선이라면 ‘다음 도착의 원천’은 미래 매출이지만, 우리 5줄로도 외부 수치로도 미래 OPM은 증명되지 않기 때문이다.
c.select("IS", ["당기순이익"], freq="Q") # NPM 계산 외부 자료에 따르면 그룹 조선해양 부문 수주잔고는 약 82조 규모(외부 인용·그룹 합산치이지 329180 단독 아님)이고 고부가 LNG선 비중도 높은 편이라 한다(전부 외부 인용). 이는 ‘다음 시각에 장부가 찍을 매출의 크기’를 시사하나, 인도 시점·취소율·향후 후판값에 종속되므로 미래 매출·이익으로 외삽하면 비약이다 — ‘이미 계약된 미래 매출의 크기를 시사’까지만이다.
그리고 정직성 한 줄로 닫는다 — OPM은 순이익률(NPM)이 아니다. 2025년 OPM은 11.6%지만, 순이익(1.42조)을 매출로 나눈 NPM은 약 8.1%로, 그 격차(영업이익 2.04조 vs 순이익 1.42조, 약 -0.62조)는 영업 아래 단(금융·세무·기타)에서 벌어진다(내부 분해 불가). 11.6%를 순이익률처럼 읽으면 안 된다. 결론 — 11.6%도 -9.6%도 둘 다 시차의 산물이다. 장부는 지금의 실력이 아니라 2~3년 전 결정이 어느 시각에 도착했는지를 찍는다. ‘왜’는 여기까지다. 같은 시차 회계를 사는 대한조선이 그 거울이다.
2026년에 봐야 할 다섯 가지
- OPM 12개월 추세 — 2025년 11.6%가 한 해 점프(한계 영업이익률 약 43%)에 기댄 단일 점인지, 2026년에도 두 자릿수 OPM이 유지되며 추세로 굳는지. 1점 관찰이 추세로 바뀌는 순간을 본다.
- NPM-OPM 격차의 향방 — 2025 OPM 11.6% vs NPM 약 8.1%(갭 약 -0.62조). 이 격차가 금융·세무에서 더 벌어지는지 좁혀지는지 — 영업단의 시차 회복이 순이익 단까지 도착하는지.
- 영업CF의 부호 정합 지속 — 2024~25 영업CF 급증(2.88→3.51조)이 진행기준 이익의 현금 정합이라면, 2026에도 영업CF가 영업이익과 같은 부호·비슷한 크기로 따라오는지(누적 갭 +5.55조가 더 벌어지는지 좁혀지는지).
- HD현대미포 합병 효과의 분해 — 2025년 12월 흡수합병(외부) 이후 첫 온전한 연도(2026) 수치에서, 2025 한계마진 약 43%의 동일체(like-for-like) 전제가 유지되는지 — 합병 편입분과 신규 수주 마진이 구분 가능해지는지.
- 수주잔고 → 매출 도착 타이밍(외부) — 약 82조 규모(외부·그룹 합산) 잔고가 인도 시점·취소율에 따라 실제 매출로 도착하는 속도. 미래 매출·이익 예측이 아니라 ‘도착 타이밍’만 관찰한다.
재무제표 — 최근 5개년 (dartlab 연결, 조원)
연결(원화)·달력연도 합산 기준. 2021년 9월 재상장으로 그 이전 단독 데이터는 없다(결함 아닌 분할 이력). dartlab에서 직접 확인:
import dartlab c = dartlab.Company("329180") c.select("IS", ["매출액","영업이익","당기순이익"], freq="Q") c.select("CF", ["영업활동현금흐름"], freq="Q")
| 항목 (조원) | 2021 | 2022 | 2023 | 2024 | 2025 |
|---|---|---|---|---|---|
| 매출 | 8.31 | 9.05 | 11.96 | 14.49 | 17.58 |
| 영업이익 | -0.80 | -0.29 | 0.18 | 0.71 | 2.04 |
| OPM | -9.6% | -3.2% | 1.5% | 4.9% | 11.6% |
| 당기순이익 | -0.81 | -0.35 | 0.02 | 0.62 | 1.42 |
| 영업현금흐름 | 0.76 | 0.07 | 0.17 | 2.88 | 3.51 |
이 표를 한 줄로 읽으면 이렇다 — 매출 행은 5년 내내 오르는데 영업이익 행은 2023년에야 부호가 +로 바뀌고, 적자였던 2021년에도 영업CF 행은 +0.76조다. 매출·이익 행만 보면 평범한 흑자전환 같지만, 부호가 뒤집힌 시점과 2021년의 손익·현금 부호 불일치를 겹쳐 보면 이건 ‘지금의 실적’이 아니라 2~3년 전 결정이 도착한 시각의 손익이다(그 결정의 내용=후판가·수주가는 외부).
검증표
본문 인용 수치를 dartlab 호출과 결과로 검증한다. 외부 출처(후판가·수주잔고·사업부·힘센·합병·지배구조)는 분리 표기. 📅 dartlab 실측 2026-06-14 · HD현대중공업(329180) 연결(원화)·달력연도 합산 기준(조원).
| 본문 수치 | 출처 / 호출 | 결과 |
|---|---|---|
| 매출 2021 8.31조 → 2025 17.58조 (2.12배, 재상장 기점 CAGR 약 20.6%) | c.select("IS",["매출액"],freq="Q") 합산 | ✓ 실측 |
| 영업이익 부호 2021 -0.80 → 2023 +0.18조 흑전 / 흑전 시점 매출 약 +44% | c.select("IS",["영업이익"]) | ✓ 실측 |
| 2021 영업이익 -0.80조 vs 영업CF +0.76조 (부호 불일치) | c.select("CF",["영업활동현금흐름"]) | ✓ 실측 |
| 누적(2021~25) 영업CF 7.39조 vs 영업이익 1.84조 (갭 +5.55조) | IS·CF 합산 | ✓ 실측 |
| OPM -9.6→-3.2→1.5→4.9→11.6% (레벨 단조, 개선폭 +6.4/+4.7/+3.4/+6.7%p 비단조) | 영업이익÷매출 | ✓ 실측 |
| 2024→2025 매출 +21.3%·늘어난 매출 1조당 영업이익 약 0.43조(한계 영업이익률 약 43%) | IS 합산 | ✓ 실측 |
| 2025 OPM 11.6% vs NPM 약 8.1% (영업이익 2.04조 vs 순이익 1.42조, 갭 약 -0.62조) | 영업이익·순이익÷매출 | ✓ 실측 |
| 2021 이전 단독 데이터 부재 = 2021.9 재상장(분할 이력) | DART 전자공시 | 외부 인용 |
| 사업부 약 조선 73·엔진 22·해양 4% / 힘센 중속엔진 세계 1위급 | HD현대중공업 IR | 외부 인용 |
| 그룹 조선해양 수주잔고 약 82조(그룹 합산, 329180 단독 아님)·LNG선 비중 | 증권사 리포트(예: KIS) | 외부 인용 |
| 후판 가격 2년 새 약 2배 급등(2021~22) 후 하락 | 업계 언론 | 외부 인용 |
| 2025.12 HD현대미포 흡수합병(기준일·편입범위 외부 확인 필요) | 경향신문 | 외부 인용 |
| BS(대차대조표) 매핑 불안정 — 인용 주의 | dartlab 데이터 한계 | 주의/제외 |
본문의 숫자 중 이 표에 없는 것은 발행 차단 대상이다. 후판가·수주잔고·사업부·힘센·합병은 dartlab 연결로 증명되지 않으며 공시·언론 외부 인용임을 명시한다. 내부는 ‘시차가 존재한다’까지만, 외부 수치(82조는 그룹 합산)는 인과로 잇지 않고 정합/양립까지만 두는 것이 이 글의 원칙이다.