Last refreshed May 2026

The CostLiving Engine

How we produce per-person monthly cost-of-living estimates for 888 locations worldwide. Named sources, single anchor, quarterly refresh.

888 Locations
7 Named sources
1 Anchor (BLS CEX)
Quarterly Refresh cadence

What the Engine does

The CostLiving Engine takes free public datasets and produces a single per-person monthly cost figure for each of our 888 locations. The figure is reproducible. Every location records which dataset produced it. Every refresh is automated, validated, and reviewed before it reaches the site.

We built the engine because credibility matters more than convenience. Cost-of-living estimates that anyone can challenge with a public dataset are worth more than estimates that look precise but cannot be defended.

Data Sources

Every figure on CostLiving traces to one of these public datasets. We list the dataset, what role it plays, the coverage, and a direct link.

Primary

Numbeo Cost of Living Index

Primary signal for global cities and country-level aggregation

535 cities, 154 countries, refreshed quarterly

Provides relative cost-of-living indices that the engine converts to absolute USD using the BLS anchor below.

Anchor

BLS Consumer Expenditure Survey

Absolute USD anchor for all global locations

Single-consumer-unit annual expenditure, refreshed annually each September

The dollar value that turns Numbeo's relative index into real money. Excludes personal insurance, pensions, and cash contributions to focus on consumption spending.

Primary

MERIC and C2ER Annual Average Cost of Living Index

All 50 US states plus Washington DC and Puerto Rico

52 jurisdictions, refreshed annually each Q1

The same dataset the U.S. Census Bureau Statistical Abstract cites for state cost comparisons. Drives every US state page on CostLiving.

Anchor

BEA Regional Price Parities

Cross-validation against MERIC and metro-area anchoring for the New York anchor

All 50 states, plus 380 metro areas, refreshed annually each May or June

Used to anchor the New York-Newark-Jersey City reference point that calibrates the entire global engine.

Cross-check

Eurostat Comparative Price Levels

European country triangulation

37 European countries (EU27 plus EFTA, UK, accession states), 2024 data, refreshed annually

Pulled live each refresh. Every country page is cross-checked against Eurostat's Comparative Price Levels for final household consumption. Spread above 50% triggers a human-review flag in the validator output.

Cross-check

World Bank International Comparison Program

Global price level triangulation

189 countries, 2023 data, refreshed annually via World Bank API

Pulled live each refresh. We compute country price level versus USA from World Bank's PPP conversion factor and market exchange rate. Used as an independent cross-check on every country aggregate the engine produces. Countries with implausible values (typically caused by official exchange rates being decoupled from market rates, like Iran or Egypt) are filtered out.

Sub-regional

National statistics offices

Sub-regional and sub-national locs

INE (Spain), INEGI (Mexico), ISTAT (Italy), ONS (UK), BPS (Indonesia), and others

Where a national agency publishes regional household expenditure data, the engine uses it for sub-country regions like Sicily, Bali, or the Canary Islands.

Lifestyle Tiers

Every loc page shows costs across four tiers. The multipliers are fixed and applied consistently across all 888 locations.

๐ŸŽ’

Budget

0.6x

Frugal living. House-sharing or less central housing, mostly home cooking, public transport, minimal entertainment.

๐Ÿ 

Moderate

1.0x

Working-professional baseline. Modest private apartment, mix of cooking and eating out, public transport with occasional taxis.

โœจ

Comfortable

1.55x

Higher standard. Better neighbourhood, frequent dining out, gym and wellness, mid-range healthcare cover.

๐Ÿ‘‘

Luxury

2.4x

Premium lifestyle. Upscale residence, daily restaurant meals, private healthcare, international travel.

Category Weights

Each tier total is split across eight spending categories. Weights are based on standard household expenditure data from the World Bank, OECD household spending research, and the BLS Consumer Expenditure Survey.

CategoryWeight
๐Ÿ Housing / Rent 38%
๐Ÿ›’Food & Groceries 20%
๐ŸšŒTransport 9%
โšกUtilities 7%
๐ŸฅHealthcare 7%
๐ŸŽญEntertainment 9%
๐Ÿ‘—Clothing 5%
๐Ÿ“ฆMiscellaneous 5%

Refresh Cycle

The engine runs on a quarterly cadence: 1 January, 1 April, 1 July, and 1 October. Each refresh follows the same five steps.

  1. Source pull

    Each quarter the engine pulls or validates the latest snapshot of every named source. BLS and MERIC update annually on their published schedules. Numbeo is refreshed quarterly. National statistics offices update on their own cadences.

  2. Validation

    Each source is checked for header integrity, row count, value range, and freshness. A failed source-validator stops the refresh before any downstream change reaches the site.

  3. Aggregation

    Every loc is routed through one of seven documented resolution paths. Each path produces a logged provenance entry recording which source produced the figure.

  4. Output

    The fresh cache is written, an engine-specific validator runs ten cross-checks, and a movers report is generated comparing the new cache to the previous one.

  5. Review

    The refresh opens a pull request on GitHub with the diff, the movers list, and the validator findings. Each refresh is reviewed before merging in the first year of operation.

Operating Principles

Free public sources only

Every dataset that feeds CostLiving is published by a government agency, an international institution, or a public ranking. No paid APIs. No proprietary data. Anyone can verify any figure against the same source we used.

Single-anchor calibration

The entire global engine is anchored against one absolute USD value: the BLS Consumer Expenditure Survey single-consumer-unit figure for the New York metro area. Every other location is positioned relative to that anchor using its public index.

Path provenance per loc

Every loc in the cache records which source produced its figure. We can tell you, for any of our 888 locations, exactly which dataset and which row of that dataset produced the number.

Validator gate on every build

An engine-specific validator runs ten checks before any change reaches production: coverage, path provenance, anchor invariance, tier ratio integrity, breakdown sum integrity, mover sanity, tier-3 audit trail, source freshness. Any error blocks the build.

Documented exclusions

The BLS anchor faithfully excludes personal insurance and pensions, cash contributions, and income taxes from total expenditures. These are not consumption spending and including them would inflate every loc on the site. The exclusions are stated openly and reproducible from BLS source tables.

Per-person versus Household

Every individual location page on CostLiving renders a per-person monthly cost figure. The flagship US insights report renders a household figure. The two are intentionally different methodologies and should not be compared directly.

The per-person figure answers "how much does it cost one adult to live here for a month?" and is what most readers want when planning a move or a remote-work base. The household figure answers "what does an average US household spend?" and is anchored against the BLS national household baseline of $61,334 per year, applied against the MERIC state index. The two figures live on different pages because they serve different audiences and use different baselines. Both are documented.

Locations with limited coverage

A small number of locs have no direct coverage in any global or national dataset. The engine resolves these through a documented regional adjustment factor against the most comparable parent loc, with a written rationale and a public source link recorded internally. The methodology is described here, but the per-loc list is not published, because the figures are most defensible when read in context of the loc page itself.

What the engine does not do

The engine does not predict the future. Costs change. Currency moves. The engine refreshes quarterly, but a sharp post-pandemic price change or a sudden currency move may not be reflected until the next refresh.

The engine does not capture intra-loc variation. The difference between an apartment in central London and one 45 minutes outside can be 60 percent. The figures on this site are a reasonable middle ground, not a guarantee.

The engine does not capture local-vs-foreigner pricing. In some markets, foreign residents are charged more than locals for housing and services. The figures here generally reflect foreigner-facing pricing rather than local pricing.

Where to find more

Per-loc estimates: see any of our 888 location pages. Lifestyle tier definitions and category weights are also covered on the methodology page. State-by-state US household figures are on the 2026 US cost of living report.