SophIA
Blog

Tecnologia · 18 min de leitura

Decodificando o ATS: a matemática, as fórmulas e os algoritmos que filtram o seu currículo

Como sistemas de triagem transformam currículos em dados, comparam com a vaga e decidem quem chega ao recrutador.

Decodificando o ATS: a matemática, as fórmulas e os algoritmos que filtram o seu currículo

Você já enviou um currículo para uma vaga e nunca recebeu sequer um retorno?

É comum imaginar que o problema foi a falta de experiência, a concorrência ou simplesmente o recrutador não ter visto seu perfil. Mas existe uma etapa anterior que muitas vezes passa despercebida: o currículo pode ser processado por um sistema antes mesmo de chegar aos olhos de uma pessoa.

Esse sistema é conhecido como ATS, Applicant Tracking System, ou Sistema de Rastreamento de Candidatos.

Apesar do nome parecer complexo, a ideia é relativamente simples: transformar currículos em dados estruturados, comparar esses dados com os requisitos de uma vaga e ajudar o recrutador a organizar, filtrar e priorizar candidatos.

Por trás dessa experiência aparentemente simples existe uma combinação de engenharia de software, processamento de linguagem natural, estatística, álgebra linear e sistemas de pontuação. Entender isso muda completamente a forma como você deveria pensar sobre seu currículo.

O que é um ATS?

Um ATS é um software utilizado por empresas para gerenciar processos seletivos. Ele pode participar de praticamente todas as etapas do recrutamento:

  • publicação da vaga
  • recebimento de currículos
  • armazenamento dos candidatos
  • extração de informações
  • aplicação de filtros
  • classificação de candidatos
  • comunicação com candidatos
  • acompanhamento das etapas do processo seletivo

O ATS funciona como uma camada intermediária entre o candidato e o recrutador.

Candidato → Currículo → ATS → Parsing → Normalização
→ Extração de informações → Filtros + Regras + Scoring
→ Ranking/Shortlist → Recrutador

Isso não significa que todo ATS funcione exatamente dessa maneira ou que exista necessariamente um robô eliminando currículos. Alguns são plataformas de gestão de candidatos com filtros e buscas. Outros incorporam recursos mais sofisticados de IA, NLP e matching semântico.

Não existe um único algoritmo ATS. Existem diferentes plataformas, configurações e estratégias de triagem.

1. O primeiro desafio: transformar um currículo em dados

Para um ser humano, ler "Analista de Dados com 4 anos de experiência em Python, SQL e Power BI" é trivial. Para um software, existe uma primeira pergunta: como transformar esse documento em informação estruturada?

Esse processo é conhecido como parsing. O sistema precisa transformar o conteúdo em algo semelhante a:

{
  "name": "Bruno Silva",
  "title": "Analista de Dados",
  "skills": ["Power BI", "Python", "SQL"],
  "experience": [
    { "company": "Empresa X", "role": "Analista de Dados",
      "start": "2022", "end": "2026" }
  ]
}

O currículo deixou de ser apenas um documento. Ele passou a ser um conjunto de dados.

2. Parsing: quando o PDF vira texto

O ATS pode receber PDF, DOCX, TXT ou formulários preenchidos diretamente na plataforma. Em um documento simples, extrair o conteúdo pode ser fácil. Mas considere um currículo visualmente elaborado:

┌──────────────────┬────────────────────────┐
│ EXPERIÊNCIA      │ HABILIDADES            │
│ Empresa A        │ Python                 │
│ 2022–2024        │ SQL                    │
│                  │ Power BI               │
└──────────────────┴────────────────────────┘

Visualmente, uma pessoa entende imediatamente a relação entre os elementos. O parser precisa determinar qual texto pertence a qual seção.

Currículos excessivamente dependentes de elementos gráficos, tabelas complexas, colunas ou informações inseridas como imagem podem apresentar problemas de interpretação em determinados sistemas.

A informação precisa continuar semanticamente compreensível quando o layout visual deixa de existir.

3. Da informação para entidades

Depois da extração do texto, o sistema tenta identificar entidades:

education.degree      = "Bacharelado"
education.field       = "Ciência da Computação"
education.institution = "Universidade X"
education.year        = 2020

experience.role     = "Desenvolvedor Backend"
experience.company  = "Empresa X"
experience.duration = 4 anos

skills = ["Python", "SQL", "Docker", "AWS", "PostgreSQL"]

O sistema deixa de trabalhar apenas com texto bruto e passa a trabalhar com atributos do candidato.

4. O ATS antigo: procurando palavras

Uma das formas mais simples de comparação é o keyword matching. Se a vaga exige Python, SQL, Power BI e Excel, o sistema procura essas expressões no currículo:

Score = keywords encontradas / keywords exigidas
Score = 4 / 4 = 1  →  100% de correspondência

