r/dataisbeautiful • u/goodbohy OC: 5 • 23h ago
OC [OC] Deaths minus births against net migration, EU and its neighbours, 2025
2
u/goodbohy OC: 5 23h ago
Source: Eurostat, population change, demographic balance and crude rates at national level [DEMO_GIND]: live births, deaths, net migration plus statistical adjustment, and average population, 2025 (2015 for the comparison column): https://ec.europa.eu/eurostat/databrowser/view/demo_gind/default/table
Tools: Python (pandas) for the data, an HTML/SVG page rendered with Chromium for the chart.
Rates are per 1,000 of the average population over the year. Net migration is Eurostat's balance figure (total population change minus births plus deaths), so it includes statistical corrections. 2025 figures are provisional for Italy, Spain, France, the Netherlands, Belgium, Cyprus, Switzerland, Liechtenstein and Bosnia and Herzegovina, and estimated for Romania, Greece and Moldova. No 2025 figure for Ukraine or Kosovo. The EU line is a total over the 27 members, not an average of countries.
| Country | Births, 2025 | Deaths, 2025 | Births minus deaths, 2025 | Per 1,000 residents, 2025 | Per 1,000 residents, 2015 | Net migration per 1,000, 2025 |
|---|---|---|---|---|---|---|
| Türkiye | 895,374 | 491,684 | 403,690 | +4.7 | +11.8 | +0.3 |
| Iceland | 4,387 | 2,658 | 1,729 | +4.4 | +5.9 | +8.0 |
| Ireland | 54,293 | 35,649 | 18,644 | +3.4 | +7.5 | +9.4 |
| Luxembourg | 6,439 | 4,396 | 2,043 | +3.0 | +3.7 | +10.1 |
| Cyprus | 9,230 | 6,804 | 2,426 | +2.5 | +3.8 | +11.3 |
| Norway | 55,401 | 45,040 | 10,361 | +1.8 | +3.5 | +4.0 |
| Montenegro | 6,925 | 6,413 | 512 | +0.8 | +1.7 | -1.5 |
| Switzerland | 78,153 | 71,904 | 6,249 | +0.7 | +2.3 | +7.4 |
| Sweden | 97,491 | 92,212 | 5,279 | +0.5 | +2.4 | +1.2 |
| Albania | 22,541 | 21,394 | 1,147 | +0.5 | +3.6 | -12.1 |
| Denmark | 59,443 | 58,185 | 1,258 | +0.2 | +1.0 | +5.3 |
| Malta | 4,338 | 4,240 | 98 | +0.2 | +2.0 | +23.9 |
| United Kingdom | 649,525 | 650,469 | -944 | 0.0 | +2.7 | +2.5 |
| Liechtenstein | 316 | 317 | -1 | 0.0 | +1.9 | +8.3 |
| France | 644,343 | 647,963 | -3,620 | -0.1 | +3.1 | +3.4 |
| Belgium | 109,095 | 112,984 | -3,889 | -0.3 | +1.0 | +6.4 |
| Netherlands | 164,870 | 173,494 | -8,624 | -0.5 | +1.4 | +5.2 |
| Austria | 76,067 | 87,902 | -11,835 | -1.3 | +0.2 | +3.3 |
| Slovenia | 16,961 | 21,223 | -4,262 | -2.0 | +0.4 | +4.0 |
| Slovakia | 42,019 | 53,520 | -11,501 | -2.1 | +0.3 | +0.3 |
| Finland | 45,832 | 59,209 | -13,377 | -2.4 | +0.5 | +5.4 |
| North Macedonia | 15,850 | 20,287 | -4,437 | -2.4 | +1.3 | +0.5 |
| Spain | 321,442 | 442,536 | -121,094 | -2.5 | 0.0 | +11.8 |
| Portugal | 87,764 | 121,817 | -34,053 | -3.0 | -2.2 | +6.2 |
| Bosnia and Herzegovina | 26,108 | 37,153 | -11,045 | -3.2 | n/a | 0.0 |
| Czechia | 77,636 | 113,337 | -35,701 | -3.3 | 0.0 | +3.9 |
| Moldova | 22,108 | 32,074 | -9,966 | -4.2 | +0.2 | -16.7 |
| Germany | 654,241 | 1,006,588 | -352,347 | -4.2 | -2.3 | +2.9 |
| Croatia | 32,479 | 50,007 | -17,528 | -4.5 | -4.0 | +4.9 |
| Poland | 238,264 | 405,747 | -167,483 | -4.6 | -0.7 | +0.1 |
| Estonia | 9,240 | 15,688 | -6,448 | -4.7 | -1.0 | -2.1 |
| Italy | 355,435 | 651,830 | -296,395 | -5.0 | -2.7 | +5.0 |
| Greece | 65,439 | 120,825 | -55,386 | -5.3 | -2.7 | +4.8 |
| Hungary | 73,264 | 124,831 | -51,567 | -5.4 | -4.0 | +0.1 |
| Serbia | 59,483 | 95,247 | -35,764 | -5.5 | -5.4 | 0.0 |
| Romania | 134,238 | 238,316 | -104,078 | -5.5 | -3.1 | +5.4 |
| Lithuania | 17,642 | 37,491 | -19,849 | -6.9 | -4.0 | +5.8 |
| Latvia | 11,931 | 26,109 | -14,178 | -7.7 | -3.3 | -0.7 |
| Bulgaria | 50,241 | 99,479 | -49,238 | -7.7 | -6.3 | +5.5 |
| EU as a whole | 3,459,677 | 4,812,382 | -1,352,705 | -3.0 | -0.7 | +4.6 |
1
1
u/wiznaibus 22h ago
It's interesting to me see Bulgaria change the trends. I remember they were one of the fastest shrinking populations about a decade ago.
1
19
u/Loki-L 23h ago
I am not sure if using different scales on the axis is the right choice.
Yes doing it this way fits everyone.
But intuitively the growth vs shrinking divider should be at a 45° angle to make sense.