How CityFit works.
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.
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_weightPriority 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.
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_scoreLifestyle 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_scoreBaseline 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