{
 "형식": "brief",
 "no": 7,
 "slug": "b07-gg-housing-30y",
 "title": "1기 신도시가 30년을 넘었다",
 "date": "2026-08",
 "workdir": "analysis",
 "steps": [
  {
   "name": "analyze",
   "script": "prep.py"
  }
 ],
 "outputs": {
  "ledger": "수치대장.csv",
  "html": "브리프.html",
  "raw": "analysis/raw.csv"
 },
 "sanity": {
  "key": "시군",
  "rows": 341,
  "columns": [
   "연도",
   "시군",
   "이십년대",
   "삼십년이상",
   "삼십년비중",
   "신도시"
  ],
  "no_nulls": true,
  "drift_pct": 30
 },
 "brief": {
  "관점": "비교",
  "dek": "20년 넘은 주택 중 30년을 넘긴 것의 비중이 10년 사이 성남에서 6.5%→74.0%가 됐다. 1기 신도시가 있는 5개 시가 한꺼번에 같은 문턱을 넘었다.",
  "chart": "analysis/chart.png",
  "chart_cap": "경기 31개 시군. 빈 점이 2015년, 채운 점이 2025년이다. 붉은색은 1기 신도시(분당·일산·평촌·중동·산본)가 있는 5개 시. 가로축은 20년 넘은 주택 중 30년을 넘긴 것의 비중이다.",
  "body": [
   "재건축·리모델링 이야기에는 늘 <b>30년</b>이라는 숫자가 따라붙는다. 그 문턱을 언제 넘느냐가 지역마다 다르다면, 지금 어디가 넘고 있는지 볼 수 있다.",
   "경기 <b>31</b>개 시군에서 20년 넘은 주택 중 30년을 넘긴 것의 비중은 <b>2025년</b> 평균 <b>45.5%</b>다. 그런데 폭이 넓다 — 가장 높은 <b>과천시</b>가 <b>88.8%</b>, 가장 낮은 <b>광주시</b>가 <b>16.5%</b>다.",
   "<b>10년 사이 움직인 폭을 보면 한 무리가 뚜렷하게 갈린다.</b> 성남시는 <b>6.5%</b>에서 <b>74.0%</b>로 <b>67.5</b>포인트, 군포시는 <b>3.35%</b>에서 <b>68.0%</b>로 <b>64.6</b>포인트, 광명시는 <b>17.4%</b>에서 <b>74.3%</b>로 <b>56.9</b>포인트 올랐다. 고양(<b>40.7</b>p)·안양(<b>37.7</b>p)·부천(<b>33.9</b>p)이 뒤를 잇는다.",
   "분당·산본·평촌·중동·일산이 있는 <b>5</b>개 시의 평균 변화는 <b>48.9</b>포인트, 나머지 26개 시군은 <b>8.2</b>포인트다. <b>여섯 배</b> 차이다. 1990년대 초에 한꺼번에 지어진 주택이 한꺼번에 30년을 넘긴 결과로 <b>읽힌다</b>. 반대로 과천시는 이미 <b>90.8%</b>였다가 <b>88.8%</b>로 <b>내려갔다</b> — 오래된 쪽이 헐리고 새 주택이 들어왔을 때 나타나는 방향이다."
  ],
  "sowhat": "「노후 주택이 많다」는 말은 지역마다 시점이 다른 현상이다. 1기 신도시 5개 시는 지난 10년 사이 그 문턱을 함께 넘었고, 나머지 26개 시군은 아직 완만하다. 정비 수요가 몇 년에 걸쳐 한 지역에 몰릴 수 있다는 뜻으로 <b>읽을 수 있다</b>. 다만 이 글의 비율은 <b>전체 주택 중 노후 비율이 아니다</b> — 20년 넘은 주택 안에서의 비중이다. 전체 대비로 말하려면 빈집 처리가 같은 분모표를 확인한 뒤라야 한다.",
  "source": "통계청 KOSIS 「주택의 종류 및 건축 경과연수별 주택 - 시군구」(tblId DT_1JU1521, 항목 T00 주택_계, 경과연수 「20년~30년 미만」·「30년 이상」, 2015~2025) · 2026-08-06 수집",
  "limit": "이 표의 경과연수 축에는 <b>「계」가 없다</b> — 20년 미만 주택이 아예 담겨 있지 않다. 그래서 이 글의 모든 비율은 <b>20년 넘은 주택 안에서의 비중</b>이고, 전체 주택 중 노후 비율이 아니다. 분모표(같은 조사의 「주택_계」)는 <b>미거주 주택(빈집)을 제외</b>하는데 이 표가 빈집을 포함하는지는 표 안에서 확인할 수 없어, 두 표를 결합한 비율은 쓰지 않았다. 「1기 신도시 때문」은 입주 시기와 방향이 맞는다는 <b>추정</b>이지 이 표로 증명한 것이 아니다 — 표에는 준공 연도별 내역이 없다. 일반구가 아니라 시 단위로만 봤고, 2013년 폐지된 여주군은 뺐다. 등록센서스 기준이라 2015년 이전과 바로 이어지지 않는다. 비중은 소수 둘째 자리까지 계산했고 본문은 대개 첫째 자리로 줄였다 — 군포시 2015년(<b>3.35%</b>)만 반올림하면 값이 달라져 그대로 적었다.",
  "chart_card": "analysis/chart_card.png",
  "chart_card_cap": "20년 넘은 주택 중 30년을 넘긴 것의 비중이 10년 사이 얼마나 올랐나. 변화가 큰 8개 시만 골랐고, 붉은색이 1기 신도시가 있는 시다.",
  "정합": [
   {
    "말": "동시",
    "주장": "1기 신도시가 있는 5개 시가 한꺼번에 같은 문턱을 넘었다",
    "근거": [
     "N29",
     "N30",
     "N33",
     "N68:간격",
     "N66",
     "N67"
    ],
    "한마디": "5곳 평균 <b>{{N29}}</b>%p · 나머지 26곳 <b>{{N30}}</b>%p 로 <b>{{N33}}</b>배 차이다. 「한꺼번에」는 <b>간격</b>에 대한 주장이라 5곳 «사이»가 얼마나 붙어 있는지도 대야 한다 — 가장 큰 성남 <b>{{N66}}</b>%p 와 가장 작은 부천 <b>{{N67}}</b>%p 의 폭이 <b>{{N68}}</b>%p 다. 26곳 평균의 네 배가 넘는 폭이라, 「한꺼번에」는 «같은 십 년 안에서»라는 뜻이지 «같은 해에»가 아니다."
   },
   {
    "말": "문턱",
    "주장": "5개 시는 2015년에는 낮았고 2025년에는 모두 높은 쪽으로 넘어갔다",
    "근거": [
     "N69:견고성",
     "N70:견고성",
     "N26",
     "N29"
    ],
    "한마디": "「넘었다」는 문턱 판정이라 부등호 하나로는 못 받친다. 5곳의 2015년 값 가운데 가장 높은 것이 <b>{{N69}}</b>% 이고, 2025년 값 가운데 가장 낮은 것이 <b>{{N70}}</b>% 다 — <b>두 해의 구간이 겹치지 않는다.</b> 어느 한 곳을 빼도 이 관계는 유지된다. 31개 시군 평균은 <b>{{N26}}</b>% 다."
   }
  ],
  "검증": [
   {
    "한계": "이 표에는 <b>20년 미만 주택이 없다</b> — 모든 비율은 «20년 넘은 주택 안에서의 비중»이다",
    "방향": "모른다",
    "크기": [
     "N03",
     "N34",
     "N35"
    ],
    "판정": "결론을 좁혔다",
    "왜": "경과연수 축에 「계」가 없어 전체 주택을 분모로 쓸 수 없다. 그래서 성남 <b>{{N03}}</b>% 는 «성남 주택의 74%가 30년을 넘었다»가 아니라 «20년 넘은 주택 <b>{{N34:,}}</b> + <b>{{N35:,}}</b>호 가운데 74%»라는 뜻이다. 분모표(같은 조사의 「주택_계」)는 빈집을 제외하는데 이 표가 빈집을 포함하는지 표 안에서 확인되지 않아 두 표를 결합하지 않았다. 그래서 이 글은 「노후 주택 비율」이라는 말을 쓰지 않고 «20년 넘은 주택 안에서의 30년 비중»이라고만 적는다."
   },
   {
    "한계": "「한꺼번에」는 <b>같은 해에</b>가 아니다 — 5곳 사이에도 폭이 있다",
    "방향": "모른다",
    "크기": [
     "N66",
     "N67",
     "N68",
     "N30"
    ],
    "판정": "결론을 좁혔다",
    "왜": "5곳의 변화는 성남 <b>{{N66}}</b>%p 부터 부천 <b>{{N67}}</b>%p 까지 <b>{{N68}}</b>%p 벌어져 있다. 나머지 26곳 평균(<b>{{N30}}</b>%p)의 네 배가 넘는 폭이다. 그래서 「한꺼번에」는 «10년이라는 창 안에서 함께 움직였다»는 뜻이고, «같은 해에 동시에 넘었다»는 뜻이 아니다. 문장에서 그 구분을 흐리지 않는다."
   },
   {
    "한계": "「1기 신도시 때문」은 <b>추정</b>이다 — 이 표에 준공 연도별 내역이 없다",
    "방향": "모른다",
    "크기": [],
    "판정": "말하지 않는다",
    "왜": "입주 시기와 방향이 맞는다는 것까지가 이 자료로 말할 수 있는 전부다. 준공 연도별 주택 수를 붙여야 확인되는데 이 표에 그 축이 없다. 원자료의 «신도시» 칸은 우리가 붙인 표시이지 조사가 준 값이 아니다 — 그래서 이 값으로 인과를 말하지 않는다. (광명은 1기 신도시가 아니라 이 5곳에 들어가지 않는다)"
   },
   {
    "한계": "과천·광주처럼 <b>비중이 내려간 곳</b>의 원인은 가릴 수 없다",
    "방향": "모른다",
    "크기": [
     "N22",
     "N25"
    ],
    "판정": "말하지 않는다",
    "왜": "과천은 <b>{{N22}}</b>%p, 광주는 <b>{{N25}}</b>%p 내려갔다. 오래된 쪽이 헐렸는지 새 주택이 들어왔는지는 이 표로 구분되지 않는다 — 분자와 분모가 함께 움직이기 때문이다. 멸실 자료를 붙여야 갈리는데 이 글에 없다. 값으로 낼 수 있는 것은 «내려갔다»는 사실과 그 폭까지다."
   },
   {
    "한계": "나머지 26개 시군의 변화값을 <b>개별로 대장에 올리지 않았다</b>",
    "방향": "모른다",
    "크기": [
     "N30",
     "N32"
    ],
    "판정": "말하지 않는다",
    "왜": "본문이 이름을 드는 8곳만 분자·분모까지 올렸고, <b>{{N32}}</b>곳의 평균 <b>{{N30}}</b>%p 는 분석 단계에서 계산된 값을 그대로 실었다. 그래서 이 한 값은 대장 안에서 다시 계산되지 않는다(관문 C2 가 WARN 으로 남긴다). 26곳을 다 올리면 닫히지만, 본문이 쓰지 않는 값을 대장에 채우는 것이 나은지는 따로 판단할 일이라 지금은 «못 닫았다»고 적어 둔다."
   },
   {
    "한계": "일반구가 아니라 <b>시 단위</b>로만 봤고, 등록센서스 기준이라 2015년 이전과 이어지지 않는다",
    "방향": "모른다",
    "크기": [],
    "판정": "말하지 않는다",
    "왜": "성남 분당구처럼 구 단위로 보면 신도시와 구도심이 갈리는데, 시 단위로 묶으면 그 둘이 «한 값»으로 섞인다. 그 안쪽이 얼마나 갈려 있는지를 값으로 내려면 구 단위 자료가 있어야 하는데 이 표에서 받지 않았다. 그래서 이 글은 시 단위 값 하나로만 말하고, 그 안쪽에 대해서는 «크기 없이 주장하지 않는다». 2013년 폐지된 여주군은 뺐고, 2015년 이전으로 선을 늘리지 않는다."
   }
  ]
 },
 "_주석": {
  "rows": "31개 시군 × 11개 연도 = 341행",
  "★분모": "이 브리프는 「전체 주택 중 노후 비율」을 쓰지 않는다. 분모표(DT_1JU1502 주택_계)는 빈집을 빼는데 분자 표에 「계」가 없어 빈집 포함 여부를 확인할 수 없었다. 대신 같은 표 안의 두 칸으로만 비율을 만들었다 — prep.py 머리말 참고."
 },
 "고친이력": [
   {
     "때": "2026-09-06",
     "무엇": "글에 쓰던 내부 메모 기호(경고 표시)를 빼고, 「대장에 등록했다」처럼 우리끼리 쓰던 말을 독자의 말로 바꿨다. 소스 주석에 남아 있던 작업 메모도 걷었다",
     "왜": "매거진은 밖으로 나가는 글인데 내부 작업 문서의 표기가 그대로 실려 있었다 — 수치와 주장은 바뀌지 않았다",
     "찾은곳": "우리"
   }
 ]
}
