Emploi, activité, sous-emploi par secteur d’activité (sens BIT)
Données - INSEE
Info
Last observation: Trimestrielle: 2026-Q2 (N = 122)
First observation: Trimestrielle: 2003-Q1 (N = 362)
Number of observations: 30 684
Last data update: 14 aoû 2026, 21:33. Last compile: 15 aoû 2026, 03:38
Structure
Données sur l’emploi
| source | dataset | Title | Download | Compile |
|---|---|---|---|---|
| insee | EMPLOI-BIT-TRIM | Emploi, activité, sous-emploi par secteur d’activité (sens BIT) | NA | [2026-08-14] |
| insee | CHOMAGE-TRIM-NATIONAL | Chômage, taux de chômage par sexe et âge (sens BIT) (1975-) | NA | [2026-08-15] |
| insee | CNA-2014-EMPLOI | Emploi intérieur, durée effective travaillée et productivité horaire | NA | [2026-08-15] |
| insee | DEMANDES-EMPLOIS-NATIONALES | Demandeurs d'emploi inscrits à Pôle Emploi | NA | [2026-08-15] |
| insee | EMPLOI-SALARIE-TRIM-NATIONAL | Estimations d'emploi salarié par secteur d'activité | NA | [2026-08-14] |
| insee | TAUX-CHOMAGE | Taux de chômage localisé | NA | [2026-08-14] |
| insee | TCRED-EMPLOI-SALARIE-TRIM | Estimations d'emploi salarié par secteur d'activité et par département | NA | [2026-08-14] |
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-08-15 |
Last
Code
`EMPLOI-BIT-TRIM` |>
group_by(TIME_PERIOD) |>
summarise(Nobs = n()) |>
arrange(desc(TIME_PERIOD)) |>
head(1) |>
print_table_conditional()| TIME_PERIOD | Nobs |
|---|---|
| 2026-Q2 | 122 |
Sources
Précision
Code
i_g("bib/insee/EEC2021_Note-methodologique-juillet-2021/precision.png")
Last observation
Current:
Code
`EMPLOI-BIT-TRIM` |>
group_by(TIME_PERIOD) |>
summarise(Nobs = n()) |>
arrange(desc(TIME_PERIOD)) |>
head(1) |>
print_table_conditional()| TIME_PERIOD | Nobs |
|---|---|
| 2026-Q2 | 122 |
TITLE_FR, OBS_VALUE
Tous
Code
`EMPLOI-BIT-TRIM` |>
filter(TIME_PERIOD == "2021-Q3") |>
select(OBS_VALUE, TITLE_FR) |>
print_table_conditional()Sexe = 0
Code
`EMPLOI-BIT-TRIM` |>
filter(TIME_PERIOD == "2021-Q3",
SEXE == "0") |>
select(OBS_VALUE, TITLE_FR) |>
print_table_conditional()Sexe = 0, Age = Tous
Code
`EMPLOI-BIT-TRIM` |>
filter(TIME_PERIOD == "2021-Q3",
SEXE == "0",
AGE %in% c("00-", "SO")) |>
select(OBS_VALUE, TITLE_FR) |>
print_table_conditional()| OBS_VALUE | TITLE_FR |
|---|---|
| 325.0 | Personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire et à la recherche d'un autre emploi (en milliers) - France hors Mayotte - Données CVS - Série arrêtée |
| 1062.0 | Personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire mais sans recherche d'un autre emploi (en milliers) - France hors Mayotte - Données CVS - Série arrêtée |
| 127.0 | Personnes en situation de sous-emploi - Temps plein, ou temps partiel, ayant involontairement travaillé moins que d'habitude (en milliers) - France hors Mayotte - Données CVS - Série arrêtée |
| 1514.0 | Nombre total des personnes en situation de sous-emploi (en milliers) - France hors Mayotte - Données CVS - Série arrêtée |
| 1.2 | Taux de personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire et à la recherche d'un autre emploi - France hors Mayotte - Données CVS - Série arrêtée |
| 3.8 | Taux de personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire mais sans recherche d'un autre emploi - France hors Mayotte - Données CVS - Série arrêtée |
| 0.4 | Taux de personnes en situation de sous-emploi - Temps plein, ou temps partiel, ayant involontairement travaillé moins que d'habitude - France hors Mayotte - Données CVS - Série arrêtée |
| 5.4 | Taux des personnes en situation de sous-emploi - Ensemble - France hors Mayotte - Données CVS - Série arrêtée |
| 56.2 | Personnes actives (taux d'activité) au sens du BIT - France hors Mayotte - Données CVS - Série arrêtée |
| 51.8 | Personnes en emploi (taux d'emploi) au sens du BIT - Ensemble - France hors Mayotte - Données CVS - Série arrêtée |
| 17.8 | Part du temps partiel dans l'emploi au sens du BIT - Ensemble - France hors Mayotte - Données CVS - Série arrêtée |
| 1519.0 | Nombre total des personnes en situation de sous-emploi (en milliers) - France entière - Données CVS |
| 17.7 | Part du temps partiel dans l'emploi au sens du BIT - Ensemble - France entière - Données CVS |
| 56.2 | Personnes actives (taux d'activité) au sens du BIT - France entière - Données CVS |
| 51.7 | Personnes en emploi (taux d'emploi) au sens du BIT - Ensemble - France entière - Données CVS |
| 326.0 | Personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire et à la recherche d'un autre emploi (en milliers) - France entière - Données CVS |
| 1066.0 | Personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire mais sans recherche d'un autre emploi (en milliers) - France entière - Données CVS |
| 127.0 | Personnes en situation de sous-emploi - Temps plein, ou temps partiel, ayant involontairement travaillé moins que d'habitude (en milliers) - France entière - Données CVS |
| 1.2 | Taux de personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire et à la recherche d'un autre emploi - France entière - Données CVS |
| 3.8 | Taux de personnes en situation de sous-emploi - Temps partiel, souhaitant travailler plus d'heures, disponible pour le faire mais sans recherche d'un autre emploi - France entière - Données CVS |
| 0.4 | Taux de personnes en situation de sous-emploi - Temps plein, ou temps partiel, ayant involontairement travaillé moins que d'habitude - France entière - Données CVS |
| 5.4 | Taux des personnes en situation de sous-emploi - Ensemble - France entière - Données CVS |
Toutes colonnes
Code
`EMPLOI-BIT-TRIM` |>
filter(TIME_PERIOD == "2021-Q3") |>
select_if(function(col) length(unique(col)) > 1) |>
select(OBS_VALUE, TITLE_FR, everything()) |>
select(-TITLE_EN) |>
print_table_conditional()Taux à temps partiel
Tous âges
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTE15_TPE"),
REF_AREA == "FR-D976",
AGE %in% c("00-", "SO")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Temps partiel (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.9),
legend.title = element_blank())
25-49
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTE15_TPE"),
REF_AREA == "FR-D976",
AGE %in% c("25-49")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Temps partiel (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.9),
legend.title = element_blank())
CDD, CDI
CDD
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTE15_CDD"),
REF_AREA == "FR-D976",
SEXE == "0") |>
select_if(function(col) length(unique(col)) > 1) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100)) +
xlab("") + ylab("Taux d'emploi en CDD (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, .2),
labels = percent_format(accuracy = .1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank())
CDI
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTE15_CDI"),
REF_AREA == "FR-D976",
SEXE == "0") |>
select_if(function(col) length(unique(col)) > 1) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100)) +
xlab("") + ylab("Taux d'emploi en CDI (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, .2),
labels = percent_format(accuracy = .1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank())
Taux des personnes en situation de sous-emploi - CTTO15LT
Tous
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTO15LT"),
REF_AREA == "FR-D976",
SEXE == "0") |>
select_if(function(col) length(unique(col)) > 1) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100)) +
xlab("") + ylab("Taux des personnes en situation de sous-emploi (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank())
Temps partiel, souhaitant travailler plus d’heures, disponible pour le faire mais sans recherche d’un autre emploi
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTO15LI"),
REF_AREA == "FR-D976",
SEXE == "0") |>
select_if(function(col) length(unique(col)) > 1) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100)) +
xlab("") + ylab("Temps partiel, souhaitant... (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, .2),
labels = percent_format(accuracy = .1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank())
CTTO15NH
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTO15NH"),
REF_AREA == "FR-D976",
SEXE == "0") |>
select_if(function(col) length(unique(col)) > 1) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100)) +
xlab("") + ylab("Temps partiel, souhaitant... (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank())
Part des jeunes de 15 à 29 ans qui ne sont ni en emploi ni en formation - NEET_T_1529
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("NEET_T_1529"),
REF_AREA == "FR-D976",
SEXE == "0") |>
select_if(function(col) length(unique(col)) > 1) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100)) +
xlab("") + ylab("Part des jeunes de 15 à 29 ans NEET (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank())
Taux d’emploi, Taux d’emploi en ETP
Tous âges
Tous
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTE15", "CTTE15_TC", "CTTE15_ETP"),
AGE %in% c("15-24"),
REF_AREA == "FR-D976",
SEXE == "0") |>
select_if(function(col) length(unique(col)) > 1) |>
quarter_to_date() |>
arrange(date) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = INDICATEUR)) +
xlab("") + ylab("Taux d'emploi (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.65, 0.92),
legend.title = element_blank())
Taux d’emploi
Tous âges
Tous
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15", "CTTE15"),
REF_AREA == "FR-D976",
AGE %in% c("00-", "SO"),
SEXE == "0") |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = INDICATEUR)) +
xlab("") + ylab("Taux d'activité, Taux d'emploi (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.85, 0.92),
legend.title = element_blank())
2017
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15", "CTTE15"),
REF_AREA == "FR-D976",
AGE %in% c("00-", "SO"),
SEXE == "0") |>
quarter_to_date() |>
filter(date >= as.Date("2017-01-01")) |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = INDICATEUR)) +
xlab("") + ylab("Taux d'activité, Taux d'emploi (%)") + theme_minimal() +
scale_x_date(breaks = seq(1940, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.85, 0.92),
legend.title = element_blank())
Taux activité
Tous âges
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15"),
REF_AREA == "FR-D976",
AGE %in% c("00-", "SO")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Taux d'activité (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.9),
legend.title = element_blank())
15-24
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15"),
REF_AREA == "FR-D976",
AGE %in% c("15-24")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Taux d'activité 15-24 (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank())
15-64
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15"),
REF_AREA == "FR-D976",
AGE %in% c("15-64")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Taux d'activité 15-64 (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank())
25-49
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15"),
REF_AREA == "FR-D976",
AGE %in% c("25-49")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Taux d'activité 25-49 (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank())
55-64
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15"),
REF_AREA == "FR-D976",
AGE %in% c("55-64")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Taux d'activité 55-64 (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank())
50-64
Code
`EMPLOI-BIT-TRIM` |>
filter(INDICATEUR %in% c("CTTA15"),
REF_AREA == "FR-D976",
AGE %in% c("50-64")) |>
quarter_to_date() |>
ggplot() + geom_line(aes(x = date, y = OBS_VALUE / 100, color = SEXE)) +
xlab("") + ylab("Taux d'activité 50-64 (%)") + theme_minimal() +
scale_color_manual(values = c("black", "red", "blue")) +
scale_x_date(breaks = seq(1940, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.8, 0.15),
legend.title = element_blank())