Metodología
How the numbers get from UNHCR, IDMC and the UN Population Division onto this map — and what they do and do not mean.
Esta página aún no está disponible en español — a continuación se muestra la versión en inglés.
1. Sources
Everything shown is group-level statistics published by international organisations. This site never handles person-level data.
| Use | Source | Endpoint / file | License | As of |
|---|---|---|---|---|
| Stocks by country & year (refugees, asylum-seekers, IDPs, stateless, others of concern, returnees, OIP) | UNHCR Refugee Population Statistics Database | api.unhcr.org/population/v1/population/ (asylum, origin, bilateral matrix), /footnotes/ | CC-BY-4.0 | 2025-12-31 |
| Age & sex | UNHCR | /demographics/(2010+, country of asylum) | CC BY 4.0 | 2025-12-31 |
| Solutions, asylum applications | UNHCR | /solutions/ (2000+), /asylum-applications/ (2015+, persons only) | CC BY 4.0 | 2025-12-31 |
| Internal displacement (annual stock) | IDMC via UNHCR | /idmc/ (2009+) | CC BY-IGO | 2025-12-31 |
| Recent displacement events (≤ 24 h latency) | IDMC Internal Displacement Updates | Helix API, last 180 days | CC BY-IGO | 2026-08-23 |
| Latest estimate card | UNHCR nowcasting | /nowcasting/ — statistical estimates, labelled as such | CC BY 4.0 | 2026-06-01 |
| Resident population (per-1,000 denominator) | UN DESA World Population Prospects 2024 | WPP2024_TotalPopulationBySex.csv, medium variant | CC BY 3.0 IGO | 2023-07-01 |
| Boundaries | Natural Earth 1:50m (via world-atlas) | simplified TopoJSON | Public domain | — |
Full provenance per source (endpoints, content hashes, retrieval times, caveats) is machine-readable in sources.json. Not used: ACLED (licence forbids dashboard republication), IOM DTM (licence not yet confirmed), UNHCR Operational Data Portal and microdata (non-commercial terms).
2. What these numbers are, and are not
- They are what governments and UNHCR operations report. States have incentives to over- and under-count — funding appeals, sovereignty claims, contested legal statuses. A missing figure is not an absence of displaced people; grey is not zero.
- Coverage and definitions vary by country and year; watch for definition changes when comparing across time (e.g. OIP exists only from 2018).
- IDP figures cover conflict and violence only (IDMC); disaster displacement is not in the annual stocks.
- Nowcast and IDU figures are estimates / preliminary, labelled as such, and never mixed into the annual series.
- Mapping requires a polygon: a few reporting entities (Martinique, Gibraltar, "Stateless", "Unknown"…) have no drawable boundary; they are listed in the legend and included in all totals, tables and downloads.
- UNHCR figures exclude Palestine refugees under UNRWA's mandate (about 6 million), counted separately by UNRWA.
3. Pipeline: daily, static, audited
- Fetch — a scheduled job calls the UNHCR API (throttled: 2 concurrent requests, ≥ 300 ms apart, retries with back-off) and downloads the WPP CSV and the IDMC IDU dump. The latest year with published data is detected automatically (currently 2025).
- Normalise — every row is keyed by ISO 3166-1 alpha-3 read from UNHCR's
coo_iso/coa_isofields. UNHCR's internal codes (coo/coa) are never used: they collide with real ISO3 codes (UNHCR "AUS" is Austria, "ARE" is Egypt, "MAR" is Martinique). Numeric fields arrive as"-"(not reported),"0"or numbers; they are converted tonull/0/ integer. - Validate — 15 invariants must hold before anything is published, including: the three collision cases are keyed correctly; no negative or non-finite values; mapped total + unmappable total = global total for every metric and year; totals do not drift more than 20 % against the previous snapshot; and three golden numbers (Türkiye refugees 2024, Syria IDPs 2016, world refugees 2024) match within 1 %.
- Promote — each source is promoted independently. If a source fails, its previous snapshot stays online and the site shows a "partial data update delayed" chip; after three consecutive days the maintainer is e-mailed.
- Publish — the data files are committed to the repository (a permanent audit trail:
git log -- public/data/v1/country/SYR.jsonanswers "what did this number say on day X") and deployed as static files. The browser never calls UNHCR.
4. Definitions
- Refugiados
- Personas reconocidas como refugiadas en virtud de la Convención de 1951/el Protocolo de 1967, la Convención de la OUA de 1969 o el Estatuto de ACNUR, así como quienes reciben protección complementaria/subsidiaria o temporal; incluye a personas en situación similar a la de los refugiados. Excluye a los refugiados de Palestina bajo el mandato del OOPS (UNRWA).
- Stock a fin de año (31 de diciembre).
- Excluye a unos 6 millones de refugiados de Palestina registrados en el OOPS (UNRWA).
- Solicitantes de asilo
- Personas que han solicitado protección internacional y cuya solicitud de estatuto de refugiado aún no se ha resuelto (casos pendientes).
- Casos pendientes a fin de año, contados en personas.
- Desplazados internos
- Personas desplazadas dentro de su propio país por conflicto o violencia (recopiladas por el IDMC y publicadas vía ACNUR). Se cuentan en su propio país (origen = asilo).
- Fuente: IDMC vía ACNUR. No incluye el desplazamiento por desastres.
- Idéntico en ambas vistas (el desplazamiento interno no tiene país de acogida).
- Apátridas
- Personas que ningún Estado considera nacionales suyos conforme a su legislación, incluidas las personas de nacionalidad indeterminada.
- Se informa solo por país de residencia; muchos países no informan.
- Otras personas de interés
- Personas que no encajan directamente en las demás categorías pero a quienes ACNUR extiende su protección y/o asistencia.
- Refugiados retornados
- Antiguos refugiados que regresaron a su país de origen durante el año civil, de forma espontánea u organizada.
- Flujo durante el año, no un stock.
- Desplazados internos retornados
- Antiguos desplazados internos que regresaron a su zona de origen durante el año civil.
- Flujo durante el año, no un stock.
- Otras personas necesitadas de protección internacional
- Personas fuera de su país de origen que probablemente necesitan protección internacional pero cuyo estatuto no se ha determinado (categoría usada desde 2018, principalmente para venezolanos en el extranjero).
- Se informa desde 2018; en su mayoría venezolanos desplazados en el extranjero.
- Comunidad de acogida
- Miembros de comunidades de acogida que se benefician de programas de ACNUR (informado solo para un pequeño número de operaciones).
- No es población desplazada; se excluye de los totales.
- Total de personas de interés
- Suma de refugiados, solicitantes de asilo, desplazados internos, apátridas, otras personas de interés y otras personas necesitadas de protección internacional (excluye comunidades de acogida y retornados).
- Se calcula en el cliente a partir de los indicadores componentes; un componente null solo se trata como 0 si al menos un componente está informado.
All stock figures are year-end (31 December). "Returned" figures are flows during the year.
5. Null is not zero
UNHCR distinguishes not reported ("-") from reported zero. We keep that distinction everywhere: on the map (grey vs the lightest blue), in charts (a gap in the line vs a point at 0), in CSV (empty field vs 0) and in JSON (null vs 0). A country in grey may host many displaced people whose figures simply were not reported that year.
6. Two views: where they are, where they fled from
Every figure has two geographies. Country of asylum ("where they are now") counts people where they currently live. Country of origin ("where they fled from") counts the same people by the country they left. Internally displaced persons are counted in their own country in both views. The "Flows" tab and the flows/ files give the bilateral matrix.
7. Per 1,000 residents
Rate = persons ÷ UN WPP mid-year total population × 1,000. Two caveats: the numerator is a 31 December stock while the denominator is 1 July; and WPP values after the estimate base year are medium-variant projections. Rates are not shown where population is missing.
8. Colour scales
A single-hue blue ramp (ColorBrewer Blues) is used throughout — no red/orange scales, which would visually frame displaced people as a threat. Seven classes. Default breaks are quantiles computed across the whole year range for the countries shown: while you scrub the timeline, colour means magnitude, not a rank that reshuffles every year — so screenshots from different years are comparable. Zero has its own lightest colour; not-reported is grey.
9. Boundaries and names
Boundaries come from Natural Earth, simplified for display. Country names follow the data source being cited (UNHCR), with a small override table for readability (e.g. "Syrian Arab Rep." → "Syria"); the original name is always shown alongside. Disputed territories, Kosovo and Taiwan are handled explicitly — see Boundaries, names and disputed territories.
10. Freshness and failure
UNHCR publishes annual figures around June and mid-year figures around October/November. The pipeline runs daily but only commits when content changes. Three timestamps are kept apart: data_as_of (what the data covers), retrieved_at (when we fetched it — only advances when content changed) and the dataset snapshot_id (content hash of the whole dataset, currently 21506b7d). The bulk CSVs carry the population source's content-hash prefix in their snapshot column, resolvable via sources.json.
11. The live events layer
The "recent internal displacement events" layer republishes IDMC's preliminary event-level estimates. For dignity and safety: coordinates of conflict events are snapped to a ~25 km grid (never settlement-level); events under 100 people are not drawn as individual points; the popup shows figure, type and date and links to IDMC's own report instead of pasting narrative text. Event definitions differ from the annual IDP stock (which excludes disasters).
12. Citing
Every view has a permanent link that reproduces year, metric, view, filters, selection and map position (links produced by Share/Cite pin the year). The "Cite" button gives APA 7, Chicago (author–date), BibTeX (@dataset with version) and a plain "cite this page" string; the publication year is the data year, not the year you clicked, and the snapshot id is included for exact recovery. Please cite the upstream source as well as this site.
Questions or corrections: see Acerca de.