# 분석 계획 — 경기 시군의 「아이 잔존비」

> 데이터를 받기 «전»에 2·4절을 채웠고, 받은 뒤 바뀐 것은 8절에 적었다.

---

## 1. 무엇을 물을 것인가

- **질문 한 문장:** 0~4세 아이가 줄어드는 것은 어디서나 같은데, **줄어드는 «이유»도 같은가?**
- **그래서 무엇인가:** 「아이가 줄었다」는 한 문장이 성격이 정반대인 두 지역을 같은 칸에 넣는다.
  파주는 태어난 것보다 **많은** 아이가 살고, 군포는 태어난 아이의 4분의 1이 **다른 곳에** 산다.
  둘 다 「0~4세 감소」다. 보육 정원·초등 배치·주거 정책은 이 둘에 같은 처방을 쓸 수 없다.
- **소재 기사가 있다면**, 그 프레임을 그대로 쓰지 «않는» 이유:
  이 호는 기사에서 출발하지 않았다. **브리프 04**(경기 노령화 역전)가 「아이가 늘어난 시군 6곳」을
  찾아 놓고 «왜 늘었는지»는 말하지 못한 채 끝난 것이 출발점이다. 그 미완을 잇는다.

---

## 2. 방법 결정 ★ 빈 칸이면 빌드가 막힙니다

