DataReady
분석 메모 · 한국 공공데이터 편

서울 상가 537,489행이 말하는 것 — 그리고 분석 전에 알아야 할 함정

소상공인시장진흥공단 상가(상권)정보, 서울, 2026-03-31 분기 스냅샷. clean → analyze → findings → recommendation 루프를 NYC 295k에 이어 한국 데이터에 반복했습니다. 모든 숫자는 커밋된 스크립트가 계산합니다.

reproduce: node analysis/run_kr.mjs · 원문 메모 + findings_kr.json →
537,489
서울 상가 (행 = 상가, 완전 유니크 확인)
3.4개
필지(지번코드)당 상가 — 필지 질문은 dedupe 필수
46.8%
음식 + 소매 — 서울 상가의 절반
8,279층
층정보 최댓값 — 실존하는 오입력
14.3%
1년 새 등재에서 사라진 상가 (신규 +13.7%)

Step 1 — 채점부터 (DataReady dogfood)

Readiness 76. 실제 이슈: 동정보·호정보 100% 빈 컬럼, 지점명 91.3% 결측, 상호명·건물명 표기 변형(테크노-마트/테크노마트). 좌표는 흠잡을 데 없음 — 결측 0, 서울 경계 밖 0. 좋은 것도 그대로 기록합니다.

Findings

1행 ≠ 필지: 한 필지에 상가 3.4개

상가업소번호는 537,489/537,489 완전 유니크(행 = 상가 ✓). 그러나 지번코드 기준 156,526개 필지에 3.4개꼴 — 임대료·개발·재건축처럼 "필지/건물 단위" 질문은 dedupe 없이는 3.4× 왜곡됩니다. NYC의 3.36 rows/inspection과 정확히 같은 granularity trap.

2서울 상가의 절반 가까이는 먹고 파는 곳

음식 25.8%(138,558) + 소매 21.0%(112,810) = 46.8%. 3위 과학·기술(17.2%)과의 간격이 상권 정책이 체감되는 대상을 말해줍니다. 자치구로는 강남구(64,239)가 도봉구(10,377)의 6.2배.

3도시의 수직 구조가 데이터에 있다
업종 (n≥5,000)평균 입점 층
과학·기술 (오피스형)5.75
시설관리·임대5.45
교육3.83
수리·개인1.95
음식 (로드샵형)1.36

음식 1.36층 vs 과학·기술 5.75층 — 4.2배. "몇 층에 있느냐"가 업종을 예측하는 피처라는 뜻이고, 이 +97.9% 갭은 인사이트 엔진이 스스로 찾아냈습니다. 층 필터 없는 "상권 분석"은 오피스와 로드샵을 뒤섞습니다.

4건물명 결측 53.4%는 랜덤이 아니다

숙박 81.4% · 음식 65.7% vs 과학·기술 33.7%. 저층 노변·간이 업소일수록 건물명이 비어 있습니다 — 결측이 업종 구조를 따르는, NYC grade 결측의 한국판. 건물명으로 조인/그룹핑하는 분석은 업종 편향을 그대로 상속합니다.

5층정보 최댓값 8,279층 — 불가능 값 실존

아웃라이어 감지가 중앙값 1층의 8,279배짜리 값을 노출했습니다. 서울에 8천 층 건물은 없습니다 — 명백한 오입력이고, 층 기반 집계를 조용히 오염시킵니다.

6순변화 -0.6%가 숨기는 것: 연간 회전율 28%

1년 전 스냅샷(2025-03-31, 540,516개)과 대조하면 등재 기준 소멸 77,169개(14.3%) + 신규 74,142개(13.7%) — 총량은 거의 그대로지만 서울 상가 7곳 중 1곳이 1년 안에 사라졌습니다. 업종별 소멸률은 교육 29.2% · 음식 16.9% vs 과학·기술 7.0% — 로드샵 업종은 고회전, 오피스 업종은 안정. 정직 주석: 생존 상가의 업종 재분류는 0.1%뿐(정비 아티팩트 아님)이나, 교육은 소멸·신규가 나란히 29~30%라 ID 재부여가 섞였을 수 있어 하방 신뢰를 낮게 둡니다.

7생존분석: 폐업한 가게의 절반은 4년을 못 채웠다

인허가 이력 데이터(성남시, 1970–2026, 41,142곳)로 검열 처리된 생존율을 계산하면: 1년 89.1% → 5년 59.8% → 10년 40.6% → 20년 24.2%. 이미 폐업한 가게의 중앙 수명은 4.0년, 41%는 3년을 못 채웠습니다. 휴게음식점(카페류) 2.3년 vs 일반음식점 4.8년 — 카페가 2배 빨리 닫고, 5년 생존율은 2000년대 개업 53.5%에서 2020년대 46.6%로 악화 추세. 분당구(55.9%)가 중원구(65.2%)보다 가혹합니다 — 상가가 몰리는 상권일수록 생존은 어렵다. 정직 주석: 1980–90년대 코호트의 높은 생존율은 과거 폐업 기록 미등재(생존 편향)로 보고 배제.

권고

이 분석이 제품에 남긴 것

한국 데이터를 실전 투입하자 스코어러의 갭 3개가 터졌고, 전부 가드로 인코딩되어 검증 게이트(validate §9)에 박혔습니다: …코드 컬럼의 phone PII 오탐(법정동코드 10자리 = NYC bbl 잔여의 대량 발생판) → 코드-이름 게이트 / 지번 "642" vs "64-2" 오병합(다른 필지!) → 숫자 사이 구두점 보존 / …번지 합산 트리비아 → 라벨-이름 지표 제외. 실패를 겪고, 가드로 만들고, 게이트로 고정하는 — 이 도구가 만들어져 온 방식 그대로.

한계 — churn은 등재 기준 diff(실개폐업+DB 정비 혼재); 생존분석은 성남 1개 시(전국 일반화 불가); 업종 분류는 공단 기준; 상가 수 ≠ 매출·규모; 지방행정 인허가 데이터(LOCALDATA)는 네트워크 차단으로 이번 회차에서 상가정보로 대체. 통계적 검정 미적용 — 인용한 갭들은 의사결정에 충분한 크기이나 신뢰구간은 없음.