Methodology
How every score, index, and calculation on Nomads Data works. We believe transparency is critical when choosing where to live — every number on this site has a clear source and formula.
Nomad Index
The Nomad Index is a 0–100 composite score that ranks how well a city serves digital nomads. It is the primary sort for the City Directory and appears on every city detail page.
Each city scores 0–100 based on five weighted factors that matter most to remote workers.
The lower your monthly budget, the higher the score.
Logarithmic scale — faster speeds matter but with diminishing returns.
Uses Numbeo's Safety Index (0–100) directly.
Prefers 22°C average; penalizes large seasonal swings.
Healthcare, purchasing power, and pollution from Numbeo.
Cost of Living
All cost of living figures come from Numbeo, the world's largest crowd-sourced cost of living database. Data is refreshed monthly and transformed into numerical fields.
- Monthly Budget (no rent) — Numbeo's pre-computed estimate of a single person's monthly expenses excluding rent. This covers groceries, dining out, transportation, utilities, and leisure.
- Average Salary — The reported average monthly net salary after tax.
- Price items — Individual prices (meal, milk, bread, utilities, gym, rent) are raw user-submitted averages.
- All values are in USD — Numbeo data is already converted. No currency conversion is applied on our end.
The Cost of Living Calculator on our site uses these same Numbeo calc* fields to provide personalized budget estimates.
Internet Speed
Internet speed data is sourced from the Ookla Speedtest global dataset, which aggregates real user-initiated speed tests across fixed broadband and mobile networks.
- Download speed is the metric used in the Nomad Index, scaled logarithmically:
min(100, log₂(1 + download / 5) × 18). This rewards incremental improvements at lower speeds (5→20 Mbps) more than at higher speeds (100→200 Mbps), matching the real-world experience of reaching usable connectivity. - Upload speed is shown separately and is a key filter — it directly affects video call quality.
- Latency (fixed and mobile) is measured in milliseconds. Lower is better.
Safety Index
The Safety Index combines multiple data sources to give a holistic picture of personal safety in each city.
- Safety Index — Read directly from Numbeo's
crime_safety_indexfield (0–100, higher is safer). This is Numbeo's own calculation and is passed through without modification. If unavailable, it falls back to the safety sub-score from Numbeo's Quality of Life Index, then to a default of 50. - Daylight / Night Safety — Raw Numbeo perception scores (0–100) for walking alone during the day versus at night.
- Crime sub-indices — Individual worry and problem scores for home break-ins, mugging, car theft, physical attack, insult, discrimination, drug problems, property crime, violent crime, and corruption.
- Travel Advisories — Government-issued safety levels (None, Low, Moderate, High, Extreme). When available, a link to the official advisory page is provided.
Climate & Weather
Climate data is sourced from the Open-Meteo Archive API, which provides historical monthly weather normals.
- Average Temperature — The mean of historical monthly average temperatures, giving a year-round picture of a city's climate.
- Rainy Days — The number of days per year with 1 mm or more of precipitation.
- Seasons — Peak, shoulder, and off-season ranges are derived from historical tourism and climate patterns.
In the Nomad Index, the climate score uses a two-part formula. First, any city with an average temperature between 15°C and 30°C receives a perfect base score of 100. Outside that range, the score is penalized |avgTemp − 22| × 5 points per degree from 22°C.
Second, a seasonality penalty is applied: (tempSpread − 10) × 1.5, where tempSpreadis the difference between the warmest month's maximum temperature and the coldest month's minimum. This penalizes cities with extreme seasonal swings (e.g., continental climates) and rewards consistent year-round weather.
Health Care Index
The Health Care Index from Numbeo measures the overall quality of the health care system. It is a composite of the following sub-scores (each 0–100):
- Skill & Competency — Perceived expertise of doctors and medical staff.
- Speed — Speed of service including wait times for examinations and results.
- Equipment — Modernity and availability of medical equipment.
- Staff — Friendliness, courtesy, and bedside manner of medical staff.
- Satisfaction — Overall patient satisfaction with the system.
An index above 70 is considered very good. Destinations like Taipei, Bangkok, and Kuala Lumpur consistently score in this range.
Pollution Index
The Pollution Index is a Numbeo composite that weighs several environmental quality factors:
- Air Quality — Perceived air cleanliness and pollution visibility.
- Drinking Water Quality — Perceived purity and safety of tap water.
- Green Spaces & Parks — Availability and maintenance of parks and recreational areas.
- Noise & Light Pollution — Disruption from traffic, construction, and nighttime lighting.
The overall index ranges from 0 (very clean) to 100 (highly polluted), with lower being better.
Traffic Index
The Traffic Index from Numbeo measures commuting inefficiency and transportation challenges. It uses an unbounded formula (typical range 0–355):
The three square-root components mean the index is dominated by CO₂ emissions in car-dependent cities and by commute time in congested ones. The index is not on a 0–100 scale — a score of 85 might indicate a short commute with moderate car usage, while 250+ indicates severe gridlock.
- Average commute time — The typical one-way travel time in minutes.
- CO₂ estimate — Grams of CO₂ per round-trip commute (dominates the index for car-dependent cities).
- Inefficiency index — Composite of time lost, dissatisfaction with roads, and congestion.
Our labels: Excellent flow (<60), Light traffic (60–100),Moderate conditions (100–150), Heavy congestion (150–210),Severe gridlock (≥210). Lower is better.
Property Index
The Property Index captures housing affordability through three measures from Numbeo:
- Price-to-Income Ratio — The ratio of median apartment price to median yearly income. A lower ratio means housing is more attainable.
- Mortgage as % of Income — The typical monthly mortgage payment divided by monthly income. Shows how much of a paycheck goes toward housing debt.
- Rent Affordability Index — An inverted measure where higher values indicate rent consumes a smaller portion of income.
Power Grid
Power grid data is sourced from the World Bank's Sustainable Energy for All (SE4ALL) database, part of the World Development Indicators. Where city-level data is unavailable, country-level figures are used as a proxy.
- Grid Access — The percentage of the population with reliable electricity access.
- Fossil Share — The percentage of electricity generated from fossil fuels (coal, oil, gas).
- Renewable Share — The percentage generated from renewable sources (hydro, solar, wind, geothermal).
- Grid Losses — Transmission and distribution losses as a percentage of total output.
- Consumption — Kilowatt-hours consumed per capita annually.
Coworking Spaces
Coworking space counts are curated from a combination of Numbeo and aggregated listing data. The count represents the number of dedicated coworking spaces within the city limits.
Note: 507 out of 511 cities have fewer than 10 coworking spaces. Coworking is conditionally shown only for cities with at least one space.
Quality of Life Index
The Quality of Life Index from Numbeo is a broader composite that goes beyond nomad-specific factors. It includes purchasing power, safety, health care, climate, cost of living, property ratios, and traffic commute times — all weighted into a single 0–100 score.
We include it as a supplementary measure. The Nomad Index is purpose-built for remote workers and should be treated as the primary ranking tool.
Data Sources & Freshness
All data is stored locally in data/cities.json, generated by the consolidation pipeline (scripts/consolidate.js). No runtime API calls are made during page load.
Last updated: June 2026. Questions or corrections? Reach out on X at @nomadsdata.