| 결정 | 무엇으로 | 왜 그렇게 |
|---|---|---|
| **원자료** — 표 ID·기관, 파일이면 어디서 받았나 | 통계청 KOSIS 표 **둘**을 결합한다. ① `DT_1B04005N` 행정구역(읍면동)별/5세별 주민등록인구 · itmId=T2 ② `DT_1B81A23` 시군구/출생아수, 합계출산율 · itmId=T1 ③ `DT_1B80A18` 시군구/성/연령별 사망자수 · itmId=T2 — **③은 본 분석이 아니라 「신뢰성 검토」 한 항목을 값으로 내기 위해서만 쓴다**(8절) | 이 호는 표 둘을 결합한다. ⚠ 2026-08-29 정정 — 처음에 「브리프 01~08 은 전부 표 하나」라고 적었는데 **거짓이다.** B03 이 `DT_1PL1502`+`DT_1IN1509` 를, B05 가 `DT_1YL20581`+`DT_1B04005N` 를 이미 붙였다. **2호는 세 번째 결합**이고, 새로운 것은 「표 둘」이 아니라 «코드 체계가 다른 두 계열(41↔31)»을 붙였다는 점뿐이다. 그마저도 시군 이름이 정확히 일치해 `kosis.codes_for` 가 대신 풀어 줬다 — 키가 안 맞아 `PAIRS` 대응표를 손으로 만들고 가드를 건 **B03 의 결합이 더 어렵다.** 표 하나로는 「줄었다」의 원인을 못 가른다는 것이 이 호의 출발점이다(`03_분석_고도화_방안.md` 한계 #3 · 사다리 L3). 있는 아이(주민등록)와 태어난 아이(인구동향)는 **다른 조사**라 한 표에 같이 없다 |
| **관측 단위** — 한 줄이 무엇인가 | **경기 시군 1곳 × 창 2개.** 도 전체는 기준선으로 «같이» 받아 `유형` 열로 가른다 | 시군이 이 질문의 정책 단위다. 읍면동으로 내리면 출생아수 표가 시군까지만 있어 결합 자체가 불가능하다 |
| **비교 축** — 무엇끼리 견주나 | ① 시군끼리(같은 창 안에서) ② 같은 시군의 두 창끼리 | ①만 하면 「한 해의 우연」과 「그 시군의 성질」을 못 가른다. ②가 있어야 잔존비가 지속되는 값인지 말할 수 있다 |
| **기간 · 절단점** | **2015~2024**. 창 둘로 자른다 — 2015~2019(2019년 0~4세)와 2020~2024(2024년 0~4세) | 0~4세는 «직전 5년생»이므로 5년이 자연스러운 창이다. ⛔ **2025는 안 쓴다** — 출생아수 2025는 잠정치이고 100명 단위로 반올림돼 시군 합이 도 전체와 54명 어긋난다(`sources.json` 함정) |
| **묶음 경계** — 청년·노년·권역 등 | 연령은 **0~4세 한 칸**만 쓴다. 권역 묶음은 하지 않는다 | 0~4세가 「직전 5년 출생아」와 정확히 대응하는 유일한 구간이다. 5~9세로 넓히면 초등 취학 이동이 섞인다 |
| **분모** — 비율을 쓴다면 | **직전 5개년 출생아 합.** 인구를 분모로 쓰지 않는다 | 「그 지역에서 태어난 아이」가 분모여야 「태어난 곳에 사는가」를 물을 수 있다. 인구를 분모로 하면 그냥 유소년 비중이 되어 다른 질문이 된다 |
| **기준선** — 도 전체 행을 같이 받나 | **받는다.** 경기도 행을 `유형=도전체`로 표시해 집계에서 가른다 | 시군 잔존비가 도 전체보다 높은지 낮은지가 이 글의 축이다. ⚠ 가르지 않으면 `aggmean:…:시군` 이 32번째 행을 빨아들인다(B04 에서 정립) |
| **지표 정의와 이름** | **잔존비 = 그 해 0~4세 주민등록인구 ÷ 직전 5년 출생아 합.** 1 초과 = 순유입, 1 미만 = 순유출 | 등록부·메타 어디에도 없는 **편집 판단**이다. 인구학의 코호트 성분법을 시군·5년으로 단순화한 것이고, 사망을 무시한다(6절) |
| **강조 대상** — 있다면, 근거 | 위 둘(양주·과천)과 아래 둘(군포·안산), 그리고 **두 창 사이 변화가 큰 다섯 곳**(하남·김포·시흥 ↓ / 양주·과천 ↑) | 전부 **데이터에서 고른 것**이다 — 최고·최저·변화폭 상위. 매체 연고(안산)는 이번에 강조 근거로 쓰지 않았고, 안산이 들어간 것은 아래에서 두 번째라서다 |

---

## 3. 가능한 각도 — 최소 두 개

### 각도 A — 잔존비 (고른 것)
- 질문: 태어난 아이가 그 시군에 남아 있는가?
- 비교축: 시군 × 창 2개
- 나올 수 있는 결론: 「감소」가 출산 감소인 곳과 유출인 곳으로 갈린다

### 각도 B — 합계출산율과 맞대기
- 질문: 아이가 많이 태어나는 곳이 아이가 많은 곳인가?
- 비교축: 시군별 합계출산율 × 0~4세 비중
- 나올 수 있는 결론: 둘이 어긋나는 시군이 「이동으로 채워지는 곳」이다

---

## 4. 고른 각도와 이유 ★ 정지점

**고른 것:** 각도 A(잔존비).

**이유:** 각도 B 는 두 «비율»을 나란히 놓는 것이라, 어긋나는 곳을 찾아도 **그 크기를 값으로
낼 수 없다**. 각도 A 는 분자와 분모가 같은 아이들을 세는 **하나의 몫**이라 「얼마나」가 나온다.
B03(인구효과/비율효과)·B04(지수배율)이 그랬듯, 이 매체가 잘하는 것은 **항등식에 가까운 몫**이다.
그리고 A 는 브리프 04 가 남긴 물음(「아이가 는 6곳은 왜 늘었나」)에 곧바로 답한다.

---

## 5. 버린 각도와 안 쓴 길

- **버린 각도:** 각도 B(합계출산율 대조). 표 `DT_1B81A23` 의 T2 항목으로 받을 수 있으나
  이번에는 **안 받았다.** 합계출산율은 「율」이라 시군 값을 더하거나 평균 낼 수 없어
  (등록부 함정) 도 전체와의 대조를 만들기 까다롭다.
- **가다가 접은 길:** 처음에는 **순이동을 직접 구하려** 했다 —
  `0~4세 = 출생 − 사망 − 5세도달 + 순이동`. 사망·5세도달을 따로 받아야 하는데
  5세도달은 표에 없고(코호트를 직접 굴려야 한다), 그러면 이 호는 데이터 정비 사업이 된다.
  **잔존비는 그 식을 한 몫으로 접은 것**이고, 대신 「순」이동만 말할 수 있다(6절).

---

## 6. 이 데이터로 말할 수 없는 것

- **들어온 아이와 나간 아이를 가르지 못한다.** 잔존비는 «순»이다. 100명이 들어오고
  100명이 나가도 1.0 이다. 그래서 본문은 「순유입」이라고만 쓰고 「이사 왔다」로 단정하지 않는다.
- **사망을 무시한다.** 영유아 사망이 0 은 아니므로 잔존비는 이동분을 아주 조금 낮게 잡는다.
  방향을 뒤집을 크기는 아니지만 1.0 근처 여섯 곳(N17)에서는 그만큼도 크다.
- **주민등록은 내국인만 센다.** 외국인 주민 비중이 큰 **안산**은 실제 거주 아동과
  이 수치가 벌어질 수 있다 — 안산이 아래에서 두 번째라는 사실을 그대로 읽으면 안 된다.
- **지역의 값이지 사람의 값이 아니다.** 「군포에서 태어난 아이는 이사를 간다」는
  이 데이터로 말할 수 없다. 말할 수 있는 것은 «군포라는 지역의 0~4세 수»뿐이다.
- **코드 체계가 다른 두 표를 이름으로 붙였다.** 이름이 같고 실체가 다른 행정구역이
  있으면 조용히 어긋난다. 그래서 매 창마다 **시군 합 = 도 전체**를 확인했고(prep.py),
  네 번 모두 정확히 일치했다. 그게 이 결합의 유일한 검산이다.

---

## 7. 적어 낸 사람

- **이름:** 나동욱
- **날짜:** 2026-08-29
- **스스로 확인한 것** — 2절의 아홉 줄을 «데이터를 받기 전에» 정했는가: 그렇다.
  지표 이름(잔존비)과 창 두 개, 2025 제외까지 받기 전에 정했다.

---

## 8. 중간에 바뀐 것

- **창을 하나에서 둘로 늘렸다.** 처음에는 2024창만 볼 생각이었는데, 받아 보니
  하남 1.603 처럼 **극단값이 신도시 입주 시기와 얽혀 있어서** 한 창만으로는
  「그 시군의 성질」인지 「그때의 사정」인지 가를 수 없었다. 2019창을 더해
  **두 창에서 같은 편이었던 시군 수**(N18)를 이 글의 근거로 삼았다.
- **상관계수를 쓰려다 뺐다.** 두 창의 잔존비 상관은 계산하면 나온다. 그러나 시군 31곳은
  표본이 아니라 **모집단**이라 p값·신뢰구간이 뜻이 없고, 상관계수만 홀로 실으면
  국내 주류 매체가 하는 것과 같은 형태가 된다(`docs/외부매거진_비교_2026-08-28.md` §9).
  대신 **세어서** 적었다 — 31곳 중 27곳.
- **표를 하나 더 붙였다 (2026-08-29).** 지도교수 지적 —「보정하지 않아서 우리가 내는 정보가
  허위가 되거나 파장이 되지는 않는지, **왜 보정하지 않아도 공익통계로 문제 없는지** 검증이
  필요하다」. 그 답을 문장이 아니라 값으로 내려고 **사망 표(`DT_1B80A18`)**를 받았다.
  결과: 2020~2024 경기 0~4세 사망 1,039명 → 분모에서 빼면 잔존비가 **+0.0027** 올라가고,
  이는 판정 경계 ±0.02 보다 훨씬 작아 **한 곳도 뒤집지 못한다.**
  ⚠ 도 전체만 받았다 — 시군별 편차는 못 본다. 그 한계도 검증 칸에 적었다.
