Procurement market briefing · September 2026

What the award records reveal about Denmark’s public procurement market

The records point to a broad supplier market, a core of repeat winners and meaningful differences between sectors. They also show why a procurement should be understood as a whole before individual contract packages and reported values are compared.

Source records through 16 September 2026 · Prepared 19 September 2026 · This report does not change with your dashboard filters

Executive summary

The records point to a broad supplier market—and a core of repeat winners

The award records contain 5,008 separate supplier records across 7,085 procurements. Of these, 3,350 appear in only one procurement. The other 1,658 appear in more than one and account for 74% of all occasions where a supplier is named on an awarded contract package.

Repeat suppliers account for most recorded award appearances

Each bar shows a different complete population

One procurementMore than one
Recorded suppliers
One procurement: 3,350 · 66.9%More than one: 1,658 · 33.1%
Appearances in awarded packages
One procurement: 5,007 · 26%More than one: 14,259 · 74%

An award appearance means that a supplier is named on one awarded contract package. It is not a separate procurement, a success rate or a measure of revenue.

Why it matters: suppliers and business networks can use the wider group to find less familiar competitors or potential partners. Contracting authorities can use it to broaden early market research beyond the names they already know. One recorded appearance does not mean that a company is small, new or unsuccessful elsewhere.

How confident are we that each supplier record is a separate company?

The source does not always provide an identifier that can safely connect the same company across notices. We therefore keep 208 notice-only records separate rather than risk merging different businesses. If these are left out, 65.5% of the remaining supplier records still appear in one procurement, and repeat suppliers still account for 74.9% of award appearances. The overall pattern remains.

Explore recorded suppliers

Count separate procurements before comparing supplier activity

A procurement can be divided into many contract packages, often called lots. Counting packages helps explain what was bought, but it can make one large framework agreement look like many separate market events. For questions about market presence, the number of distinct procurements is usually the better starting point.

SoftwareONE Netherlands is named on 118 awarded packages in one cloud procurement. COWI is named on 142 awarded packages spread across 128 procurements. Their award totals look similar, but their history in the market is very different.

Similar award totals can reflect very different market histories

Three examples from the award records

SupplierAwarded packagesSeparate procurements
SoftwareONE Netherlands B.V.1181
Telecom Italia Sparkle S.p.A.1141
COWI A/S142128

These examples explain the counting method; they are not a ranking of supplier performance.

When several suppliers are named on the same award

Several names on one awarded package do not automatically mean that the suppliers submitted a joint bid. The data contains 2,028 packages with more than one named supplier, and 1,619 of them are not marked as consortium awards. A framework with several approved suppliers and a joint bid are different arrangements. Open the source notice before treating the names as a partnership.

Compare suppliers by procurement

Supplier geography is more stable when we compare whole procurements

The Open Clouds for Research and Education procurement (OCRE) is an unusually large case: one procurement with 326 awarded packages and recorded supplier addresses in 19 countries. Because it creates 306 of the 862 awarded IT-service packages, it has a large effect on any chart that counts packages.

At procurement level the picture is much steadier. With OCRE included, 92 of 514 IT-service procurements (17.9%) name at least one supplier address outside Denmark. Without it, the result is 91 of 513 (17.7%). The apparent swing is therefore mainly about how one procurement is structured, not a sudden change in the supplier market.

Procurements that name at least one supplier address outside Denmark

Share of procurements in each category · filled dot: all records · hollow dot: comparison without OCRE

All procurementsComparison without OCRE
See the exact procurement counts
Procurements with at least one supplier address outside Denmark / all procurements in the category
CategoryAllWithout OCRE
72 · IT services92 / 514 (17.9%)91 / 513 (17.7%)
48 · Software41 / 180 (22.8%)40 / 179 (22.3%)
33 · Medical goods260 / 769 (33.8%)260 / 769 (33.8%)
90 · Environmental services20 / 840 (2.4%)20 / 840 (2.4%)
45 · Construction33 / 899 (3.7%)33 / 899 (3.7%)
66 · Finance & insurance57 / 264 (21.6%)57 / 264 (21.6%)

