CityCostLab

Methodology

Every figure on CityCostLab is calculated as described below. We do not crawl or copy data from other services.

Data collection

Prices come from admin entries, CSV imports, licensed public datasets and user contributions. User submissions are never published before admin approval.

Price aggregation

The representative price per item is the median of approved data points. With enough samples we also compute a 10% trimmed mean. Older data is down-weighted, and outliers are flagged with the IQR method for admin review — never deleted automatically.

Cost of living index

Category-level monthly budgets are converted to a base currency (USD) and combined with weights: housing 35%, groceries 20%, transport 10%, dining 10%, utilities 8%, communication 5%, healthcare 5%, leisure 4%, other 3%. Indexes are relative to the base city (Seoul = 100).

Salary conversion formula

Required salary = current salary × target-city monthly cost ÷ current-city monthly cost. All amounts are normalized to the base currency before conversion to the display currency. Taxes and social insurance are not included.

Confidence score

A 0–100 score: recency (25), approved samples (20), source diversity (10), price consistency (15), required-item coverage (20), admin verification (10). 80+ high, 60–79 moderate, 40–59 limited, below 40 insufficient.

Publication criteria

Only cities with ≥70% required-item coverage, a confidence score of 50+, and data from the last 18 months are indexed by search engines. Pages below the bar are noindexed and excluded from the sitemap.