對照兩個國家的通膨,檢查加薪是否跟上物價

加薪幅度不低於 CPI 年增率時,加薪就跟上了物價。Narwhal 提供各國的通膨率,下面的 Python 把加薪幅度與通膨率換算成實質變動;對大多數國家,它沒有薪資基準資料。

讀取各國的通膨率

通膨端點回傳一個國家最新的年度與月度物價變動。下面這兩個請求取得的是德國與日本。

curl,德國的通膨率
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/economics/DEU/inflation"
回應
{
  "country": "DEU",
  "period": "2026-09",
  "year_over_year": "3.3",
  "month_over_month": "0.6",
  "year_to_date": "3.2",
  "released_on": "2026-10-13"
}
curl,日本的通膨率
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/economics/JPN/inflation"
回應
{
  "country": "JPN",
  "period": "2026-09",
  "year_over_year": "2.1",
  "month_over_month": "0.0",
  "year_to_date": "1.3",
  "released_on": "2026-10-23"
}

year_over_year 是消費者物價指數相對一年前同月的變動百分比,在最新月份 period,德國為 3.3,日本為 2.1。month_over_month 是相對上個月的變動,year_to_date 是相對 12 月的變動。released_on 是公布日期。這些值是以百分比表示的十進位字串。

與指數交叉驗證

同樣的比率可以用指數重新算出來。observations 端點回傳月度 CPI,下面的回應只保留了德國回傳的 13 個月中的第一個月與最後一個月。

curl,德國過去 12 個月的 CPI 指數
curl -s -H "Authorization: Bearer $NARWHAL_API_KEY" \
  "https://api.narwhalapi.com/v1/economics/DEU/cpi/observations?start=2025-09&end=2026-09"
回應,已精簡
{
  "country": "DEU",
  "as_of": "2026-10-13T00:00:00Z",
  "index_base": "2020=100",
  "observations": [
    {
      "period": "2025-09",
      "value": "122.6"
    },
    {
      "period": "2026-09",
      "value": "126.6"
    }
  ],
  "next_cursor": null
}

126.6 除以 122.6 等於 1.0326,所以指數在 12 個月裡上漲了 3.26%,四捨五入就是 year_over_year 中的 3.3。對日本做同樣的檢查,由 102.2 與 100.1 得到 2.10%。

把加薪與物價對照

Narwhal 對大多數國家沒有薪資或工資基準資料,所以本頁只寫物價這一側。加薪幅度由你自己提供。實質變動等於一加加薪幅度除以一加通膨率,再減一。結果為正,代表薪水比一年前買得到更多東西;結果為負,代表買得到的更少。

  1. 取得加薪幅度 使用兩個時期之間薪酬的百分比變動,兩次要採用相同的基準,例如稅前月薪。
  2. 讀取通膨率 請求該國的通膨率,保留 period 與 year_over_year。
  3. 計算比值 用一加加薪幅度除以一加通膨率,減去一,再乘以 100。
  4. 回報結果 寫明國家、通膨數據所屬的月份以及結果的正負。
python,加薪幅度與年增通膨率的對照
import json
import os
import urllib.request
from decimal import Decimal

def get(path):
    req = urllib.request.Request(
        "https://api.narwhalapi.com" + path,
        headers={"Authorization": "Bearer " + os.environ["NARWHAL_API_KEY"]},
    )
    with urllib.request.urlopen(req, timeout=30) as r:
        return json.load(r)

def check_raise(country, raise_percent):
    latest = get(f"/v1/economics/{country}/inflation")
    period = latest["period"]
    year, month = period.split("-")
    prior = f"{int(year) - 1}-{month}"
    index = get(f"/v1/economics/{country}/cpi/observations?start={prior}&end={period}")
    values = {o["period"]: Decimal(o["value"]) for o in index["observations"]}
    from_index = (values[period] / values[prior] - 1) * 100
    inflation = Decimal(latest["year_over_year"])
    raise_ = Decimal(raise_percent)
    real = ((1 + raise_ / 100) / (1 + inflation / 100) - 1) * 100
    print(f"{country} {period}: inflation {inflation}% (from index {from_index:.2f}%), "
          f"raise {raise_}%, real change {real:+.2f}%")

check_raise("DEU", "3.0")
check_raise("JPN", "2.5")
國家月份通膨加薪實質變動
德國(DEU)2026-093.3%3.0%-0.29%
日本(JPN)2026-092.1%2.5%+0.39%

德國 3.0% 的加薪低於 3.3% 的通膨率,所以薪水損失了 0.29% 的購買力。日本 2.5% 的加薪高於 2.1%,所以購買力增加了 0.39%。腳本還會在公布的比率旁邊列印用指數重新算出的比率。

這裡的通膨數字是全國的整體 CPI。它衡量的是平均一籃子商品,所以不會與某個家庭實際感受到的物價變動吻合,而且只涉及價格。與通膨持平的加薪,平均而言能讓購買力維持不變,但它並不能說明原本的薪水是否足夠。

月增率與年初至今提供了什麼資訊?

month_over_month 反映最近單月的變動,在物價快速波動時很有用。year_to_date 是相對上一年 12 月的變動。德國為 3.2,與 126.6 對比 2025 年 12 月指數 122.7 的結果一致。如果薪資每年 1 月調整一次,想知道本年度的漲價已經發生了多少,就可以用它。

為什麼用除法而不是減法?

薪水與物價都是複利變動,所以精確的實質變動是比值。對德國來說,3.0 減去 3.3 是 -0.30 個百分點,而用比值算出來是 -0.29%。在這樣的比率下差距很小,比率越高差距越大。

應該和哪個時期的通膨率對照?

使用在加薪生效時結束的那 12 個月。通膨端點回傳最新的月份;要看更早的月份,可以帶上 start 與 end 呼叫 /v1/economics/{country}/inflation/observations,它會為每個 period 回傳 year_over_year、month_over_month 與 year_to_date。例如,2026 年 7 月生效的加薪,就與 2026 年 7 月那一列對照。

薪資這一側的資料從哪裡來?

來自你自己。使用薪資紀錄、錄用通知或你信任的調查,把加薪幅度以百分比填入。API 只有物價這一側。對加拿大來說,any-series 路由可以搜尋有關薪資的表格,any-series 文件裡有說明,本頁沒有使用。

這種對照能跨國使用嗎?

每一次加薪都與它所在國家自己的物價、以該國貨幣來對照,所以各國的實質變動可以並排來看。這種對照對兩國的薪資水準都沒有說明,也不做貨幣換算。如果需要各國通膨率的排名,比較各國通膨率的指南介紹了請求方式。

發布於 。

後續步驟