Mas existe um problema. Considere: "Desenvolvimento de pipelines utilizando pandas e bibliotecas do ecossistema Python". O candidato claramente possui conhecimento relacionado. Um mecanismo baseado apenas em correspondência literal poderia não reconhecer isso.

5. TF-IDF: quando as palavras passam a ter pesos diferentes

TF-IDF significa Term Frequency – Inverse Document Frequency. A ideia é determinar o quanto uma palavra é relevante dentro de um documento considerando também a frequência dela em um conjunto de documentos.

TF(t,d)  = f(t,d) / Σ f(k,d)
IDF(t)   = log( N / df(t) )
TFIDF(t,d) = TF(t,d) × IDF(t)

Se milhares de currículos possuem a palavra "experiência", ela tem pouco poder de diferenciação. Já uma tecnologia específica como "Snowflake", presente em poucos documentos, pode diferenciar mais.

TF-IDF é uma técnica clássica e sistemas modernos podem usar abordagens diferentes ou adicionais. Mas o conceito ensina algo fundamental: nem todas as palavras precisam ter o mesmo peso informacional.

6. A geometria do currículo: similaridade de cosseno

Como comparar dois textos matematicamente? Uma abordagem clássica é transformar textos em vetores numéricos. Com o vocabulário [Python, SQL, Java, AWS, React]:

Currículo C = [1, 1, 0, 1, 0]
Vaga      V = [1, 1, 0, 1, 1]

cos(θ) = (C · V) / (‖C‖ ‖V‖)

Quanto mais próximos os vetores, maior a similaridade. Se apontam para direções semelhantes, os documentos são mais parecidos.

7. E então surge a semântica

Linguagem não é apenas palavra. "Gestão de relacionamento com clientes" e "Customer Relationship Management" são literalmente diferentes, mas semanticamente representam praticamente o mesmo conceito.

Por isso sistemas modernos podem utilizar NLP e representações vetoriais mais sofisticadas, incluindo embeddings:

"Customer Relationship Management"       → [0.21, -0.17, 0.82, ...]
"Gestão de relacionamento com clientes"  → [0.23, -0.14, 0.79, ...]

Os vetores podem estar próximos mesmo que as palavras sejam diferentes. É a diferença entre perguntar "essa palavra aparece?" e "esse conceito está presente?".

8. Keyword matching vs. análise semântica

  • Keyword matching: a palavra aparece?
  • Busca ponderada: a palavra aparece e quão relevante ela é?
  • TF-IDF: qual a importância estatística do termo?
  • Similaridade vetorial: quão semelhantes são os documentos?
  • Análise semântica: os conceitos e contextos são compatíveis?

Essas tecnologias não são mutuamente exclusivas. Uma plataforma pode combinar keywords, filtros estruturados, regras, scoring, NLP, embeddings e critérios definidos pelo recrutador.

9. O score: transformando características em pontuação

Imagine uma vaga com estes pesos: Python 30%, SQL 20%, Experiência 25%, Formação 15%, Power BI 10%.

Score = 0.30·P + 0.20·S + 0.25·E + 0.15·F + 0.10·B
Score = 0.30(1.0) + 0.20(1.0) + 0.25(0.8) + 0.15(1.0) + 0.10(0.5)
Score = 0.90  →  90 pontos em uma escala de 0 a 100

Esse cálculo é ilustrativo. Um ATS real pode utilizar dezenas de sinais, regras, filtros e modelos diferentes.

10. Knockout questions: quando não existe score que salve

São perguntas eliminatórias, como "Você possui autorização para trabalhar neste país?". Não importa se o candidato possui 10 anos de experiência e 15 certificações: ele falhou em um requisito obrigatório.

Candidato ∈ Elegíveis  somente se  R1 = True e R2 = True e R3 = True

Isso é muito diferente de "você perdeu 10 pontos". É "você não atende a uma condição de elegibilidade".

11. O recrutador também configura o algoritmo

As empresas configuram seus processos. Um recrutador pode definir perguntas eliminatórias, competências obrigatórias e desejáveis, experiência mínima, localização, disponibilidade, formação, senioridade, idiomas, critérios de busca e pesos.

REQUISITOS OBRIGATÓRIOS      REQUISITOS DESEJÁVEIS
✓ SQL                        ○ Power BI
✓ Python                     ○ AWS
✓ 3+ anos de experiência     ○ Inglês avançado

Nem todo requisito possui o mesmo peso, e nem toda ausência significa rejeição.

12. O grande erro: tentar enganar o ATS

Quando candidatos descobrem que palavras-chave importam, surge a tentação do keyword stuffing: "Python Python Python SQL SQL SQL AWS AWS AWS", ou dezenas de tecnologias que não domina.

Essa estratégia prejudica a leitura humana, reduz a credibilidade, cria inconsistências, pode ser identificada por mecanismos modernos e aumenta o risco de perguntas sobre competências inexistentes.

