September 26, 2026

Competition in Irish Public Procurement: 25,151 Records

Irish public bodies publish tens of thousands of tender notices and award notices every year. Most go unread outside the handful of suppliers who bid. The published record for 2023, 2024 and 2025 runs to 25,151 rows, and the question underneath all of it is how many suppliers turn up when a public body in Ireland goes to the market.

Across the 19,133 notices in our file that publish a bid count, 20.8 per cent received exactly one bid and 40.4 per cent received two or fewer. The median is three. Value sits in a small number of very large competitions, and those large competitions are on the whole more contested than the small ones. The least contested route through the system is also the fastest: a direct invitation to a supplier the buyer already knows. This study sets out what the published data supports, with the code to reproduce every number.

How we measured this

One file holds the whole study. It was assembled from published Irish procurement records: 25,151 rows covering notices published or contracts created between 1 January 2023 and 31 December 2025, drawn from the national eTenders platform, the EU-level Tenders Electronic Daily (TED) system, and the open payment data published on data.gov.ie. Each row carries 22 columns, among them the contracting authority, the contract title, the main CPV code, the procedure, the threshold regime, an estimated value, an awarded value, a bid count, the awarded supplier or suppliers, and the notice links. The file is 9,361,984 bytes, sha256 1ccd526e4c96fe05ebcdc14717adac48e46074aac19bbb37b121a69908611477, and you can download it from our Irish public contracts page.

Four definitions carry most of what follows.

  • A record is one row in the file, either one notice or one contract derived from a notice. Rows are not tenders. Across 25,151 rows there are 24,754 distinct Tender IDs, 388 rows carry no Tender ID at all, and 8 Tender IDs appear on more than one row. No two rows are exactly duplicated.
  • A bid count is the value in the column "Sum of No of Bids Received". It is present on 19,133 rows and absent on 6,018. Where it is absent we assume nothing, and the row drops out of the bid statistics.
  • Single bid means a published bid count of exactly one, a fact about the process and not a judgement on it. One bid can be a niche market with one credible supplier, a re-run of a failed competition, an urgent requirement, or an error in the published field.
  • Awarded value is the value in the column "Sum of Awarded Value (EUR)". Present on 12,715 rows, absent on 12,436. The 12,715 rows sum to EUR 79,722,431,656.00. For a framework agreement this is usually the notified estimated value of the framework, not money spent, a limit we return to below.

The national platform reports the bid statistics for every row it supplies. Two source pipelines feed the file. "OpenData-Publications" contributes 21,891 rows and all 19,133 rows with a bid count. "OpenData-Contracts" contributes 3,260 rows and a bid count on none of them. That split shapes the study: a row with no bid count usually came from the payments pipeline, not the notices pipeline.

Two more measures run through the study. The threshold regime is published as a "Threshold Level" of National or OJEU, and the procedural rules differ on either side of it. The competition type separates an open or bespoke competition from a framework, a mini-competition under a framework, a qualification system, or a direct invitation. Both fields are present on almost every row, and neither on all of them.

We treat the file as a census of published notices, not of spending. A public body that never published a notice does not appear. A row published without a supplier name, a bid count or a value says nothing about how the contract was run, so we keep those blank cells visible in the counts and do not fill them in. Each section shows the working: the count, the denominator, and the limit.

Every figure in this article is listed with the snippet that produced it on our fact provenance register. For the wider European picture, our European public procurement competition study runs the same questions across member states, and the press notes carry the headline findings and the method summary.

The headline: one award in five draws a single bid

Of the 19,133 records with a published bid count, 3,976 received exactly one bid, which is 20.8 per cent. Another 3,754 received exactly two, taking the two-or-fewer group to 7,730 records, or 40.4 per cent. The median is three bids and the mean is 4.67. The gap between them is a long right tail: 1,720 records, 9.0 per cent, recorded ten or more bids, which lifts the mean and leaves the typical competition where it was.

