

# Como comparar a cobertura de vagas do LinkedIn e do Indeed

Compare o LinkedIn e o Indeed em um teste pareado antes de escolher uma fonte. Um teste pareado usa o mesmo cargo, o mesmo mercado e a mesma janela de publicação nas duas fontes. Um mercado é o lugar que você escolhe para a busca. Uma janela de publicação é a faixa de idade dos anúncios que você inclui. Compare as vagas novas úteis, os campos de que o seu trabalho precisa e as falhas da fonte. Um arquivo bruto maior não é cobertura melhor. Uma afirmação de amplo alcance não é um teste.

As pessoas perguntam qual fonte de vagas fornece os dados mais completos. Essa pergunta mostra a necessidade de comparar fontes. Ela não mostra um vencedor. Ela não mostra o tamanho do mercado. A pergunta pública está no [Reddit](https://www.reddit.com/r/automation/comments/1nuelm7/which_job_board_gives_the_most_comprehensive_data/).

Um Actor é um programa hospedado que coleta dados. Uma Task é um preset de entrada salvo para um Actor. O Actor salva as linhas da fonte. Você mesmo faz a comparação. A Task não compara as fontes por você. Este método não classifica fontes para todos os usuários. Ele não pontua a remuneração. Ele não classifica ferramentas pelo custo.

Uma execução é uma coleta com uma entrada. Uma linha bruta é um anúncio salvo antes da revisão. Um id da fonte é o número do anúncio dessa fonte. Um anúncio útil corresponde ao seu cargo, ao seu mercado e à sua janela, e tem um id da fonte conhecido. Uma duplicata é o mesmo anúncio salvo mais de uma vez. Uma republicação é a mesma vaga publicada de novo. Uma oportunidade é uma vaga depois que você agrupa duplicatas e republicações. Cobertura de campos é a frequência com que um campo necessário está presente nos anúncios úteis. Cobertura de mercado é quais vagas o teste coletou. São fatos diferentes.

## Faça oito ações

1. Escreva a decisão e os campos de que você precisa.

Escreva a escolha que você precisa fazer. Para pesquisa pública do mercado de vagas, você muitas vezes precisa de quatro fatos. Você precisa do nome da fonte, do cargo, do lugar e de uma descrição utilizável. Declare o cargo. Declare o mercado. Declare o idioma. Declare a janela de publicação. Declare a data e a hora em que você coleta as linhas. Declare a regra de inclusão. A regra de inclusão diz quais linhas contam como o cargo que você quer.

Escolha duas fontes para o teste pequeno. Não presuma que elas listam as mesmas vagas. Um painel é um cargo, um mercado, uma janela e uma fonte. Use as mesmas regras de painel nas duas fontes. Se o cargo ou a janela mudar, os arquivos respondem a perguntas diferentes. Você não pode compará-los de forma justa.

A [Task atual de tendências de contratação do LinkedIn](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/collect-linkedin-job-market-data-for-hiring-trends) é uma amostra ampla. Ela não é o seu painel de comparação. As palavras de busca dela são três cargos em linhas separadas: software engineer, data analyst e product manager. A lista startUrls dela está vazia. startUrls é uma lista opcional de páginas para abrir. saveOnlyUniqueItems é true. Essa configuração mantém uma cópia de um anúncio repetido no salvamento. Substitua os três cargos por um cargo que você declare. Adicione um local correspondente e uma janela. Deixe startUrls vazio. Esta rota é uma busca por palavra-chave. Não substitua as palavras de busca por endereços conhecidos de páginas de vagas.

1. Defina orçamentos e filtros que você possa comparar.

Escreva as palavras de busca, o limite de páginas e o teto de linhas de cada fonte. Um teto é o máximo de linhas que você deixa essa execução salvar. Um teto limita o que você pode ver. Ele não é o número de vagas no mercado. Se uma fonte atinge o teto e a outra para antes, as contagens brutas não são evidência equivalente. A fonte limitada pelo teto pode ter mais vagas correspondentes do que você salvou. Registre a entrada que de fato executou. Registre por que cada execução parou.

Use os nomes de entrada verificados em 13 de outubro de 2026. Uma página pública mais nova pode mudá-los. Leia os nomes atuais antes de confiar em uma lista antiga.

O build público 0.2.19 do [LinkedIn Jobs Actor](https://apify.com/chronometrica/linkedin-jobs-scraper) aceita searchTerm, location, postedWithin, maxItems, maxPagesPerSearch, saveOnlyUniqueItems e fetchJobDetails. Ele também aceita os outros filtros da lista de entrada atual. fetchJobDetails true diz à execução para tentar salvar o texto completo da vaga. Um exemplo pequeno do LinkedIn pode usar o cargo software engineer, um mercado, postedWithin any, maxItems 3 e maxPagesPerSearch 1. Defina também saveOnlyUniqueItems true e fetchJobDetails true. O valor any só é correto quando a janela que você declarou é a faixa completa que esse controle significa.

A [Indeed Jobs Task](https://apify.com/chronometrica/indeed-jobs-scraper/examples/indeed-jobs-scraper) corresponde ao build público 1.2.14 do Indeed Jobs. Esse build aceita searchTerm, country, location, maxItems, maxPagesPerSearch, postedWithinDays e saveOnlyUniqueItems. Ele também aceita os filtros opcionais atuais. Use um país, um local e um cargo correspondentes. Não defina um salário mínimo acima de zero. Um filtro de remuneração oculta anúncios. Isso muda a contagem de cobertura. Um exemplo pequeno do Indeed pode usar maxItems 2, maxPagesPerSearch 1 e saveOnlyUniqueItems true.

O exemplo de 3 linhas e o exemplo de 2 linhas não são um par pareado de orçamentos. Eles só mostram que uma execução mínima é uma entrada válida. Para a comparação, defina o mesmo maxItems nas duas fontes. Defina o mesmo maxPagesPerSearch nas duas fontes. Se uma fonte não puder aceitar esse número, escreva a diferença.

O LinkedIn usa postedWithin. O Indeed usa postedWithinDays. Esses controles não são a mesma entrada. Escolha o valor permitido mais próximo em cada fonte para a janela que você declarou. Se as janelas ainda diferirem, escreva a divergência. Não chame as amostras de iguais.

O Indeed tem uma entrada country. As entradas verificadas do LinkedIn usam location, não um campo country separado. Defina country e location do Indeed para o mesmo mercado declarado que você colocou em location do LinkedIn. Se os controles de lugar ainda diferirem, escreva a diferença.

Este bloco do LinkedIn é um formato pequeno de entrada. Substitua o token de mercado. Substitua o cargo se você declarou um cargo diferente. SET_YOUR_MARKET é um lembrete, não um lugar real.

```json
{
  "searchTerm": "software engineer",
  "location": "SET_YOUR_MARKET",
  "postedWithin": "any",
  "maxItems": 3,
  "maxPagesPerSearch": 1,
  "saveOnlyUniqueItems": true,
  "fetchJobDetails": true,
  "startUrls": []
}
```

Faça oito ações

Este bloco do Indeed é um formato pequeno de entrada. SET_THE_CLOSEST_ALLOWED_VALUE é um lembrete, não uma configuração real do Indeed. Coloque ali o valor de dias permitido mais próximo. Não adicione um salário mínimo.

```json
{
  "searchTerm": "software engineer",
  "country": "SET_YOUR_COUNTRY",
  "location": "SET_YOUR_MARKET",
  "postedWithinDays": "SET_THE_CLOSEST_ALLOWED_VALUE",
  "maxItems": 2,
  "maxPagesPerSearch": 1,
  "saveOnlyUniqueItems": true
}
```

Faça oito ações

Execuções verificadas desses controles salvaram quatro tipos de valores. Elas salvaram ids de anúncio da fonte que não estavam vazios. Elas salvaram endereços de página da fonte. Elas salvaram horários de coleta. Elas salvaram descrições completas. Essas execuções usaram lugares diferentes e janelas diferentes. As duas pararam em tetos pequenos de linhas. Essa verificação mostra que os Actors podem salvar esses campos nessas entradas. Ela não é um teste pareado. Ela não é uma classificação. Nenhum par real de vaga compartilhada foi verificado. Nenhum número de cobertura completa foi verificado. Reutilize esses mesmos contratos de entrada no seu próprio painel pareado.

1. Colete cada fonte e depois separe as linhas.

Separe cada linha salva em um grupo antes de comparar as fontes. Mantenha estes grupos separados.

- Linhas úteis.
- Linhas fora do cargo, do mercado ou da janela.
- Duplicatas dentro de um arquivo salvo.
- Linhas sem id da fonte.
- Solicitações bloqueadas ou com falha.
- Buscas que atingiram o teto.

Contabilize cada entrada que você planejou executar. Uma execução recusada pode retornar zero linhas. Esse zero não é prova de que não existem vagas. Mantenha uma falha separada de um resultado realmente vazio. Se você não souber uma contagem, deixe-a desconhecida. Não escreva zero no lugar dela. Um zero misturado pode fazer uma fonte bloqueada parecer vazia.

1. Use a mesma regra nas duas amostras.

Leia o cargo, o lugar e a janela do mesmo modo para cada linha. O texto completo da descrição pode decidir um caso difícil. Um título sozinho pode ser vago demais. descriptionStatus full significa que a descrição completa foi salva. Isso não significa que você inventou um rótulo de texto curto.

Se uma data estiver ausente e a sua regra precisar de uma data, deixe essa linha sem resolução. Se o mercado estiver ausente e a sua regra precisar de um mercado, deixe essa linha sem resolução. O mercado que você enviou não prova que todo anúncio está nesse lugar. O texto do anúncio pode nomear outro lugar.

Mapeie as colunas de forma intencional. Cada fonte usa os próprios nomes de campo. Mantenha esses nomes originais no salvamento bruto. Preencha as colunas de comparação a partir deles. Uma URL é o endereço da página de um anúncio.

| Coluna de comparação | O que você armazena |
| --- | --- |
| fonte e id da vaga | Nome da fonte mais o próprio id do anúncio |
| title | Texto do título da vaga |
| companyName | Nome do empregador |
| locationRaw | Texto do lugar como foi salvo |
| jobUrl | Endereço da página do anúncio |
| descriptionText | Palavras da descrição |
| descriptionStatus | Se a descrição está completa |
| scrapedAt | Hora em que você coletou a linha |
| query | Palavras de busca que você enviou |
| searchLocation | Mercado que você enviou |
| contexto da execução | Entrada que você executou e por que ela parou |

Escreva o campo original da fonte ao lado de cada coluna. Não descarte os nomes dos campos brutos ao renomear. postedAt do LinkedIn pode ser calculado a partir de uma frase de tempo relativo. Uma frase de tempo relativo diz há quanto tempo o anúncio apareceu. Esse valor não é prova exata da hora de publicação. Os valores de tempo do Indeed mantêm o significado que essa fonte declara. postedWithinDays também mantém o significado dessa fonte. Campos opcionais podem estar ausentes. Ids de anúncio podem estar ausentes. Uma contagem de linhas não prova que você encontrou todas as vagas. Uma contagem de linhas não prova que uma vaga é genuína.

1. Compare oportunidades revisadas, não dígitos brutos de id.

[Agrupe duplicatas e republicações](/pt-BR/articles/vagas-duplicadas-e-possiveis-republicacoes/) dentro de cada fonte primeiro. Depois revise possíveis correspondências entre as duas fontes. Use esses grupos revisados para a comparação. Não conte dois salvamentos de uma vaga como duas vagas.

Um id da fonte é único só dentro do espaço de nomes dessa fonte. Um espaço de nomes é o próprio conjunto de ids dessa fonte. Nunca una um id de vaga do LinkedIn a um id de vaga do Indeed porque os dígitos coincidem. Os mesmos dígitos podem pertencer a anúncios diferentes.

Mantenha as duas URLs de fonte de cada par. Uma URL de fonte é o endereço da página desse anúncio. Mantenha a URL do LinkedIn e a URL do Indeed. Não substitua uma URL pela outra.

Compare o empregador. Compare o cargo. Um cargo é o trabalho que o anúncio pede que uma pessoa faça, não só a linha do título. Compare o local. Compare a requisição disponível. Uma requisição é o número da vaga do empregador quando o anúncio mostra um. Compare o texto completo. Compare o contexto do momento da observação. O momento da observação é quando você viu o anúncio. O contexto é o que esse anúncio dizia nesse momento.

Confirme um par só quando esses fatos concordam. Mantenha as duas URLs em cada par confirmado.

Um título sozinho não é confirmação. Um id sozinho não é confirmação. O mesmo empregador e um título parecido ainda precisam desta revisão. Eles não são uma correspondência automática.

Um par fraco permanece incerto. Um par contraditório permanece incerto. Um par fraco tem fatos ausentes ou só alguns dos mesmos fatos. Um par contraditório tem fatos que não concordam. Requisições diferentes não concordam. Um texto que descreve uma vaga diferente não concorda. Momentos de observação que mostram duas vagas diferentes não concordam. Mantenha os pares incertos fora da sobreposição confirmada.

1. Monte conjuntos confirmados e conte quatro grupos.

Chame de conjunto A as oportunidades úteis confirmadas da primeira fonte. Chame de conjunto B as da segunda fonte. Conte quatro grupos. A união é cada oportunidade confirmada no teste coletado. A interseção é a sobreposição que você confirmou. Oportunidades só de A aparecem em A e não em B. Oportunidades só de B aparecem em B e não em A. Informe correspondências incertas como uma contagem separada. Não as force para a interseção.

A união cobre só o teste coletado. Ela não é cada cargo em aberto nesse mercado. Não use captura-recaptura nestas contagens. A captura-recaptura estima uma população inteira a partir da sobreposição em duas amostras. Ela precisa de amostras aleatórias. Ela precisa de amostras separadas. Estas fontes não são amostras aleatórias. A mesma vaga pode aparecer nas duas por razões que você não mediu. Informe as quatro contagens. Não as transforme em um total para o mercado inteiro.

1. Compare os campos necessários dentro de cada amostra útil.

Divida a contagem de [descrições completas](/pt-BR/articles/verificar-descri%C3%A7%C3%B5es-completas-da-exporta%C3%A7%C3%A3o-de-vagas/) pela contagem de anúncios úteis com um id da fonte conhecido. Essa parcela é a cobertura de campo das descrições. Informe os ids da fonte ausentes em uma contagem separada, fora do denominador dos ids conhecidos. Não os apague e depois fale como se cada linha salva fosse útil. Um id ausente ainda pode ser uma linha real. É uma linha fraca para correspondência.

Cobertura de campo não é cobertura de mercado. Uma fonte pode acrescentar poucas oportunidades novas e ainda importar. Ela importa quando fornece um campo que você exige. Guarde números de custo só quando você os mediu. Guarde números de esforço só quando você os mediu. Não invente uma fonte mais barata. Não invente uma fonte melhor.

1. Escolha a combinação só para esta decisão.

Escolha a partir das oportunidades novas confirmadas e dos campos exigidos. Uma fonte que acrescenta pouco ainda pode ficar na combinação. Mantenha-a quando as linhas dela fornecem um campo que você não consegue obter da outra fonte. Se a coleta falhou, repita o mesmo painel declarado. Se a incerteza for grande demais para decidir, repita o mesmo painel. Não repita só para aumentar a contagem de linhas. Mais linhas não reparam uma execução bloqueada. Mais linhas não reparam uma correspondência imprecisa. Não chame uma fonte de melhor para todos os cargos e mercados.

## Trabalhe um teste pareado fictício

Os números desta seção são ficção. Eles ensinam a aritmética. Eles não são um resultado de produto. Eles não são as execuções verificadas acima. Fonte A e Fonte B são só rótulos. Esta ficção não diz qual rótulo é o LinkedIn. Esta ficção não diz qual rótulo é o Indeed. J1 a J8 são rótulos de oportunidade. Eles não são ids da fonte.

Nesta ficção, os dois painéis usam o mesmo cargo, o mesmo mercado e a mesma janela. A Fonte A salva 8 linhas brutas. A Fonte B salva 7 linhas brutas. A revisão deixa 6 anúncios úteis com id da fonte conhecido em A. A revisão deixa 5 anúncios úteis com id da fonte conhecido em B. A queda contabiliza juntas as linhas irrelevantes e as linhas duplicadas. Esta ficção não separa essas duas razões. Não invente a separação. Ids da fonte ausentes não são informados. Deixe-os desconhecidos. Não os preencha com zero.

| Medida | Fonte A | Fonte B |
| --- | --- | --- |
| Linhas brutas | 8 | 7 |
| Anúncios úteis com id da fonte conhecido | 6 | 5 |
| Parcela das linhas brutas que são úteis | 6/8 = 75 por cento | 5/7 = 71,4 por cento |
| Descrições completas em anúncios úteis | 5 de 6 = 83,3 por cento | 4 de 5 = 80 por cento |
| Parada | Atingiu o teto | Terminou antes do teto |
| Correspondências sem resolução | nenhuma nesta ficção | nenhuma nesta ficção |
| Ids da fonte ausentes | não informado | não informado |
| Separação das linhas brutas não usadas | não informado | não informado |

As parcelas de 75 por cento e 71,4 por cento usam a regra desta ficção. Elas não são pontuações de exatidão de uma fonte. Divida 6 por 8 para obter 75 por cento. Divida 5 por 7 para obter 71,4 por cento.

Os conjuntos revisados são:

- A = {J1, J2, J3, J4, J5, J6}
- B = {J4, J5, J6, J7, J8}

| Oportunidade | Em A | Em B | Grupo |
| --- | --- | --- | --- |
| J1 | sim | não | só A |
| J2 | sim | não | só A |
| J3 | sim | não | só A |
| J4 | sim | sim | as duas |
| J5 | sim | sim | as duas |
| J6 | sim | sim | as duas |
| J7 | não | sim | só B |
| J8 | não | sim | só B |

A interseção é {J4, J5, J6}. A contagem é 3. A união é {J1, J2, J3, J4, J5, J6, J7, J8}. A contagem é 8. Só A é {J1, J2, J3}. A contagem é 3. Só B é {J7, J8}. A contagem é 2. Cada correspondência incluída nesta ficção está resolvida. Nenhum par fica em um grupo incerto.

Acrescentar B a A acrescenta 2 oportunidades confirmadas. Duas parcelas descrevem esse acréscimo. Elas respondem a perguntas diferentes. Use a parcela que corresponde à sua pergunta.

- Oportunidades novas divididas pelas seis de A: 2/6 = 33,3 por cento. Use esta parcela quando você pergunta quanto B acrescenta a A.
- Oportunidades só de B divididas pela união de oito: 2/8 = 25 por cento. Use esta parcela quando você pergunta que parte da união coletada vem só de B.

Não troque estas parcelas. A primeira parcela usa o conjunto útil de A como base. A segunda parcela usa a união coletada como base.

A Fonte A tem descrições completas em 5 de 6 anúncios úteis. Divida 5 por 6 para obter 83,3 por cento. A Fonte B tem descrições completas em 4 de 5 anúncios úteis. Divida 4 por 5 para obter 80 por cento. Estas são parcelas de campo. Elas não medem o mercado inteiro.

Nesta ficção, A atingiu o teto. B terminou antes do teto. Nenhum conjunto é uma contagem completa de vagas em aberto. A contagem só de A pode subir se uma execução posterior usar um teto mais alto e as mesmas regras. A escolha fictícia pode ser A como fonte principal, mais B pelas 2 oportunidades acrescentadas. Essa escolha serve só a este teste declarado. Ela não é uma classificação universal. Mostre os campos, os conjuntos, as paradas e as contagens desconhecidas.

Datas de publicação não são dadas nesta ficção. Uma data em branco não é o dia zero. Se a sua regra de janela precisar de uma data, essa linha permanece sem resolução. Esta ficção não tem essa linha sem resolução. Um par incerto real precisa da própria contagem antes de você escolher.

## Próxima ação

Execute um painel pareado para o seu cargo, o seu mercado e a sua janela. Escolha a combinação a partir das vagas novas confirmadas e dos campos de que você precisa. Use o [LinkedIn Jobs Actor](https://apify.com/chronometrica/linkedin-jobs-scraper) e a [Task de tendências de contratação](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/collect-linkedin-job-market-data-for-hiring-trends). Pareie essa execução com a [Indeed Jobs Task](https://apify.com/chronometrica/indeed-jobs-scraper/examples/indeed-jobs-scraper). Substitua os três cargos de amostra por um cargo. Mantenha startUrls vazio. Mapeie os dois controles de janela ou anote qualquer divergência.

## Fontes e leituras adicionais

- [LinkedIn Jobs Actor](https://apify.com/chronometrica/linkedin-jobs-scraper)
- [Task de tendências de contratação do LinkedIn](https://apify.com/chronometrica/linkedin-jobs-scraper/examples/collect-linkedin-job-market-data-for-hiring-trends)
- [Indeed Jobs Task](https://apify.com/chronometrica/indeed-jobs-scraper/examples/indeed-jobs-scraper)
- [Pergunta pública sobre qual fonte de vagas fornece dados mais completos](https://www.reddit.com/r/automation/comments/1nuelm7/which_job_board_gives_the_most_comprehensive_data/)