구글시트로 CPI 그래프 자동 업데이트하기 — 데이터가 스스로 흐르는 구조

여러분은 혹시 이런 경험이 있으신가요? 뉴스에 “물가 안정세”라는 기사가 떴는데, 실제 장보기를 하면 체감은 그렇지 않았던 경험말이죠. 이 글은 그러한 괴리를 줄이기 위한 첫걸음으로, ‘데이터를 직접 불러와 보는 시스템’을 만드는 이야기입니다. 구글시트와 한국은행 ECOS API를 연결해 CPI 데이터를 자동으로 업데이트하고, 그래프가 스스로 업데이트 되는 시스템을 만드는 원리를 자세히 살펴보겠습니다.

DailyFinLab의 목표는 ‘데이터가 자동으로 흐르는 경제 실험실’을 구축하는 것입니다. 이번 실험에서는 수동 보고서 작성이 아닌, 데이터가 스스로 업데이트되고 해석되는 구조를 만들어봅니다.

1. 왜 CPI(소비자물가지수)를 자동화해야 할까?

CPI는 ‘물가’의 표준 단위입니다. 하지만 현실에서는 이 숫자가 단지 한 줄짜리 통계로만 소비됩니다. 뉴스 헤드라인에는 “CPI 2.6% 상승”이라고 나오지만, 그 안에는 수십 개 품목의 변동, 계절효과, 세금 구조 등 복합적인 정보가 들어 있습니다.

문제는 이 데이터를 매번 수동으로 업데이트해야 한다는 점입니다. 한국은행 ECOS 사이트에서 CSV를 내려받고, 엑셀에서 그래프를 그리는 일은 반복적이고 비생산적이죠. 반면 구글시트는 API를 통해 데이터를 ‘자동 갱신’할 수 있습니다. 데이터가 바뀌면 그래프도 바뀌는, 즉 ‘살아 있는 리포트’가 되는 셈입니다.

예를 들어 2025년 10월 기준으로 CPI(2020=100)는 113.8을 기록했습니다. 이는 전년 동월 대비 +2.6% 상승으로, 코로나 이후 안정세 속에서도 여전히 상승 압력이 남아 있음을 보여줍니다. 이러한 변화를 자동으로 추적한다면, 경제 뉴스를 기다릴 필요 없이 데이터가 먼저 변화를 알려주게 됩니다.

출처: 한국은행 ECOS, DailyFinLab 자체 정리 (2025.11)

즉, CPI 자동화는 단순히 “그래프를 자동으로 그리는 기술”이 아니라, 데이터의 생명주기를 설계하는 일입니다. 데이터가 정해진 주기에 따라 스스로 변하고, 이를 기반으로 인간이 인사이트를 얻는 구조를 만드는 것이죠.

2. 구글시트와 ECOS API — 데이터 흐름의 본질

많은 분들이 구글시트를 단순한 클라우드 엑셀로만 생각합니다. 하지만 구글시트는 사실상 경량 데이터베이스이며, 외부 API와 연결할 수 있는 미니 서버 역할도 합니다.

한국은행의 ECOS API는 공식적으로 모든 경제지표를 공개합니다. 구조는 아래와 같습니다.

요소설명
API 키한국은행 홈페이지에서 발급받는 개인 인증키 (무료)
지표 코드CPI의 경우 901Y001 (소비자물가지수)
기간예: 2020.01 ~ 2025.10
출력 포맷JSON 또는 XML 선택 가능

출처: 한국은행 ECOS 개발자 가이드

구글시트는 이 API에서 데이터를 실시간으로 가져오고, IMPORTXML()이나 Apps Script를 통해 자동으로 변환합니다. 이때 핵심은 ‘자동 호출의 주기’‘데이터 정합성’입니다. 아무리 자동이라도 하루에 수십 번 갱신할 필요는 없습니다. ECOS는 월 단위 업데이트이므로, 1일 1회면 충분합니다.

3. 구체적 구조: 데이터가 ‘흐르는 길’ 설계하기

자동화 시스템은 물이 흐르는 배관과 비슷합니다. 어느 곳에서 물(데이터)이 나오고, 어디로 흘러가며, 어떤 밸브(스크립트)를 거쳐 시각화되는지 설계해야 합니다.

  1. 입력(Source): 한국은행 ECOS API
  2. 처리(Processing): 구글시트 함수 및 스크립트
  3. 출력(Output): 차트, 블로그, 대시보드 등

예를 들어 ECOS에서 CPI 데이터를 불러올 때, 아래 URL을 호출합니다.

https://ecos.bok.or.kr/api/StatisticSearch/{API키}/json/kr/1/12/901Y001/MM/202001/202510/CPI

이 URL을 IMPORTDATA()IMPORTXML()로 불러오면 JSON/XML 데이터가 시트에 바로 표시됩니다.

📘 Apps Script 활용

하지만 단순 함수로는 데이터 구조 제어가 어렵기 때문에, Apps Script를 통해 자동화 로직을 세밀하게 제어할 수 있습니다.

function updateCPI() {
    const url = "https://ecos.bok.or.kr/api/StatisticSearch/YOUR_API_KEY/json/kr/1/120/901Y001/MM/202001/202510/CPI";
    const response = UrlFetchApp.fetch(url);
    const data = JSON.parse(response.getContentText());
    const rows = data.StatisticSearch.row.map(r => [r.TIME, parseFloat(r.DATA_VALUE)]);
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CPI");
    sheet.getRange(2, 1, rows.length, 2).setValues(rows);
  }

