Matching ranker
Purpose and deployment context
The Matching ranker in JobsAI ranks job listings for candidates and agent clients. It is used in search and in explaining a match, but it is not a stand-alone decision on the acceptance or rejection of a candidate. Candidates, employers and agents are affected, because the order of results changes the visibility of job listings.
As of August 2026 a new channel "Show yourself to the employer" is added: based on the recommendations, a candidate can actively and voluntarily express interest in a specific job and share their profile with the employer (fully, or anonymously without name and contacts). The employer only sees candidates who raised their hand themselves, ordered by time and without any AI score or ranking - match evaluation stays exclusively on the candidate side.
Classification under the AI Act
Under Regulation (EU) 2024/1689 (the AI Act), we assess this component in its current deployment as probably outside Annex III, point 4(a). The ranker ranks and recommends job listings exclusively for the candidate; its output is shared only with the candidate, is initiated by them and is not under the control of the employer, so it does not serve for the recruitment or selection of natural persons on behalf of an employer. According to the interpretive guidance on the AI Act, a system that helps a candidate find suitable job listings and whose recommendations are shared exclusively with the candidate does not fall within the use case of Annex III, point 4(a). We keep this classification under ongoing review and it is subject to a final legal assessment. If, in the future, the ranking, scoring or filtering of candidates on behalf of an employer were launched, it would be a separate high-risk component under Annex III, point 4(a), with the full AI Act regime (an impact assessment, human oversight and an independent bias audit); the provider obligations for high-risk systems would apply from 2 August 2026. Even outside the high-risk systems regime, the Operator voluntarily maintains technical documentation, a model card, logging and post-market monitoring; serious incidents would be reported to the competent authorities under the AI Act and Czech implementing legislation.
Inputs and outputs
The input is the query text, optional filters, a list of candidate job listings, the query embedding and position metadata: the date of publication, employer verification and a future promotion flag. The processing does not use the candidate's name, e-mail or telephone; for logged-in candidates, only a stable hash is used for the follow-up explanation. The output is a ranked list of positions with the final score and, when explain=true, the bm25, semantic, freshness, promoted and verified_employer components.
Models used and versions
The component is a deterministic scoring function, not a fine-tuned ML model. The default weights favour text and semantic match, with a smaller influence of listing freshness and a slight preference for promoted and verified listings. Embeddings are computed by the text-embedding-3-small model (1536 dimensions); in the Azure OpenAI variant the processing is EU-resident. A knowledge cutoff does not apply, because the ranker does not generate knowledge content.
Training data
The ranker is not trained from the historical decisions of employers. It uses the current index of job listings in Meilisearch, pgvector embeddings of position descriptions and metadata from the database. The internal evaluation set for search serves to check relevance, not to train the model.
Limitations and known risks
BM25 favours exact word match, semantic similarity may overlook salary, seniority or legal work restrictions, and freshness may temporarily push up new, less relevant listings. If real embeddings are not used, the quality of the stub provider is deliberately low. The ranker may reproduce inequalities contained in published advertisements, and therefore the results are audited according to the scoring components.
Fairness and anti-discrimination
The ranker must not use protected characteristics under Act No. 198/2009 Coll., in particular age, gender, race or ethnic origin, nationality, disability, religion, sexual orientation, family status, political opinions or trade-union membership. The mitigations include the separation of the anti-discrimination review of advertisements, transparent scoring components and an internal fairness-audit methodology. Last audit: 2026-05-14, passed.
| Item | Value |
|---|---|
| Last audit | 2026-05-14, passed |
Production data will be added after launch with the consent of a sample.
Human oversight
The candidate can filter the results and ignore the recommendations. Neither an employer nor JobsAI may use the ranker as an automatic decision about a candidate. An administrator can address complaints about ordering, remove problematic advertisements and run a reindex or temporarily switch off the ranking service.
Performance metrics
A reference run without the full ranker achieved a mean nDCG@10 of approximately 0.39; the target for real embeddings is at least 0.55. Production precision/recall by segment has not yet been measured and will be added after launch.
Security and privacy
The primary data remains in the database and the ranking service. The processing of personal data is governed by Regulation (EU) 2016/679 (GDPR). For recommending listings to a candidate, the legal basis is the performance of a contract under Article 6(1)(b) GDPR. For improving relevance, auditing, security and the prevention of misuse, the legal basis is legitimate interest under Article 6(1)(f) GDPR. The embedding provider may receive the query text and the job listing text; with OpenAI direct processing, a transfer outside Europe may occur under the provider's contracts, whereas Azure OpenAI is documented as an EU-resident variant. Score logs are retained for auditing and explanation according to the search retention rules. Details are in the privacy policy.
Complaints and contact
Send complaints about the order of results, discriminatory impact or the explanation of a match to [email protected]. Candidates can also use the privacy contact in the privacy policy for requests under the GDPR.
Card version
Card version 1.0.3, last updated 2026-07-08.