

# Comment mesurer les tendances de recrutement avec des instantanés d'offres répétés

Pour mesurer les tendances de recrutement sans compter les republications comme une croissance, gardez le périmètre de recherche fixe, comptez les identifiants d'annonces sources distincts à part des observations répétées, et marquez les jours de collecte en échec ou plafonnés avant d'interpréter une tendance. Une offre d'emploi publiée est une annonce, pas une embauche réalisée ni l'ensemble du marché du travail. Une exécution de collecte utilise un actor, qui est un programme de données hébergé, et une task, qui est un préréglage d'entrées enregistré.

## Configuration de la collecte

Ouvrez l'[Indeed Jobs Scraper Actor](https://apify.com/chronometrica/indeed-jobs-scraper) et l'[Indeed Job Market Data Task](https://apify.com/chronometrica/indeed-jobs-scraper/examples/indeed-job-market-data-weekly-hiring-trends). Le préréglage actuel utilise 5 requêtes, la source US, les 7 derniers jours, un maximum de 500 éléments, un maximum de 15 pages, un tri par date, et l'enregistrement des seuls éléments uniques réglé sur true. Commencez un pilote avec 1 requête et de petites limites. Le maximum d'éléments est partagé. Le pays, la requête et le lot sont connus à partir des entrées de collecte. Ce ne sont pas des champs garantis dans chaque enregistrement de sortie. Conservez jobId, jobUrl, title, companyName, locationRaw, postedAt, postedAtRaw et scrapedAt. Les identifiants manquants restent non résolus en dehors des comptes d'identifiants distincts. L'unicité à l'intérieur d'une exécution ne dédoublonne pas les observations d'un jour à l'autre. Inspectez en sortie les lignes enregistrées, les doublons, les filtres et les preuves d'arrêt. Le contrôle actuel a vérifié la forme de la source, pas une référence de tendance sur plusieurs jours. Conservez l'état inconnu pour un jour en échec et l'état limité pour un jour plafonné.

La task utilise les valeurs d'entrée enregistrées `country` réglé sur `us`, `searchTerm` qui contient 5 requêtes, `postedWithinDays` réglé sur `7`, `maxItems` réglé sur `500`, `maxPagesPerSearch` réglé sur `15`, `sortBy` réglé sur `date`, et `saveOnlyUniqueItems` réglé sur `true`. Un pilote remplace `searchTerm` par une requête et fixe de petites limites de lignes et de pages. La limite `maxItems` est partagée entre les mots-clés. Le contrôle actuel, de 2 lignes et 1 lot, vérifie la forme de la source, pas une tendance réelle sur plusieurs jours.

## La méthode du panel de collecte

1. Définissez un panel de collecte. Utilisez les mêmes requêtes de poste, le même pays source, le même site, les mêmes lieux, les mêmes filtres, la même règle de tri, les mêmes plafonds de lignes ou de pages, et les mêmes heures de contrôle prévues. Si vous changez votre question, commencez un nouveau panel de comparaison ou indiquez le changement de périmètre. Ne prolongez pas l'ancienne série sans le dire.
2. Enregistrez un manifeste d'exécution. Notez l'identifiant de lot, l'heure prévue, l'heure réelle, les valeurs d'entrée, le résultat de l'exécution, les lignes enregistrées, l'état d'arrêt et les avertissements. Les jours de collecte manquants ou en échec restent manquants, ils ne valent pas 0.
3. Indexez les observations par lot, source et identifiant d'offre. Dans chaque lot accepté, comptez chaque annonce source une seule fois. Entre les lots, conservez chaque observation et mettez à jour un tableau des annonces vues pour la première fois. Ne traitez pas automatiquement comme identiques des offres qui ont le même intitulé.
4. Indiquez les lignes brutes renvoyées, les annonces distinctes observées dans ce lot, les identifiants vus pour la première fois dans le panel, les identifiants déjà vus, et les limites de la source ou de la collecte. Vu pour la première fois aujourd'hui signifie collecté pour la première fois par votre processus, pas forcément publié pour la première fois par l'employeur.
5. Comparez seulement les périmètres et les états de collecte qui répondent à votre question. Un échantillon plafonné peut montrer de nouveaux identifiants à examiner, mais il ne peut pas établir une croissance ou une baisse de l'inventaire global. Les jours en échec ne peuvent pas servir de jours de marché faible.
6. Affichez la série avec les indicateurs manquant ou limité à côté des nombres. Gardez un tableau explicatif qui rend clairs le dénominateur et l'unité. Ne tracez pas une ligne à travers un jour inconnu comme si vous l'aviez mesuré.
7. Énoncez le résultat dans son périmètre étroit. Expliquez ce que ce panel observé fixe a trouvé et quelles comparaisons restent inconnues. Si vous avez besoin d'une affirmation plus large sur le recrutement, collectez un échantillon plus large ou utilisez une source officielle sur le travail.
8. Livrez le tableau quotidien du panel, le registre des premières observations et les notes de couverture. Ce résultat permet d'autres contrôles de source et un échantillonnage cohérent. Il ne mesure pas les embauches réalisées ni l'intention de l'employeur.

## Exemple fictif et décomptes vérifiés

Tous les emplois, toutes les heures et tous les résultats de cette section sont inventés. Un panel fixe utilise une seule requête sur les postes d'analyste, un pays source, la même règle de filtre et des contrôles quotidiens prévus à 12:00 UTC.

- L'ensemble accepté du cas test du jour 1 contient 4 annonces distinctes : J1, J2, J3 et J4. Première observation : 4. Déjà vu : 0.
- L'ensemble accepté du jour 2 contient 4 annonces distinctes : J2, J3, J4 et J5. Première observation : 1, qui est J5. Déjà vu : 3. Un total quotidien identique ne signifie pas l'absence d'un nouvel identifiant source.
- La collecte du jour 3 a échoué. Il n'y a pas d'ensemble accepté. Le nombre observé et le nombre de premières observations sont inconnus, pas 0. Conservez le dernier registre accepté du jour 2.
- L'ensemble accepté du jour 4 contient 4 annonces distinctes : J3, J4, J5 et J6. Première observation : 1, qui est J6. Déjà vu : 3. J6 est observé pour la première fois le jour 4, mais il a pu apparaître pendant le jour 3 manquant. N'attribuez pas sa création au jour 4.
- L'ensemble du jour 5, limité par le plafond, contient 2 éléments enregistrés distincts : J4 et J7, parce qu'un plafond de 2 a été atteint. Première observation : 1, qui est J7. Déjà vu : 1. Son nombre plus bas vient d'un plafond actif qui a changé. Excluez-le donc d'une affirmation de baisse sans réserve. Notez le changement de périmètre, ou indiquez limité à côté.

L'union des observations acceptées contient 7 identifiants sources distincts, de J1 à J7. Le total des apparitions d'annonces observées est égal à 4 plus 4 plus 4 plus 2, soit 14. Les apparitions répétées au-delà de la première observation de chaque clé sont égales à 14 moins 7, soit 7. Ce sont des observations, pas 7 postes vacants republiés. Les décomptes des nouveaux ajouts au registre sont égaux à 4 plus 1 plus 1 plus 1, soit 7. Le jour 3 est exclu du calcul parce qu'il est inconnu, pas une mesure égale à 0. N'additionnez pas les nombres distincts quotidiens de 4, 4, 4 et 2 pour les appeler 14 opportunités distinctes.

Le contrôle d'exécution actuel porte sur 1 lot, pas sur une référence réelle de tendance sur plusieurs jours. Les ensembles acceptés de l'exemple réduit des jours 1, 2 et 4 ne sont complets que pour ce panel fictif, pas une garantie réelle de la plateforme.

| Jour | Résultat de l'exécution | Lignes enregistrées | Annonces distinctes | Première observation | Déjà vu | Notes |
| --- | --- | --- | --- | --- | --- | --- |
| Jour 1 | Accepté | 4 | 4 | 4 | 0 | Ensemble de cas test complet |
| Jour 2 | Accepté | 4 | 4 | 1 | 3 | Nouvel identifiant J5 |
| Jour 3 | Échec | Inconnu | Inconnu | Inconnu | Inconnu | Données manquantes, pas 0 |
| Jour 4 | Accepté | 4 | 4 | 1 | 3 | J6 observé pour la première fois le jour 4 ; le moment de création pendant le jour 3 manquant reste inconnu |
| Jour 5 | Plafonné | 2 | 2 | 1 | 1 | Plafond 2 atteint |

| Identifiant d'offre | Jour de première observation | Statut |
| --- | --- | --- |
| J1 | Jour 1 | Lot initial |
| J2 | Jour 1 | Lot initial |
| J3 | Jour 1 | Lot initial |
| J4 | Jour 1 | Lot initial |
| J5 | Jour 2 | Nouvelle observation |
| J6 | Jour 4 | Nouvelle observation |
| J7 | Jour 5 | Nouvelle observation |

## Action suivante

Ouvrez l'[Indeed Jobs Scraper Actor](https://apify.com/chronometrica/indeed-jobs-scraper) et l'[Indeed Job Market Data Task](https://apify.com/chronometrica/indeed-jobs-scraper/examples/indeed-job-market-data-weekly-hiring-trends) pour choisir un petit panel fixe, enregistrer son manifeste de collecte, et comparer les ensembles d'identifiants sources seulement après avoir noté l'état de couverture de l'exécution.

## Sources et lectures complémentaires

- [Définitions JLT du U.S. Bureau of Labor Statistics](https://www.bls.gov/jlt/jltdef.htm)
- [Indeed Jobs Scraper Actor](https://apify.com/chronometrica/indeed-jobs-scraper)
- [Discussion de l'échantillon quotidien Recruiting Hell](https://www.reddit.com/r/recruitinghell/comments/1r3a8jj/i_tracked_63336_us_job_postings_last_week_feb_26/)