O objetivo não é enganar o algoritmo. É representar com precisão suas competências em uma estrutura que máquinas e humanos consigam interpretar.

13. O que realmente significa otimizar para ATS?

Significa reduzir a distância entre o que você realmente sabe e a forma como a vaga descreve aquilo que precisa. Se CRM descreve corretamente sua experiência, use o termo reconhecido pelo mercado. "Microsoft Power BI" pode ser mais claro do que apenas "BI".

Use a terminologia correta quando ela representar verdadeiramente sua experiência.

14. Estrutura também é dado

Uma estrutura previsível ajuda máquinas e humanos:

NOME
CARGO / TÍTULO PROFISSIONAL
RESUMO
EXPERIÊNCIA PROFISSIONAL
  Empresa · Cargo · Período · Responsabilidades e resultados
FORMAÇÃO
COMPETÊNCIAS
CERTIFICAÇÕES

Pense no currículo como uma página HTML com hierarquia clara. Para um humano os dois formatos podem parecer iguais. Para uma máquina, o estruturado fornece mais sinais semânticos.

15. O currículo como um problema de otimização

Considere C = conteúdo real do candidato, V = requisitos da vaga, S(C,V) = aderência, R(C) = legibilidade e A(C) = autenticidade.

max [ S(C,V) + R(C) + A(C) ]
sujeito a: C = experiência real do candidato

Não adianta maximizar a aderência inventando competências. O currículo precisa continuar sendo uma representação verdadeira da trajetória profissional.

16. Onde entra a SophIA?

A proposta não é enganar o ATS. É fazer o candidato entender como seu currículo pode ser interpretado por sistemas automatizados e ajudá-lo a estruturar melhor aquilo que ele realmente possui. A SophIA pode analisar:

  • Estrutura: o currículo possui hierarquia clara?
  • Terminologia: as competências estão descritas de maneira compatível com o mercado e a vaga?
  • Aderência: existe correspondência entre experiências e requisitos?
  • Clareza: um recrutador entende rapidamente o que o candidato fez?
  • Evidências: as competências são sustentadas por experiências concretas?
  • Consistência: existe coerência entre cargo, experiência, competências e resultados?

17. Adicionar palavras não é aumentar aderência

Para uma vaga de Desenvolvedor Backend com Python, FastAPI, PostgreSQL e AWS, uma abordagem ruim seria repetir "FastAPI" sem nunca ter usado a ferramenta. Uma abordagem inteligente identifica o mapa real:

Python       ✓
PostgreSQL   ✓
AWS          ✓
APIs REST    ✓
FastAPI      ?

A IA pode ajudar a encontrar lacunas de comunicação. Ela não deveria criar experiência fictícia.

18. ATS não é um inimigo

O ATS existe porque empresas podem receber 100, 1.000 ou 10.000 candidatos para determinadas posições. O verdadeiro problema surge quando seu currículo não representa claramente sua experiência, usa estrutura difícil de interpretar, não apresenta competências relevantes, contém informações desconectadas, depende excessivamente do design ou não demonstra aderência à vaga.

19. Do currículo baseado em palavras para o currículo baseado em contexto

A diferença entre "você possui a palavra Python?" e "sua experiência demonstra utilização de Python em contextos relevantes para esta posição?" é enorme. A primeira pergunta é lexical, a segunda é contextual.

❌ Python.

✅ Desenvolveu automações em Python para eliminar tarefas manuais
   do processo operacional, reduzindo o tempo de execução das atividades.

A segunda frase contém contexto, ação, tecnologia e resultado.

20. A matemática não precisa ser assustadora

TF-IDF, embeddings, vetores, similaridade de cosseno, scoring, NLP, parsing: você não precisa ser cientista de dados para conseguir um emprego. O objetivo de entender esses conceitos é outro: perceber que seu currículo deixou de ser apenas um documento bonito. Ele é uma representação estruturada de dados profissionais.

Conclusão: seu currículo precisa falar duas linguagens

Para a máquina: estrutura clara, informações identificáveis, terminologia relevante, dados consistentes, boa aderência semântica e ausência de ruído. Para o recrutador: clareza, contexto, resultados, narrativa profissional, credibilidade e facilidade de leitura.

A SophIA nasce justamente nesse espaço. Não para transformar o candidato em um conjunto de palavras-chave, mas para ajudá-lo a traduzir sua experiência profissional para um mercado cada vez mais mediado por inteligência artificial.

Não tente vencer o algoritmo. Aprenda a ser compreendido por ele, sem deixar de ser compreendido por quem está do outro lado da tela.

Prepare seu currículo para o recrutamento baseado em IA

A SophIA ajuda você a analisar, estruturar e fortalecer seu currículo, comunicando experiência, competências e resultados de forma clara para sistemas automatizados e recrutadores.

Começar gratuitamente

Continue lendo