# 002_notes

## 목적
연결재무제표 주석(Notes)에서 추출 가능한 구조화된 데이터를 파악하고,
효과적인 파싱/리턴 방법을 연구한다.

## 주석 구조 개요

DART 연결재무제표 주석은 번호가 매겨진 33개 내외의 항목으로 구성된다.
각 항목은 설명 텍스트 + 마크다운 테이블의 조합이다.

## 주석에서 추출 가능한 정보

### 높은 활용도 (구조화 용이)
| 주석 | 항목 | 데이터 형태 | 활용 |
|------|------|------------|------|
| 29 | **부문별 보고** | 사업부문별 매출/영업이익, 제품별 매출, 지역별 매출/비유동자산 | 세그먼트 분석 |
| 10 | **유형자산** | 항목별 취득/처분/감가상각/기말 | CAPEX 분석 |
| 12~13 | **차입금/사채** | 만기/금리/잔액 | 부채 리스크 |
| 26 | **주당이익** | 기본/희석 EPS 계산 근거 | 밸류에이션 |
| 8 | **재고자산** | 원재료/재공품/제품 구분 | 재고 구조 |

### 보통 활용도
| 주석 | 항목 | 데이터 형태 | 활용 |
|------|------|------------|------|
| 1 | 일반적 사항 | 종속회사 목록, 지분율 | 그룹 구조 |
| 7 | 매출채권 및 미수금 | 채권 상세, 대손충당금 | 채권 질 |
| 9 | 관계기업/공동기업 | 지분법 투자 상세 | 투자 구조 |
| 11 | 무형자산 | 영업권/개발비 | M&A 흔적 |
| 14 | 순확정급여부채 | 퇴직급여 관련 | 인건비 구조 |
| 25 | 법인세비용 | 유효세율, 이연법인세 | 세금 부담 |
| 28 | 재무위험관리 | 환율/금리/신용 리스크 | 리스크 |

### 낮은 활용도 (텍스트 위주, 파싱 어려움)
| 주석 | 항목 |
|------|------|
| 2 | 중요한 회계처리방침 |
| 3 | 중요한 회계추정 및 가정 |
| 15~16 | 충당부채/우발부채 |
| 30 | 특수관계자 거래 |
| 33 | 보고기간 후 사건 |

## 부문별 보고 (주석 29) — 탐색 결과

### 삼성전자 기준 테이블 구조

**3종류 테이블**, 각각 당기/전기:

1. **사업부문별 실적**
   - 열: DX 부문 | DS 부문 | SDC | Harman | (내부거래 제거) | 합계
   - 행: 매출액, 감가상각비, 무형자산상각비, 영업이익
   - → 사업부문별 매출/영업이익 시계열

2. **제품/서비스별 매출**
   - 열: TV,가전 등 | 스마트폰 등 | 메모리 | 디스플레이 패널 | 합계
   - → 제품 카테고리별 매출 분해

3. **지역별 정보**
   - 열: 한국 | 미국 | 유럽 | 아시아 및 아프리카 | 중국 | (연결조정) | 합계
   - 행: 매출(외부고객), 비유동자산
   - → 지역별 매출/자산 분포

### 연도별 포맷 차이
| 연도 | 포맷 | 특징 |
|------|------|------|
| ~2017 | 2행 헤더(DS 서브세그먼트) | CE/IM/DS(반도체+DP) + 내부거래/조정후금액 |
| 2018~2022 | 2행 헤더(DS 서브세그먼트) | CE/IM/DS(반도체+DP)/Harman + 내부거래/조정후금액 |
| 2023 | 단일 헤더행, 부문 개편 | CE+IM→DX, SDC 분리, Harman 유지 |
| 2024~ | 3행 멀티라인 헤더 | 내부거래/합계 열이 상위 헤더에 숨김, `영업수익` 용어 |

### 부문명 변천사 (삼성전자)
| 기간 | 부문 구성 |
|------|-----------|
| ~2017 | CE, IM, DS(반도체+DP) |
| 2018~2020 | CE, IM, DS(반도체+DP), Harman |
| 2021~2022 | CE 부문, IM 부문, DS 부문(반도체+DP), Harman 부문 |
| 2023~ | DX 부문, DS 부문, SDC, Harman |

## 헤더 병합 알고리즘

### 문제
마크다운 테이블에서 colspan 정보가 소실되어, 멀티행 헤더의 서브세그먼트 라벨이
원래 위치에서 왼쪽으로 밀린다.

### 해결: 헤더 행 수에 따른 분기 전략

**1행**: 그대로 사용.

**2행** (2022↓ colspan): **상위 유지 + 하위 서브 삽입**
- HDR1의 첫 번째 비어있지않은 셀은 소계 라벨 (`계(*)`) → 스킵
- 나머지 (`반도체`, `DP`)를 HDR0의 빈 위치에 삽입
- 결과: `[구 분, CE, IM, DS, 반도체, DP, Harman, 계(*)]`

**3행+** (2024+): **하위 우선 위치 병합**
- 각 위치에서 마지막 비어있지 않은 값 사용
- 결과: `['', DX, DS, SDC, Harman, 내부거래, 합계]`
- 한계: 지역 테이블에서 `국내`가 `미주`로 덮어씌워짐 (colspan 시프트)

### 메타 컬럼 필터링
병합 후 의미 없는 컬럼을 제거: `구 분`, `계(*)`, `합계`, `내부거래`, `조정후금액`, `조정사항`, `지역 합계` 등

