Main Economic Indicators
Data - OECD
Info
Data on interest rates
| source | dataset | Title | .html | .rData |
|---|---|---|---|---|
| oecd | MEI | Main Economic Indicators | 2026-08-11 | 2026-08-02 |
| bdf | FM | Marché financier, taux | 2026-08-11 | 2026-08-10 |
| bdf | MIR | Taux d'intérêt - Zone euro | 2026-08-11 | 2026-08-10 |
| bdf | MIR1 | Taux d'intérêt - France | 2026-08-11 | 2026-08-10 |
| bis | CBPOL_D | Policy Rates, Daily | 2026-08-11 | 2026-08-01 |
| bis | CBPOL_M | Policy Rates, Monthly | 2026-08-11 | 2026-07-25 |
| ecb | FM | Financial market data | 2026-08-12 | 2026-08-11 |
| ecb | MIR | MFI Interest Rate Statistics | 2026-08-12 | 2026-08-11 |
| eurostat | ei_mfir_m | Interest rates - monthly data | 2026-08-11 | 2026-08-11 |
| eurostat | irt_lt_mcby_d | EMU convergence criterion series - daily data | 2026-08-11 | 2026-08-02 |
| eurostat | irt_st_m | Money market interest rates - monthly data | 2026-08-11 | 2026-08-11 |
| fred | r | Interest Rates | 2026-08-11 | 2026-08-11 |
| oecd | MEI_FIN | Monthly Monetary and Financial Statistics (MEI) | 2026-08-11 | 2026-08-02 |
| wdi | FR.INR.DPST | Deposit interest rate (%) | 2026-08-11 | 2026-08-11 |
| wdi | FR.INR.LEND | Lending interest rate (%) | 2026-08-11 | 2026-08-11 |
| wdi | FR.INR.RINR | Real interest rate (%) | 2026-08-11 | 2026-08-11 |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-08-13 |
Last
| obsTime | Nobs |
|---|---|
| 2018-Q4 | 38735 |
Nobs - Javascript
Code
MEI |>
left_join(MEI_var$SUBJECT, by = c("SUBJECT")) %>%
{if (!is_html_output()) mutate(., Subject = substr(Subject, 1, 87)) else .} |>
group_by(SUBJECT, Subject, MEASURE, FREQUENCY) |>
filter(!is.na(obsValue)) |>
summarise(Nobs = n()) |>
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}SUBJECT
Code
MEI |>
left_join(MEI_var$SUBJECT, by = c("SUBJECT")) |>
group_by(SUBJECT, Subject) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()MEASURE
Code
MEI |>
left_join(MEI_var$MEASURE, by = c("MEASURE")) |>
group_by(MEASURE, Measure) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| MEASURE | Measure | Nobs |
|---|---|---|
| STSA | Level, rate or national currency, s.a. | 2425828 |
| ST | Level, rate or national currency | 1920477 |
| IXOB | Index 2015=100 | 1419412 |
| GP | Growth rate previous period | 1100173 |
| GY | Growth rate same period previous year | 968026 |
| GPSA | Growth rate previous period, s.a. | 497797 |
| IXOBSA | Index 2015=100, s.a. | 486702 |
| CXCU | US Dollars, sum over component sub-periods | 475488 |
| GYSA | Growth rate same period previous year, s.a. | 361270 |
| NCCU | National currency, sum over component sub-periods | 351193 |
| IXNB | Index source base | 268651 |
| IXEB | Index Eurostat base | 150748 |
| CXML | US Dollars, monthly level | 118403 |
| CXMLSA | US Dollars, monthly level, s.a. | 115902 |
| NCMLSA | National currency, monthly level, s.a. | 112166 |
| NCML | National currency, monthly level | 111499 |
| CXCUSA | US Dollars, sum over component sub-periods, s.a. | 109750 |
| AL | Annual Level | 109541 |
| CTGY | Contribution to annual inflation | 91154 |
| NCCUSA | National currency, sum over component sub-periods s.a | 79410 |
| MLSA | Monthly level, s.a. | 52317 |
| ML | Monthly level | 47781 |
| IXNSA | Normalised, seasonally adjusted (normal = 100) | 42272 |
| IXEBSA | Index Eurostat base, s.a. | 29473 |
| IXNBSA | Index source base, s.a. | 6051 |
| QLSA | Quarterly level, s.a. | 3275 |
| QL | Quarterly level | 3246 |
| IXPY | Index same period previous year = 100 | 344 |
| CXQLSA | NA | 152 |
FREQUENCY
Code
MEI |>
left_join(MEI_var$FREQUENCY, by = c("FREQUENCY")) |>
group_by(FREQUENCY, Frequency) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
print_table_conditional()| FREQUENCY | Frequency | Nobs |
|---|---|---|
| M | Monthly | 6300299 |
| Q | Quarterly | 3862177 |
| A | Annual | 1296025 |
LOCATION
Code
MEI |>
left_join(MEI_var$LOCATION, by = c("LOCATION")) |>
group_by(LOCATION, Location) |>
summarise(Nobs = n()) |>
arrange(-Nobs) |>
mutate(Flag = gsub(" ", "-", str_to_lower(gsub(" ", "-", Location))),
Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) |>
select(Flag, everything()) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}Monetary Base
M1
All
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MANMM101",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
#filter(date >= as.Date("1990-01-01")) %>%
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M1") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
1990-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MANMM101",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M1") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
M3
All
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MABMM301",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M3") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
1990-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "JPN", "DEU"),
SUBJECT == "MABMM301",
MEASURE == "IXOB",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/obsValue[1]) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_2flags + theme_minimal() + xlab("") + ylab("M3") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(seq(1, 50, 1), 100, 150, 200, 500, 1000))
M1 and M3
LT Interest Rates
France, Germany, Japan
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("2010-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
add_3flags +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = "none") +
geom_hline(yintercept = 0, linetype = "dashed")
2019-2021
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("2014-02-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION) |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + xlab("") + ylab("Taux Nominal sur la Dette, 10 ans (%)") +
add_3flags +
scale_x_date(breaks = "1 year",
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, .2),
labels = percent_format(accuracy = .1)) +
scale_color_manual(values = c("#002395", "#000000", "#BC002D")) +
theme(legend.position = "none") +
geom_hline(yintercept = 0, linetype = "dashed")
France, United States, Germany, Japan
All
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
add_4flags +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank()) +
scale_color_identity()
1990-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue / 100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_4flags +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank())
2010-
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "IRLTLT01",
FREQUENCY == "M") |>
month_to_date() |>
filter(date >= as.Date("2010-01-01")) |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue / 100, color = color)) +
theme_minimal() + xlab("") + ylab("Long-Term Interest Rates (%)") +
geom_image(data = . %>%
filter(date == as.Date("2014-01-01")) %>%
mutate(image = paste0("../../icon/flag/round/", str_to_lower(gsub(" ", "-", Location)), ".png")),
aes(x = date, y = obsValue / 100, image = image), asp = 1.5) +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = "none") +
scale_color_identity()
Employment Rates
United States
2000-
Code
MEI |>
filter(LOCATION %in% c("USA"),
SUBJECT %in% c("LREM24TT", "LREM55TT", "LREM25TT", "LREM64TT", "LREMTTTT"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > All persons", "", Subject)) |>
filter(date >= as.Date("2000-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
2007-
Code
MEI |>
filter(LOCATION %in% c("USA"),
SUBJECT %in% c("LREM24TT", "LREM55TT", "LREM25TT", "LREM64TT", "LREMTTTT"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > All persons", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
France
All
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24TT", "LREM55TT", "LREM25TT", "LREM64TT", "LREMTTTT"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > All persons", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
Males
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24MA", "LREM55MA", "LREM25MA", "LREM64MA", "LREMTTMA"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Males", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Male Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
Females
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24FE", "LREM55FE", "LREM25FE", "LREM64FE", "LREMTTFE"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Females", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Female Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.80),
legend.title = element_blank(),
legend.direction = "horizontal")
Females, Males
France
Code
MEI |>
filter(LOCATION %in% c("FRA"),
SUBJECT %in% c("LREM24FE", "LREM55FE", "LREM25FE", "LREM64FE", "LREMTTFE",
"LREM24MA", "LREM55MA", "LREM25MA", "LREM64MA", "LREMTTMA"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(Gender = ifelse(grepl("Males", Subject), "Males", "Females")) |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Females", "", Subject),
Subject = gsub(" > Males", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject, linetype = Gender)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Female Employment Rates (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.75),
legend.title = element_blank(),
legend.direction = "horizontal")
Germany
Code
MEI |>
filter(LOCATION %in% c("DEU"),
SUBJECT %in% c("LREM24FE", "LREM55FE", "LREM25FE", "LREM64FE", "LREMTTFE",
"LREM24MA", "LREM55MA", "LREM25MA", "LREM64MA", "LREMTTMA"),
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
mutate(Gender = ifelse(grepl("Males", Subject), "Males", "Females")) |>
mutate(obsValue = obsValue / 100,
Subject = gsub("Labour Force Survey - quarterly rates > Employment rate > Aged ", "", Subject),
Subject = gsub(" > Females", "", Subject),
Subject = gsub(" > Males", "", Subject)) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = Subject, linetype = Gender)) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 5),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Male, Female Employment Rates in Germany (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = c(0.4, 0.75),
legend.title = element_blank(),
legend.direction = "horizontal")
LREM24TT - 15-24
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM24TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 15-24 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREM55TT - 55-64
2000-
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM55TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 100) |>
#filter(date >= as.Date("2000-01-01")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 55-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
2007-
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM55TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 55-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREM25TT - 25-54
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA"),
SUBJECT == "LREM25TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_5flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 55-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREM64TT - 15-64
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA", "ESP", "CHE"),
SUBJECT == "LREM64TT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_7flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 15-64 (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
LREMTTTT - 15+
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "JPN", "USA", "ITA"),
SUBJECT == "LREMTTTT",
FREQUENCY == "Q",
MEASURE == "STSA") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(MEI_var$SUBJECT, by = "SUBJECT") |>
left_join(colors, by = c("Location" = "country")) |>
mutate(obsValue = obsValue / 100) |>
filter(date >= as.Date("2007-01-01")) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_5flags +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme_minimal() + xlab("") + ylab("Employment Rates 15+ (%)") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
theme(legend.position = "none")
Inflation - CPHPTT01
Table - Countries
Code
MEI |>
filter(SUBJECT == "CPALTT01",
FREQUENCY == "M",
MEASURE == "GY") |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
group_by(LOCATION, Location) |>
summarise(Nobs = n()) |>
print_table_conditional()Table - Countries - EA
Code
MEI |>
filter(SUBJECT == "CPALTT01",
FREQUENCY == "M",
MEASURE == "GY",
LOCATION %in% c("EA19", "EA20", "EU27_2020", "EU28")) |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
#filter(date >= as.Date("2019-01-01")) %>%
ggplot() + geom_line(aes(x = date, y = obsValue, color = Location)) +
theme_minimal() + xlab("") + ylab("Consumer Price Index, All items") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 200, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
All items
(ref:CPALTT01) Consumer Price Index, All items
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN", "EA19"),
SUBJECT == "CPALTT01",
FREQUENCY == "M",
MEASURE == "GY") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
filter(date >= as.Date("2019-01-01")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/100) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_4flags +
theme_minimal() + xlab("") + ylab("Consumer Price Index, All items") +
scale_x_date(breaks = seq(1960, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 200, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
OECD descriptor ID: CPHPTT01 OECD unit ID: GY OECD country ID: EA17
CA Balance
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "B6BLTT02",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue / 100, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Total CA Balance, % of GDP") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 50, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Housing excl imputed rentals for housing
(ref:CPGRHO02) Housing excluding imputed rentals for housing
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CPGRHO02",
MEASURE == "IXOB",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
CPI
All items
(ref:CPALTT01) Consumer Price Index, All items
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CPALTT01",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Consumer Price Index, All items") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Services less housing
(ref:CPGRLH01) Consumer Price Index, Services less housing
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CPGRLH01",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Services less housing") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Food and non-Alcoholic beverages
(ref:CP010000) CPI, Food and non-Alcoholic beverages
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP010000",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Food and non-Alcoholic beverages") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Clothing and Footware
(ref:CP030000) CPI, Clothing and Footware
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP030000",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Clothing and Footware") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Restaurants and hotels
(ref:CP110000) CPI, Restaurants and hotels
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP110000",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Restaurants and hotels") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Actual rentals for housing
Code
MEI |>
filter(LOCATION %in% c("FRA", "USA", "DEU", "JPN"),
SUBJECT == "CP040100",
FREQUENCY == "Q",
MEASURE == "IXOB") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("CPI, Actual rentals for housing") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-10, 200, 10),
labels = dollar_format(accuracy = 1, prefix = "")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Exchange Rates
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA"),
# CCUSMA02: Average of daily rates > National currency:USD
SUBJECT == "CCUSMA02",
# ST: Level, rate or national currency
MEASURE == "ST",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("Exchange Rate ($1 = ?National Currency)") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 10, 0.2),
labels = dollar_format(accuracy = 0.1, prefix = "", suffix = "../$")) +
theme(legend.position = c(0.8, 0.80),
legend.title = element_blank())
Passenger cars
Example
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA"),
# SLRTCR03: Passenger cars
SUBJECT == "SLRTCR03",
# ML: Monthly level
MEASURE == "ML",
FREQUENCY == "M") |>
month_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/10^3) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 1000, 50),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "K")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Example
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA","USA"),
# SLRTCR03: Passenger cars
SUBJECT == "SLRTCR03",
# ML: Monthly level
MEASURE == "ML",
FREQUENCY == "A") |>
year_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/10^3) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 1000, 50),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "K")) +
theme(legend.position = c(0.2, 0.80),
legend.title = element_blank())
Current Account Balance
Code
MEI |>
filter(LOCATION %in% c("FRA", "DEU", "ITA"),
# B6BLTT01: Balance of payments BPM6 > Current account Balance > Total > Total Balance
SUBJECT == "B6BLTT01",
# CXCUSA: US Dollars, sum over component sub-periods, s.a
MEASURE == "CXCUSA",
FREQUENCY == "Q") |>
quarter_to_date() |>
left_join(MEI_var$LOCATION, by = "LOCATION") |>
left_join(colors, by = c("Location" = "country")) |>
group_by(LOCATION) |>
mutate(obsValue = obsValue/10^3) |>
ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) +
scale_color_identity() + add_3flags +
theme_minimal() +
theme(legend.title = element_blank(),
legend.position = c(0.2, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(-20000, 400000, 10),
labels = dollar_format(accuracy = 1, suffix = " Bn", prefix = "$ ")) +
xlab("") + ylab("Current account Balance, Total")









