서울 상가 537,489행이 말하는 것 — 그리고 분석 전에 알아야 할 함정
소상공인시장진흥공단 상가(상권)정보, 서울, 2026-03-31 분기 스냅샷. clean → analyze → findings → recommendation 루프를 NYC 295k에 이어 한국 데이터에 반복했습니다. 모든 숫자는 커밋된 스크립트가 계산합니다.
Step 1 — 채점부터 (DataReady dogfood)
Readiness 76. 실제 이슈: 동정보·호정보 100% 빈 컬럼,
지점명 91.3% 결측, 상호명·건물명 표기 변형(테크노-마트/테크노마트).
좌표는 흠잡을 데 없음 — 결측 0, 서울 경계 밖 0. 좋은 것도 그대로 기록합니다.
Findings
상가업소번호는 537,489/537,489 완전 유니크(행 = 상가 ✓). 그러나 지번코드 기준
156,526개 필지에 3.4개꼴 — 임대료·개발·재건축처럼 "필지/건물 단위" 질문은
dedupe 없이는 3.4× 왜곡됩니다. NYC의 3.36 rows/inspection과 정확히 같은 granularity trap.
음식 25.8%(138,558) + 소매 21.0%(112,810) = 46.8%. 3위 과학·기술(17.2%)과의 간격이 상권 정책이 체감되는 대상을 말해줍니다. 자치구로는 강남구(64,239)가 도봉구(10,377)의 6.2배.
| 업종 (n≥5,000) | 평균 입점 층 |
|---|---|
| 과학·기술 (오피스형) | 5.75 |
| 시설관리·임대 | 5.45 |
| 교육 | 3.83 |
| 수리·개인 | 1.95 |
| 음식 (로드샵형) | 1.36 |
음식 1.36층 vs 과학·기술 5.75층 — 4.2배. "몇 층에 있느냐"가 업종을 예측하는 피처라는 뜻이고, 이 +97.9% 갭은 인사이트 엔진이 스스로 찾아냈습니다. 층 필터 없는 "상권 분석"은 오피스와 로드샵을 뒤섞습니다.
숙박 81.4% · 음식 65.7% vs 과학·기술 33.7%. 저층 노변·간이 업소일수록 건물명이 비어 있습니다 — 결측이 업종 구조를 따르는, NYC grade 결측의 한국판. 건물명으로 조인/그룹핑하는 분석은 업종 편향을 그대로 상속합니다.
아웃라이어 감지가 중앙값 1층의 8,279배짜리 값을 노출했습니다. 서울에 8천 층 건물은 없습니다 — 명백한 오입력이고, 층 기반 집계를 조용히 오염시킵니다.
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 재부여가 섞였을 수 있어 하방 신뢰를 낮게 둡니다.
인허가 이력 데이터(성남시, 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년대 코호트의 높은 생존율은 과거 폐업 기록 미등재(생존 편향)로 보고 배제.
권고
- 필지 단위 질문은 지번코드로 dedupe 후 — 상가 수 ≠ 필지 수 (3.4×).
- 건물명 기반 분석 금지 (결측 53%, 업종 편향) — 건물관리번호·좌표로 대체.
- 층정보는 range-check 후 사용 (8,279층 같은 오입력 존재).
- 상권 분석의 기본 프레임에 수직(층) 축을 넣을 것 — 업종은 수평으로만 갈리지 않는다.
이 분석이 제품에 남긴 것
한국 데이터를 실전 투입하자 스코어러의 갭 3개가 터졌고, 전부 가드로 인코딩되어
검증 게이트(validate §9)에 박혔습니다: …코드 컬럼의 phone PII 오탐(법정동코드 10자리 =
NYC bbl 잔여의 대량 발생판) → 코드-이름 게이트 / 지번 "642" vs "64-2" 오병합(다른 필지!) →
숫자 사이 구두점 보존 / …번지 합산 트리비아 → 라벨-이름 지표 제외.
실패를 겪고, 가드로 만들고, 게이트로 고정하는 — 이 도구가 만들어져 온 방식 그대로.