The TendFeed Study 2026: Competition Density in EU Public Procurement
How thinly contested is the EU public-procurement market really — and what does it cost not to know? An analysis of 534,877 real EU contract awards (TED, Tenders Electronic Daily), December 2023 – July 2026.
Publisher: AnalystHAUS GmbH (TendFeed brand) · Data source: TED, CC BY 4.0 · As of: July 2026
This study is published in English and German (https://tendfeed.eu/de/studie).
Summary (citable)
Across all sectors, 69.4% of all EU contract awards went to three or fewer bidders — 34.9% to a single bidder. The EU procurement market is not overcrowded; it is thinly contested across the board. A bidder competes against a median of 2 others, not a dozen.
Basis: 534,877 award notices with a valid bidder count from 89 countries over 2.5 years (TED). This is not a sample — it is close to the full corpus of machine-readable EU awards for the period.
1. Methodology
- Source: TED (Tenders Electronic Daily), the official EU procurement portal, CC BY 4.0.
- Population: all contract-award notices from 6 Dec 2023 to 3 Jul 2026 with an evaluable bidder count (StatisticsCode=tenders in the eForms standard) → n = 534,877 award notices.
- Two units of count, kept apart: the core finding counts award notices (n = 534,877). The sector table counts sector samples — a notice with two CPV divisions yields two samples, which is why that total is higher (n = 679,902).
- Several lots per notice: a notice can contain several lots, each with its own bidder count. In that case the median across lots is used, not their sum — summing would have produced bidder counts above 1,000 and inflated competition density artificially.
- Country label: the official country code of the notice. Sampled across 12 countries (355,000 awards): in 100% of cases it is corroborated by at least one NUTS region of the same country.
- Cleaning (conservative): lots with 0 received tenders excluded (cancelled/failed procedures, no "zero-competition wins"); artefacts > 500 bidders excluded. This cleaning lowers the reported figures.
- Aggregation per cluster: CPV division (2-digit, the official EU sector taxonomy), only clusters with n ≥ 100 reported.
- Contract values in euro: median of estimated values per cluster; amounts in national currencies are converted at the ECB annual average rate. Value data is sparser than bidder data (5,400–32,100 values per cluster); outliers > €1bn truncated.
2. Core finding: the market is thinly contested across the board
| Metric | Value | n |
|---|---|---|
| Awards with only 1 bidder | 34.9% | 534,877 |
| Awards with ≤ 3 bidders | 69.4% | 534,877 |
| Median bidder count (all sectors) | 2 | 534,877 |
Read it like this: in more than one in three EU procedures there was no real competition at all (1 bidder). In more than two thirds of cases, ≤ 3 offers were enough to win. The common belief that "too many bid on public contracts, it is not worth it" is refuted across the full corpus.
3. Competition density and value per sector cluster
For each cluster: how thinly contested and how much contract value (stake). The column expected value/tender = median contract value ÷ median bidder count — the statistical value of pursuing one tender from a thinly contested cluster without any skill bonus (conservative baseline).
| CPV | Sector | n (bidders) | Median contract value | Median bidders | % ≤ 3 bidders | Expected value/tender |
|---|---|---|---|---|---|---|
| 85 | Health/social services | 12,214 | €680,560 | 2 | 77% | €340,280 |
| 72 | IT services | 34,093 | €619,241 | 2 | 76% | €309,620 |
| 45 | Construction | 81,315 | €1,176,656 | 4 | 46% | €294,164 |
| 48 | Software | 21,283 | €484,444 | 2 | 83% | €242,222 |
| 50 | Maintenance/repair | 33,538 | €476,993 | 2 | 82% | €238,496 |
| 38 | Lab/measurement/optics | 18,190 | €234,933 | 1 | 89% | €234,933 |
| 09 | Energy/fuels | 15,331 | €440,062 | 2 | 70% | €220,031 |
| 31 | Electrical | 13,980 | €439,711 | 2 | 75% | €219,856 |
| 44 | Construction materials | 15,254 | €411,164 | 2 | 71% | €205,582 |
| 34 | Vehicles | 30,740 | €373,200 | 2 | 84% | €186,600 |
| 33 | Medical | 73,672 | €168,000 | 1 | 85% | €168,000 |
| 90 | Environment/waste | 31,450 | €500,000 | 3 | 62% | €166,667 |
| 79 | Business consulting | 31,805 | €400,000 | 3 | 56% | €133,333 |
| 30 | Office/IT equipment | 21,942 | €264,800 | 2 | 75% | €132,400 |
| 71 | Engineering/architecture | 57,207 | €350,000 | 3 | 55% | €116,667 |
Reading for the bidder: even in the most conservative calculation (no skill, pure statistical odds), the expected value of pursuing one tender from a thinly contested cluster is in the six-figure range in every listed sector. The most expensive mistake is not bidding — it is pursuing the wrong (overcrowded) tender and missing the thinly contested one.
3b. Competition density by country
The EU average hides the most important finding: countries differ from each other more than sectors do. In Poland almost every second award goes out without real competition; in Switzerland only every eighth. All countries with n ≥ 1,000 awards are listed. Contract values are deliberately left out here because the density of value data varies too much by country; bidder counts are unaffected.
| Country | n | Median bidders | % 1 bidder | % ≤ 3 bidders |
|---|---|---|---|---|
| Germany | 94,670 | 3 | 23.7% | 55.6% |
| Spain | 57,231 | 2 | 38.8% | 69.5% |
| Romania | 52,037 | 2 | 37.1% | 78% |
| Czechia | 49,234 | 2 | 46.4% | 78.5% |
| France | 37,124 | 3 | 20.5% | 62.3% |
| Poland | 35,024 | 1 | 59.7% | 84.9% |
| Bulgaria | 28,251 | 2 | 47.3% | 78.9% |
| Sweden | 16,317 | 3 | 23.5% | 60.6% |
| Netherlands | 15,813 | 3 | 29.7% | 66.3% |
| Latvia | 15,122 | 3 | 26.1% | 64.6% |
| Croatia | 13,040 | 2 | 44.7% | 85.3% |
| Switzerland | 11,448 | 4 | 12.6% | 48% |
| Italy | 11,219 | 2 | 34.5% | 66.9% |
| Hungary | 10,477 | 2 | 37.8% | 77.8% |
| Slovakia | 10,403 | 2 | 29.3% | 74% |
| Slovenia | 9,736 | 1 | 51.4% | 85% |
| Belgium | 9,362 | 2 | 27.1% | 68.3% |
| Estonia | 8,531 | 2 | 30.2% | 65.5% |
| Portugal | 8,252 | 1 | 50.1% | 72.7% |
| Finland | 7,258 | 3 | 21.9% | 58.9% |
| Denmark | 6,170 | 3 | 26.8% | 69.7% |
| Lithuania | 5,464 | 2 | 39.1% | 78.2% |
| Austria | 5,240 | 2 | 33.2% | 66.5% |
| Norway | 4,616 | 3 | 20.3% | 61% |
| Greece | 4,278 | 1 | 55.6% | 80.9% |
| Ireland | 4,011 | 3 | 25.3% | 61.8% |
| Cyprus | 1,066 | 2 | 46.9% | 80.4% |
Reading: between Poland (59.7% single-bidder awards) and Switzerland (12.6%) lies a factor of 4.7. Germany is one of the most contested countries on the list. A bidder who extrapolates German experience to the EU market therefore underestimates their chances systematically.
The thinnest cells: country × sector
The decision is not made at country level, nor at sector level, but in the cell formed by both. Cells with n ≥ 300 are listed, sorted by median bidder count:
| Country | CPV | Sector | n | Median bidders | % ≤ 3 bidders |
|---|---|---|---|---|---|
| Croatia | 50 | Maintenance/repair | 974 | 1 | 98.5% |
| Romania | 85 | Health/social services | 417 | 1 | 98.1% |
| Croatia | 48 | Software | 381 | 1 | 97.6% |
| Slovenia | 50 | Maintenance/repair | 653 | 1 | 97.5% |
| Portugal | 85 | Health/social services | 478 | 1 | 97.5% |
| Poland | 33 | Medical | 11,796 | 1 | 97.2% |
| Slovenia | 38 | Lab/measurement/optics | 315 | 1 | 97.1% |
| Croatia | 09 | Energy/fuels | 1,019 | 1 | 96.8% |
| Romania | 50 | Maintenance/repair | 3,570 | 1 | 96.6% |
| Greece | 34 | Vehicles | 495 | 1 | 96.2% |
4. The cost of not knowing (independently sourced)
Competition density (sections 2–3) is one side. The other: what it costs to pursue the wrong procedure. These costs are independently documented — independent studies are clearly separated from vendor data.
Cost per bid — independent: IfM Bonn (2024, independent research institute; case study of three electrical SMEs in municipal procurement): €870–3,070 per tender participation depending on firm size, ~€3,070 for the smallest firms (≤ 9 employees) — the authoritative independent source for the German market (IfM-Materialien No. 301). cosinex (2024): "up to €3,000" effort per tender participation.
How much work wins nothing — independent: AGC (Associated General Contractors): bid-to-win ratio of 20–35% in construction → 65–80% of all proposal work generates zero revenue.
Vendor benchmark (labelled as such): Loopio RFP Benchmark Report: ~33 hours per RFP, average win rate 39% (vendor survey, not an independent institute).
4.1 In their own words (verbatim, with sources)
The pain is not abstract — it is on record. German quotes are kept in the original language (scientific practice):
„Da arbeite ich doch lieber fünf Stunden in der Werkstatt, als ein Angebot abzugeben, von dem ich weiß, dass es eh nicht zum Zuge kommen wird." ("I would rather work five hours in the workshop than submit a bid I know will not win.") — Stefan Zirngibl, master metalworker.
Deutsche Handwerks Zeitung (German)
"I once spent 2 weeks and about $5k meeting all of the requirements for the RFP … I was more than a little bothered afterwards." · "Unless you personally influenced the RFP and have a champion who has told you you're the preferred vendor, it is a guaranteed waste of time."
Hacker News: "Your competitor wrote the RFP you're bidding on"
4.2 The bidder's arithmetic
Conservative, independent figures only: per the IfM case study, one prepared bid costs €870–3,070 depending on firm size. 65–80% of that work wins nothing (AGC). Bidding on 4 wrong (overcrowded) procedures burns up to ~€12,000 of working time — without a single award.
These wasted rounds happen because the bidder does not know before the proposal work how thinly contested the procedure is (section 2: 69% ≤ 3 bidders — but which ones?).
5. Conclusion
Across the full corpus, the EU procurement market is demonstrably thinly contested (69% ≤ 3 bidders) and valuable (six-figure expected values per cluster). The bottleneck is not competition — it is information about where competition is thin, before the expensive proposal work is invested.
How to cite this study
AnalystHAUS GmbH (2026): The TendFeed Study 2026: Competition Density in EU Public Procurement — analysis of 534,877 EU contract awards (TED, Dec 2023 – Jul 2026). https://tendfeed.eu/en/study
Methodological notes: median instead of mean (robust to outliers). "≤ 3 bidders" as the threshold for thin competition (under uniform odds this would arithmetically correspond to ≥ 25%). Observed competition density is not a probability of winning. Data as of July 2026, continuously updated. Research/data tool, not legal advice, no guarantee of award.
Correction notice, 27 July 2026: this version corrects two errors in the first release. First, the first release said "534,877 award notices" — that figure was the number of sector samples (notice × CPV division), not of notices; the percentages barely move as a result (69.3% → 69.4%). Second, contract values were taken from the field holding the amount in national currency, so that e.g. CZK 4,650,000 was counted as €4,650,000; the euro medians are therefore markedly lower now. The competition-density findings depend on no currency and are unchanged.