# Why keyword and CPV searches miss relevant tenders

Source: Tender Navigator Knowledge Base, https://tendernavigator.com/knowledge-base/why-searches-miss-relevant-tenders (canonical HTML). Category: Finding tenders. Published 2026-09-15, last updated 2026-09-15.

> Keyword and CPV code searches miss relevant tenders because buyers describe and classify the same work in different ways: other words, other languages, a broad family code or a neighbouring category, or a lot inside a larger contract. The fix is to search wider on purpose, with synonyms, parent and sibling codes and translated keywords, and to let a precise AI prompt remove the noise.

## The short answer

A search finds what a notice says, not what the contract is. Two things decide whether a notice reaches you: the words in its title and description, and the classification codes the buyer attached to it. Buyers write and classify the same work in many different ways, so a search built only on your own vocabulary and the one code you consider correct sees part of the market and misses the rest.

## Why relevant tenders slip through

| Cause | What happens | Example |
| --- | --- | --- |
| **Buyer vocabulary** | The notice uses the buyer's words, not yours. | You search "facility management"; the notice is titled "Maintenance of municipal buildings". |
| **A broad or neighbouring code** | The procurement officer picks the code that fits the contract as they see it, often a family code or a related category. | Facilities work published under 50700000 (Repair and maintenance services of building installations) or 90911200 (Building-cleaning services) rather than 79993000 (Building and facilities management services). |
| **Your work is one part of a larger contract** | The notice is classified by its main subject; your part appears only in the description or the documents. | IT support bundled into a building project classified 45000000 (Construction work). |
| **Another language** | A notice published in German or French does not contain your English keyword. | "Gebäudereinigung" rather than "building cleaning". |
| **Another classification system** | European notices carry CPV codes, US notices NAICS, international bodies often UNSPSC. A code from one system does not find notices classified only in another. | A NAICS-only search finds nothing on TED. |
| **A thin notice** | Some portals publish a title and a few lines; the scope is in attached documents. | A one-line notice with no codes at all. See [Why some tender fields are missing](/knowledge-base/missing-tender-fields). |

## How to close the gap

1. **Add the buyer's words as keywords.** Keywords are combined with OR, so every synonym widens the search. Read notices for contracts you won or wanted, and copy the terms their buyers used. See [Keywords, countries and codes](/knowledge-base/search-criteria).
2. **Search the family and the neighbours, not only the exact code.** A CPV family code covers its category as a whole: 72000000 (IT services) finds notices classified under the IT services codes beneath it. Add the sibling categories buyers confuse with yours. See [CPV, NAICS and UNSPSC codes](/knowledge-base/classification-codes).
3. **Use more than one classification system** when you bid in more than one region.
4. **Switch on Translate keywords** in a filter that covers non-English markets. Your keywords are then translated into the languages of the selected countries, so a German notice can match an English keyword. See [Creating and editing a filter](/knowledge-base/creating-a-filter).
5. **Test before you save.** Run the widened search in the [Pre-search tool](/knowledge-base/pre-search-tool) and look for notices you know should appear. When one is missing, open it at the source and note the words and codes it actually uses.
6. **Let the AI prompt do the narrowing.** A wide intake catches more tenders, and more noise. In a filter, every tender the criteria pick up is evaluated against your [AI prompt](/knowledge-base/writing-the-ai-prompt), so exclusions belong there rather than in ever narrower keywords. The trade-off is volume: each tender a filter reads uses an evaluation from your plan. See [Filter usage and limits](/knowledge-base/filter-usage-and-limits).

## Recall and precision

Search specialists call the two sides of this trade-off **recall**, finding everything relevant, and **precision**, showing only what is relevant. In Tender Navigator, keywords and codes set the recall of a filter and the AI prompt sets its precision. When results feel thin, widen the criteria; when they feel noisy, sharpen the prompt first. [Too many irrelevant tenders](/knowledge-base/too-many-irrelevant-tenders) covers the opposite problem.

## Frequently asked questions

### Should we search by keywords or by CPV codes?

Both. Codes catch notices whose wording you would not have guessed, and keywords catch notices whose codes are broad, wrong or missing. In Tender Navigator the two are combined with OR, so adding either can only add results, and a filter needs at least one code before it can be activated.

### Why does a tender that mentions our keyword not appear?

Check the rest of the search first. A budget rule that excludes tenders without a published budget drops most notices, and a tender whose deadline has passed leaves the search results as its status changes at the source. If the notice is in another language, your keyword may not appear in its text at all; use translated keywords. See [No tenders found](/knowledge-base/no-tenders-found).

### How do we find the codes buyers actually use?

Open notices you would have wanted to find, in the Pre-search tool or at the source, and read the codes they carry: the side panel and the notice page list them as chips. Codes that recur across those notices belong in your filter, even when they are not the code you would have chosen yourself.