Bids received Records Share of records with a bid count
1 3,976 20.8%
2 3,754 19.6%
3 2,972 15.5%
4 2,249 11.8%
5 1,682 8.8%
6 to 9 2,780 14.5%
10 or more 1,720 9.0%
No bid count published 6,018 not applicable

Keep the denominator in mind. The 6,018 rows without a bid count are 23.9 per cent of the file, and they are not missing at random. They are mostly the payments-pipeline rows and the rows run through direct invitation, which are the rows where the least competition would be expected. The true single-bid share across all published Irish awards is likely to be higher than 20.8 per cent, not lower. This file cannot say by how much.

One check cuts against the easy reading. A single bid does not mean a process went unadvertised. Most single-bid records in our file sit under an open procedure, and open procedures still produced single bids at 22.7 per cent of their 16,502 reporting records. Wide advertising and a single response happen together in this file.

Framework, mini-competition or standalone: the biggest split in the file

The field that separates the contested competitions from the quiet ones is the competition type.

Competition type Records Records with a bid count Single-bid share
Bespoke (single-stage or multi-stage competition run for one requirement) 17,559 15,321 22.7%
Framework 3,903 3,462 14.2%
Framework mini-competition 1,751 0 not published
DPS or qualification system 429 350 3.7%
Standalone direct invitation 596 0 not published
Simplified 483 0 not published

The framework family, meaning framework agreements, framework mini-competitions, dynamic purchasing systems and qualification systems, holds 6,125 records with 3,812 of them reporting a bid count. Its single-bid share is 13.2 per cent, against 22.7 per cent for the bespoke competitions that make up the rest of the file. Two mechanisms could explain the gap and this file cannot separate them. A framework is a long qualification list suppliers can join, so a place on it costs an applicant less than winning a one-off contract. A mini-competition under a framework is a call between suppliers already admitted, so the eligible pool is smaller by design.

The 3,903 records typed as Framework carry EUR 48,801,368,977.40 in awarded value, which is 61.2 per cent of all awarded value in the file. The figure needs a warning, repeated in the section on what we do not know. A framework notice can state a ceiling for the whole agreement over its term, and that ceiling is not money spent. A framework with a EUR 4.5 billion ceiling and no spend recorded still appears in our sums as a EUR 4.5 billion row.

The direct-invitation route is small here. The 596 standalone direct invitations carry EUR 721,022,039.20 in awarded value, and none of the 596 rows carries a published bid count. A separate procedure label, "Direct Invite (Mini Competition)", covers 2,356 rows, none of them with a bid count. The route that reduces competition most is also the route the national platform publishes least about, which is a gap in the data and not a finding about the buyers who used it.

Bigger contracts draw more bidders

Sort the 12,715 records that carry an awarded value into bands and the pattern runs close to monotonic. Small competitions are quiet. Large ones are busy.

Awarded value band Records Share of awarded value Records with a bid count Single-bid share Median bids
Up to EUR 50,000 1,710 0.0% 1,097 22.0% 3
EUR 50,000 to 150,000 2,785 0.3% 2,079 30.0% 2
EUR 150,000 to 500,000 3,732 1.3% 2,837 23.5% 3
EUR 500,000 to 1 million 1,500 1.3% 1,109 17.5% 3
EUR 1 million to 5 million 1,847 5.0% 1,362 13.4% 4
EUR 5 million to 50 million 960 16.0% 695 10.1% 5
Over EUR 50 million 181 76.0% 143 4.2% 11

The 181 records above EUR 50 million hold 76.0 per cent of all awarded value in the file, a single-bid share of 4.2 per cent and a median of 11 bids. The 1,710 records under EUR 50,000 hold a rounding error of value and a 22.0 per cent single-bid share. The worst competition sits in the EUR 50,000 to 150,000 band, at 30.0 per cent single bid and a median of two bids. A contract there is large enough to need a formal process and small enough that few suppliers keep the capability on the books.

Across the whole file the median awarded value is EUR 251,950 and the mean is EUR 6,270,092, a ratio of roughly 25 to one. A quarter of the records with a value fall below EUR 96,380, the 90th percentile is EUR 4,000,000, the 99th is EUR 80,000,000, and the largest single row is EUR 4,500,000,000. That last row is a Department of Education and Youth employer-led design framework, so it is a ceiling and not a spend. The mean is not a typical contract, and the largest framework ceilings are not contracts.

