Median saving rate by degree of urbanisation - experimental statistics - icw_sr_13
Data - Eurostat
Info
Last observation: Annual: 2020 (N = 116)
First observation: Annual: 2010 (N = 107)
Last data update: 23 jul 2026, 22:32. Last compile: 24 jul 2026, 02:01
Structure
France, Germany, Italy, Spain
Total, 2010-2020
Code
icw_sr_13 %>%
filter(geo %in% c("FR", "DE", "IT", "ES"),
deg_urb == "TOTAL") %>%
year_to_date %>%
left_join(colors, by = c("Geo" = "country")) %>%
mutate(values = values/100) %>%
ggplot + geom_line(aes(x = date, y = values, color = color)) +
geom_point(aes(x = date, y = values, color = color)) +
theme_minimal() + scale_color_identity() + add_4flags +
scale_x_date(breaks = as.Date(paste0(seq(2005, 2100, 5), "-01-01")),
labels = date_format("%Y")) +
xlab("") + ylab("Median saving rate (% of disposable income)") +
scale_y_continuous(labels = scales::percent_format(accuracy = 1)) +
geom_hline(yintercept = 0, linetype = "dashed", color = "black")
Latest Wave by Degree of Urbanisation
Germany, France, Sweden
Code
latest_y <- icw_sr_13 %>%
filter(geo %in% c("SE", "FR", "DE"),
!is.na(values)) %>%
summarise(m = max(time)) %>%
pull(m)
icw_sr_13 %>%
filter(time == latest_y,
geo %in% c("SE", "FR", "DE")) %>%
ggplot + geom_line(aes(x = deg_urb, 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.7),
legend.title = element_blank()) +
xlab("by degree of urbanisation") + ylab("Median saving rate") +
scale_y_continuous(breaks = 0.01*seq(-30, 50, 5),
labels = percent_format(accuracy = 1))
All Countries
Code
icw_sr_13 %>%
filter(time == latest_y) %>%
select(deg_urb, geo, Geo, values) %>%
spread(deg_urb, values) %>%
select(geo, Geo, everything()) %>%
{if (is_html_output()) print_table(.) else .}| geo | Geo | DEG1 | DEG2 | DEG3 | TOTAL |
|---|---|---|---|---|---|
| AT | Austria | 18.6 | 24.2 | 27.1 | 23.8 |
| BE | Belgium | 26.2 | 36.3 | 35.8 | 33.7 |
| BG | Bulgaria | 31.7 | 27.1 | 20.0 | 26.8 |
| CY | Cyprus | 25.7 | 24.0 | 24.4 | 25.1 |
| CZ | Czechia | 33.2 | 29.4 | 31.3 | 31.2 |
| DE | Germany | 14.5 | 20.1 | 22.6 | 18.3 |
| DK | Denmark | 30.8 | 39.2 | 36.1 | 35.0 |
| EA | Euro area (EA11-1999, EA12-2001, EA13-2007, EA15-2008, EA16-2009, EA17-2011, EA18-2014, EA19-2015, EA20-2023, EA21-2026) | 24.1 | 25.9 | 27.6 | 25.6 |
| EA21 | Euro area – 21 countries (from 2026) | 24.3 | 25.8 | 27.2 | 25.6 |
| EE | Estonia | 42.5 | 39.4 | 41.7 | 41.6 |
| EL | Greece | 14.5 | 16.1 | 16.5 | 15.6 |
| ES | Spain | 34.7 | 30.7 | 31.3 | 33.0 |
| EU | European Union (EU6-1958, EU9-1973, EU10-1981, EU12-1986, EU15-1995, EU25-2004, EU27-2007, EU28-2013, EU27-2020) | 25.9 | 27.0 | 27.2 | 26.6 |
| EU27_2020 | European Union - 27 countries (from 2020) | 25.9 | 27.0 | 27.2 | 26.6 |
| FI | Finland | 14.5 | 16.3 | 17.2 | 15.8 |
| FR | France | 29.9 | 31.3 | 31.6 | 30.9 |
| HR | Croatia | 22.0 | 20.5 | 17.5 | 19.8 |
| HU | Hungary | 21.9 | 20.6 | 20.8 | 21.1 |
| IE | Ireland | 31.4 | 33.6 | 24.4 | 29.2 |
| LT | Lithuania | 47.0 | 41.8 | 42.6 | 44.7 |
| LU | Luxembourg | 29.7 | 27.1 | 30.7 | 28.7 |
| LV | Latvia | 28.4 | 30.9 | 32.2 | 30.0 |
| MT | Malta | 27.7 | 31.2 | 25.7 | 29.4 |
| NL | Netherlands | 15.9 | 23.7 | 24.0 | 19.4 |
| PL | Poland | 49.8 | 51.0 | 50.1 | 50.2 |
| PT | Portugal | 34.7 | 33.2 | 30.6 | 33.3 |
| RO | Romania | 2.5 | 3.2 | -8.0 | -1.0 |
| SI | Slovenia | 22.3 | 22.8 | 23.1 | 22.8 |
| SK | Slovakia | 28.1 | 27.4 | 29.0 | 28.2 |
2010
Code
icw_sr_13 %>%
filter(time == "2010") %>%
select(deg_urb, geo, Geo, values) %>%
spread(deg_urb, values) %>%
select(geo, Geo, everything()) %>%
{if (is_html_output()) print_table(.) else .}| geo | Geo | DEG1 | DEG2 | DEG3 | TOTAL |
|---|---|---|---|---|---|
| AT | Austria | 14.6 | 21.4 | 19.7 | 18.0 |
| BE | Belgium | 7.2 | 11.5 | 6.6 | 8.9 |
| BG | Bulgaria | 43.4 | 40.1 | 31.5 | 38.0 |
| CY | Cyprus | 13.8 | 6.1 | 11.5 | 12.2 |
| CZ | Czechia | 23.1 | 25.1 | 23.9 | 23.9 |
| DE | Germany | 12.6 | 15.2 | 12.2 | 13.5 |
| DK | Denmark | 1.5 | 5.3 | 6.7 | 4.3 |
| EE | Estonia | 37.0 | 36.0 | 32.7 | 34.9 |
| EL | Greece | -12.5 | -9.2 | -10.8 | -11.2 |
| ES | Spain | 19.8 | 13.0 | 11.3 | 16.1 |
| FI | Finland | 21.6 | 21.7 | 23.1 | 22.2 |
| FR | France | 28.9 | 29.8 | 28.0 | 29.1 |
| HR | Croatia | 10.1 | 7.2 | -3.7 | 4.0 |
| HU | Hungary | 17.2 | 15.3 | 16.1 | 16.3 |
| IE | Ireland | 21.4 | 16.8 | 16.7 | 18.4 |
| IT | Italy | 29.0 | 25.5 | 21.7 | 26.4 |
| LT | Lithuania | 31.2 | NA | 16.3 | 22.8 |
| LU | Luxembourg | 24.7 | 27.6 | 37.8 | 28.4 |
| LV | Latvia | 12.1 | 17.2 | 8.6 | 10.5 |
| MT | Malta | 13.6 | 14.0 | NA | 13.7 |
| PL | Poland | 26.4 | 25.4 | 22.4 | 24.7 |
| PT | Portugal | 14.8 | 9.1 | 15.1 | 13.1 |
| RO | Romania | 3.7 | -0.9 | -11.5 | -5.1 |
| SE | Sweden | 14.6 | 23.1 | 18.3 | 18.0 |
| SI | Slovenia | 18.9 | 18.6 | 17.1 | 18.0 |
| SK | Slovakia | 28.2 | 22.2 | 23.7 | 24.4 |
| UK | United Kingdom | 22.3 | 23.7 | 23.8 | 22.9 |
2015
Code
icw_sr_13 %>%
filter(time == "2015") %>%
select(deg_urb, geo, Geo, values) %>%
spread(deg_urb, values) %>%
select(geo, Geo, everything()) %>%
{if (is_html_output()) print_table(.) else .}| geo | Geo | DEG1 | DEG2 | DEG3 | TOTAL |
|---|---|---|---|---|---|
| AT | Austria | 16.8 | 21.6 | 24.5 | 21.1 |
| BE | Belgium | 16.5 | 20.1 | 20.1 | 19.0 |
| BG | Bulgaria | 19.7 | 16.1 | 14.2 | 17.4 |
| CY | Cyprus | 9.9 | 11.0 | 10.8 | 10.5 |
| CZ | Czechia | 25.0 | 25.2 | 26.2 | 25.5 |
| DE | Germany | 11.0 | 16.6 | 19.5 | 14.9 |
| DK | Denmark | 17.8 | 28.4 | 30.9 | 25.6 |
| EA | Euro area (EA11-1999, EA12-2001, EA13-2007, EA15-2008, EA16-2009, EA17-2011, EA18-2014, EA19-2015, EA20-2023, EA21-2026) | 19.7 | 20.0 | 23.3 | 20.7 |
| EA21 | Euro area – 21 countries (from 2026) | 19.7 | 19.7 | 22.6 | 20.5 |
| EE | Estonia | 37.3 | 31.8 | 33.2 | 34.9 |
| EL | Greece | -4.8 | -6.0 | -8.8 | -6.5 |
| ES | Spain | 21.3 | 18.9 | 15.7 | 19.2 |
| EU | European Union (EU6-1958, EU9-1973, EU10-1981, EU12-1986, EU15-1995, EU25-2004, EU27-2007, EU28-2013, EU27-2020) | 19.0 | 19.8 | 22.0 | 20.1 |
| EU27_2020 | European Union - 27 countries (from 2020) | 20.4 | 20.5 | 22.2 | 21.0 |
| FI | Finland | 17.9 | 19.5 | 21.7 | 19.5 |
| FR | France | 33.3 | 34.9 | 36.3 | 34.6 |
| HR | Croatia | 10.6 | 5.5 | -0.3 | 4.4 |
| HU | Hungary | 15.1 | 13.4 | 14.8 | 14.6 |
| IE | Ireland | 27.1 | 24.2 | 24.1 | 25.2 |
| LT | Lithuania | 37.7 | 23.4 | 26.0 | 31.6 |
| LU | Luxembourg | 25.3 | 23.7 | 30.4 | 27.0 |
| LV | Latvia | 25.7 | 23.5 | 23.7 | 24.6 |
| MT | Malta | 17.7 | 19.2 | NA | 17.8 |
| NL | Netherlands | 12.9 | 19.2 | 19.5 | 15.8 |
| PL | Poland | 30.9 | 30.1 | 27.4 | 29.5 |
| PT | Portugal | 19.7 | 18.5 | 17.8 | 18.9 |
| RO | Romania | 12.3 | 11.3 | 9.6 | 10.9 |
| SE | Sweden | 23.9 | 25.2 | 24.8 | 24.6 |
| SI | Slovenia | 23.4 | 23.7 | 22.2 | 22.8 |
| SK | Slovakia | 18.6 | 17.6 | 16.9 | 17.6 |
| UK | United Kingdom | 13.4 | 15.2 | 20.0 | 15.0 |
Germany, France, Sweden
Code
icw_sr_13 %>%
filter(time == "2015",
geo %in% c("SE", "FR", "DE")) %>%
ggplot + geom_line(aes(x = deg_urb, 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.7),
legend.title = element_blank()) +
xlab("by degree of urbanisation") + ylab("Median saving rate") +
scale_y_continuous(breaks = 0.01*seq(-30, 50, 5),
labels = percent_format(accuracy = 1))