CPI 전년 대비·전월 대비 물가상승률 계산법

2026년 9월 미국 소비자물가는 전년 대비 3.7%, 전월 대비 0.6% 올랐습니다. 두 변화율 모두 같은 공식, 즉 최신 지수를 이전 지수로 나눈 값에서 1을 뺀 값으로 구하며, 인플레이션 엔드포인트는 이미 계산된 값을 반환합니다.

API로 CPI 변화율 가져오기

  1. API 키 설정 무료 키를 받아 NARWHAL_API_KEY라는 환경 변수에 보관하세요. 요청은 기본 URL https://api.narwhalapi.com과 헤더 Authorization: Bearer YOUR_KEY를 사용하며, REST와 MCP는 같은 키를 공유합니다.
  2. 이미 계산된 인플레이션율 읽기 year_over_year, month_over_month, year_to_date, released_on은 인플레이션 엔드포인트에서 가져옵니다. 변화율은 퍼센트로 표현된 십진수 문자열이므로, 해당 기간의 대표 수치가 필요할 때 반환된 값을 그대로 쓰면 됩니다.
    curl, 이미 계산된 변화율
    curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
      "https://api.narwhalapi.com/v1/economics/USA/inflation"
  3. 지수 수준에서 변화율 계산하기 CPI 관측값 엔드포인트는 period와 value 행을 반환하며 index_base는 1982-84=100으로 설정되어 있습니다. 이 스크립트는 전월과 1년 전 같은 달을 period로 찾아, 필요한 관측값이 있으면 변화율을 계산합니다.
    Python, 지수 수준에서 구한 전월 대비
    import os
    import requests
    
    r = requests.get(
        "https://api.narwhalapi.com/v1/economics/USA/cpi/observations",
        params={"start": "2025-09", "limit": 24},
        headers={"Authorization": f"Bearer {os.environ['NARWHAL_API_KEY']}"},
        timeout=10,
    )
    r.raise_for_status()
    cpi = {o["period"]: float(o["value"]) for o in r.json()["observations"]}
    
    latest = max(cpi)  # "2026-09"
    year, month = latest.split("-")
    prev_month = f"{year}-{int(month) - 1:02d}" if month != "01" else f"{int(year) - 1}-12"
    prev_year = f"{int(year) - 1}-{month}"
    
    print("MoM %.2f%%" % ((cpi[latest] / cpi[prev_month] - 1) * 100))
    print(
        "YoY %.2f%%" % ((cpi[latest] / cpi[prev_year] - 1) * 100)
        if prev_year in cpi
        else "year-ago month not in range"
    )
  4. 반환된 기간 확인하기 모든 계정이 전체 이력을 조회할 수 있습니다. 반환된 첫 기간이 시계열의 시작점과 계산을 시작할 수 있는 지점을 알려 줍니다.

전월 대비는 이번 달 CPI를 지난달 CPI로 나눈 뒤 1을 빼고 100을 곱합니다. 전년 대비는 1년 전 같은 달을 분모로 사용합니다. 인플레이션 엔드포인트는 두 종합 상승률도 year_over_year와 month_over_month에 계산된 값으로 반환합니다.

3개월이나 특정 날짜 이후처럼 임의의 구간은 끝 지수를 시작 지수로 나눈 뒤 1을 뺍니다. 퍼센트로 나타내려면 100을 곱합니다. 비교하려는 구간에 맞게 시작 기간을 고르세요. 이미 계산된 월간 또는 연간 변화율이 그 구간과 맞지 않을 때는 지수 수준을 사용합니다.

시트에서 CPI 변화 계산하기, 또는 코드 없이 변화율 읽기

Google 스프레드시트에서는 기간을 붙여 넣기 전에 A열을 서식, 숫자, 일반 텍스트 순서로 선택해 일반 텍스트로 지정하세요. 스프레드시트가 2026-09를 날짜로 바꾸면 텍스트 조회가 맞지 않게 됩니다. A열에 기간 텍스트를, B열에 해당 CPI 값을 넣습니다. Excel 수식도 같은 기간과 값의 배치를 씁니다.

2026년 9월 전월 대비
=VLOOKUP("2026-09",A:B,2,FALSE)/VLOOKUP("2026-08",A:B,2,FALSE)-1