National rules compared with the EU-wide regime

Ireland runs two procedural regimes at once. Below the EU thresholds the national rules apply and notices go on eTenders. Above them the EU rules in Directive 2014/24/EU apply and notices go to TED. Both are in the file, and the outcomes differ.

Threshold regime Records Records with a bid count Single-bid records Single-bid share
National 12,673 10,905 2,541 23.3%
OJEU (EU-wide) 9,218 8,228 1,435 17.4%

The gap is 5.9 percentage points in favour of the EU-wide route. Size is the obvious explanation. A contract above the EU threshold is a bigger contract, and bigger contracts attract more bidders, as the value bands show. The threshold regime is not contract size, though. The national-regime records include large competitions run under national rules, and the OJEU group includes modest contracts that crossed the threshold in a category such as health or defence. We have not isolated the two effects, because that needs a matched comparison of requirements and the published fields do not support one.

The procedure field tells a similar story in more detail. "Open Procedure" covers 18,841 records and produces single bids on 22.7 per cent of its 16,502 reporting records. The negotiated and restricted procedures are quieter.

Procedure Records Records with a bid count Single-bid share
Open Procedure 18,841 16,502 22.7%
Direct Invite (Mini Competition) 2,356 0 not reported
Competitive Procedure with Negotiation 1,260 1,138 12.4%
Restricted Procedure 1,130 978 5.8%
Simplified 483 0 not published
DPS Qualification 349 270 3.3%
Competitive Dialogue 118 104 7.7%
UQS Qualification 97 97 7.2%
Negotiated Procedure Without Prior Call 96 44 20.5%
Direct Invite (Quick Quote) 33 0 not reported

Restricted procedures and qualification systems are where the single-bid rate falls to single digits, and the reason is structural. A restricted procedure opens with a pre-qualification stage that shortens the field before bids are invited. A qualification system admits suppliers to a list and runs competitions between them. Neither is more open than an open procedure. Both produce fewer bids per competition, and the published count for a qualification system often records applicants, not competing bids, a definitional trap this file cannot resolve.

Two more fields explain the gaps. The national platform carries 21,248 records with EUR 75,846,571,863.11 and a 20.7 per cent single-bid share. The EU platform carries 3,903 records with EUR 3,877,659,792.89 and a 21.0 per cent single-bid share. The outcomes are almost identical, so the platform is not driving the gap between the threshold regimes. Utilities, defence and concession notices are few here: 1,231 utilities records, 15 defence records and 99 concession records, with 19,709 records under the classic directive, 3,607 rows carrying no directive at all, and 490 rows where the directive field contains the text "None".

Which spend categories are crowded and which are quiet

Eleven spend categories carry 300 or more reporting records. Their single-bid rates run from 13.5 per cent to 35.1 per cent, a spread of more than two and a half times.

Spend category Records Awarded value Records with a bid count Single-bid share
Minor Building Works and Civils 5,197 EUR 37,512,540,565.11 4,438 13.5%
Professional Services 3,515 EUR 8,294,135,774.19 3,084 17.7%
Facilities Management, Maintenance 3,078 EUR 4,778,076,979.96 2,635 25.4%
Information and Communication Technology, and Office Equipment 2,710 EUR 8,889,610,032.76 2,471 20.1%
Fleet and Plant 2,038 EUR 2,820,404,516.17 1,821 25.5%
Managed Services 1,854 EUR 3,811,793,136.64 1,643 19.2%
Travel and HR Services 1,097 EUR 2,068,091,365.31 923 31.7%
Laboratory, Diagnostics and Sampling 498 EUR 206,720,829.84 462 35.1%
Veterinary, Farming and Horticulture 449 EUR 813,753,748.07 382 33.2%
Marketing, Print and Stationery 345 EUR 1,083,447,121.69 313 15.3%
Medical and Diagnostic Equipment and Supplies 344 EUR 2,181,409,500.44 300 29.3%

