토지 하나를 검토하려면 서로 다른 사이트 네 곳을 돌며 규제·공시지가·대장·실거래를 각각 찾아야 했습니다. 이 과정을 하나의 화면으로 합치고, 개발 현금흐름과 세금 계산까지 붙였습니다.
부동산 개발 딜은 초기 스크리닝에서 대부분 걸러집니다. 그런데 그 스크리닝 한 건에 드는 시간이 너무 길었습니다. 토지이용계획확인원에서 용도지역을 보고, 부동산공시가격 알리미에서 공시지가를 찾고, 세움터에서 건축물대장을 열고, 실거래가 공개시스템에서 인근 거래를 뒤지고, 그 숫자들을 엑셀에 옮겨 적어 용적률과 사업비를 계산하는 일.
물건 하나에 반나절. 매물장에 수십 건이 올라오면 검토는 시작도 못 하고 며칠이 갑니다. 정작 중요한 판단에 쓸 시간은 남지 않았습니다.
흩어진 조회를 하나로 합치는 것만으로는 부족했습니다. 실무에서 진짜 필요한 건 "이 땅을 사서 지으면 얼마가 남는가"였기 때문에, 조회 결과가 그대로 사업성 계산의 입력으로 흘러 들어가야 했습니다.
법정동 × 용도지역별 거래 데이터로 지수를 만들고, 확정 딜의 실계약가로 개발 프리미엄 배수를 역산해 보정했습니다. 추정 오차(MAPE)를 명시적으로 화면에 노출해, 모델을 맹신하지 않고 참고치로 쓰도록 만들었습니다.
지번을 넣으면 수 초 안에 규제·시세·사업성이 한 화면에 뜨고, 버튼 한 번으로 개발 CF 엑셀과 IM 초안 PPT가 떨어집니다. 스크리닝이 빨라지니 더 많은 딜을 보게 됐고, 그게 실제 성과였습니다.

가장 많이 배운 건 "어디까지 자동화하고 어디서 멈출 것인가"였습니다. 초기에는 전부 자동으로 채우려 했는데, 그러면 사용자가 숫자를 검증하지 않고 그대로 씁니다. 지금은 모델 추정치와 실측치를 시각적으로 구분하고, 오차를 함께 보여주고, 최종 산출물은 반드시 사람이 편집할 수 있는 엑셀·PPT로 내보냅니다.
공공 API는 문서와 실제 응답이 다른 경우가 많아, 응답을 정규화하는 계층을 따로 두고 필드가 비어 올 때의 폴백을 전부 정의해야 했습니다. 이 부분이 전체 코드의 절반 가까이 됩니다.