CPV is the common classification system used to describe the subject of public procurement contracts. The main vocabulary is hierarchical: the first digits indicate division, group, class and category, while the following digits increase precision. For monitoring opportunities, it helps to combine specific and upper-level codes with the subject language, territory, amount and exclusions.
Read the code like a tree
The main code has eight descriptive digits and a ninth check digit. The first two identify division; three, group; four, class; five, category. A code with more zeros is more general. This hierarchy lets you move up when an alert is too narrow and move down when it creates noise.
| Layer | Function | Usage example |
|---|---|---|
| Core | The service the company delivers recurrently | Always alert |
| Adjacent | A contract where your capacity appears as a relevant part | Alert with words or amount |
| Monitoring | Broad category with potential but lots of noise | Summary, not an immediate alert |
| Exclusion | Incompatible subject even if it shares the same family | Hide unless manually reviewed |
Method in six steps
- Gather 10–20 projects you would indeed be able to deliver.
- In the official vocabulary, find the most precise code for each service.
- Move up one level and check which neighboring contracts would appear.
- Add real subject language: technologies, deliverables, sectors and synonyms.
- Define exclusion signals: main works, predominant hardware, incompatible shifts or missing authorisation.
- For four weeks, label each result as relevant, adjacent or noise, and adjust.
Example: software development
A software company might start in division 72 and choose categories linked to programming, consulting or maintenance. But a contract titled “transformation of citizen care” could use broader codes or include software alongside training, support and communications. That’s why CPV must coexist with subject words and with lot-based analysis.
Measure precision and loss
Track how many results each rule produces, how many reach review, and how many end up as bids. A rule with many results and zero useful decisions should be narrowed; an opportunity found manually but missing from alerts reveals a gap in the tree or the language.
A good alert isn’t the one that finds the most. It’s the one that lets you review everything relevant on time and explain why each result ended up there.
Official sources and tools
- Law 9/2017 on Public Sector Contracts — Spanish framework and references to CPV.