CHALLENGE
클라이언트가 필요로 한 이유
클라이언트는 여러 부동산 플랫폼의 매물과 실거래 정보를 매일 조회해 엑셀에 옮기고 있었습니다. 같은 매물이 여러 중개 채널에 중복 노출되고 가격·설명이 수시로 바뀌어 단순 수집만으로는 최신 상태를 판단하기 어려웠습니다.
필요했던 것은 페이지를 긁어오는 수집기가 아니라 출처별 데이터를 같은 매물 기준으로 정리하고 변화 이력을 남기는 모니터링 시스템이었습니다. 일부 출처가 실패해도 전체 결과를 폐기하지 않고 품질 상태를 확인할 수 있어야 했습니다.
부동산 중개법인 고객사의 담당자는 매일 네이버 부동산, 직방, 다방, KB부동산, 국토부 실거래가 총 5개 플랫폼에서 담당 단지 시세를 직접 조회하고 엑셀에 기록했습니다.
하루 2.5시간 투자해도 담당 가능 단지 20개 한계, 급매물 선점 기회 상실
수동 시세 조회의 핵심 문제
| 문제 | 영향 |
|---|---|
| 5개 플랫폼 수동 조회 | 매일 하루 2.5시간 소요, 단순 조회·복사·기록 반복 |
| 담당 단지 한계 | 수작업 기준 최대 20개 단지만 관리 가능 |
| 급매물 탐지 지연 | 시세 조회 타이밍을 놓치면 경쟁사에 선점 |
| 시황 보고 병목 | 데이터 취합만으로 반나절 이상 소요 |
급매물이 올라와도 시세 조회 타이밍을 놓치면 경쟁사에 선점되는 상황이 반복됐고, 시황 분석 보고서는 데이터 취합만으로도 반나절이 소요되었습니다.
클라이언트 요청사항과 기획 방향
| 클라이언트 요청 | 이렇게 기획한 이유 | 해결 방식 |
|---|---|---|
| 여러 플랫폼 매물을 한 번에 비교 | 출처마다 주소·면적·가격 형식이 달라 그대로 합치면 같은 매물이 여러 건으로 보임 | 출처별 수집 모듈과 공통 매물 구조를 분리해 정규화 |
| 중복 매물과 가격 변화를 추적 | 현재값만 저장하면 어떤 출처에서 언제 바뀌었는지 확인할 수 없음 | 매물 식별 규칙과 출처별 스냅샷을 함께 보존 |
| 급격한 변화와 수집 장애를 구분 | 자료가 없는 이유가 실제 삭제인지 수집 실패인지 알 수 없음 | 출처 상태·마지막 성공 시각·변화 조건을 별도로 표시 |
SOLUTION
시온랩은 5개 플랫폼 시세를 자동 수집·분석하고, 변동 감지 시 즉시 알림을 발송하는 부동산 데이터 자동화 시스템을 설계·구축했습니다.
시스템 구조
- 매물 통합 검색 : 아파트·지역명·학교명으로 검색하면 네이버 부동산의 중복 매물을 자동으로 그룹화하여 보여줍니다. 매매·전세·월세 탭으로 거래 유형을 필터링하고, 매물별 면적·층수·향·가격을 한눈에 비교합니다.
보안 정책으로 확대가 제한됩니다
지역·단지와 거래 유형을 정해 후보를 좁히고 묶인 매물에서 비교할 대상을 선택합니다.
- 중복매물 상세 분석 : 동일 매물을 등록한 중개업소별 등록일·특징·설명·상태를 비교 확인합니다. 중복매물을 펼쳐보면 각 중개업소의 가격 차이와 특이사항을 파악할 수 있어, 최적의 매물을 빠르게 선별합니다.
보안 정책으로 확대가 제한됩니다
같은 후보의 중개업소별 등록일·설명·가격을 읽어 서로 다른 정보를 확인합니다.
- 5개 플랫폼 자동 수집 : 네이버 부동산, 직방, 다방, KB부동산, 국토부 실거래가를 매일 2회(오전 8시, 오후 6시) 자동 수집합니다.
- 히스토리 누적 저장 : 수집된 데이터를 PostgreSQL에 히스토리로 누적 저장하여 시세 추이 분석의 기반을 확보합니다.
- 시세 변동 자동 분석 : 단지별 시세 추이를 자동 분석하고, 전주 대비 5% 이상 변동 시 Notion 대시보드에 플래그를 표시합니다.
- 즉시 알림 : 급격한 시세 변동이나 급매물 감지 시 카카오톡 알림을 발송하여, 담당자가 즉시 대응할 수 있습니다.
담당자는 Notion에서 100개 단지 현황을 한눈에 파악할 수 있습니다.
BUILD
수집한 원본과 통합 매물을 함께 보관한 이유
출처별 수집 결과는 응답 상태와 필수값을 확인한 뒤 공통 주소·면적·층·가격 형식으로 바꿉니다. 통합 검색에서는 같은 매물 후보를 묶어 탐색하고 상세에서는 중개업소별 원문과 등록일·가격·설명을 비교합니다. 묶어서 보여주는 편의와 출처별 차이를 확인하는 기능을 함께 두어 중복 제거가 원본 근거 삭제로 이어지지 않게 했습니다.
가격 변화는 이전 스냅샷과 비교해 신규·변경·삭제 후보로 판단합니다. 알림을 받은 담당자는 해당 출처와 변화 시점을 확인한 뒤 재확인할 매물을 고릅니다. 수집된 가격과 실제 거래 가능 상태를 같은 사실로 단정하지 않는 흐름입니다.
구축 방향과 데이터 처리 로직
출처별 원본 응답, 정규화된 매물, 동일 매물 그룹, 가격 스냅샷을 분리했습니다. 주소·면적·동·층 같은 식별 기준으로 중복 후보를 묶되 원본 출처는 유지하고, 이전 스냅샷과 비교해 신규·변경·삭제 후보를 판정하도록 구성했습니다.
| 구간 | 들어오는 데이터 | 판정·처리 기준 | 다음 상태 |
|---|---|---|---|
| 출처 수집 | URL, 매물 정보, 수집 시각 | 응답 상태와 필수 필드 확인 | 원본 스냅샷 또는 출처 오류 |
| 정규화·중복 | 주소, 면적, 층, 가격, 출처 | 형식 표준화와 동일 매물 규칙 적용 | 통합 매물과 출처 목록 |
| 변화 감지 | 현재·이전 가격과 노출 상태 | 변동 폭·신규·삭제 후보 조건 확인 | 알림 또는 재확인 대상 |
VALIDATION
예외 상황에서 확인할 지점
한 플랫폼의 수집 실패는 전체 시장에서 매물이 사라진 것으로 읽지 않습니다. 주소가 같아도 면적·층이 다르면 확정 병합하지 않고, 급격한 가격 변화는 단위 오류 가능성을 검토합니다. 성공 출처의 정보와 실패 출처 상태를 함께 남기는 이유입니다.
검증한 업무 범위
| 검증 구간 | 확인한 상황 | 완료 기준 |
|---|---|---|
| 부분 실패 | 한 출처만 수집 오류 | 성공 출처는 유지되고 실패 출처의 상태만 표시 |
| 중복 판단 | 같은 주소의 면적·층이 다른 매물 | 확정 병합하지 않고 비교 가능한 후보로 구분 |
| 이상 변동 | 가격 급등락과 단위 오류 | 알림 전 이상값 검토 상태로 분리 |
비슷한 업무에 적용할 수 있는 부분
가격 비교, 채용 공고, 입찰 공고처럼 여러 출처의 항목을 동일 개체로 묶고 변화를 추적하는 업무에 적용할 수 있습니다. 수집 성공 여부와 실제 데이터 변화를 분리하는 것이 핵심입니다.
RESULT
| 지표 | Before | After | 개선율 |
|---|---|---|---|
| 시세 수집 시간 | 하루 2.5시간 | 10분 | 93% 절감 |
| 모니터링 단지 수 | 20개 | 100개 | 5배 확장 |
| 급매물 탐지 속도 | 3시간 | 15분 | 12배 향상 |
| 주간 보고 준비 | - | - | 70% 단축 |
※ 본 프로젝트는 고객사 실제 업무 요건을 바탕으로 설계한 결과물이며, 보안 정책에 따라 일부 화면만 공개했습니다.


