근로소득 백분위(천분위) 자료
국세청이 근로소득 연말정산 신고분을 급여 순으로 줄 세워 109구간으로 나눈 표입니다. 구간마다 인원 · 총급여 · 근로소득금액 · 소득공제금액 · 과세표준 · 결정세액을 담고 있습니다. 상위 1% 안쪽은 0.1%씩(천분위 10구간), 그 아래는 1%씩(백분위 99구간)입니다.
인용과 내려받기
국세청, 「근로소득 백분위(천분위) 자료」, 2024년 귀속 기준. 최고수 공작소 가공. https://python-choigosu.com/data/nts-wage-percentile/ (확인일: YYYY-MM-DD). 기준일 2024년 귀속 은 원본 기관이 공개한 자료의 날짜이고, 최종 수집은 2026-07-30 입니다. 이 주소는 최신 수집분을 가리키므로, 특정 시점을 인용하실 때는 위 기준일을 함께 적어 주십시오 — 그 시점의 원본은 아래 스냅샷 이력에 그대로 남아 있습니다.
UTF-8 BOM 을 붙였습니다. 한국어 Windows 의 Excel 은 BOM 이 없는 UTF-8 CSV 를
cp949 로 해석해 상호와 주소가 전부 깨집니다. 이 파일의 1차 독자가 기자와 연구자이고
그들이 여는 도구가 대부분 Excel 이므로, 그쪽이 바로 열리는 쪽을 골랐습니다.
pandas·R·duckdb 로 읽으실 때는 인코딩을 utf-8-sig 로 지정하시면 됩니다
(지정하지 않으면 첫 열 이름 앞에 보이지 않는 문자가 붙습니다 — 그렇게 눈에 보이는
실패가 되도록 고른 것입니다).
줄바꿈은 CRLF(RFC 4180), 참·거짓 항목은 참일 때 Y, 아니면 빈 칸입니다.
이용조건이 미확인인 동안 원본 전량을 그대로 재배포하지 않으며, 이 CSV 는 주소를 정리하고 시군구 코드를 붙인 가공본입니다.
출처와 이용조건
| 자료 ID | nts-wage-percentile |
|---|---|
| 출처 기관 | 국세청 |
| 원본 | https://www.data.go.kr/data/15082063/fileData.do |
| 이용조건 | 이용허락범위 제한 없음 공공데이터포털이 이 파일데이터의 이용허락범위를 "제한 없음"으로 고지하고 있습니다 [확인 2026-07-30]. 간이세액표는 법령의 별표이므로 저작권법 제7조에 따라 보호 대상이 아닙니다. |
| 데이터 기준일 | |
| 최종 수집 | |
| 담긴 곳 | 21,078,535건 |
| 기간 | 2024 |
| 지역 | 대한민국 |
| 새로 고침 주기 | 주 1회 자동으로 받음 · 30일이 넘으면 밀렸다고 적음 |
| 쓰는 도구 | C-01 연봉 실수령액 |
어느 경로로 받았나
재현에 필요한 것을 전부 적습니다. 공식 오픈API 인지 아닌지도 그대로 밝힙니다 — 경로를 숨기면 재현할 수 없고, 재현할 수 없는 자료는 인용할 가치가 없습니다.
-
HTTP GET (파일 직다운로드) 인증 불필요
https://www.data.go.kr/cmm/cmm/fileDownload.do?atchFileId=FILE_000000003637070&fileDetailSn=1공공데이터포털의 파일데이터입니다. 같은 자료의 오픈API(odcloud)는 활용신청이 필요하지만 파일 직다운로드는 인증 없이 열려 있어 그쪽을 씁니다. 파일이 교체되면 atchFileId 가 바뀌므로, 파이프라인은 이 주소가 CSV 를 주지 못하면 데이터셋 페이지에서 현재 값을 찾아 다시 시도합니다. 문자 인코딩은 CP949 입니다.
-
HTTP GET (PDF) 인증 불필요
https://www.law.go.kr/LSW/flDownload.do?flSeq=164357181&bylClsCd=110201소득세법 시행령 별표2 「근로소득 간이세액표」 원문입니다(개정 2026-02-27). 실수령액의 소득세는 이 표를 **그대로 실어** 계산합니다 — 산식을 다시 짜면 아무리 잘해도 "아마 국세청과 같을 것"이 되기 때문입니다. 연 1회 개정되므로 매 실행마다 원문 해시만 대조하고, 달라지면 파이프라인이 멈춥니다.
커버리지
| 범위 | 2024년 귀속 근로소득 연말정산 신고분 전체입니다. 근로소득자 21,078,535명 · 1인 평균 총급여 44,749,680원으로, 국세청이 따로 발표한 수치(2,108만명 · 4,475만원)와 일치합니다. 사업소득·금융소득은 들어 있지 않습니다 — "전국에서 몇 등"이 아니라 "월급 받는 사람 중 몇 등"입니다. |
|---|---|
| 데이터가 있는 지역 | 0개 시군구 · 0개 시도 |
| 지역 페이지 | 0개. 담긴 곳이 3건 미만인 지역은 만들지 않습니다 — 내용 없는 페이지를 대량 생산하지 않기 위해서입니다. |
| 지역 미매칭 | 기록 없음 |
스냅샷 이력
받은 원본을 항목을 골라내지 않고 통째로 압축해 저장소에 커밋합니다. 필요한 것만 남기면 공공데이터의 항목이 바뀐 사실 자체를 영원히 알 수 없기 때문입니다. 원본 API 가 죽어도 이 스냅샷만으로 사이트를 다시 빌드할 수 있습니다.
| 수집일 | 파일 | 구분 | 크기(압축) |
|---|---|---|---|
data/raw/yeonbong/2026-07-30.ganse.pdf.gz | 부속 | 252.9KB | |
data/raw/yeonbong/2026-07-30.percentile.csv.gz | 부속 | 2.1KB |
가공 산출물: data/dist/yeonbong/index.json 1.6KB · data/dist/yeonbong/meta.json 354B
보존 정책 — 최신 1개와 매월 1일자 수집분은 영구 보관하고, 그 사이 주간 수집분은 정리합니다.
알려진 한계
- 매달 원천징수되는 금액입니다. 연말정산 결과가 아닙니다 — 의료비·기부금·주택자금 같은 개인 공제는 반영하지 않았고, 그 값을 저희가 알 수 없습니다.
- 국민연금 기준소득월액 상·하한은 2026년 7월~2027년 6월 적용분(하한 41만원·상한 659만원)입니다. 매년 7월에 바뀝니다.
- 회사가 쓰는 급여시스템의 절사 방식과 비과세 항목 구성에 따라 실제 명세서와 수백~수천원 차이가 날 수 있습니다.
- 전국 상위 %는 근사입니다. 국세청이 구간 경계가 아니라 구간 평균만 공개하므로 해상도가 1%(상위 1% 안은 0.1%)입니다.
- 근로소득자만 모집단입니다. 사업소득·금융소득은 들어 있지 않으므로 "전국에서 몇 등"이 아니라 "월급 받는 사람 중 몇 등"입니다.
각 항목을 풀어 쓴 설명과 자주 묻는 질문은 연봉 실수령액 자료 설명에 있습니다. 여기 적힌 출처나 이용조건이 틀렸다면 알려 주세요.
스키마
아래 열 이름이 CSV 의 머리글이자 JSON 산출물의 키입니다. 채움률은 이번 수집분 0건을 직접 세어 계산했습니다. 참·거짓 항목은 참인 건수만 셉니다 — 원본이 참일 때만 기록하기 때문입니다.
| 열 | 이름 | 형 | 채움률 | 설명 |
|---|---|---|---|---|
pay | 구간 평균 총급여 | number | 0.0% (0) | 그 구간에 속한 사람들의 평균 총급여(원). 원본의 억원 단위를 인원으로 나눠 1인 평균으로 바꿨습니다. 원본 항목 총급여 ÷ 인원 |
pct | 상위 % | number | 0.0% (0) | 그 구간의 누적 위치(구간 중앙 기준). 작을수록 상위입니다. 원본이 구간 경계를 주지 않아 평균을 대표점으로 삼은 근사입니다. 원본 항목 인원 누적 |
count | 근로소득자 수 | number | 0.0% (0) | 모집단 전체 인원. 백분위 문장이 이 값을 함께 밝힙니다. 원본 항목 인원 합계 |
avgPay | 1인 평균 총급여 | number | 0.0% (0) | 총급여 합계 ÷ 인원. 이 값이 상위 35%대라는 사실이 소득분포가 오른쪽으로 치우쳐 있음을 보여 줍니다. 원본 항목 총급여 합계 ÷ 인원 |
taxYear | 귀속연도 | number | 0.0% (0) | 국세청이 데이터셋에 적지 않아, 집계값을 보도자료와 대조해 확정했습니다. 집계가 달라지면 파이프라인이 멈추고 사람이 다시 확인합니다. |