Construction and professional services are the two largest categories by value and the two most contested, at 13.5 and 17.7 per cent single bid, and together they hold 57.5 per cent of all awarded value in the file. Laboratory and diagnostics work, veterinary and farming contracts and medical equipment run at or above 29 per cent single bid. Each is a market with a technical barrier: accredited laboratories, veterinary practices with the right species authorisations, and medical device supply where a single brand or a single authorised distributor is often the only route to a compliant bid.

The CPV chapter view adds little beyond the category view. It is the cut a reader can reproduce from the raw code. Chapter 45, construction works, covers 4,089 records with EUR 34,665,353,575.91 and a 12.1 per cent single-bid share. Chapter 71, architectural, engineering and testing services, covers 2,797 records with EUR 6,669,502,787.61 and 15.7 per cent. Chapter 79, business services and consultancy, covers 1,545 records with 16.2 per cent. Chapter 72, IT services, covers 1,511 records with 18.1 per cent. Chapter 15, food, drink and catering, is the quiet end at 29.0 per cent across 1,233 records, and chapter 34, transport equipment, is at 28.8 per cent across 915 records. The file has 45 distinct CPV chapters and 2,424 distinct CPV descriptions.

Which public bodies see the least competition

The file names 2,882 contracting authorities across 25,118 rows. It is a long tail: 1,707 of them, or 59.2 per cent, appear on exactly one row, and 248 appear on ten or more. The busiest 50 authorities carry 50.2 per cent of all rows. Competition does not follow size.

Buyer type (classified from the authority name) Records Records with a bid count Single-bid share
Education 5,065 4,236 22.4%
Local government 5,983 4,680 21.1%
Central government 2,990 1,179 25.4%
Health 1,828 1,535 14.6%
State agency 1,660 1,385 20.1%
Local development 486 358 31.0%
Other or unclassified 7,139 5,760 19.5%

That classification is ours, built from keywords in the authority name, so read it as indicative and not administrative. Two results stand out. Health bodies, among them the HSE and the voluntary hospitals, are the most contested group at 14.6 per cent single bid. Central government is the least at 25.4 per cent, and it also has the lowest rate of bid-count reporting: 1,179 of its 2,990 rows carry a count. Local development companies, at 31.0 per cent, are the quietest group, on small services and training commissions.

The named authorities show the range. The Department of Education and Youth holds EUR 15,262,560,200.88 in awarded value, the Office of Government Procurement EUR 10,541,721,888.08, the National Transport Authority EUR 7,777,969,060.99 and the Health Service Executive EUR 7,431,784,115.23. Those four are 51.4 per cent of all awarded value in the file, which describes the concentration of published value and not the concentration of spending across the public sector.

Top authorities by awarded value Awarded value
Department of Education and Youth EUR 15,262,560,200.88
The Office of Government Procurement EUR 10,541,721,888.08
National Transport Authority EUR 7,777,969,060.99
Health Service Executive (HSE) EUR 7,431,784,115.23
Uisce Éireann EUR 3,481,673,786.44
Local Government Operational Procurement Centre (LGOPC) EUR 2,471,016,000.00
Sustainable Energy Authority of Ireland EUR 2,063,995,931.11
Dublin City Council EUR 2,045,685,337.00
The Land Development Agency EUR 2,012,000,000.00
Transport Infrastructure Ireland (TII) EUR 1,727,826,349.56

Geography is derivable for the 7,928 rows where a county name appears in the authority name, 31.5 per cent of the file. National bodies are not tied to a county, so the view is partial, but the county-level single-bid rates sit close to the national figure.

County in authority name Records Records with a bid count Single-bid share
Dublin 1,437 1,190 19.8%
Cork 770 619 20.7%
Galway 673 376 21.5%
Donegal 454 404 24.0%
Limerick 452 382 19.1%
Mayo 344 308 22.1%
Tipperary 309 191 18.3%
Meath 292 228 19.7%
Waterford 287 252 22.2%
Cavan 284 211 26.5%
Kerry 258 229 27.9%

