Over the past several months we've connected TedScout to 13 national procurement portals across 9 countries — not just TED, but the national portals where the bulk of real procurement actually happens. DECP in France. BZP in Poland. ANAC in Italy. BASE in Portugal. eTenders in Ireland. SEAP in Romania. The portals that most suppliers have never heard of.

The result is a dataset of nearly 8 million award notices, covering contracts awarded since 2023. This is what we found.


First, a confession about the data most tools show you

TED — the EU's Tenders Electronic Daily — publishes every public contract above the EU threshold. That's roughly €143,000 for services, €5.5 million for works. Below those thresholds, buyers are free to publish wherever they like, or not at all.

The result is that TED captures maybe 20–30% of actual public procurement activity by volume. The rest lives on national portals, regional platforms, and local authority websites. It's not hidden — it's just fragmented.

When we connected to France's DECP portal, we found 1.4 million contract awards that don't appear on TED. The median value: €101,000. These are below-threshold contracts — the bread and butter of SMB public sector work — invisible to anyone relying solely on TED.

Italy's ANAC database has 2.3 million contracts, many valued at €10,000–50,000. Poland's BZP has 282,000 awards with a median of €54,000.

The gap

This is the market most procurement tools don't show you. Below-threshold contracts are the bread and butter of SMB public sector work — and they're only visible if you're watching the right portals.

What contracts actually cost, by country and sector

We filtered to contracts awarded since January 2023, valued between €1,000 and €50 million, and looked at three sectors that appear across all markets: construction (CPV 45), IT services (CPV 72), and engineering consultancy (CPV 71).

Construction (CPV 45)

CountryMedian contractAvg bidsSample
Ireland€843k5.66k
Germany€377k6.194k
France€229k7.4319k
Poland€196k4.9402k
Spain€133k4.0100k
Portugal€66k47k
Italy€34k13.4238k

IT Services (CPV 72)

CountryMedian contractAvg bidsSample
Ireland€871k4.75k
Germany€789k3.76k
Romania€526k2.16k
France€287k4.622k
Spain€187k2.839k
Poland€69k2.210k
Portugal€20k27k
Italy€16k3.097k

Engineering Consultancy (CPV 71)

CountryMedian contractAvg bidsSample
Ireland€596k5.07k
Germany€274k3.935k
Romania€197k3.414k
France€188k5.595k
Spain€74k4.246k
Poland€67k4.149k
Portugal€19k31k
Italy€18k8.2163k

Three things this data tells us

1. The market you're targeting matters more than you think

The median IT services contract in Ireland (€871k) is 54 times larger than the median in Italy (€16k). Both are EU member states. Both follow the same procurement directives. Both publish award data publicly.

The difference is what each portal captures. Ireland's eTenders data skews heavily above-threshold — larger, more formal procurements. Italy's ANAC database captures everything down to very small direct awards. Neither picture is wrong; they're measuring different layers of the same market.

The practical implication: if you're pricing an IT services bid for an Irish public buyer, the market benchmark is around €870k. If you're pricing for an Italian municipality, it's €16k. Using a pan-European average would steer you badly wrong in both directions.

2. IT services is the least competitive sector in EU procurement

Across all eight countries we measured, IT services consistently has the lowest average bid count — between 2.1 and 4.7 bids per contract. Construction has the highest, peaking at 13.4 bids per contract in Italy.

What does this mean in practice? When you bid on a Polish IT contract, you're on average competing against one other company. When you bid on Italian construction, you're in a field of thirteen.

Low competition doesn't mean low quality of competition. But it does mean that showing up, submitting a compliant bid, and pricing sensibly puts you in contention more often than the volume of notices might suggest.

France's construction market stands out: 7.4 average bids per contract across 319,000 contracts. That's a large, genuinely competitive market. Germany's construction at 6.1 bids across 94,000 contracts is similar in character but concentrated in higher-value contracts.

3. The volume market is in Italy, Spain, and Poland

Three countries dominate by contract volume: Italy (498k contracts across our three sectors), Poland (461k), and France (436k combined with DECP). Spain adds another 186k.

These aren't the highest-value markets. Italy's median construction contract is €34k. Poland's IT median is €69k. But volume creates opportunity for firms that can operate efficiently at smaller contract sizes.

Italy in particular is striking: 97,000 IT services contracts with a median of €16k. For a software firm that can deliver defined-scope projects quickly, that's a market with constant demand and relatively low competition (3.0 avg bids). The barrier isn't winning — it's building the operational capacity to run many small projects simultaneously.

A note on data quality

Data transparency

What it is: Award notices from 13 national portals and TED, filtered to contracts with verified values between €1k and €50M, awarded since January 2023. For France, the bulk of the data comes from DECP — France's mandatory open data publication covering all public buyers including below-threshold contracts. For Poland, values are extracted from BZP award notice HTML. For Italy, ANAC's open dataset includes sub-threshold contracts at scale.

What it isn't: A complete picture of all public procurement in Europe. Some portals are above-threshold only (Ireland's eTenders, Germany's BKMS). Some don't publish competition data (Portugal's BASE doesn't report number of bids). Romania's SEAP data covers Q3 2023 to Q1 2026 from quarterly bulk exports. Norway and Finland are included in our system but their data has quality caveats we're still resolving — excluded from this analysis.

The €50M cap: We exclude contracts above €50 million from benchmark calculations. National portals mix individual contract awards with framework agreement ceiling values — a €500M framework covering four years of IT services isn't comparable to a €500k individual contract award.

How to use this for your next bid

The most common mistake in public sector business development is pricing based on cost rather than market. You work out what it costs you to deliver, add a margin, and submit. The problem is that market pricing in public procurement is often significantly different from cost-plus — sometimes higher, sometimes lower, almost always more revealing.

Before pricing any significant public sector bid, ask three questions:

What does the market pay for this? Use the sector and country as your starting point. If you're bidding a €400k IT contract in Spain, you're above the €187k median — you need a clear reason why. If you're bidding €80k, you may be leaving money on the table.

How competitive is this market? 2.2 bids per contract in Polish IT means your main competition is likely one incumbent supplier. 13.4 bids in Italian construction means you're in an auction. The right strategy is different in each case.

Who keeps winning? The top winners table in our benchmark data — STRABAG with 462 construction wins in Poland, for example — tells you who the incumbents are and what they're charging on average. Knowing you're going up against a firm averaging €883k per win on a €250k contract is useful intelligence.


Try it yourself

Every data point in this post comes from TedScout's get_price_benchmark tool, which you can use directly inside Claude, Cursor, or any AI assistant that supports MCP. Ask it:

"What's the typical contract value for IT services in Germany? How competitive is the market?"

Or try it in the browser at tedscout.eu/app — no setup required. The benchmark covers 8 million contracts across 9 countries, updated daily as new award notices flow in from our 13 portal integrations.

Benchmark your next bid

Access contract value benchmarks, competition data, and top winner intelligence across 9 EU countries — directly in your AI assistant or browser.