← Back to the converter

Methodology & sources

This page documents exactly how every number in Parity Check is produced — from the raw data feeds, through the calculation pipeline, to the figure you see on screen. Nothing is hand-tuned per country; every value below is either fetched live or derived by a formula described here.

1. The core idea

A market exchange rate tells you what a unit of currency costs. It does not tell you what that currency buys. Parity Check starts with the market rate, then rescales the result by the ratio of local price levels — so £50 of groceries in London becomes the amount of lira that buys a comparable basket in Türkiye, not just the amount of lira £50 trades for.

adjusted = amount × exchange rate × (destination index ÷ origin index)

Indices follow the Numbeo convention where New York City = 100. A country with a rent index of 16 has rents of roughly 16% of New York's. The ratio between two countries' indices is therefore the ratio of what things cost there.

2. The live data pipeline

Every figure on this site is rebuilt server-side from public data, cached for 12 hours, then rebuilt again. There are four steps:

  1. Market exchange rates. Today's rates per 1 USD are fetched from the Open Exchange Rate API (open.er-api.com). If the service is unreachable, a stored fallback table is used and the site is flagged as running on stored rates.
  2. Price levels from PPP. The World Bank's PPP conversion factor (PA.NUS.PPP, International Comparison Program) states how many local currency units buy the same basket that 1 USD buys in the United States. Dividing it by the market exchange rate gives a price level relative to the US:

    price level = PPP conversion factor ÷ market exchange rate

    A value of 0.70 means the local basket costs about 70% of the US basket.
  3. Category indices. The World Bank publishes one national price level, not one per category. Each country's seeded category shape (rent relative to groceries relative to transport, and so on, in the NYC = 100 convention) is preserved, and the whole shape is rescaled so the overall level matches the live price level:

    scale = clamp(live price level ÷ seeded price level, 0.6, 1.8) new index = seeded index × scale

    The clamp keeps the rescale conservative: a live reading can move an index by at most ±40–80%, never rewrite it.
  4. Salaries from GNI. Average income comes from World Bank GNI per capita in local currency (NY.GNP.PCAP.CN). GNI per capita is gross and includes non-labour income, so it is calibrated to an "average net monthly salary" scale using the median ratio between the two across the seeded dataset, then bounded to stay within 0.5×–2× the seeded figure and rounded to the nearest 50:

    salary ≈ (GNI per capita ÷ 12) × median calibration ratio, clamped to [0.5×, 2×] seeded

Status right now: live. World Bank figures for 2025 refreshed 49 countries; rates are live market rates; rebuilt Sat, 05 Sep 2026 15:12:33 GMT.

3. How each figure is calculated

Purchasing-power conversion

For a price category (overall, rent, groceries, eating out, transport, utilities), the result is the formula in section 1 applied to that category's index. The "nominal exchange" figure shown next to it uses the plain market rate with no rescaling, so you can see the gap between the two.

Salary conversion

Salary mode does not use a price index. It compares average net monthly salaries directly: both are converted to USD at the market rate and the ratio is applied to your amount. The result answers "what salary there is proportionate to my salary here", not "what my salary would buy".

salary ratio = (target avg salary ÷ target FX rate) ÷ (source avg salary ÷ source FX rate)

PPP salary page

The PPP calculator shows the salary needed in the destination country to match the purchasing power of your current one. It uses the same overall cost-of-living ratio as the converter, then breaks the result down per category so you can see where the two countries diverge.

City comparisons

City figures apply a stored city-to-country multiplier (derived from Numbeo city data) on top of the country's live index:

city index = live country index × city multiplier

So Istanbul's rent index is Türkiye's live rent index multiplied by Istanbul's stored rent multiplier. Country-level numbers refresh live; the city multipliers themselves are a stored dataset and do not update automatically.

Exchange rates and inflation panel

The rates panel shows today's market rate per 1 USD straight from the FX feed. Inflation is the latest annual consumer-price inflation (FP.CPI.TOTL.ZG) the World Bank holds for each country, shown with its reference year.

Ten-year history chart

The history tab fetches the same two World Bank series per year (PPP conversion factor and CPI inflation) for roughly the last decade, and plots the US-relative price level (PPP ÷ market FX, US = 1) alongside annual inflation. A rising price level means the country became more expensive relative to the US over that year.

