Agrégats monétaires - France - BSI1

Données - BDF

🇬🇧 English version

Info

Last observation: M: 2026-06-30 (N = 1208) · Q: 2026-06-30 (N = 28)

First observation: M: 1970-01-31 (N = 7) · Q: 1977-12-31 (N = 21)

Last data update: 14 aoû 2026, 21:22. Last compile: 17 aoû 2026, 22:30

Structure

source dataset Title Updated
bdf BSI1 Agrégats monétaires - France 2026-08-14

Derniers

  • Dernier. html

  • Crédits aux particuliers, Juin 2023. pdf

  • Liste Données BDF Crédit aux particuliers. html

  • Crédits aux particuliers, Avril 2021. html / pdf

  • Crédits aux particuliers, Octobre 2021. html / pdf

Tables

Comptes de patrimoine

Code
ig_b("insee", "ip1967", "table2")

Comptes financiers

Code
ig_b("insee", "ip1967", "table2")

Encours financiers BDF

Fin 2023

Code
ig_b("bdf", "ER-2023_web", "T1")

Fin 2022

Code
ig_b("bdf", "er-2022_rapport_web", "T1")

Livrets réglementés

Panorama

  • L’épargne réglementée en 2022. pdf
Code
ig_b("bdf", "er-2022_rapport_web", "G1")

LEP: Livret Epargne Populaire

Code
BSI1 |>
  filter(variable == "BSI1.M.FR.N.A.L23FRLP.A.1.U6.2251.Z01.E") |>
  arrange(desc(date)) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("Livret d'Epargne Populaire") +
  geom_line(aes(x = date, y = value / 1000)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 100, 5),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, label = round(value/1000, digits = 1)))

Livrets A et Bleus, PEL

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRLA.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E")) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret A et PEL, LEP, Déôts vue

Tous

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2250.Z01.E")) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret A et PEL

Tous

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E")) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E")) |>
  
  filter(date >= as.Date("2011-12-31")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Dépôts à vue, Livret ordinaire, PEL, Livret A, LDDS

Tous

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRCT.A.1.U6.2250.Z01.E")) |>
  
  arrange(date) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRCT.A.1.U6.2250.Z01.E")) |>
  
  filter(date >= as.Date("2011-12-31")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.8),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret ordinaire, PEL, Livret A, LDDS

2012

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L20.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L23.A.1.U6.2250.Z01.E")) |>
  
  arrange(date) |>
  filter(date >=as.Date("2012-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 10000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Livret ordinaire, PEL, Livret A, LDDS

Tous

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E")) |>
  
  arrange(date) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2000-

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E")) |>
  
  filter(date >= as.Date("1999-12-31")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLO.A.1.U6.2250.Z01.E")) |>
  
  filter(date >= as.Date("2011-12-31")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

PEL, Livret A, LDDS

Tous

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E")) |>
  
  arrange(date) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2000-

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E")) |>
  
  filter(date >= as.Date("1999-12-31")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 |>
  filter(variable %in% c("BSI1.M.FR.N.A.L23FRAB.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L22FRPL.A.1.U6.2251.Z01.E",
                         "BSI1.M.FR.N.A.L23FRLD.A.1.U6.2251.Z01.E")) |>
  
  filter(date >= as.Date("2011-12-31")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu, LDDS") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

PEL, tous

Code
BSI1 |>
  
  filter(BS_ITEM %in% c("L22FRPL")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Livret A , Livret Bleu") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(0, 1000, 20),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Dépôts à vue (L21)

2300

Code
BSI1 |>
  
  filter(BS_ITEM %in% c("L21"),
         variable == "BSI1.M.FR.N.A.L21.A.1.U6.2300.Z01.E") |>
  ggplot() + theme_minimal() + xlab("") + ylab("Dépôts à vue") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1))

2250 - Ménages

Code
BSI1 |>
  
  filter(BS_ITEM %in% c("L21"),
         variable == "BSI1.M.FR.N.A.L21.A.1.U6.2250.Z01.E") |>
  ggplot() + theme_minimal() + xlab("") + ylab("Dépôts à vue") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Dépôts (L20)

Tous

Code
BSI1 |>
  
  filter(variable %in% c("BSI1.M.FR.N.A.L20.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L20.A.1.U6.2254FR.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2300.Z01.E")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Dépôts à vue") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.6),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

2012-

Code
BSI1 |>
  
  filter(variable %in% c("BSI1.M.FR.N.A.L20.A.1.U6.2250.Z01.E",
                         "BSI1.M.FR.N.A.L20.A.1.U6.2254FR.Z01.E",
                         "BSI1.M.FR.N.A.L21.A.1.U6.2300.Z01.E"),
         date >= as.Date("2011-12-31")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Dépôts, Dépôts à vue") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(100, 3000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Encours crédit entreprises

2240: crédits entrerpises

Linear

Code
data_ombeline <- BSI1 |>
  group_by(variable) |>
  summarise(max_date = max(date),
            min_date = min(date)) |>
  left_join(BSI1_var, by = "variable") |>
  filter(BS_COUNT_SECTOR == "2240") |>
  arrange(desc(max_date))

save(data_ombeline, file = "~/data_ombeline.RData")

Encours crédit à l’habitat

Linear

Code
BSI1 |>
  filter(grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2250.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.2.A22.A.1.U6.2251.Z01.E", variable)) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(-10000, 10000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Log

Code
BSI1 |>
  filter(grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2250.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A220Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.2.A22.A.1.U6.2251.Z01.E", variable)) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(-10000, 10000, 100),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Encours crédit à la consommation

Linear

Code
BSI1 |>
  filter(grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2250.Z01.E", variable)) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_continuous(breaks = seq(-10000, 10000, 10),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))

Log

Code
BSI1 |>
  filter(grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2254FR.Z01.E", variable) |
           grepl("BSI1.M.FR.N.R.A210Z.A.1.U6.2250.Z01.E", variable)) |>
  
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = value / 1000, color = Variable)) +
  
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical") +
  scale_y_log10(breaks = seq(-10000, 10000, 10),
                labels = dollar_format(suffix = " Mds€", prefix = "",  accuracy = 1)) +
  geom_label(data = . %>% filter(date == as.Date("2023-12-31")),
             aes(x = date, y = value/1000, color = Variable, label = round(value/1000, digits = 1)))