Comparison methodology
VEROQA uses a deterministic comparison engine. Each country is represented by normalized indices (0–100) derived from public datasets in data/raw/. We do not replace this math layer — we extend it with content, quality gates, and SEO structure.
Weighted dimensions
- Salary index and purchasing power
- Cost of living (rent, food, transport)
- Safety and healthcare
- Quality of life and tax burden
Model margin vs data confidence
Compare pages show two separate signals. Do not treat the model margin as overall trust in the data.
- Model margin — how decisively the weighted score separates the two countries (from the point gap). A high margin means a clearer winner, not better statistics.
- Data confidence — how complete the salary, cost, safety, and lifestyle fields are for both countries in the current dataset release.
VEROQA Reality Gap
The Reality Gap compares each country's quality-of-life index to a financial reality score (0–100) built from estimated monthly savings, rent burden, and cost-of-living index at a reference take-home income ($3,500/mo by default on compare pages).
Gap = QoL index − financial reality. A positive gap means lifestyle rankings look stronger than typical budgets suggest (e.g. high QoL but heavy housing costs). A low or negative gap means pay and costs align more closely with lifestyle scores.
- Low gap: absolute difference under 15 points
- Moderate gap: 15–27 points
- High gap: 28+ points
Relocation Friction Index
For tier-1 relocation countries, compare pages include a Friction Index — separate from COL scores and the Reality Gap. It estimates how hard the first year of setup is for newcomers.
Nine dimensions (0–100 each, lower = easier): bureaucracy, banking setup, housing market, healthcare admin, visa & permits, language barrier, digital services, tax complexity, and public transport usability. Scores are editorial estimates grounded in official sources cited on each compare page.
- Overall friction — simple average of the nine dimensions
- Newcomer difficulty — weighted toward bureaucracy, visas, language, housing, banking, and tax
- Setup complexity — weighted toward banking, bureaucracy, tax, housing, and healthcare admin
- Expat friendliness — inverse signal from language, digital services, bureaucracy, and visas (higher = easier)
Level bands: low ≤35, moderate 36–60, high 61+. Friction scores are editorial estimates; operational facts are stored separately in the Evidence Layer (below).
Relocation Evidence Layer
Tier-1 relocation countries use an Evidence Layer — not a flat link list. Each critical fact (deposit rules, healthcare, visas, registration, tax ID, banking) is stored with:
- confidence — high, medium, or low (field-level, not country-wide)
- lastVerified — ISO date when that specific fact was last checked
- sources — typed URLs: government, legal, research, community, etc.
- summary — raw fact in JSON (not AI-generated narrative)
RAW vs GENERATED: Facts and evidence live in data/raw/relocation/countries/. Pairing notes and friction narratives are generated in code at build time. Community-sourced insights are labelled explicitly — they never receive a "Verified" badge.
Freshness: Each country has meta.lastFullReview and meta.reviewFrequencyDays (typically 90). Our seed script flags evidence older than the review window. Visa, healthcare, and deposit rules are re-checked first.
UI labels (English): Government/legal sources → "Government source" with green badge. Research → "Research-based insight". Community → "Community-based insight" with amber badge.
Indexability
Pages below our quality threshold receive noindex until content depth, FAQ coverage, and internal links meet production standards.