이 스크립트는 매달 새 데이터를 덮어씁니다. 구글시트의 트리거(Trigger) 기능을 이용해 “매월 5일 오전 9시” 자동 실행되게 설정하면, 완전한 자동화가 완성됩니다.

📈 데이터 결과 예시

연월CPI(2020=100)
2020.01100.0
2021.01102.6
2022.01107.8
2023.01112.3
2024.01113.0
2025.01113.8

(단위: 지수, 기준=2020년 / 출처: 한국은행 ECOS, DailyFinLab 자체 정리 2025.11)

4. 자동화 시스템이 만드는 ‘시간 절약의 경제학’

한 번의 세팅으로 매달 갱신이 자동화된다면, 얼마나 시간을 절약할 수 있을까요? 예를 들어, 수동 보고서 업데이트에 월 30분이 걸린다고 가정하면, 연간 6시간이 절약됩니다. 만약 같은 구조를 5개의 경제지표(금리·환율·CPI·CCSI·부동산지수)에 적용한다면, 연간 30시간의 반복노동이 사라집니다.

이는 단순한 효율화가 아니라 데이터 신뢰성의 상승으로 이어집니다. 수동 입력은 오류를 낳지만, 자동 연결은 원본을 그대로 가져옵니다. 즉, ‘데이터 자동화’는 ‘데이터 정직화’입니다.

🧠 심화 구조: 파이프라인 설계

한국은행 ECOS → 구글시트 → 자동그래프 갱신 흐름도
출처: DailyFinLab 자체 정리 (2025.11)

자동화는 3단계로 구성됩니다:

  1. 데이터 수집 — ECOS API 호출
  2. 데이터 저장 — 시트 내 구조화
  3. 데이터 표현 — 시각화 및 공유

이 과정을 ‘데이터 파이프라인’이라 부릅니다. 파이프라인이 잘 설계되면, 데이터는 시간에 따라 자연스럽게 “흐르며 축적되는 자산”이 됩니다.

5. 자동화의 현실적인 과제

모든 자동화에는 예외가 있습니다. 예를 들어 ECOS 서버 점검으로 API 호출이 실패하거나, 시트가 일정 기간 열리지 않아 스크립트가 중단될 수 있습니다. 이런 문제를 해결하기 위해서는 오류 감시와 백업 로직이 필요합니다.

  • API 응답이 없을 경우 이전 데이터 유지
  • 시트에 “마지막 업데이트 시각”을 기록
  • 오류 발생 시 이메일 알림 전송 (Apps Script MailApp 기능 활용)

보안 측면에서도 API 키는 개인 자산이므로, 코드에 직접 노출하기보다는 시트의 PropertiesService를 활용해 암호화 저장해야 합니다.

6. CPI 외 데이터로 넓히기

CPI 자동화 구조는 다른 모든 경제 데이터로 확장할 수 있습니다. 예를 들어, 한국은행의 기준금리, 소비자심리지수, 통계청의 온라인쇼핑 거래액 등은 모두 유사한 API 구조를 갖습니다.

  • 📊 기준금리 (ECOS 코드: 722Y001) → 금리 트렌드 자동 갱신
  • 🪙 환율 (731Y002) → 실시간 환율 추이
  • 🛒 온라인쇼핑 거래액 (통계청 KOSIS API) → 소비패턴 자동화

이런 방식으로 CPI + 금리 + 환율을 동시에 시각화하면, “실질금리 대시보드”를 완성할 수 있습니다.

예시 계산: 기준금리 3.25%, CPI 상승률 2.6% → 실질금리 = 3.25 – 2.6 = +0.65%

이를 구글시트에서 실시간 계산하도록 만들면, 매달 정책금리 발표 직후 자동으로 실질금리 차트가 업데이트됩니다. 데이터가 스스로 해석되는 구조, 그것이 바로 “AI 없는 AI 시스템”입니다.

7. 데이터 신뢰성과 자동화의 공존

자동화는 인간의 실수를 줄이지만, 맹목적인 신뢰는 금물입니다. 데이터 원본이 수정되거나 코드가 변경될 가능성도 있기 때문입니다. 따라서 주기적으로 수동 검증 절차를 병행해야 합니다.

  • 매월 첫 실행 후, 데이터 수치를 ECOS 웹사이트와 교차 검증
  • 차트의 급격한 변화 감지 시, 수식 오류 여부 확인
  • 시트에 변경 이력(Revision Log) 자동 저장

이렇게 하면 자동화의 장점을 유지하면서도 ‘데이터 품질 관리(QC)’를 놓치지 않을 수 있습니다.

8. 데이터가 자동으로 흐를 때, 해석은 인간의 몫이 된다

우리는 흔히 데이터를 “수집하는 일”로만 생각하지만, 진짜 중요한 건 그 데이터를 ‘어떻게 흘려보내느냐’입니다. 이번 실험에서 구글시트와 ECOS API를 연결해본 이유도, 인간의 반복노동을 줄이면서 데이터를 스스로 살아 움직이게 하기 위함입니다.

자동화의 핵심은 ‘코드를 짜는 능력’이 아니라 ‘흐름을 설계하는 사고’입니다. 구글시트로 시작해 API, 대시보드, AI 분석까지 확장된다면, 개인도 데이터 기자·경제분석가 수준의 리포트를 자동으로 생산할 수 있습니다.

DailyFinLab은 앞으로도 이러한 “데이터가 스스로 흐르는 구조”를 실험하며, 여러분이 데이터로 경제를 읽는 눈을 키우는 데 도움을 드리겠습니다.


출처

“구글시트로 CPI 그래프 자동 업데이트하기 — 데이터가 스스로 흐르는 구조”에 대한 1개의 생각

댓글 남기기