Methodology
How the figures on this site are chosen, labelled, converted and compared.
What a published value carries
A published value starts as a figure collected from a named source, such as an official website, a data service or an official register. Each batch of collected values is checked before it is stored, and city and country pages are generated from the stored records. A city page is not produced at all if one of its values has no source link or no source name.
Each stored value carries its unit, the period it describes, the area it describes, the date its source was last checked, its source with a link, the kind of source and the source's grade. A fact table shows the value, the period and the source. The data files carry the rest, including the exchange rate where a value was converted.
Each value sits under one topic, such as housing, work and income, or safety. A value that fits no topic goes under "Additional context" and is never treated as a cost figure. A number quoted in a page's written description is tied to the stored value it quotes; if that value is replaced, the description fails a check before the page is produced.
Source grades A, B, C and D
Sources are graded A, B, C or D. A is an official source or open data service with clear reuse rights, such as a national statistics office. B is an intergovernmental or research source, such as an international organisation or a research body. C is a commercial or aggregator source whose use depends on its terms of service. D is a community or user-generated source.
Grades A and B give official figures. Grades C and D give supplemental estimates, which the fact tables label as such and which are not used for a city's factor scores, for report rankings or for the requirements for a city page. The letter appears beside sources on some visa and support pages, and in the data files.
Official figures and supplemental estimates
An official figure comes from a or B source. A supplemental estimate comes from a or D source, such as a commercial data set or figures collected from visitors. A page keeps at most one value of each kind for a measure, so it can show an official figure and an alternative estimate side by side.
In a fact table, every value's source line carries a badge for the kind of source. An official figure shows, for example, "Official source". An estimate shows "Supplemental estimate", "Community estimate" or "Commercial estimate" and the note "Supplemental context". When both kinds exist for one measure, the official figure comes first and the estimate is marked "Alternative estimate".
Values from Numbeo, whose prices are reported by its visitors, stay on the site as supplemental estimates, with a link to Numbeo. Report rankings use official figures only, and an estimate never enters one. Estimates do appear in a city's cost-of-living block, in its salary calculator and in its comparisons with other cities.
How fresh a value is
A value's age is counted in months from the period it describes to the date of the latest site update, not from the date it was last checked. Under 12 months old is fresh, 12 up to 24 months is ageing, and 24 months or more is stale. Checking an old value again does not make it fresher; only a newer observation does.
Fact tables show the period itself instead of a label, so the age can be read directly. A value with no stated period shows "Not stated" and gets no fresh, ageing or stale label. The Markdown copy of each city and country page lists a freshness label for every value.
Units and the conversion to euros
Each measure has one unit. Salaries are euros per month before tax, and gross and net figures are never mixed. Rent is euros per month for a whole dwelling or euros per square metre, never combined. Property prices are euros per square metre, crime and physicians are per 100,000 residents, and air quality is the annual mean in µg/m³. A value whose unit the source does not state is not used.
Amounts published in another currency are converted to euros at the European Central Bank's reference rate, averaged over the period the figure covers: the year's average for a yearly figure, the month's for a monthly one. The UAE dirham and the Saudi riyal, which the ECB does not publish, go through their official pegs to the US dollar (3.6725 and 3.75 per dollar) and then the ECB dollar rate for that period.
The original amount, its currency, the rate and the rate's period are kept with the value. A few series stay in the source's own currency, such as US dollar figures for US cities, and a ranking never mixes units. The calculators convert at the latest ECB monthly average instead.
Which place a page describes
A city page describes one place: the city or municipality in its title. A value with no area label describes that place itself. A place's population is its own figure, never the total of a larger municipality, a region or the country used as a stand-in.
Some sources publish only for a wider area, such as a district, a metropolitan area or a region. Such a value can still appear, but its row says what it describes, for example "regional figure", "district-level figure" or "metropolitan-area figure", and the key-fact tile names the kind of area. These values do not count toward a city's factor scores or report rankings.
A page also says how its place relates to a bigger one: administratively part of it, in its metropolitan area or commuting zone, or only nearby without being part of it.
When a city gets a page
Counting only official values (grades A and B) with a source link, a city needs: at least six different measures; values in at least three topics and in at least two of the areas that decide a move (housing, work, safety, healthcare, family, community, environment, mobility); at least one measure of rent, income, work, safety, air, mobility, health or family; and at least four values checked against their source in the past 24 months.
The page also needs a reviewed written description, a valid stable address, and a way to reach it from other pages: a recorded relationship to another place, or at least three cities in the same country that meet the same requirements.
A city that falls short but has a sourced record keeps its page, marked so search engines do not index it, left out of the sitemap and without profile scores. A city with no reviewed description or no valid address has no page. The check runs at every update; once a page's data meets the requirements, it is listed in the sitemap and open to indexing again.
How the profile scores are built
Each city gets a score from 0 to 100 for five profiles. Only official figures (grades A and B) that describe the city itself count toward a factor. Each is ranked against the same measure in all other cities, and the order is reversed where lower is better, as with rent or crime. Take-home pay (skilled employees only), migrant healthcare, employment support, language support and the visa path are scored per country. A score is the weighted average of the factors that have data, using the weights below.
Remote worker: work 4; monthly budget 2, housing 2, take-home pay 2; safety 1, air 1, visa path 1; migrant healthcare 1.25; healthcare capacity 0.75, employment support 0.75; language support 0.5. Skilled employee: work 4; migrant healthcare 2, housing 2, education 2, visa path 2, take-home pay 2; healthcare capacity 1, safety 1, employment support 1, language support 1. Family: family needs 4; safety 3; housing 2, migrant healthcare 2, education 2; healthcare capacity 1, visa path 1, budget 1, language support 1; employment support 0.5.
Student: education 4; budget 3; housing 2, safety 2, visa path 2; migrant healthcare 1.25; work 1, language support 1; healthcare capacity 0.75. Retirement: migrant healthcare 3, safety 3, air 3; healthcare capacity 2, budget 2, housing 2, visa path 2; take-home pay 1.5; administration 1; language support 0.5. Missing weight pulls a score toward 50; with data for under 40% of the weight, it is capped at 64. Rent above the profile's housing budget lowers a score by 18 points; the rent it reads can be a supplemental estimate.
How rankings are built and what is left out
A city ranking uses only official figures (grades A and B) that carry a source link, for cities that have a published page. A city needs at least 20,000 residents, or 100,000 when the ranking's title says "major cities". The value must describe the city itself, not a district or a region; a climate or air-quality reading from a station or the city's coordinate counts as the city's own.
Left out: values in a different unit from the rest, so rent per square metre and rent per dwelling are never mixed; values outside plausible ranges, rates more than three times above or below their country's median, and unemployment under 0.5%; the same value from the same source record for three or more cities, which is treated as a wider area's figure copied onto its towns; and any source on hold until its data is repaired.
Most single-country rankings need at least ten qualifying cities. A ranking across countries shows at most five cities from any one country. The country rankings on the rankings page need at least 25 countries, observations from at most two years and one current value per country. Each city ranking's data file counts the cities left out and gives the reason. Supplemental estimates, including Numbeo's, are never used.
What "Last checked" means
"Last checked" is the date a source was last re-read and found to still hold the value. A page shows the most recent such date among the values on it. It moves whenever a source on the page is re-checked, even if the value did not change, and it does not change how fresh a value counts as being.
It is not the date the page last changed. That is the page's content date, which appears in its citation and in the sitemap. The content date moves only when what a reader sees changes: the title, the description, the main content or the structured data. A re-check that finds the same value moves "Last checked" but not the content date.
Corrections
Every correction to a published figure is listed with its date on the corrections page, with what was wrong and what replaced it. A number that looks wrong can be reported through the contact form; it is checked against its source and, if it is wrong, listed there.