Note - Ce site web est un document de travail en construction
Données
Cette page présente les données et les traitements qui ont été réalisés pour construire les indicateurs utilisés pour le ciblage territorial. Les données proviennent de deux sources principales : l’OIR (Observatoire de l’Intérim et du Recrutement) et l’INSEE (recensements de la population, données fiscales). Une représentation cartographique de chaque variable statistique est fournie, afin d’illustrer la distribution spatiale de la variable à l’échelle des deux régions.
Création des indicateurs
Données de l’OIR
Indicateur n°1 : part des jeunes intérimaires dans l’emploi intérimaire total (2024)
L’OIR (Observatoire de l’Intérim et du Recrutement) met à disposition une application qui fournit un ensemble d’indicateurs sur les salariés intérimaires, aux échelles régionale, départementale et intercommunale. On y trouve notamment, pour les années 2019 à 2024 :
le nombre de salariés intérimaires
leur répartition par genre
leur répartition par classes d’âge (dont une classe “moins de 25 ans”)
le nombre total d’heures travaillées
Il nous a semblé pertinent d’utiliser l’information sur les classes d’âge afin de construire un indicateur “part des jeunes intérimaires dans l’emploi intérimaire total”, cartographié ci-dessous. Les données n’étant pas facilement téléchargeables depuis le site de l’OIR, le script python ci-dessous a été utilisé afin d’interroger directement l’API de l’application pour récupérer les informations.
Voir le script Python
import requestsimport pandas as pdBASE_URL = "https://territoire.observatoire-interim-recrutement.fr/prod/api/data"# Charger les codes interco depuis un CSV (colonne "id_interco")codes_epci = pd.read_csv("codes_epci.csv")["id_interco"].astype(str).tolist()def get_json(url): r = requests.get(url) if r.status_code == 200: return r.json() else: print(f"⚠️ Erreur {r.status_code} pour {url}") return Nonedef extract_value_by_key(j, code): """Cherche dans j['data'] l’entrée dont key == code et retourne value""" if not j or "data" not in j: return None for entry in j["data"]: if str(entry.get("key")) == str(code): return entry.get("value") return Nonedata = []for code in codes_epci: print(f"⏳ Traitement interco {code}...") # 1. Nb salariés intérimaires url_sum = f"{BASE_URL}/2024.ctt.sum.i{code}.json?importId=40" j_sum = get_json(url_sum) nb_salaries = extract_value_by_key(j_sum, code) # 2. Nb heures travaillées url_hours = f"{BASE_URL}/2024.ctt.hours.i{code}.json?importId=40" j_hours = get_json(url_hours) nb_heures = extract_value_by_key(j_hours, code) # 3. Répartition par âge url_age = f"{BASE_URL}/2024.ctt.groupage.i{code}.json?importId=40" j_age = get_json(url_age) nb_moins_25 = nb_25_45 = nb_46_60 = nb_60plus = None if j_age and "data" in j_age: for entry in j_age["data"]: key = str(entry.get("key")) val = entry.get("value") if key == "0": # -25 ans nb_moins_25 = val elif key == "1": # 25-45 ans nb_25_45 = val elif key == "2": # 46-60 ans nb_46_60 = val elif key == "3": # +60 ans nb_60plus = val data.append({ "id_interco": code, "nb_salariés_intérimaires": nb_salaries, "nb_heures_travaillées": nb_heures, "nb_m25_ans": nb_moins_25, "nb_25_45_ans": nb_25_45, "nb_46_60_ans": nb_46_60, "nb_60_ans": nb_60plus })# Sauvegarde CSVdf = pd.DataFrame(data)df.to_csv("interim_epci.csv", index=False, sep=";")print("✅ Fichier généré : interim_epci.csv")
Cartographie de la variable :
Si on ne retient que les EPCI où la part est supérieure à 35% (filtrage, seuil défini arbitrairement), on obtient les 41 EPCI suivantes :
dep epci part_jeunes nb_jeunes total
1 48 CC Coeur de Lozère 46.20853 195 422
2 12 CC Comtal Lot et Truyère 42.30769 264 624
3 32 CC de la Gascogne Toulousaine 41.52047 284 684
4 17 CC de l'Ile de Ré 41.20482 171 415
5 12 CA Rodez Agglomération 41.06656 1055 2569
6 12 CC Conques-Marcillac 39.80344 162 407
7 79 CC du Thouarsais 39.43489 963 2442
8 79 CC Airvaudais-Val du Thouet 39.11007 167 427
9 79 CC Haut Val de Sèvre 38.72549 711 1836
10 33 CC Jalle-Eau-Bourde 38.62159 297 769
11 86 CC Vienne et Gartempe 38.52140 396 1028
12 17 CA de La Rochelle 38.44378 3330 8662
13 33 CC du Bazadais 38.44011 276 718
14 48 CC des Hautes Terres de l'Aubrac 37.89474 36 95
15 87 CU Limoges Métropole 37.84521 2220 5866
16 87 CC Porte Océane du Limousin 37.67361 434 1152
17 46 CC Causses et Vallée de la Dordogne 37.57339 768 2044
18 46 CC du Quercy Blanc 37.27811 63 169
19 31 CC des Coteaux du Girou 37.09677 46 124
20 33 CC Convergence Garonne 37.01657 402 1086
21 87 CC Élan Limousin Avenir Nature 37.01149 322 870
22 30 CA du Gard Rhodanien 36.62420 1150 3140
23 32 CC Artagnan de Fezensac 36.58537 30 82
24 79 CA du Bocage Bressuirais 36.47141 2092 5736
25 40 CC du Seignanx 36.41059 564 1549
26 19 CC Xaintrie Val'Dordogne 36.36364 96 264
27 47 CC Fumel Vallée du Lot 36.35394 341 938
28 12 CC du Pays Rignacois 36.30573 57 157
29 79 CA du Niortais 36.21795 1921 5304
30 31 CC du Frontonnais 36.21673 381 1052
31 24 CC Dronne et Belle 35.96674 173 481
32 87 CC Ouest Limousin 35.93750 138 384
33 33 CC de Montesquieu 35.73001 487 1363
34 34 CC du Grand Pic Saint-Loup 35.59322 147 413
35 12 CC de Millau Grands Causses 35.57858 618 1737
36 47 CA du Grand Villeneuvois 35.54129 1218 3427
37 30 CA de Nîmes Métropole 35.47337 2724 7679
38 79 CC Mellois en Poitou 35.28336 579 1641
39 30 CC du Pont du Gard 35.26448 140 397
40 33 CC des Portes de l'Entre-Deux-Mers 35.15358 206 586
41 64 CC de Lacq-Orthez 35.12931 815 2320
Ce qui nous donne (localisation) :
Indicateur n°2 : taux d’évolution annuel moyen de la part des jeunes intérimaires dans le total des intérimaires (période 2019-2024)
L’évolution annuelle moyenne de la part des intérimaires de moins de 25 ans est calculée comme un taux de croissance composé entre la part en 2019 et celle en 2024. À des fins de lisibilité, l’évolution est exprimée en points de pourcentage par an :
Indicateur n°3 : part des intétimaires dans le total des actifs occupés (2022)
Le troisième indicateur rapporte une donnée OIR (nombre total d’intérimaires en 2022) à une donnée INSEE (total de la population active occupée, en 2022 également).
Cartographie de la variable :
Données INSEE
Indicateur n°4 : niveau de vie médian des moins de 30 ans (2021)
Indicateur n°5 : taux d’évolution annuel des 15-29 ans (période 2016-2022) :
Le taux d’évolution annuel de la population jeune permet d’identifier les territoires qui accueillent des jeunes et ceux qui en perdent (sur la période 2016-2022).
Cartographie de la variable :
Données de la “carte des loyers 2025”
Indicateur n°6 : niveau des loyers (T3 2025)
Les données utilisées sont celles de la “carte des loyers T3 2025” (Estimations ANIL, à partir des données du Groupe SeLoger et de leboncoin), à récupérer ici.
Les données étant mises à disposition à l’échelle communale, nous avons calculé un loyer moyen par EPCI (moyenne des loyers des communes ayant le même code SIREN).
Cartographie de la variable :
Analyse spatiale
Ségrégation spatiale
Les données de l’indicateur n°1 (répartition des intérimaires par classe d’âge en 2024), permettent de calculer un quotient de localisation.
Le quotient de localisation (QL) est un indicateur d’analyse spatiale couramment utilisé en géographie et en économie régionale. Il permet d’identifier les territoires dans lesquels un groupe est sur-représenté ou sous-représenté par rapport à une situation de référence (Apparicio, 2000). Un QL supérieur à 1 indique une sur-représentation locale des jeunes intérimaires, tandis qu’un QL inférieur à 1 traduit une sous-représentation.
\[
QL_i = \frac{J_i / T_i}{J / T}
\]
avec :
\(J_i\) : nombre de jeunes intérimaires (-25 ans) dans le territoire i
\(T_i\) : nombre total d’intérimaires tous âges dans le territoire i
\(J\) : nombre total de jeunes intérimaires sur l’ensemble du territoire d’étude
\(T\) : nombre total d’intérimaires tous âges sur l’ensemble du territoire d’étude
Règle de lecture :
\(QL_i > 1\) : sur-représentation des jeunes intérimaires
\(QL_i = 1\) : proportion moyenne
\(QL_i < 1\) : sous-représentation des jeunes intérimaires
Cartographie du QL :
Autocorrélation spatiale
Définition et I de Moran
L’autocorrélation spatiale désigne le fait que des territoires proches géographiquement présentent des valeurs similaires pour un même indicateur. Une autocorrélation spatiale positive signifie que des territoires voisins tendent à partager des niveaux comparables (élevés ou faibles), tandis qu’une autocorrélation négative traduit des contrastes marqués entre territoires proches. L’analyse de l’autocorrélation spatiale permet ainsi de déterminer si la répartition d’un phénomène est structurée dans l’espace ou résulte d’une distribution aléatoire.
Le test global d’autocorrélation spatiale (I de Moran) appliqué au quotient de localisation (QL) des jeunes intérimaires met en évidence une structuration spatiale significative. La valeur observée de l’indice (I = 0,32) est nettement supérieure à celle attendue sous l’hypothèse d’une répartition aléatoire, et le test est hautement significatif (p < 0,001).
Ce résultat indique que les territoires présentant une sur-représentation des jeunes intérimaires tendent à se regrouper spatialement, formant des ensembles territoriaux cohérents, plutôt que d’être distribués de manière isolée.
Cartographie des LISA
Les indicateurs locaux d’autocorrélation spatiale (LISA) permettent d’identifier, à l’échelle de chaque territoire, les zones où les valeurs d’un indicateur sont significativement similaires ou contrastées par rapport à celles des territoires voisins. Ils distinguent notamment des clusters de territoires à valeurs élevées entourés de valeurs élevées (HH), des clusters de valeurs faibles (LL), ainsi que des situations de contraste spatial (HL et LH), correspondant à des territoires atypiques au regard de leur environnement. Les LISA complètent ainsi l’autocorrélation spatiale globale en localisant précisément les structures spatiales observées.