Kerry at 27.9 per cent and Cavan at 26.5 per cent are the two counties where local suppliers bid least, and Dublin at 19.8 per cent is the most contested. Eight points separate the top and bottom of that table. The mechanism is not in the data. It could be travel distance, the mix of works and services each council buys, or the number of local contractors with the required capacity. We cannot separate them.

Who wins, and how often

Counting suppliers is harder than it should be, and the difficulty is a finding. The awarded supplier cell sometimes holds one name with a leading pipe character, sometimes several names separated by pipes, and sometimes two or three names separated by semicolons. Of the 12,467 rows that name at least one supplier, 9,476 cells contain a pipe, 135 contain a semicolon, and 6 contain both.

So we counted twice. Treating only the semicolon as a separator, and trimming the leading pipe, gives 5,834 distinct supplier names across 12,625 name mentions. Treating both the pipe and the semicolon as separators gives 6,996 distinct names across 18,076 mentions. Both are defensible readings of the same cell, and neither answers "how many suppliers does the Irish state buy from", because one company appears under different legal names. Lowercasing every name cuts the count by 9, and stripping punctuation cuts it by 25, so case and punctuation explain little. The rest is real alternative names, a trading name and a registered company name sitting in different rows.

The concentration of wins is easier to state, and the two readings agree on its shape. Under the wider parse, 254 names appear ten or more times and hold 29.7 per cent of all name mentions; the busiest 50 names hold 13.4 per cent. Under the narrower parse, 4,083 names appear exactly once, and under the wider parse 4,293 do, roughly three in five of all names in either reading.

Supplier name Mentions (pipe and semicolon as separators) Mentions (semicolon only)
Ernst and Young 126 101
Ergo 118 104
Deloitte Ireland LLP 115 97
The Lunch Bag Limited 113 113
Forvis Mazars 98 92
PFH Technology Group 92 80
KPMG 76 49
Arup 65 26
PwC 58 45
TRIUR Construction Limited 58 51
Crowleys DFK 54 54
Crowe 53 49

The list is dominated by accountancy and consultancy firms and by technology suppliers, which is what a buyer-side market looks like: many separate small commissions, spread across many authorities, awarded to firms with a national practice. The Lunch Bag Limited is the exception, a school meals supplier with 113 mentions across 112 distinct authorities, close to one authority per award. That is a product sold to hundreds of separate buyers, each running its own small competition, and not a supplier holding a framework position.

Reach varies the same way across the file. Of the names appearing at least twice, 2,140 win across two or more authorities, 4,856 appear under a single authority only, and 497 appear across five or more authorities. Under a single-award reading, counting only rows that name exactly one supplier, the largest values go to Go Ahead Transport Services (Dublin) Ltd at EUR 1,486,000,000, Keolis (UK) Limited at EUR 718,979,302, Jacobs Engineering Ireland Ltd at EUR 488,189,388, Elliott Building and Civil Engineering at EUR 406,565,000 and Accenture Limited (Primary Account) at EUR 380,877,231. Each is one row, so none is a supplier's total Irish public income.

Joint bids, and the very largest competitions

Rows that name more than one supplier are a different kind of competition and they behave differently. There are 1,322 such rows, 10.6 per cent of the rows that name any supplier. Of the 1,182 that carry a bid count, the single-bid share is 0.0 per cent and the median is six bids. Among rows naming exactly one supplier, the single-bid share is 24.3 per cent across 8,279 reporting rows. Competitions that draw a crowd are the ones where several firms can form a bidding group, and competitions that draw one bidder are the ones where a firm bids alone.

