Naissances et fécondité - NAISSANCES-FECONDITE

Données - INSEE

Last observation: juil. 2026 (N = 2) · 2025 (N = 826)

First observation: 1901 (N = 4) · janv. 1946 (N = 1)

Last data update: 04 sept. 2026, 00:10

Last compile: 04 sept. 2026, 02:08

Structure

Données sur la demographie

source dataset Title Updated
eurostat demo_minfind Infant mortality rates - demo_minfind 2026-07-15
ined fm_t70_2019.fr Evolution de la mortalité infantile et de ses nombreuses composantes, 2019 - fm_t70_2019.fr 2026-08-01
ined fm_t70_2021.fr Evolution de la mortalité infantile et de ses nombreuses composantes, 2021 - fm_t70_2021.fr 2026-09-01
ined p2d_2019.fr Mortalité infantile par département et région - p2d_2019.fr 2026-08-01
insee DECES-MORTALITE Décès et mortalité - DECES-MORTALITE 2026-08-16
insee NAISSANCES-FECONDITE Naissances et fécondité - NAISSANCES-FECONDITE 2026-08-16
oecd FAMILY Family Database - FAMILY 2026-08-02

LAST_UPDATE

Code
`NAISSANCES-FECONDITE` |>
  group_by(LAST_UPDATE) |>
  summarise(Nobs = n()) |>
  arrange(desc(LAST_UPDATE)) |>
  print_table_conditional()
LAST_UPDATE Nobs
2026-09-03 1358
2026-07-02 5670
2026-01-19 157
2026-01-14 34729
2026-01-13 1080
2025-11-27 992
2025-07-29 135
2025-04-04 154
2016-04-18 40
2015-10-08 17

TITLE_FR

Code
`NAISSANCES-FECONDITE` |>
  group_by(IDBANK, TITLE_FR) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()

Démographie - Nombre de naissances vivantes

Par an (glissement)

Tous

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA)) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances sur les 12 derniers mois")

1990-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA)) |>
  filter(date >= as.Date("1990-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances sur les 12 derniers mois")

2000-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA)) |>
  filter(date >= as.Date("2000-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances sur les 12 derniers mois")

2012-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA)) |>
  filter(date >= as.Date("2012-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_x_date(breaks = seq(1880, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances sur les 12 derniers mois")

2018-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA)) |>
  filter(date >= as.Date("2018-01-01")) |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_x_date(breaks = seq(1880, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances sur les 12 derniers mois")

Changement sur 2 ans

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  arrange(date) |>
  mutate(OBS_VALUE = rollsum(x = OBS_VALUE, 12, align = "right", fill = NA),
         change = OBS_VALUE - lag(OBS_VALUE, 24)) |>
  ggplot() + geom_line(aes(x = date, y = change)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(-1000000, 1000000, 20000),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Variation sur 2 ans\ndu nombre de naissances sur les 12 derniers mois")

Par jour

Tous

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE/30)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 100*seq(1, 1000, 1),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances vivantes/jour")

1990-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") %>%
  mutate(TIME_PERIOD = TIME_PERIOD |> paste0("-01") |> as.Date(),
         OBS_VALUE = OBS_VALUE |> as.numeric()) |>
  filter(TIME_PERIOD >= as.Date("1990-01-01")) |>
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE/30)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 100*seq(1, 1000, 1),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances vivantes/jour")

2000-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") %>%
  mutate(TIME_PERIOD = TIME_PERIOD |> paste0("-01") |> as.Date(),
         OBS_VALUE = OBS_VALUE |> as.numeric()) |>
  filter(TIME_PERIOD >= as.Date("2000-01-01")) |>
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE/30)) +
  scale_x_date(breaks = seq(1880, 2100, 2) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 100*seq(1, 1000, 1),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances vivantes/jour")

2012-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") %>%
  mutate(TIME_PERIOD = TIME_PERIOD |> paste0("-01") |> as.Date(),
         OBS_VALUE = OBS_VALUE |> as.numeric()) |>
  filter(TIME_PERIOD >= as.Date("2012-01-01")) |>
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE/30)) +
  scale_x_date(breaks = seq(1880, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 100*seq(1, 1000, 1),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances vivantes/jour")

2018-

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") %>%
  mutate(TIME_PERIOD = TIME_PERIOD |> paste0("-01") |> as.Date(),
         OBS_VALUE = OBS_VALUE |> as.numeric()) |>
  filter(TIME_PERIOD >= as.Date("2018-01-01")) |>
  ggplot() + geom_line(aes(x = TIME_PERIOD, y = OBS_VALUE/30)) +
  scale_x_date(breaks = seq(1880, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 100*seq(1, 1000, 1),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances vivantes/jour")

Par mois

Code
`NAISSANCES-FECONDITE` |>
  filter(IDBANK == "000436391") |>
  month_to_date() |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 100*seq(1, 1000, 50),
                     labels = dollar_format(pre = "")) +
  theme_minimal() + xlab("") + ylab("Nombre de naissances vivantes/jour")

Indicateur conjoncturel de fécondité

France

Code
`NAISSANCES-FECONDITE` |>
  filter(DEMOGRAPHIE == "ICF") |>
  year_to_date() |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
  scale_x_date(breaks = seq(1880, 2100, 20) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 300, 10)) +
  theme_minimal() + xlab("") + ylab("Indicateur conjoncturel de fécondité (pour 100 femmes)") +
  theme(legend.position = c(0.85, 0.85),
        legend.title = element_blank())

Paris, Hauts-de-Seine, Seine-Saint-Denis

Code
`NAISSANCES-FECONDITE` |>
  filter(REF_AREA %in% c("D92", "D93", "D75"),
         INDICATEUR == "INDICATEUR_FECONDITE",
         AGE == "00-") |>
  year_to_date() |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
  scale_x_date(breaks = seq(1880, 2100, 5) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(100, 300, 10)) +
  theme_minimal() + xlab("") + ylab("Indicateur conjoncturel de fécondité (pour 100 femmes)") +
  theme(legend.position = c(0.25, 0.85),
        legend.title = element_blank())

Taux de natalité

Code
`NAISSANCES-FECONDITE` |>
  filter(DEMOGRAPHIE == "TXNAT") |>
  year_to_date() |>
  ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Ref_area)) +
  scale_x_date(breaks = seq(1880, 2100, 20) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 300, 1)) +
  theme_minimal() + xlab("") + ylab("Taux de natalité") +
  theme(legend.position = c(0.85, 0.85),
        legend.title = element_blank())