Median saving rate by the self-declared level of difficulty to make ends meet - experimental statistics - icw_sr_12
Data - Eurostat
Info
Last observation: Annual: 2020 (N = 174)
First observation: Annual: 2010 (N = 162)
Last data update: 23 jul 2026, 22:39. Last compile: 24 jul 2026, 02:00
Structure
Saving Rate Gap Over Time
France, Germany, Sweden: “Very easy” vs. “Great difficulty”
Code
icw_sr_12 %>%
filter(geo %in% c("FR", "DE", "SE"),
lev_diff %in% c("VEASY", "GRT")) %>%
year_to_date %>%
ggplot + geom_line(aes(x = date, y = values/100, color = Geo, linetype = Lev_diff)) +
geom_point(aes(x = date, y = values/100, color = Geo)) +
theme_minimal() +
scale_x_date(breaks = as.Date(paste0(seq(2005, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
theme(legend.title = element_blank()) +
xlab("") + ylab("Median saving rate") +
scale_y_continuous(labels = percent_format(accuracy = 1)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black")
Latest Year
Code
latest_y <- icw_sr_12 %>%
filter(!is.na(values)) %>%
summarise(m = max(time)) %>%
pull(m)
icw_sr_12 %>%
filter(time == latest_y) %>%
select(lev_diff, geo, Geo, values) %>%
spread(lev_diff, values) %>%
select(geo, Geo, everything()) %>%
{if (is_html_output()) print_table(.) else .}| geo | Geo | EASY | FEASY | GRT | MOD | SOME | VEASY |
|---|---|---|---|---|---|---|---|
| AT | Austria | 27.4 | 25.6 | 2.5 | 9.2 | 16.0 | 32.9 |
| BE | Belgium | 41.0 | 35.3 | 2.6 | 13.5 | 20.0 | 51.5 |
| BG | Bulgaria | 44.3 | 41.4 | 10.0 | 20.4 | 31.9 | 55.9 |
| CY | Cyprus | 32.1 | 26.7 | 14.7 | 16.8 | 23.0 | 39.5 |
| CZ | Czechia | 38.1 | 33.9 | 0.3 | 19.7 | 26.6 | 45.2 |
| DE | Germany | 23.6 | 15.8 | -5.6 | 0.4 | 4.7 | 30.6 |
| DK | Denmark | 41.0 | 34.0 | 2.3 | 16.6 | 22.0 | 47.1 |
| EA | Euro area (EA11-1999, EA12-2001, EA13-2007, EA15-2008, EA16-2009, EA17-2011, EA18-2014, EA19-2015, EA20-2023, EA21-2026) | 30.5 | 25.5 | 8.4 | 16.4 | 21.5 | 35.3 |
| EA21 | Euro area – 21 countries (from 2026) | 30.6 | 25.7 | 8.3 | 16.5 | 22.0 | 35.3 |
| EE | Estonia | 47.5 | 43.3 | 24.1 | 32.2 | 37.0 | 50.7 |
| EL | Greece | 38.8 | 33.5 | 4.3 | 16.1 | 22.1 | 51.2 |
| ES | Spain | 42.9 | 36.6 | 11.3 | 18.9 | 27.8 | 48.7 |
| EU | European Union (EU6-1958, EU9-1973, EU10-1981, EU12-1986, EU15-1995, EU25-2004, EU27-2007, EU28-2013, EU27-2020) | 31.9 | 28.4 | 6.5 | 16.3 | 23.7 | 36.6 |
| EU27_2020 | European Union - 27 countries (from 2020) | 31.9 | 28.4 | 6.5 | 16.3 | 23.7 | 36.6 |
| FI | Finland | 19.5 | 15.1 | 4.8 | 11.2 | 8.0 | 24.2 |
| FR | France | 35.5 | 30.9 | 18.3 | 24.5 | 25.9 | 39.6 |
| HR | Croatia | 32.0 | 30.0 | -1.0 | 13.6 | 23.5 | 37.2 |
| HU | Hungary | 30.6 | 25.3 | 8.5 | 17.2 | 20.4 | 36.5 |
| IE | Ireland | 42.3 | 32.7 | -6.5 | 15.6 | 24.2 | 45.5 |
| LT | Lithuania | 57.9 | 50.7 | 4.0 | 34.1 | 42.6 | 59.3 |
| LU | Luxembourg | 31.6 | 27.4 | 8.7 | 14.6 | 20.4 | 36.8 |
| LV | Latvia | 38.9 | 34.8 | 14.2 | 22.4 | 30.5 | 46.1 |
| MT | Malta | 37.4 | 33.9 | 9.7 | 16.4 | 24.3 | 37.0 |
| NL | Netherlands | 23.9 | 14.4 | -12.7 | -5.2 | -1.2 | 34.9 |
| PL | Poland | 56.3 | 53.7 | 31.2 | 43.4 | 48.3 | 60.0 |
| PT | Portugal | 44.0 | 37.5 | 21.4 | 25.2 | 30.8 | 46.3 |
| RO | Romania | 18.0 | 14.4 | -29.3 | -16.8 | -1.7 | 30.5 |
| SI | Slovenia | 27.7 | 27.9 | 9.3 | 12.6 | 22.2 | 31.1 |
| SK | Slovakia | 38.1 | 36.1 | 5.2 | 21.9 | 27.6 | 42.3 |
2010
Code
icw_sr_12 %>%
filter(time == "2010") %>%
select(lev_diff, geo, Geo, values) %>%
spread(lev_diff, values) %>%
select(geo, Geo, everything()) %>%
{if (is_html_output()) print_table(.) else .}| geo | Geo | EASY | FEASY | GRT | MOD | SOME | VEASY |
|---|---|---|---|---|---|---|---|
| AT | Austria | 25.3 | 21.7 | -7.5 | 4.5 | 10.9 | 30.6 |
| BE | Belgium | 18.2 | 11.8 | -10.4 | -4.9 | 3.9 | 27.5 |
| BG | Bulgaria | 54.1 | 51.4 | 26.1 | 36.4 | 44.1 | NA |
| CY | Cyprus | 31.9 | 19.9 | -1.6 | 7.3 | 14.9 | 51.4 |
| CZ | Czechia | 31.3 | 28.6 | 14.8 | 18.9 | 23.3 | 41.6 |
| DE | Germany | 18.5 | 14.3 | -5.2 | 1.1 | 6.1 | 26.4 |
| DK | Denmark | 8.1 | 4.4 | -17.6 | -14.8 | -3.2 | 10.5 |
| EE | Estonia | 42.7 | 39.8 | 20.8 | 31.0 | 34.6 | 53.8 |
| EL | Greece | 9.1 | 0.4 | -26.1 | -11.7 | -6.0 | 13.8 |
| ES | Spain | 29.6 | 22.8 | -7.7 | 5.9 | 13.9 | 35.0 |
| FI | Finland | 25.6 | 21.4 | -2.1 | 4.5 | 14.6 | 31.8 |
| FR | France | 39.6 | 33.5 | 15.5 | 20.1 | 26.8 | 49.8 |
| HR | Croatia | 22.1 | 15.5 | -15.0 | -1.9 | 11.5 | 29.3 |
| HU | Hungary | 25.2 | 25.4 | 11.0 | 14.4 | 19.5 | 46.5 |
| IE | Ireland | 32.1 | 23.0 | 9.0 | 9.5 | 18.0 | 36.4 |
| IT | Italy | 57.7 | 44.4 | -6.3 | 12.8 | 28.4 | 55.6 |
| LT | Lithuania | 41.8 | 38.0 | 5.8 | 13.2 | 25.7 | NA |
| LU | Luxembourg | 34.2 | 27.7 | 3.8 | 14.8 | 17.8 | 37.0 |
| LV | Latvia | 21.6 | 22.6 | -3.4 | 8.9 | 17.6 | NA |
| MT | Malta | 26.5 | 21.1 | 1.7 | 10.1 | 15.4 | 23.8 |
| PL | Poland | 35.2 | 30.8 | 12.5 | 19.6 | 25.5 | 41.2 |
| PT | Portugal | 26.7 | 20.7 | 0.6 | 11.0 | 13.0 | 28.7 |
| RO | Romania | 16.4 | 9.1 | -17.4 | -8.6 | -1.4 | NA |
| SE | Sweden | 18.9 | 19.2 | 1.0 | 2.8 | 6.4 | 25.9 |
| SI | Slovenia | 26.3 | 23.3 | 1.2 | 12.1 | 19.6 | 25.9 |
| SK | Slovakia | 32.8 | 30.7 | 12.9 | 19.3 | 25.8 | 32.9 |
| UK | United Kingdom | 31.1 | 26.2 | 7.5 | 8.4 | 18.4 | 34.7 |
2015
Code
icw_sr_12 %>%
filter(time == "2015") %>%
select(lev_diff, geo, Geo, values) %>%
spread(lev_diff, values) %>%
select(geo, Geo, everything()) %>%
{if (is_html_output()) print_table(.) else .}| geo | Geo | EASY | FEASY | GRT | MOD | SOME | VEASY |
|---|---|---|---|---|---|---|---|
| AT | Austria | 26.1 | 23.1 | 7.5 | 8.3 | 17.2 | 30.1 |
| BE | Belgium | 26.0 | 21.5 | 2.1 | 11.8 | 13.0 | 33.6 |
| BG | Bulgaria | 33.3 | 28.5 | 4.9 | 15.7 | 25.1 | 34.0 |
| CY | Cyprus | 19.2 | 18.5 | 4.8 | 7.1 | 14.8 | 26.0 |
| CZ | Czechia | 32.8 | 29.8 | 11.6 | 19.2 | 25.4 | 41.6 |
| DE | Germany | 22.1 | 14.0 | -8.6 | -3.2 | 3.2 | 30.8 |
| DK | Denmark | 30.2 | 28.1 | 1.6 | 8.8 | 14.5 | 36.8 |
| EA | Euro area (EA11-1999, EA12-2001, EA13-2007, EA15-2008, EA16-2009, EA17-2011, EA18-2014, EA19-2015, EA20-2023, EA21-2026) | 26.3 | 23.1 | 0.7 | 11.2 | 21.0 | 33.0 |
| EA21 | Euro area – 21 countries (from 2026) | 26.3 | 23.1 | 0.4 | 11.2 | 21.0 | 33.0 |
| EE | Estonia | 45.6 | 39.5 | 18.6 | 25.9 | 31.3 | 47.8 |
| EL | Greece | 15.3 | 10.8 | -14.6 | -4.2 | 1.2 | 34.1 |
| ES | Spain | 31.5 | 26.8 | -0.9 | 10.9 | 19.0 | 40.4 |
| EU | European Union (EU6-1958, EU9-1973, EU10-1981, EU12-1986, EU15-1995, EU25-2004, EU27-2007, EU28-2013, EU27-2020) | 26.7 | 23.4 | 0.3 | 10.5 | 19.3 | 32.1 |
| EU27_2020 | European Union - 27 countries (from 2020) | 27.1 | 24.3 | 2.0 | 12.1 | 21.2 | 33.4 |
| FI | Finland | 23.2 | 19.2 | 0.9 | 3.5 | 13.1 | 29.2 |
| FR | France | 40.5 | 37.4 | 27.8 | 26.9 | 32.6 | 50.6 |
| HR | Croatia | 24.6 | 20.4 | -17.7 | 0.9 | 12.0 | 36.5 |
| HU | Hungary | 24.2 | 19.3 | 9.2 | 11.1 | 15.1 | 44.2 |
| IE | Ireland | 32.1 | 28.8 | 17.9 | 20.3 | 24.5 | 37.5 |
| LT | Lithuania | 48.1 | 42.5 | 8.0 | 22.5 | 32.8 | 66.3 |
| LU | Luxembourg | 33.0 | 27.3 | 0.9 | 15.0 | 19.8 | 37.3 |
| LV | Latvia | 33.6 | 32.8 | 11.2 | 20.0 | 28.0 | 34.0 |
| MT | Malta | 31.1 | 21.1 | 1.5 | 9.6 | 11.2 | 37.0 |
| NL | Netherlands | 21.0 | 16.7 | -9.0 | -0.5 | 7.1 | 29.7 |
| PL | Poland | 39.2 | 35.4 | 11.5 | 22.6 | 28.9 | 40.7 |
| PT | Portugal | 31.2 | 26.7 | 6.2 | 13.8 | 19.7 | 36.1 |
| RO | Romania | 26.6 | 21.8 | -1.7 | 6.4 | 14.5 | 24.4 |
| SE | Sweden | 26.3 | 24.3 | 7.4 | 15.1 | 13.9 | 32.1 |
| SI | Slovenia | 34.0 | 30.4 | -4.2 | 13.1 | 23.0 | 42.1 |
| SK | Slovakia | 24.0 | 23.6 | 6.7 | 14.3 | 17.6 | 31.2 |
| UK | United Kingdom | 24.5 | 18.9 | -13.0 | -4.4 | 6.8 | 28.3 |
Germany, France, Sweden
Code
icw_sr_12 %>%
filter(time == "2015",
geo %in% c("SE", "FR", "DE")) %>%
ggplot + geom_line(aes(x = lev_diff, y = values/100, color = Geo, group = Geo, linetype = Geo)) +
scale_color_manual(values = viridis(4)[1:3]) + theme_minimal() +
theme(legend.position = c(0.5, 0.9),
legend.title = element_blank()) +
xlab("Self-declared level of difficulty to make ends meet") + ylab("Median saving rate") +
scale_y_continuous(breaks = 0.01*seq(-30, 50, 5),
labels = percent_format(accuracy = 1))