월간 부동산 시세 리포트

매달 자동으로 관심 지역의 거래 통계를 정리해서 리포트를 보냅니다

난이도
어려움
예상 시간 40~60분
조회 0
다운로드 0

자동화 흐름

🏭 국토부 실거래가
Make.com 필터 + 가공
📊 Google Sheet
+
이메일
+
Make.com

월간 부동산 시세 리포트 자동화

매달 1일, 국토교통부 실거래가 공공 API에서 지난달 아파트 매매·전세 데이터를 수집하고, Google Sheets에 피벗 테이블로 정리한 뒤, 이메일로 리포트를 발송하는 자동화 레시피입니다.

---

사전 준비

| 항목 | 설명 | |------|------| | 국토교통부 API 인증키 | 공공데이터포털에서 "아파트매매 실거래 상세 자료" 활용 신청 | | Google Sheets | 리포트용 스프레드시트 생성 후 시트 ID 확보 | | 이메일 서비스 | Gmail 또는 SMTP 연동 설정 완료 | | Make 계정 | 시나리오 생성 및 스케줄 설정용 |

---

Step 1: 국토교통부 실거래가 API 호출

HTTP 모듈로 아파트 매매 실거래 데이터를 요청합니다.

GET http://openapi.molit.go.kr/OpenAPI_ToolInstall498/service/rest/RTMSDataSvcAptTradeDev/getRTMSDataSvcAptTradeDev

주요 파라미터:

| 파라미터 | 값 | 설명 | |----------|----|------| | serviceKey | {{API_KEY}} | 공공데이터포털 인증키 | | LAWD_CD | 11110 | 법정동 코드 (예: 종로구) | | DEAL_YMD | 202603 | 계약년월 (YYYYMM) | | pageNo | 1 | 페이지 번호 | | numOfRows | 1000 | 한 페이지 결과 수 |

Tip: DEAL_YMD는 Make의 날짜 함수로 자동 계산합니다. {{formatDate(addMonths(now; -1); "YYYYMM")}} 를 사용하면 항상 전월 데이터를 가져옵니다.

---

Step 2: 응답 데이터 파싱 및 정제

API 응답은 XML 형식입니다. JSON 파싱 모듈로 변환 후 필요한 필드를 추출합니다.

<item>
  <거래금액> 82,000</거래금액>
  <건축년도>2003</건축년도>
  <년>2026</년>
  <법정동>사직동</법정동>
  <아파트>광화문풍림아이원</아파트>
  <월>3</월>
  <일>15</일>
  <전용면적>84.95</전용면적>
  <층>12</층>
</item>

Iterator 모듈로 각 항목을 순회하며 다음 데이터를 매핑합니다:

| 추출 필드 | 변환 로직 | |-----------|-----------| | 거래금액 | 쉼표 제거 후 숫자 변환 (만원 단위) | | 전용면적 | 평수 환산: 전용면적 / 3.306 | | 평당가 | 거래금액 / 평수 | | 거래일자 | 년-월-일 조합 |

---

Step 3: Google Sheets 피벗 테이블 구성

Google Sheets 모듈에서 Add a Row 액션을 사용합니다.

시트 구조 예시:

| A열 (동) | B열 (아파트) | C열 (면적) | D열 (층) | E열 (거래금액) | F열 (평당가) | G열 (거래일) | |----------|-------------|-----------|---------|--------------|------------|------------| | 사직동 | 광화문풍림아이원 | 84.95㎡ | 12층 | 82,000만 | 3,195만 | 2026-03-15 |

Tip: 별도의 "Summary" 시트를 만들어 QUERY 함수로 자동 피벗 테이블을 구성하면 매달 데이터가 추가될 때마다 자동으로 요약이 갱신됩니다.

=QUERY(Data!A:G, "SELECT A, AVG(F) GROUP BY A ORDER BY AVG(F) DESC LABEL AVG(F) '평균 평당가'")

---

Step 4: 전월 대비 시세 변동 비교

이전 달 데이터와 비교하여 가격 변동률을 계산합니다.

변동률(%) = ((이번달 평균 평당가 - 지난달 평균 평당가) / 지난달 평균 평당가) x 100

Make의 Math 함수를 활용합니다:

{{round((currentAvg - prevAvg) / prevAvg * 100; 1)}}

| 지역 | 전월 평당가 | 금월 평당가 | 변동률 | |------|-----------|-----------|--------| | 종로구 | 3,150만 | 3,195만 | +1.4% | | 강남구 | 5,820만 | 5,780만 | -0.7% | | 마포구 | 3,480만 | 3,510만 | +0.9% |

---

Step 5: 이메일 리포트 발송

매월 1일 오전 9시에 HTML 형식의 리포트 이메일을 발송합니다.

이메일 제목: [부동산 시세] 2026년 3월 월간 리포트

이메일 본문 템플릿:

<h2>{{formatDate(now; "YYYY년 M월")}} 부동산 시세 리포트</h2>
<p>지난달 주요 지역 아파트 매매 시세를 정리했습니다.</p>
<table border="1" cellpadding="8">
  <tr><th>지역</th><th>평균 평당가</th><th>변동률</th></tr>
  {{#each regions}}
  <tr><td>{{name}}</td><td>{{avgPrice}}만</td><td>{{changeRate}}</td></tr>
  {{/each}}
</table>
<p>상세 데이터: <a href="{{sheetUrl}}">Google Sheets 바로가기</a></p>

---

Step 6: Make 스케줄 설정

| 설정 항목 | 값 | |----------|-----| | 실행 주기 | 매월 1일 | | 실행 시각 | 오전 09:00 KST | | 타임존 | Asia/Seoul |

---

예상 결과

  • 매월 1일 자동으로 전월 실거래가 데이터 수집
  • Google Sheets에 월별 데이터 누적 및 피벗 테이블 자동 갱신
  • 이메일로 지역별 평균 시세, 변동률 포함 리포트 수신
  • 장기 추세 분석을 위한 히스토리 데이터 자동 축적
---

트러블슈팅

| 증상 | 원인 | 해결 방법 | |------|------|-----------| | API 응답이 비어 있음 | 해당 월 데이터가 아직 미공개 | 실거래가는 신고 후 약 1-2개월 후 공개됨. 실행일을 2일로 변경하거나 2개월 전 데이터 조회 | | XML 파싱 오류 | 응답 인코딩 문제 | HTTP 모듈에서 응답 인코딩을 UTF-8로 명시 설정 | | Google Sheets 인증 만료 | OAuth 토큰 갱신 실패 | Make에서 Google 연결을 재인증 | | 이메일 발송 실패 | Gmail 일일 발송 한도 초과 | SMTP 서비스로 변경하거나 수신자 수 줄이기 | | 거래금액 숫자 오류 | 쉼표 포함 문자열 | replace() 함수로 쉼표 제거 후 parseNumber() 적용 |

📥

Make 블루프린트 다운로드

JSON 파일을 Make.com에 임포트하면 시나리오가 자동 생성됩니다

댓글 · 질문 (0)