## 파싱 실험 결과 (002_segmentParse.py)

### 삼성전자 (005930) — 전체 연도 ALIGNED

| 연도 | 테이블수 | segment | product | region |
|------|----------|---------|---------|--------|
| 2025 | 6 | ✓ 4부문 (DX/DS/SDC/Harman) | ✓ 4제품 | ✓ 4지역 (국내 누락) |
| 2024 | 6 | ✓ 4부문 | ✓ 4제품 | ✓ 4지역 (국내 누락) |
| 2023 | 6 | ✓ 4부문 | ✓ 4제품 | ✓ 5지역 |
| 2022 | 4 | ✓ 6부문 (CE/IM/DS/반도체/DP/Harman) | - | ✓ 5지역 |
| 2021 | 4 | ✓ 6부문 | - | ✓ 5지역 |
| 2020 | 4 | ✓ 6부문 | - | ✓ 5지역 |
| 2019 | 4 | ✓ 6부문 | - | ✓ 5지역 |
| 2018 | 4 | ✓ 6부문 (당기)/5부문(전기) | - | ✓ 5지역 |
| 2017 | 4 | ✓ 5부문 | - | ✓ 5지역 |
| 2016 | 4 | ✓ 5부문 | - | ✓ 5지역 |

**시계열 구성 결과** (당기 segment 매출/영업수익):
- DX 부문: 2025(174.9조), 2024(170.0조), 2023(182.5조)
- DS 부문: 2025(111.1조), 2024(66.6조), 2023(98.5조), 2022(125.1조), 2021(211.5조)
- SDC: 2025(29.2조), 2024(31.0조), 2023(34.4조)
- Harman: 2025(14.3조)~2018(9.2조) — 8년 연속
- CE: 2022(55.8조)~2016(120.7조) — 7년
- IM: 2022(109.3조)~2016(222.0조) — 7년
- 반도체: 2022(94.2조)~2016(90.6조) — 7년
- DP: 2022(31.7조)~2016(55.1조) — 7년

### 다수 기업 검증 (9개사, 최근 5년)

| 기업 | aligned | total | rate | 특이사항 |
|------|---------|-------|------|----------|
| 삼성전자 | 26 | 26 | **100%** | 2016~2025 전체 ALIGNED |
| SK하이닉스 | 6 | 7 | 85.7% | 2025 전기 region 1건 MISALIGNED |
| 현대차 | 20 | 20 | **100%** | 차량/금융 2부문 + 자산/부채/CF |
| LG전자 | 8 | 8 | **100%** | 5부문 (H&A/HE/VS/BS/이노텍) |
| 네이버 | 10 | 10 | **100%** | 5부문 (서치/커머스/핀테크/콘텐츠/클라우드) |
| 카카오 | 12 | 14 | 85.7% | 2023 segment 2건 MISALIGNED (27컬럼 초폭 테이블) |
| POSCO홀딩스 | 13 | 13 | **100%** | 6부문 (철강/무역/건설/물류/에너지소재/투자) |
| 삼성SDI | 14 | 14 | **100%** | |
| LG에너지솔루션 | 22 | 22 | **100%** | |
| **전체** | **131** | **134** | **97.8%** | 7/9 기업 100% |

### 잔여 MISALIGNED (3건)
1. **SK하이닉스 2025 전기 region**: 복잡한 다중 섹션 구조
2. **카카오 2023 segment (2건)**: 27컬럼 초폭 멀티라인 헤더

### 2024+ 지역 테이블 한계
3행 멀티라인 헤더에서 `본사 소재지 국가`(=국내)가 `미주`로 덮어씌워짐.
원인: HDR1의 `국내`(pos1)와 HDR2의 `미주`(pos1, colspan에서 시프트)가 같은 위치.
하위우선 병합에서 `미주`가 선택되어 `국내` 라벨 소실.
→ 값 자체는 올바르게 파싱되나 라벨이 1칸씩 어긋남.

## 파일 목록
| 파일 | 설명 | 상태 |
|------|------|------|
| 001_segmentExplore.py | 부문별 보고 원본 구조 탐색 | 완료 |
| 002_segmentParse.py | 부문별 보고 파싱 로직 실험 (mergeHeaders v3) | 완료 |
| 003_headerAnalysis.py | 헤더 병합 전략 비교 실험 | 완료 |
| 004_multiCompanyTest.py | 9개 기업 파싱 검증 | 완료 |
| output/segment_parse_v2.txt | 삼성전자 전체 파싱 결과 (10년) | - |
| output/multi_company_test.txt | 9개 기업 검증 결과 | - |

## 현황
- 2026-03-06: 실험 시작 — 주석에서 추출 가능한 정보 목록 정리
- 2026-03-06: 부문별 보고 구조 탐색 — 삼성전자 최근 8년 확인
- 2026-03-06: 3종류 테이블 (사업부문/제품/지역) + 연도별 포맷 차이 파악
- 2026-03-06: 파싱 v2 완성 — 삼성전자 2023~2025 완전 매칭, 2022↓ 서브세그먼트 한계
- 2026-03-06: 9개 기업 1차 검증 — aligned 비율은 기업/연도마다 다름
- 2026-03-06: 헤더 병합 알고리즘 연구 — 2행/3행 분기 전략 개발
- 2026-03-06: 최종 결과 — 삼성전자 100% (26/26), 전체 97.8% (131/134)
