Last observation: nov. 2026 (N = 40)
First observation: juil. 1930 (N = 1)
Last data update: 02 nov. 2026, 23:29
Last compile: 04 nov. 2026, 11:37
`SMIC-COTISATIONS` |>
group_by(IDBANK, TITLE_FR) |>
summarise(Nobs = n(),
date1 = first(TIME_PERIOD),
date2 = last(TIME_PERIOD)) |>
arrange(-Nobs) |>
print_table_conditional()`SMIC-COTISATIONS` |>
filter(TIME_PERIOD == "1980-01") |>
select(INDICATEUR, IDBANK, TITLE_FR) |>
print_table_conditional()| INDICATEUR | IDBANK | TITLE_FR |
|---|---|---|
| SMG | 000077502 | Salaire minimum brut interprofessionnel de croissance (Smic) : augmentation en % |
| CHGS | 000077576 | Taux de cotisations sociales (part salariale) des non-cadres, hors contribution sociale généralisée (CSG) et contribution au remboursement de la dette sociale (CRDS) : pour les salaires inférieurs à 1 plafond de la sécurité sociale |
| SMG | 000822484 | Montant du Smic (Salaire minimum interprofessionnel de croissance) brut horaire |
`SMIC-COTISATIONS` |>
filter(IDBANK == "000822484") |>
month_to_date() |>
select(date, OBS_VALUE) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = seq(0, 2000, 1),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "€"))
`SMIC-COTISATIONS` |>
filter(IDBANK == "000822484") |>
month_to_date() |>
select(date, OBS_VALUE) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = seq(1940, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(0.1, 0.2, 0.5, 1, 2, 5, 10),
labels = dollar_format(accuracy = .1, prefix = "", suffix = "€"))
Taux horaire du SMIC brut, dernier: 12.31€/h.
12.31€/h x 151,666h/mois = 1867.00846€
12.31€/h x 35h/semaine x 52 = 2.24042^{4}€
1 année = 35h/semaine x 52 = 1820 h / an.
4.333333 semaines par mois. (52 semaines sur 12 semaines)
151,666 = 35*52/12= 151.6666667
Taux horaire du SMIC net, dernier: 9.74€/h.
9.74€/h x 151,666h/mois = 1477.22684€
9.74€/h x 35h/semaine x 52 = 1.77268^{4}€
1 année = 35h/semaine x 52 = 1820 h / an.
4.333333 semaines par mois. (52 semaines sur 12 semaines)
151,666 = 35h/semaine x 52 / 12 = 151.6666667
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
ggplot(aes(x = date, y = OBS_VALUE, color = Indicateurs_smic_cotisations)) +
geom_line() +
geom_label(
data = . %>% filter(date == max(date)),
aes(label = paste0(format(OBS_VALUE, big.mark = " ", decimal.mark = ",", digits = 6), " €")),
show.legend = FALSE
) +
scale_x_date(
breaks = seq(as.Date("1960-01-01"), as.Date("2100-01-01"), by = "2 years"),
labels = date_format("%Y")
) +
scale_y_log10(
breaks = seq(100, 2000, 100),
labels = label_number(accuracy = 1, suffix = " €", big.mark = " ")
) +
theme_minimal() +
theme(
legend.position = c(0.2, 0.9),
legend.title = element_blank()
) +
xlab("") + ylab("")
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
filter(date >= as.Date("2012-01-01")) |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
ggplot(aes(x = date, y = OBS_VALUE, color = Indicateurs_smic_cotisations)) +
geom_line() +
geom_label(
data = . %>% filter(date == max(date)),
aes(label = paste0(format(OBS_VALUE, big.mark = " ", decimal.mark = ",", digits = 6), " €")),
show.legend = FALSE
) +
scale_x_date(
breaks = seq(as.Date("1960-01-01"), as.Date("2100-01-01"), by = "2 years"),
labels = date_format("%Y")
) +
scale_y_log10(
breaks = seq(100, 2000, 100),
labels = label_number(accuracy = 1, suffix = " €", big.mark = " ")
) +
theme_minimal() +
theme(
legend.position = c(0.2, 0.9),
legend.title = element_blank()
) +
xlab("") + ylab("")
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
filter(date >= as.Date("2017-01-01")) |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateurs_smic_cotisations)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "6 months",
labels = date_format("%b %Y")) +
scale_y_log10(breaks = seq(0, 2000, 100),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "€")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
geom_label(data = . %>% filter(date %in% c(max(date), min(date))),
aes(x = date, y = OBS_VALUE, label = formatC(OBS_VALUE, big.mark = " "), color = Indicateurs_smic_cotisations))
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
filter(date >= as.Date("2017-01-01")) |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
group_by(Indicateurs_smic_cotisations) |>
arrange(date) |>
mutate(indice = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + geom_line(aes(x = date, y = indice, color = Indicateurs_smic_cotisations)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "6 months",
labels = date_format("%b %Y")) +
scale_y_log10(breaks = seq(0, 2000, 2)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
geom_label_repel(data = . %>% filter(date == max(date)),
aes(x = date, y = indice, label = round(indice, 1), color = Indicateurs_smic_cotisations), show.legend = F)
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
filter(date >= as.Date("2020-01-01")) |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateurs_smic_cotisations)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "3 months",
labels = date_format("%b %Y")) +
scale_y_log10(breaks = seq(0, 2000, 100),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "€")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
filter(date >= as.Date("2020-01-01")) |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
group_by(Indicateurs_smic_cotisations) |>
arrange(date) |>
mutate(indice = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + geom_line(aes(x = date, y = indice, color = Indicateurs_smic_cotisations)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "2 months",
labels = date_format("%b %Y")) +
scale_y_log10(breaks = seq(0, 2000, 2)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
filter(date >= as.Date("2021-01-01")) |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE, color = Indicateurs_smic_cotisations)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "2 months",
labels = date_format("%b %Y")) +
scale_y_log10(breaks = seq(0, 2000, 100),
labels = dollar_format(accuracy = 1, prefix = "", suffix = "€")) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
`SMIC-COTISATIONS` |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
month_to_date() |>
filter(date >= as.Date("2021-01-01")) |>
select(Indicateurs_smic_cotisations, date, OBS_VALUE) |>
group_by(Indicateurs_smic_cotisations) |>
arrange(date) |>
mutate(indice = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + geom_line(aes(x = date, y = indice, color = Indicateurs_smic_cotisations)) +
theme_minimal() + xlab("") + ylab("") +
scale_x_date(breaks = "2 months",
labels = date_format("%b %Y")) +
scale_y_log10(breaks = seq(0, 2000, 1)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank(),
axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1))
Euros constants de octobre 2026 (dernier mois de prix disponible ; niveau de prix = moyenne des 12 mois se terminant en octobre 2026).
SMIC_reel |>
filter(INDICATEURS_SMIC_COTISATIONS == "SMICH", deflateur == "IPC") |>
ggplot(aes(x = date, y = reel)) + geom_line() +
theme_minimal() + xlab("") +
ylab(paste0("SMIC horaire brut (€ de ", mois_ref, ")")) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 1.5, 2, 3, 4, 5, 6, 7, 8, 10, 12, 15),
labels = label_number(accuracy = 0.1, suffix = " €", decimal.mark = ","))
SMIC_reel |>
filter(INDICATEURS_SMIC_COTISATIONS == "SMICH", date >= as.Date("1996-01-01")) |>
ggplot(aes(x = date, y = reel, color = deflateur)) + geom_line() +
theme_minimal() + xlab("") +
ylab(paste0("SMIC horaire brut (€ de ", mois_ref, ")")) +
scale_x_date(breaks = seq(1996, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(5, 15, 0.5),
labels = label_number(accuracy = 0.1, suffix = " €", decimal.mark = ",")) +
theme(legend.position = c(0.2, 0.9), legend.title = element_blank())
SMIC_reel |>
filter(INDICATEURS_SMIC_COTISATIONS %in% c("SMICMB-35H", "SMICMNN-35H")) |>
ggplot(aes(x = date, y = reel, color = Indicateurs_smic_cotisations, linetype = deflateur)) +
geom_line() +
geom_label_repel(data = \(d) d |> filter(date == max(date) | date == min(date)),
aes(label = paste0(format(round(reel), big.mark = " "), " €")),
show.legend = FALSE, size = 3) +
theme_minimal() + xlab("") +
ylab(paste0("€ de ", mois_ref)) +
scale_x_date(breaks = seq(2004, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(0, 3000, 50),
labels = label_number(accuracy = 1, suffix = " €", big.mark = " ")) +
scale_linetype_manual(values = c("IPC" = "solid", "IPCH" = "dashed")) +
theme(legend.position = "top", legend.direction = "vertical", legend.title = element_blank())
Montants mensuels brut (trait plein) et net (pointillés) pour 35h, déflatés par l’IPC ou l’IPCH, base 100 au point de départ. Indices de prix lissés sur 12 mois.
plot_smic_reel_indice("2005-07-01", breaks_x = "2 years", by_y = 2)
plot_smic_reel_indice("2012-01-01", breaks_x = "1 year", by_y = 1)
plot_smic_reel_indice("2017-01-01", breaks_x = "6 months", format_x = "%b %Y", by_y = 1)
plot_smic_reel_indice("2020-01-01", breaks_x = "6 months", format_x = "%b %Y", by_y = 1)
plot_smic_reel_indice("2021-01-01", breaks_x = "3 months", format_x = "%b %Y", by_y = 1)
plot_smic_reel_indice("2022-01-01", breaks_x = "3 months", format_x = "%b %Y", by_y = 1)
c("1951-01-01", "1968-05-01", "1981-05-01", "1995-01-01", "2002-01-01") |>
map(\(debut) SMIC_reel |>
filter(INDICATEURS_SMIC_COTISATIONS == "SMICH", deflateur == "IPC",
date >= as.Date(debut)) |>
arrange(date) |>
mutate(indice = 100 * reel / reel[1],
depart = format(as.Date(debut), "%B %Y"))) |>
list_rbind() |>
mutate(depart = fct_inorder(depart)) |>
ggplot(aes(x = date, y = indice, color = depart)) + geom_line() +
geom_label_repel(data = \(d) d |> filter(date == max(date)),
aes(label = round(indice)), show.legend = FALSE, size = 3) +
theme_minimal() + xlab("") + ylab("Indice 100 au point de départ") +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(80, 90, 100, 110, 120, 150, 200, 300, 400, 500)) +
theme(legend.position = c(0.15, 0.8), legend.title = element_blank())