Address country describes the address reported for a supplier. It does not show ownership, nationality or where the work was delivered. A procurement may appear in more than one category.

The sector differences are still meaningful. A supplier address outside Denmark appears in 33.8% of medical-goods procurements, 21.6% in finance and insurance, 17.9% in IT services, 3.7% in construction and 2.4% in environmental services. These figures describe where the named suppliers are registered; they do not measure the Danish share of contract value.

A single-bid flag is a prompt to investigate—not a verdict

One procurement may report a separate bid count for each contract package. The archive therefore contains 20,008 package-level results, rather than 20,008 separate procurements. Of the 15,777 results with a usable count, 3,558 (22.6%) report one bid. Another 4,231 results (21.1% of all results) have no usable count.

This makes the single-bid filter useful for finding procurements that deserve a closer look. It is not enough on its own to rank a buyer, compare sectors or conclude that competition was weak. Procedure type, the number of packages and the original notice all matter.

How often award results report each bid count

Contract-package results · share of all 20,008 reported results

  • Zero2,76613.8%
  • One3,55817.8%
  • 22,67213.4%
  • 3–43,99720%
  • 5–92,14710.7%
  • 10+6373.2%
  • Not reported4,23121.1%

The chart keeps results with no usable count in the total. The 22.6% figure in the text considers only results where a bid count was reported.

A reported zero also needs context. In this report's original frozen projection we checked 111 result lots with both a selected winner and zero bids; 95 used a negotiated procedure without a prior public call. Zero is not proof of a deserted competition or of no supplier interest. The source audit dated 30 September 2026 additionally found 13 lots with conflicting repeated tender counts: refreshed dashboards treat these as unknown, not last-value wins. Their new approach, reason and no-response filters distinguish direct procurement, unsuccessful competitions and failed sibling lots. The figures above remain the original dated report, not the revised classification totals.

Dated classification supplement · 30 September 2026: the stricter, source-grounded rules identify 102 wholly deserted procedures, 198 with some no-response lots and terminal outcomes, and eight with some no-response lots but incomplete or review-required outcomes. The earlier 315-procedure screening count did not mean 315 wholly deserted tenders. Partial award means only that some lots did not receive an award; it does not describe delivery.

Why a few bid counts are marked as uncertain

One source result gives two different answers for the same bid count: 2 and 0. We cannot know from the record which is correct, so it should be treated as uncertain until the source is clarified. Another 17 results use −1, which we treat as “not reported” rather than zero. These examples do not change the broad pattern, but they show why the source notice should be opened before a single record is used in an assessment. Read the result with conflicting counts

Review procurements flagged with one reported bid

Reported values are indicators—not verified spending

The ten largest notice values contribute 27.7% of the dashboard’s reported DKK total. This concentration means that one unusual entry can materially change the overall picture. It also makes a source check of the largest values essential before the total is used for market sizing.

A concrete example from one notice

Genudbud af Rammeaftale om C/6042 Forenkling af København H

Amount entered in the data fieldDKK 45 billion
× 1,000
Maximum written in the noticeDKK 45 million

The notice text also gives an estimated actual value of DKK 31 million. The 1,000-fold difference strongly suggests that the data field has the wrong scale. We have kept the published number visible and flagged it; the report cannot establish what was ultimately spent.

Read the Banedanmark notice

One questionable figure contributes 8.6% of the total

Share of the dashboard’s reported DKK notice values

This noticeAll other values
Reported DKK notice values
This notice: 45,000,000,000 · 8.6%All other values: 477,416,153,368 · 91.4%

No correction has been applied. The total combines figures with different meanings, including framework ceilings and concession values. It is not actual public spending or supplier revenue.

Usable DKK values are available for 5,408 of the 13,271 procurements (40.8%). The rest have no usable DKK value, use another currency or were excluded after quality checks. Use the amount view to find notices worth inspecting, not as a ready-made measure of market size.

The archive is useful for direction, but not every record is decision-ready

The history view contains 13,271 procurements. A usable result is available for 9,590 of them. The separate supplier analysis covers 7,085 procurements after additional checks to identify winners. These are two views of the archive with different rules; they should not be read as stages in a funnel.