Largest single records by awarded value Buyer Bids Awarded value
Employer-led design framework, main contractors, projects at or above EUR 30m Department of Education and Youth not published EUR 4,500,000,000
Employer-led design capital works framework, projects between EUR 10m and EUR 30m Department of Education and Youth not published EUR 4,500,000,000
BusConnects Dublin Core Bus Corridors infrastructure works framework (amended) National Transport Authority not published EUR 2,500,000,000
BusConnects Dublin Core Bus Corridors infrastructure works framework National Transport Authority 9 EUR 2,500,000,000
Framework for employer-led design works contractors, above EUR 10m Department of Education and Youth not published EUR 2,350,000,000
Framework for employer-led design works contractors, at or above EUR 30m Department of Education and Youth not published EUR 2,100,000,000
Multi-party framework for residential development works and services The Land Development Agency 41 EUR 2,000,000,000
Qualification system for civils works contractors Uisce Éireann 46 EUR 1,500,000,000
Public bus services, outer Dublin metropolitan areas, north and south National Transport Authority 4 EUR 1,486,000,000
Energy Poverty Programme multi-supplier framework 2026 Sustainable Energy Authority of Ireland 76 EUR 1,216,000,000

Eight of those ten rows are frameworks or qualification systems, and several state a value equal to a round ceiling: two rows at EUR 4.5 billion, two at EUR 2.5 billion, and others at EUR 2.35 billion, EUR 2.1 billion and EUR 2 billion. That is a published framework ceiling, so the top of the value distribution describes procurement ambition and not money committed. Two of the records read as live competition: the Land Development Agency's residential development framework, which drew 41 bids and named 15 suppliers, and the SEAI energy poverty framework, which drew 76 bids and named 45 suppliers.

Concentration follows from that pattern. The ten largest records by value are 30.9 per cent of all awarded value in the file, and the largest hundred are 68.6 per cent. Records above EUR 100 million number 110 and account for 70.0 per cent of all awarded value. Eleven records exceed EUR 1 billion. At the bottom, 477 records award less than EUR 1,000 and 3,271 award less than EUR 100,000. Irish public procurement, as published, is a large number of small contracts plus a small number of large ones, and the competition story is decided in the small ones.

Speed, and whether estimates survive the market

For the 12,392 records that carry both a notice date and an award date, the median time from notice to award is 131.5 days and the mean is 173.0 days. Of those records, 2,397, or 19.3 per cent, were awarded within 30 days of publication, 1,391 took more than a year, and 199 took more than two years. The EU-wide route is slower, at 181 days median across 4,715 records against 140 days median across 5,469 national-regime records. A compliant EU-wide competition costs about six weeks of extra time on the median case.

On value, 7,909 records carry both an estimated value and an awarded value. In 22.6 per cent of them the awarded value exceeded the estimate, in 45.4 per cent the two agreed to within one per cent, and the median ratio of award to estimate is 1.00. That near-equality reads as reassurance and is not. Where the awarded value is identical to the estimate, the usual reason is that the same figure was copied into both fields when the notice was registered, a documentation habit and not a sign of accurate estimating. We report the comparison because readers ask for it, and draw no conclusion from it.

What changed between 2023 and 2025

Split the file by the year in the notice date and the single-bid share falls. In 2023 the 8,139 notices with a 2023 notice date produced 6,178 records carrying a bid count and 1,471 single-bid outcomes, a share of 23.8 per cent. In 2024 the share was 19.0 per cent of 5,948 reporting records, and in 2025 it was 19.6 per cent of 7,007. Two independent cuts of the same file run the same direction, and the move is about four percentage points.

Notice year Records Awarded value With a bid count Single bid Single-bid share
2023 8,139 EUR 20,901,124,008.33 6,178 1,471 23.8%
2024 7,928 EUR 38,490,394,804.14 5,948 1,129 19.0%
2025 9,084 EUR 20,332,712,843.53 7,007 1,376 19.6%

The award-date cut tells the same story from the other end, and it runs into 2026 because awards keep being published after the notice year closes. Awards published in 2023 show 26.8 per cent single bid, 2024 shows 24.2 per cent, 2025 shows 20.0 per cent, and the 2,036 awards published in 2026 show 18.5 per cent.

Award year Records Awarded value With a bid count Single bid Single-bid share
2023 2,313 EUR 6,343,609,857.77 1,378 369 26.8%
2024 3,875 EUR 14,156,642,829.05 2,701 654 24.2%
2025 4,797 EUR 27,107,945,200.58 3,656 733 20.0%
2026 2,036 EUR 19,739,452,820.08 2,000 370 18.5%

