Portfolio — Apartment price change · by district
49 / 123
Matched by complex and by size band, 49 districts fell and 123 rose. The median is 1.7%, the range -7.4% to 21.3%. Zero is a real middle, so this map splits its colour in two directions.
{late}–{lateEnd} against {early}–{earlyEnd}
A district’s median sale price is the wrong thing to compare — it moves when the mix of what sold moves, so a neighbourhood that did not change appears to rise. The unit here is a (district, complex, 10 m² band) that traded at both ends of the window: 24,322 of them. Each contributes one percentage change of its price per unit area, and the district is the median of its pairs. That holds the building, the size class and the neighbourhood fixed, which is as close to repeat sales as filings without a unit identifier allow. Same 245 cells as the brokerage map, same placement — only the value differs.
Click a hexagon to open that district’s 읍면동 grid. A dimmed cell has fewer than five 읍면동 with an office, so there is no grid behind it.
179/245 districts · 24,322 matched pairs · median of per-pair change
Where each class starts, and how many districts are in it · colour splits at zero
- ↓5
- -513
- -231
- 050
- +231
- +518
- +1015
- +1516
↑
Not measurable · 66
See all of them in rank order
- 성남시중원구 · +21.3%
- 동대문구 · +19.5%
- 성북구 · +19.4%
- 성남시수정구 · +19.3%
- 용인시수지구 · +19.3%
- 하남시 · +19.1%
- 광명시 · +19%
- 성남시분당구 · +17.8%
- 안양시동안구 · +17.6%
- 동작구 · +17.3%
- 구리시 · +17.2%
- 영등포구 · +16.4%
- 강서구 · +15.8%
- 서대문구 · +15.6%
- 중구 · +15.2%
- 성동구 · +15%
- 강동구 · +14.7%
- 관악구 · +14.7%
- 송파구 · +14.1%
- 종로구 · +13.2%
- 구로구 · +12.5%
- 수원시영통구 · +12.1%
- 광진구 · +11.7%
- 노원구 · +11.4%
- 양천구 · +11.2%
- 삼척시 · +11.1%
- 무안군 · +10.9%
- 강북구 · +10.6%
- 중랑구 · +10.6%
- 마포구 · +10.4%
- 은평구 · +10%
- 의왕시 · +9.7%
- 용인시기흥구 · +8.8%
- 창원시성산구 · +8.7%
- 동해시 · +8.1%
- 금천구 · +8.1%
- 도봉구 · +7.9%
- 남원시 · +7.9%
- 진주시 · +7.8%
- 군포시 · +7.1%
- 수원시팔달구 · +7%
- 용산구 · +6.9%
- 안양시만안구 · +6.9%
- 전주시덕진구 · +6.4%
- 수원시장안구 · +6.2%
- 중구 · +5.7%
- 전주시완산구 · +5.7%
- 거창군 · +5.4%
- 수원시권선구 · +5.2%
- 완주군 · +4.7%
- 태백시 · +4.6%
- 안동시 · +4.6%
- 부천시원미구 · +4.3%
- 남구 · +3.9%
- 남양주시 · +3.6%
- 용인시처인구 · +3.5%
- 경주시 · +3.4%
- 부천시소사구 · +3.3%
- 순천시 · +3.3%
- 목포시 · +3.1%
- 서산시 · +2.8%
- 서구 · +2.7%
- 울주군 · +2.6%
- 가평군 · +2.5%
- 중구 · +2.5%
- 연제구 · +2.5%
- 당진시 · +2.4%
- 상주시 · +2.4%
- 밀양시 · +2.4%
- 고양시덕양구 · +2.3%
- 광주시 · +2.3%
- 창원시의창구 · +2.3%
- 서초구 · +2.2%
- 영천시 · +2.2%
- 동래구 · +2.2%
- 수영구 · +2.2%
- 창원시마산회원구 · +2.2%
- 과천시 · +2%
- 연수구 · +2%
- 해운대구 · +2%
- 충주시 · +1.9%
- 영주시 · +1.9%
- 수성구 · +1.9%
- 서구 · +1.8%
- 양산시 · +1.8%
- 부산진구 · +1.8%
- 화순군 · +1.8%
- 계룡시 · +1.7%
- 논산시 · +1.7%
- 나주시 · +1.7%
- 남구 · +1.6%
- 동구 · +1.5%
- 북구 · +1.5%
- 동구 · +1.4%
- 북구 · +1.3%
- 강남구 · +1.2%
- 정읍시 · +1.2%
- 창원시마산합포구 · +1.2%
- 의정부시 · +1.1%
- 부평구 · +1.1%
- 안산시단원구 · +1.1%
- 청주시흥덕구 · +1.1%
- 동구 · +0.9%
- 사하구 · +0.9%
- 오산시 · +0.8%
- 구미시 · +0.8%
- 김천시 · +0.8%
- 안산시상록구 · +0.7%
- 남구 · +0.7%
- 북구 · +0.6%
- 공주시 · +0.6%
- 금정구 · +0.6%
- 포천시 · +0.5%
- 함안군 · +0.5%
- 양주시 · +0.4%
- 양평군 · +0.4%
- 시흥시 · +0.4%
- 태안군 · +0.4%
- 대덕구 · +0.3%
- 경산시 · +0.3%
- 유성구 · +0.2%
- 보령시 · +0.2%
- 계양구 · +0.1%
- 춘천시 · 0%
- 남동구 · 0%
- 제천시 · 0%
- 천안시서북구 · 0%
- 칠곡군 · 0%
- 달서구 · 0%
- 동구 · 0%
- 서구 · -0.1%
- 서귀포시 · -0.1%
- 부천시오정구 · -0.2%
- 기장군 · -0.3%
- 중구 · -0.4%
- 통영시 · -0.4%
- 예산군 · -0.5%
- 제주시 · -0.5%
- 세종시 · -0.7%
- 익산시 · -0.7%
- 강릉시 · -0.8%
- 김포시 · -1%
- 청주시상당구 · -1%
- 안성시 · -1.1%
- 천안시동남구 · -1.1%
- 달성군 · -1.2%
- 광산구 · -1.3%
- 서구 · -1.3%
- 고양시일산동구 · -1.4%
- 홍성군 · -1.4%
- 사천시 · -1.4%
- 원주시 · -1.5%
- 김해시 · -1.5%
- 사상구 · -1.5%
- 평택시 · -1.6%
- 영도구 · -1.6%
- 진천군 · -1.7%
- 창녕군 · -1.7%
- 파주시 · -1.8%
- 광양시 · -1.8%
- 동구 · -1.9%
- 군산시 · -2.1%
- 남구 · -2.1%
- 거제시 · -2.1%
- 동두천시 · -2.3%
- 창원시진해구 · -2.3%
- 여주시 · -2.5%
- 아산시 · -2.7%
- 북구 · -2.7%
- 강서구 · -2.7%
- 증평군 · -2.9%
- 고양시일산서구 · -3.2%
- 포항시북구 · -5%
- 김제시 · -5%
- 음성군 · -5.1%
- 속초시 · -5.2%
- 포항시남구 · -5.3%
- 여수시 · -5.6%
- 이천시 · -7.4%
What this map does not hide
- Not a comparison of medians
- Measured across 24,322 pairs. Districts with fewer than 20 are left without a value — a district resting on twenty pairs and one resting on nine hundred draw the same hexagon, so the popup carries the pair count. When a cell surprises you, read that number first.
- {unmeasured} districts have no colour
- No complex in them traded at both ends of the window. 61 had pairs but fewer than 20 of them; 5 had no pair at all — their sales happened in buildings that never repeated, which is not the same as nothing being filed. A retired region code also answers with a valid response and zero rows, so the build fails if any district’s whole window is empty. They keep a hexagon in a neutral fill rather than becoming a hole: the country’s outline is why this map is readable, and an empty cell meaning "no evidence" reads as "no change". Those are different statements.
- Not an annual figure
- The first three months of a twelve-month window against the last three — "2026-06–2026-08 against 2025-09–2025-11". It is neither a yearly rate nor a recent trend. And the months are filing months, not signing months.
- A second colour
- This site had exactly one colour. A signed value is read by hue — that is the convention, and a reader should not have to consult a legend to learn which way a cell points — so the falling half got one of its own. It was added on the data’s terms: the two ends are matched on contrast, 3.13:1 against 3.05:1 on paper and 5.76 against 5.91 on ink, because on a diverging scale a half that shouts louder is an argument rather than a measurement. The new role is measured by the same gate and published on /art-direction like every other one.