결과를 퍼센트로 표시하세요. 인접한 행이 인접한 달이라고 가정하지 말고 기간으로 각 달을 찾으세요. 관측값이 하나 빠지면 비교가 어긋날 수 있습니다. 전년 대비에는 1년 전 같은 달이 필요하므로 최소 13개월 분량의 수준값을 요청하거나 계산된 year_over_year 값을 사용하세요. Narwhal 인플레이션 페이지에서도 국가별 상승률을 볼 수 있습니다.

시트에서 2026년 9월의 연초 이후 변화율을 계산하려면 2026년 9월과 2025년 12월을 period로 찾아 그 지수 수준을 같은 나눗셈에 씁니다. 분모가 12월 수준으로 바뀔 뿐 뺄셈과 퍼센트 서식은 같습니다.

계산에 맞는 CPI 방식 고르기

상황적합한 방법이유
대표 인플레이션율이 필요한 경우인플레이션 엔드포인트year_over_year와 month_over_month를 계산된 값으로 반환합니다
3개월 또는 특정 날짜 이후의 변화율이 필요한 경우CPI 지수 수준구간 시작과 끝의 지수 수준을 사용합니다

내 CPI 계산이 발표된 변화율과 다른 이유는 무엇인가요?

발표 기관은 지수와 변화율을 따로 반올림하므로 지수 수준으로 계산하면 소수 둘째 자리에서 차이가 날 수 있습니다. 2026년 9월은 336.940을 334.980으로 나누면 계산 예시의 월간 변화율이 됩니다. Python 계산은 소수 둘째 자리까지 표시하고, API의 월간 변화율은 소수 첫째 자리입니다. 두 수치를 비교할 때는 계산값과 반환된 변화율의 정밀도를 염두에 두세요.

CPI 월 데이터가 빠졌다면 어떻게 하나요?

빠진 달을 보간하지 마세요. 2026년 9월 예시에서 미국 계열은 2025년 11월에 시작하며 2025년 10월 관측값은 계열에 없습니다. 응답에 13개월 연속 행이 들어 있다고 가정하지 마세요. 범위를 넓혀 요청해도 없는 관측값이 생기지는 않으므로, 필요한 기간에 맞춰 조회하세요.

2026년 9월 예제에서 Python 스크립트는 월간 상승률과 전년 대비 상승률을 소수점 둘째 자리까지 출력합니다. 종합 연간 상승률은 인플레이션 엔드포인트를 사용하세요.

월간 CPI 변화율을 연율로 환산할 수 있나요?

네. MoM을 소수로 표현하고 (1 + MoM)^12 - 1을 쓰면 월간 변화율이 연간 변화율이 됩니다. 2026년 9월은 계산 예시의 월간 계산에서 거기에 적힌 연율 환산 결과가 나옵니다. 전년 대비는 1년 전 같은 달의 실제 지수를 쓰므로, 월간 변화율을 연율로 환산하는 계산과 따로 두세요.

계산 예: 2026년 9월 미국 CPI

2026년 9월 CPI 336.940과 2026년 8월 CPI 334.980에서 시작합니다. 9월 수준을 8월 수준으로 나눠 1을 빼고 100을 곱하면 전월 대비가 됩니다. 연초 이후는 분모에 2025년 12월 CPI 324.054를 쓰고 같은 공식을 적용합니다.

2026년 9월 인플레이션 응답에서 released_on은 2026-10-14로 설정되어 있습니다. 연간 대표 변화율은 year_over_year 필드를 읽으세요. 위의 12월 비교는 연초 이후 변화율입니다. 고른 구간에서 CPI가 떨어지면 계산한 변화율은 음수가 되며 물가 하락을 뜻합니다.

2026년 9월 지표계산 또는 반환된 필드결과(퍼센트)
지수 수준에서 구한 전월 대비(336.940 / 334.980 - 1) × 1000.585, 표시는 0.59
지수 수준에서 구한 연초 이후(336.940 / 324.054 - 1) × 1003.98
연율로 환산한 월간 변화율((336.940 / 334.980)^12 - 1) × 1007.25
발표된 전월 대비month_over_month0.6
발표된 연초 이후year_to_date4.0
발표된 전년 대비year_over_year3.7

에 게시되었습니다.

다음 단계