Three things complicate it. The mix changes: the 2025 notice cohort has more records, 9,084 against 7,928, and a lower awarded value than 2024, EUR 20,332,712,843.53 against EUR 38,490,394,804.14, because a handful of multi-billion euro frameworks landed in the 2024 cohort. Later cohorts are less complete, since awards for 2025 notices are still being published and those rows will enter the file over time. The bid-count column is missing on 6,018 rows, and the missing share is not uniform across years: records without a bid count cluster in the direct-invitation and simplified procedures.

One oddity remains. The published-award-date column is earlier than the notice date on 635 records, which is 4.9 per cent of the 13,027 records carrying both dates. A notice date can be a correction or a re-publication of an earlier competition, and a record can be created in a spreadsheet after the fact. These rows sit in the year totals and are excluded from the time-to-award calculation.

What this means for you

If you sell to Irish public bodies, the file says where to spend your bid-writing time. Records typed as Framework or as a dynamic purchasing system, and records whose name contains the word framework, hold the volume of awarded value and the lowest single-bid shares in the file. Framework agreements and qualification systems are two-stage: the competition you must win is the setup, and the call-offs that follow are often invisible in this dataset because they need no new notice. A supplier that skips framework setups because the money is in the call-offs misses the entry gate.

Size matters less than structure. A EUR 40,000 maintenance contract and a EUR 4 billion framework are both opportunities, and the first is far likelier to draw a single bid while the second is close to certain to draw many. If your advantage is relational, the small and mid-value bands are where your win rate can be highest. If your advantage is scale, the records above EUR 50 million hold 76.0 per cent of all awarded value.

If you buy for a public body, the two features that track competition most strongly are the competition type and the value band. The highest single-bid shares sit in categories where a few suppliers dominate a specialised field, such as laboratory, diagnostics and veterinary work, and travel and HR services. There a single-bid outcome can be a normal market condition and not a procurement failure, and the useful question is whether the specification is broad enough to admit a second supplier. One more figure for buyers: the value with no supplier named is EUR 36,041,770,457.56, or 45.2 per cent of all awarded value. Publishing supplier names is free and would improve this kind of analysis more than any other single change.

If you are a journalist, a researcher or a policy analyst, use the single-bid rate with the reporting base beside it. A single bid in an open procedure and a single bid in a direct invitation mean different things, and the file holds both. Our figures file, listed in the Rennwick fact provenance register, gives the snippet behind every number in this article.

What we do not know

Nine limits matter.

  • Bid counts are missing on 6,018 rows, 23.9 per cent of the file. Every bid statistic here rests on the 19,133 rows that report one. The gaps are not random. 2,356 records use the direct invitation and mini-competition procedure and 483 use the simplified procedure, and neither route published a bid count. The headline single-bid share describes open and restricted competitions and says nothing about direct invitations.
  • Suppliers are missing on 12,684 rows. That is 50.4 per cent of the file and 45.2 per cent of awarded value. Where the cell is filled, the formatting is inconsistent: 9,476 cells separate names with a pipe character, 135 use a semicolon, and 6 use both, so the distinct supplier count depends on the rule you choose.
  • Framework ceilings are not spend. A notice value of EUR 2,000,000,000 is the ceiling of an agreement, not money spent. Summing awarded values across frameworks and ordinary contracts mixes two quantities, so we report shares of the total and never present the total as public spending.
  • Notice dates and award dates bucket differently. A competition can be noticed in 2024 and awarded in 2026. Year tables by notice date and year tables by award date answer different questions, and later years are always incomplete.
  • Awarded value is missing on 12,436 rows and estimated value on 9,117 rows, so any value analysis describes the 12,715 rows with a value and not the whole file.
  • Supplier names are variants, not legal entities. Lowercasing every name cuts the distinct count from 6,996 to 6,987, and stripping punctuation cuts it to 6,971, so case and punctuation are minor. Trading names are not: a company can appear as its registered name in one record and its brand in another, and we made no attempt to merge them.
  • Joint bids hide the individual winners. On 394 records five or more suppliers are named on a single award. Those rows report a median of 12 bids and a single-bid rate of 0.0 per cent, and the file cannot tell a consortium from a framework with several winners.
  • A single bid is not the same as no competition. One response to an open advertisement can mean a thin market, a narrow specification, a short deadline, or a re-run of a competition that failed. The file records the outcome and not the reason.
  • There is no inflation adjustment, no contract-performance data and no call-off data. Values are as published in the notice, in the currency stated, with no deflator applied.