Seven in ten procurements have a usable result in this archive

Each procurement appears in one coverage group

  • Usable result9,59072.3%
  • No result found in archive3,58627%
  • Result excluded after checks950.7%

No result in this archive does not mean that bidding is still open, that no contract was awarded or that a publication rule was broken. It only describes what this archive contains.

The issues overlap, so the counts should not be added together.
Issue in the recordsWhat we foundHow to use the data
Duplicate versions can disagree103 notice/version pairs appear twice; 5 differ on award factsWe exclude the ambiguous records rather than choose one version without evidence.
Some organizations appear in the wrong roleOne checked notice lists a complaints body and a “no mediation body” label as buyersBuyer counts can be overstated in individual notices. Check the source before using one buyer record. See the notice
Supplier names cannot always be matched across notices208 / 5,008 supplier records are identifiable only within one noticeWe keep them separate to avoid merging different businesses. The supplier count is not a verified company register.
Detailed product and service descriptions are incomplete413 / 13,982 awarded packages have no accepted detailed breakdownThis is a limit of NemUdbud’s processing, not proof that the original notice lacks detail. Open the notice for the authoritative description.

Practical takeaway: use the report to find patterns and questions worth pursuing. Before a commercial, policy or procurement decision, open the underlying notice and check the definition behind the number.

Explore procurements with no result in the archive

What this means for you

For suppliers

Use past procurements to see which buyers purchase what you offer, which suppliers appear repeatedly and where large frameworks may hide smaller roles. Treat an award as evidence of demand—not as an open opportunity or proof that the same approach will win again.

Explore demand and suppliers

For contracting authorities

Compare participation at procurement level before drawing conclusions from package counts. Use single-bid signals to select cases for review, then consider procedure type, market conditions and reporting quality. The data can support wider market research; it cannot replace it.

Review participation signals

For business and ecosystem organizations

Use procurement-level demand to focus member guidance, supplier outreach and collaboration discussions. Separate recurring demand from one large framework, and combine the records with your knowledge of members’ capabilities before making introductions.

Investigate supplier activity

How to read this report

This report analyses the same archived records as the two Insights dashboards and checks selected findings against the original udbud.dk source files. It has not collected new notices. A public source link may later show a newer version than the archived record used here.

Coverage
The history view covers 13,271 procurements. The award analysis covers 7,085 procurements and 5,008 recorded suppliers after additional winner checks. This is an archive-based view, not a complete register of all Danish procurement.
Time
Result notices span November 2023 to 16 September 2026. Coverage varies over time and 2026 is incomplete, so this report does not claim annual growth or seasonal trends. The dates shown are publication or source-registration dates, not necessarily contract-signing dates.
Main unit
The main comparisons count each procurement once. Package-level results are used only where the source reports bids or winners separately for parts of a procurement. Categories may overlap, so category totals should not be added together.
Categories
The sector comparison uses reviewed CPV classifications generated for detailed items. It is an analytical view and remains separate from the CPV codes declared in the source notice.
Money
The DKK view contains 5,595 reported notice values covering 5,408 procurements. We do not convert currencies, estimate missing values or divide consortium amounts. Notice values and winning-bid values are not added together.
Technical definitions and release information
History release
insights_history_4bdbd89380569ef54c36e363
Supplier release
insights_supplier_0bcda9ae6b0c46e6764f5892
Archive snapshot
hist_20260916T112937Z_18cf1a71
Accepted portfolio
portfolio_988b21de1f9a10df833ba9fa
Amount check
NoticeResult/TotalAmount = 45000000000 DKK; maximum written in the same notice = 45000000 DKK.
sha256:4d750329d0387ea6918074918dda26033f5500d9135c9a6a77f6257eb2593a6a
Bid-count check
ReceivedSubmissionsStatistics[type=tenders]/StatisticsNumeric: 111 winner/zero results checked against the original source; one also contains a 2. All 17 negative values were confirmed as −1.
Buyer-role check
ContractingParty/Party/PartyIdentification/ID references inspected directly, excluding nested service-provider roles.
sha256:ae2e5f6fbe11db347461bad377f54d3af6e553fc3271e2f64d729c1006e4e07a