4. Data sources

SourceSeriesUsed for
World Bank ICPPA.NUS.PPPLive price level of each country (PPP ÷ FX), refreshed automatically.
World BankNY.GNP.PCAP.CNGNI per capita, calibrated to average net monthly salary.
World BankFP.CPI.TOTL.ZGLatest annual consumer-price inflation per country.
Open Exchange Rate APIlatest/USDToday's market exchange rates; also the comparison figure.
Numbeo conventionNYC = 100Index scale, category shape of the seeded dataset, and city multipliers.
OECD price levelsPLICross-check on comparative price levels for member countries.
Big Mac IndexLightweight sanity check on outliers.

Data is rebuilt at most every 12 hours. World Bank series typically lag 1–2 years behind the calendar; exchange rates are same-day. Last rebuild: Sat, 05 Sep 2026 15:12:33 GMT.

5. Limits worth knowing

This tool estimates relative purchasing power using cost-of-living data, not real-time financial exchange rates. Figures are approximate and for general understanding only — not financial advice.

6. The live dataset (49 countries)

The exact indices in use right now, after the pipeline above:

CountryCost of livingRentGroceriesAvg net salary
🇺🇸 United States7447745,150 USD
🇬🇧 United Kingdom67.738.759.12,500 GBP
🇹🇷 Türkiye24.812.421.741,750 TRY
🇩🇪 Germany6130.554.93,200 EUR
🇫🇷 France58.226.255.32,550 EUR
🇪🇸 Spain49.12343.11,950 EUR
🇮🇹 Italy52.42047.72,200 EUR
🇵🇹 Portugal45.923.4401,600 EUR
🇳🇱 Netherlands64.238.953.53,700 EUR
🇧🇪 Belgium61.925.5543,150 EUR
🇮🇪 Ireland64.543.755.64,600 EUR
🇨🇭 Switzerland8542.984.25,450 CHF
🇦🇹 Austria62.327.155.33,250 EUR
🇸🇪 Sweden66.128.755.137,550 SEK
🇳🇴 Norway75.230.868.458,800 NOK
🇩🇰 Denmark70.530.957.930,200 DKK
🇫🇮 Finland64.826.356.72,900 EUR
🇵🇱 Poland39.319.235.45,950 PLN
🇨🇿 Czechia46.221.64043,400 CZK
🇬🇷 Greece45.31740.61,350 EUR
🇷🇴 Romania32.413.6295,650 RON
🇭🇺 Hungary43.618.538.1515,550 HUF
🇷🇺 Russia25.311.52384,150 RUB
🇺🇦 Ukraine21.58.92014,000 UAH
🇨🇦 Canada62.437.859.64,500 CAD
🇲🇽 Mexico45.220.840.414,950 MXN
🇧🇷 Brazil3715.232.63,350 BRL
🇦🇷 Argentina27.810.126.21,045,800 ARS
🇨🇱 Chile3614.435.1935,050 CLP
🇨🇴 Colombia3613.632.31,969,150 COP
🇿🇦 South Africa34.412.831.412,000 ZAR
🇪🇬 Egypt13.24.2128,450 EGP
🇳🇬 Nigeria14.45.413.8125,000 NGN
🇲🇦 Morocco31.110.4282,500 MAD
🇦🇪 United Arab Emirates46.932.440.110,950 AED
🇸🇦 Saudi Arabia34.617.331.37,550 SAR
🇮🇳 India15.74.51522,500 INR
🇵🇰 Pakistan18.1517.132,500 PKR
🇮🇩 Indonesia19.86.619.14,686,400 IDR
🇹🇭 Thailand22.79.12214,900 THB
🇻🇳 Vietnam19.98.119.17,096,750 VND
🇵🇭 Philippines22.57.522.515,900 PHP
🇲🇾 Malaysia24.88.823.23,150 MYR
🇸🇬 Singapore46.23841.16,200 SGD
🇨🇳 China37.417.139.55,700 CNY
🇯🇵 Japan4618.847.9330,300 JPY
🇰🇷 South Korea44.819.553.73,026,850 KRW
🇦🇺 Australia74.642.670.35,650 AUD
🇳🇿 New Zealand64.132.162.24,550 NZD