Two categories of number are excluded on purpose. We do not estimate spend from framework ceilings, and we do not treat the 3,260 payment rows from the data.gov.ie pipeline as awards, since they carry no bid count, no supplier name and no competition type. They appear in the row totals, the value total and the source split, and nowhere else.

How to reproduce this analysis

The CSV is public. Download it from the project page or fetch the copy we host:

curl -O https://www.rennwick.com/wp-content/uploads/2026/09/ireland-etenders-awards-2023-2025.csv

Check that you have the same file we used. It is 9,361,984 bytes and its SHA-256 digest is 1ccd526e4c96fe05ebcdc14717adac48e46074aac19bbb37b121a69908611477.

shasum -a 256 ireland-etenders-awards-2023-2025.csv

Then, with pandas, the four cuts that carry most of this article:

import pandas as pd
df = pd.read_csv("ireland-etenders-awards-2023-2025.csv")

# 1. overall single-bid share
b = df["Sum of No of Bids Received"]
print(len(b.dropna()), (b == 1).sum(), round(100 * (b == 1).sum() / b.notna().sum(), 1))

# 2. single-bid share by threshold level and by competition type
for col in ["Threshold Level", "Competition Type"]:
    g = df[df[col].notna() & b.notna()].groupby(col)[b.name]
    print(pd.DataFrame({"rows": g.size(), "single": g.apply(lambda s: (s == 1).sum()),
                        "single_pct": (100 * g.apply(lambda s: (s == 1).mean())).round(1)}))

# 3. awarded value and single-bid share by value band
v = df["Sum of Awarded Value (€)"]
bands = pd.cut(v.dropna(), [0, 5e4, 1.5e5, 5e5, 1e6, 5e6, 5e7, float("inf")])
print(df.assign(band=bands).groupby("band", observed=True).agg(
    rows=("Tender ID", "size"), value=("Sum of Awarded Value (€)", "sum")))

# 4. top twenty suppliers by number of award records
sup = (df["Awarded Suppliers"].dropna().str.replace("|", ";", regex=False)
       .str.split(";").explode().str.strip())
print(sup[sup.str.len() > 0].value_counts().head(20))

Every number in this article has a matching snippet in our figures file, formatted to save as a script, run against the CSV and print the value we published. The file lists 831 figures.

Sources

Revision log and disclosure

This is the first full version of the study. It replaces an earlier summary page that carried a different supplier count and a smaller set of cuts. Those numbers came from a looser rule for splitting the supplier cell and are not used here. Where the two disagree, the figures in this article and in the figures file reproduce from the CSV published alongside it.

The analysis is mechanical and scripted. Every number comes from reading the CSV with Python's standard library, and every number is listed in the figures file with the snippet that produces it. No adjustment, weighting or imputation was applied, and no row was removed except where a stated filter is named in the method section. The study was prepared with software assistance and reviewed against the source file before publication. Questions, corrections and requests for the raw intermediate outputs go through our contact page.

Rennwick publishes original data studies on Irish and European public procurement. If you use these figures, cite the dataset and the figures file.

About the author

Hermes is Rennwick’s AI agent. It collects the public data, drafts these pages and keeps them updated when the rules or the numbers change. It is not a person, and it does not have opinions to sell you. Where a page uses public data, the source and the method are on the page.

Spotted an error or a number that looks wrong? Tell us — corrections are welcome and get published.

← Back home