Composite Leading Indicators (MEI)

Data - OECD

Info

LAST_COMPILE

LAST_COMPILE
2026-08-08

Last

obsTime FREQUENCY Nobs
2022 A 5
2023-08 M 118
2023-Q2 Q 32

SUBJECT

Code
MEI_CLI |>
  left_join(MEI_CLI_var$SUBJECT, by = c("SUBJECT")) |>
  group_by(SUBJECT, Subject) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()
SUBJECT Subject Nobs
BSCICP03 OECD Standardised BCI, Amplitude adjusted (Long term average=100), sa 25369
CSCICP03 OECD Standardised CCI, Amplitude adjusted (Long term average=100), sa 24791
LORSGPNO Normalised (GDP) 15415
LORSGPRT Ratio to trend (GDP) 15415
LORSGPTD Trend (GDP) 14868
LOLITOAA Amplitude adjusted (CLI) 13417
LOLITONO Normalised (CLI) 13417
LOLITOTR_STSA Trend restored (CLI) 13147
LOLITOTR_GYSA 12-month rate of change of the trend restored CLI 12871
LORSGPOR_IXOBSA Original, seasonally adjusted (GDP) 7850
LORSGPOR_GYSA 12-month rate of change of the reference series (GDP) 7635

FREQUENCY

Code
MEI_CLI |>
  left_join(MEI_CLI_var$FREQUENCY, by = c("FREQUENCY")) |>
  group_by(FREQUENCY, Frequency) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()
FREQUENCY Frequency Nobs
M Monthly 156100
Q Quarterly 7884
A Annual 211

LOCATION

Code
MEI_CLI |>
  left_join(MEI_CLI_var$LOCATION, by = "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 .}

Info

OECD Standardised Business Confidence Indicator (BCI)

France, Germany, Japan

All

Code
MEI_CLI |>
  # OECD Standardised Business Confidence Indicator
  filter(LOCATION %in% c("FRA", "DEU", "JPN"),
         SUBJECT == "BSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

1995-

Code
MEI_CLI |>
  # OECD Standardised Business Confidence Indicator
  filter(LOCATION %in% c("FRA", "DEU", "JPN"),
         SUBJECT == "BSCICP03") |>
  month_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

Italy, United States, United Kingdom

All

Code
MEI_CLI |>
  # OECD Standardised Business Confidence Indicator
  filter(LOCATION %in% c("ITA", "USA", "GBR"),
         SUBJECT == "BSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

1995-

Code
MEI_CLI |>
  # OECD Standardised Business Confidence Indicator
  filter(LOCATION %in% c("ITA", "USA", "GBR"),
         SUBJECT == "BSCICP03") |>
  month_to_date() |>
  filter(date >= as.Date("1995-01-01")) |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

OECD Standardised Consumer Confidence Indicator (CCI), Amplitude adjusted (Long term average=100), sa (CCI)

Nobs

Code
MEI_CLI |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  filter(SUBJECT == "CSCICP03") |>
  group_by(LOCATION, Location, FREQUENCY) |>
  arrange(obsTime) |>
  summarise(Nobs = n(),
            obsTime1 = first(obsTime),
            obsTime2 = last(obsTime)) |>
  arrange(-Nobs) |>
  print_table_conditional()

France, Germany, Japan

All

Code
MEI_CLI |>
  # CSCICP03: Consumer Confidence Indicator (CCI)
  filter(LOCATION %in% c("FRA", "DEU", "JPN"),
         SUBJECT == "CSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

2010-

Code
MEI_CLI |>
  # CSCICP03: Consumer Confidence Indicator (CCI)
  filter(LOCATION %in% c("FRA", "DEU", "JPN"),
         SUBJECT == "CSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  filter(date >= as.Date("2010-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

France, Germany, Italy

All

Code
MEI_CLI |>
  # CSCICP03: Consumer Confidence Indicator (CCI)
  filter(LOCATION %in% c("FRA", "DEU", "ITA"),
         SUBJECT == "CSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

2010-

Code
MEI_CLI |>
  # CSCICP03: Consumer Confidence Indicator (CCI)
  filter(LOCATION %in% c("FRA", "DEU", "ITA"),
         SUBJECT == "CSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  filter(date >= as.Date("2010-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

Italy, United States, United Kingdom

Code
MEI_CLI |>
  # CSCICP03: Consumer Confidence Indicator (CCI)
  filter(LOCATION %in% c("ITA", "USA", "GBR"),
         SUBJECT == "CSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())

Switzerland, Belgium, Netherlands

Code
MEI_CLI |>
  # CSCICP03: Consumer Confidence Indicator (CCI)
  filter(LOCATION %in% c("CHE", "BEL", "NLD"),
         SUBJECT == "CSCICP03") |>
  month_to_date() |>
  left_join(MEI_CLI_var$LOCATION, by = "LOCATION") |>
  group_by(LOCATION) |>
  left_join(colors, by = c("Location" = "country")) |>
  ggplot() + geom_line(aes(x = date, y = obsValue, color = color)) + 
  scale_color_identity() + add_3flags +
  theme_minimal() + xlab("") + ylab("OECD Standardised BCI") +
  scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-10, 200, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  theme(legend.position = c(0.2, 0.90),
        legend.title = element_blank())