How CityFit works.

About

CityFit helps compare cities around the life you want.

CityFit is a personal city-ranking tool for exploring relocation, remote-work, and lifestyle tradeoffs. It combines practical signals like affordability, healthcare, safety, commute friction, and climate with lifestyle signals such as food, culture, outdoors, transit, nightlife, airport access, and daily-life convenience.

The goal is not to name one universal best city. It is to make the tradeoffs visible so different people can see different answers.

Score model

CityFit Score

CityFit Score is the blended recommendation score. It can include Practical Fit, Lifestyle Fit, or both depending on your priority settings.

cityfit_score =
  (
    practical_fit_weight * practical_score
    + lifestyle_fit_weight * lifestyle_fit_score
  )
  / total_fit_weight
CityFit ScoreBlends Practical Fit and Lifestyle Fit according to the overall influence sliders.
Practical FitUses affordability, safety, healthcare, housing, commute, climate, pollution, and purchasing power.
Lifestyle FitUses proxy scores for food, culture, outdoors, transit, airport access, nightlife, and daily life.
Personalization

Priority Sliders

Use the 0-10 sliders to tell CityFit what matters most to you. Higher values give a priority more influence on your recommendations; set it to 0 to leave it out.

0Ignored
5Default importance
10Double importance
Practical layer

Practical Fit

Practical Fit starts with cached city metrics from Numbeo's Current Quality of Life Index, then blends in practical priority features. Higher-is-better metrics are scaled upward. Cost, housing-to-income ratio, traffic, and pollution are inverted so lower real-world values become better feature scores.

Housing and remote work: Housing to Income Ratio is shown as the original ratio rather than a normalized score. Choosing remote work halves the influence of commuting on Practical Fit.

practical_priority_score =
  0.15 * purchasing_power_score
  + 0.10 * affordability_score
  + 0.15 * safety_score
  + 0.10 * healthcare_score
  + 0.15 * housing_affordability_score
  + 0.10 * low_traffic_score
  + 0.15 * climate_score
  + 0.10 * low_pollution_score
Lifestyle layer

Lifestyle Fit

Lifestyle Fit combines day-to-day preference scores. Friendliness is blank until there is a legally usable newcomer-integration source, and pace of life remains a categorical label rather than a higher-is-better score.

Amenity and access signals use data from © OpenStreetMap contributors, available under the Open Database License (ODbL). Coverage varies by city; these signals are proxies for amenities, not venue quality.

lifestyle_score =
  0.20 * daily_life_score
  + 0.15 * food_scene_score
  + 0.15 * culture_score
  + 0.15 * outdoors_score
  + 0.15 * transit_score
  + 0.10 * airport_score
  + 0.10 * nightlife_score
Ranking context

Baseline Rank Movement

CityFit calculates a neutral baseline ranking where every priority is set to default importance. Personalized rankings are compared against that baseline so you can see which cities move up or down for your preferences.

rank_difference =
  baseline_cityfit_rank - personalized_cityfit_rank
Data Notice

Use CityFit as a decision-support tool.

Practical metrics reference Numbeo Current Quality of Life Index and related city-level indicators. Lifestyle metrics use amenity and access signals derived from data by © OpenStreetMap contributors. Confirm salary, rent, tax, healthcare, safety, commute, climate, pollution, and neighborhood details with current local sources before making relocation decisions.