How BorderStat works
A transparent, end-to-end look at how we gather, verify and present the numbers — and the principles that keep them honest. Behind every simple chart is months of careful, unglamorous work.
Everything on BorderStat is a reported figure — gathered, cross-checked and never fabricated.
A nine-person core team — supported by hundreds of volunteers across the world — reads source releases, matches country codes, aligns definitions, converts currencies and reconciles numbers that rarely agree at first glance. This page explains that pipeline, step by step, so you can trust what you see and know exactly what it does — and does not — mean.
From source to screen
Six stages every figure passes through before it appears on the site.
Collect
We pull data from official institutions and independent non-commercial funds - only reported values, straight from the primary release.
Verify
Each value is compared across sources. Where they disagree, our investigators trace the figure back to its origin before we accept it.
Standardise
Country codes are aligned, all money is converted to USD, and every date is normalised to DD.MM.YYYY so countries are truly comparable.
Classify
We separate stock (a count at a moment) from flow (movement over time) and label each metric so the two are never mixed up.
Publish
Clean, labelled figures are rendered into calm, readable charts, tables and the interactive atlas.
Revise
When a source issues an update or correction, we refresh the number. The site reflects the latest reported reality, not a frozen snapshot.
Stock vs. flow
Confusing these two is the single most common mistake in migration data. We never do.
A count at a moment
The total number of people present at a point in time — for example, all refugees living in a country today. It answers “how many are here now?”
Movement over a period
The number of people arriving or leaving during a span of time — for example, arrivals over one year. It answers “how many moved, and when?”
The rules we never break
- All monetary amounts are stored and displayed in USD.
- All dates use the DD.MM.YYYY format.
- No fabricated estimates — missing data stays visibly missing.
- Stock and flow figures are kept strictly separate and labelled.
- Figures may be revised as sources publish updated data.
What the shading means
None of these states is an error — each one simply reflects what has, and has not, been reported.
Key terms in plain language
Refugee
A person recognised as needing international protection and counted as present in a host country.
Asylum seeker
A person who has applied for protection and is awaiting a decision.
Migrant stock
The total number of migrants present in a country at a given point in time.
Migration flow
The number of people arriving or leaving over a defined period, such as a year.
Net migration
Arrivals minus departures for a period; positive means net inflow.
Border-related spending
State expenditure connected to borders and migration, reported in USD.
Q&A
The things people ask us most often about how BorderStat is made.
Where do your numbers come from?
Do you ever make up or estimate missing data?
What is the difference between "stock" and "flow"?
Why is a country greyed out or shown differently on the atlas?
What currency and date format do you use?
How often is the data updated?
How do you handle conflicting figures between sources?
Is BorderStat free? Do you sell my data?
I think a number is wrong. What can I do?
Corrections & data enquiries
Found a figure that looks wrong, or need detail on a source? Reach the people who built this — see the team page.
Your privacy
BorderStat does not sell personal data. Only anonymous usage analytics are collected, purely to understand what is useful and improve the site.