Modern ATS systems use multiple matching levels. Level 1 (legacy): Exact keyword matching -- 'Python' must appear in the text. Level 2 (current): Semantic matching via word embeddings -- 'software development' also matches 'Software Engineer'. Level 3 (AI): Contextual matching -- the sentence 'used Python in data analysis projects' is rated higher than 'Python skills' in the skills section. The ESCO classification forms the basis for many European ATS matching algorithms. Practical consequence: Do not just list keywords in the skills section but embed them in context. 'Led 3 IT projects using Agile/Scrum' is better than 'Skills: Scrum'. LinkedIn: Candidates who place keywords in experience context rather than only in the skills section receive 40% more matches. Caveat: Too many keywords (stuffing) is detected as spam by newer systems.
Sources & Data
Want to know how well your CV matches your target role?
Should I tailor my CV individually for each position?
Why should I avoid table layouts in my CV?
What does ATS-optimised mean and do I need to pay attention to it?
What is the difference between ATS and human screening?
What is an ATS and why is it important for my application?