Methodology
Each tracked country gets seven sub-scores. Each sub-score is the country's value on a fixed numeric range, normalised to 0–100. Scores are combined into a single composite using weights stored in the config table.
Dimensions
- Cost of living
- Monthly EUR estimate for a 1-bedroom apartment in the capital plus groceries and local transport. Source: Numbeo public city pages. Updated periodically. Range 400–2 500 EUR (lower = higher score).
- Air quality
- Median PM2.5 (µg/m³) of monitoring stations within 25 km of the capital, last 48 hours. Source: OpenAQ v3. Range 10–150 µg/m³ (lower = higher score). Coverage in Cambodia, Philippines and Indonesia is sparse.
- Visa accessibility
- Subjective ease score 0–100 for an Irish passport holder seeking a long stay (tourist length, in-country extensions, dedicated nomad visa). Source: official immigration sites; values are best-effort and need verification before relying on them.
- Safety
- Numbeo Safety Index for the capital. Range 0–100 (higher = safer).
- Healthcare
- Numbeo Health Index for the capital. Range 0–100.
- Internet
- Median observed download bandwidth (Mbps) per country, last 7 days. Source: Cloudflare Radar IQI. This is real-world bandwidth as users actually experience it on Cloudflare's network — not peak Speedtest values, which are typically much higher. Range 5–30 Mbps. Falls back to a Speedtest-derived seed JSON if the Radar API is unreachable.
- Nomad infrastructure
- Sum of approximate coworking-space counts across the three most-used cities per country. Range 0–350. Manually seeded; cross-checked against Coworker.com periodically.
Weights
loading…
If a dimension is missing for a country, weights are renormalised across the available subset so a single missing dimension doesn't double-penalise.
Confidence
- high — live API value pulled this run, fresh enough to trust.
- medium — value comes from a seed JSON updated within the last ~30 days.
- low — value is missing, stale, or based on too few observations. Marked with * in the dashboard.
Score history (latest 12 weeks)
Limitations
- Wireframe-grade UI. Layouts and tints are deliberate stand-ins for the eventual production styling.
- Cost, safety, health, internet and visa values are seeded JSONs; they are not refreshed automatically each run. Treat them as anchors, not live truth.
- OpenAQ coverage in Indonesia, Philippines and Cambodia is sparse; air-quality confidence often lands at "low" for those.
- Visa values target an Irish passport holder. Other passports will have different numbers.