Skip to content

Bulgaria public procurement data: every contract against its estimate

Every contracting authority in Bulgaria, from the smallest municipality to the largest state company, has to publish its own contracted value against its own estimate for every tender. This tool reads that entire open register and lines the numbers up, by authority, by sector and by how many bidders showed up.

Open the radar Free, no sign-up. The tool has a full English mode; the underlying records stay in Bulgarian.

How it works

Three ways to slice the same open register.

  1. Start from the national picture

    See how many of the roughly 197,500 contracts since 2020 landed close to their own estimate, came in over, or under, and how much total spending each group represents.

  2. Narrow to an authority or a sector

    Filter down to a specific municipality or contracting authority, or to a CPV category such as construction, pharmaceuticals or transport services, to see its own pattern against the national one.

  3. Check the flagged records

    A short list of contracts with documented, itemized evidence of a data-entry error, such as a misplaced decimal point, is shown separately with its sources, and excluded from every aggregate number.

What the ratio can and cannot tell you

The tool's own methodology note says this plainly, and the copy here repeats it on purpose.

197,500+ contracts since 2020Source: CAIS EOP open dataBy municipality or authorityBy CPV sectorBy number of biddersBy award criteriaFlagged data-entry errors, with evidenceCSV exportBulgarian and English interface

A ratio, not a verdict

The tool is built around one explicit rule: a number here is a starting point for a question, never proof by itself.

  • One ratio, the same authority both times

    The comparable figure is contracted value divided by estimated value, and both numbers come from the same contracting authority for the same tender. A ratio of 1.00 is not evidence the process was clean, and a low ratio is not evidence of good management, since the estimate itself is just a judgement call.

  • Errors shown with their evidence, not guessed

    A handful of records carry the same wrong figure in both the value and the estimate, which makes the ratio look normal while the underlying number is off, often by a factor of exactly 100. Each one is listed with the specific evidence used to catch it: a public statement, a legal threshold, or the scale of similar contracts.

  • Split by sector and by competition

    Results break down by CPV sector, such as construction or pharmaceuticals, and separately by how many companies actually bid, since a tender with a single bidder behaves very differently from one with six or more.

  • Export what you check

    The underlying tables can be exported as CSV, so a claim built from this tool can be checked again independently rather than taken on trust.

What a ratio near 1.00 does and doesn't prove

Straight from the tool's own methodology note, because it matters more than any single figure.

What it can supportWhat it cannot support
Ratio close to 1.00The contract was close to its own estimateThat the estimate itself was accurate, or that the process was clean
Ratio well under 1.00The final price came in below the estimateThat the estimate was inflated, or that management was good
Ratio well over 1.00The final price exceeded the estimateWrongdoing, without a separate, documented reason such as a legal threshold or a duplicate figure
Flagged recordA specific, sourced reason to distrust the published figureAnything about contracts that are not flagged the same way

The tool's own note is explicit: a ratio of 1.00 is not proof of a clean process, and a low ratio is not proof of good management, because the estimate is a judgement call that can be accurate, inflated or understated before the contract is even signed.

Frequently asked questions

What does the contracted-to-estimated ratio actually measure?

It divides the final contracted value by the estimated value that the same contracting authority published for the same tender. Both numbers come from the same source, so the ratio is internally consistent, but it says nothing on its own about whether the estimate was reasonable in the first place. A ratio of exactly 1.00 across tens of thousands of single-bidder contracts is common, and is not by itself evidence of anything unusual.

Where does the data come from and how far back does it go?

From the storage.eop.bg open data feed of Bulgaria's Central Automated Information System for Public Procurement (CAIS EOP), covering contracts from 2020 onward. As of the most recent pull, the dataset holds roughly 197,500 contracts, of which about 185,000 carry both a contracted value and an estimate that can be compared.

How were the flagged data-entry errors found, and what happens to them?

A handful of records carry an identical error in both the value and the estimate, most often a decimal point shifted by a factor of 100, which makes the ratio look normal even though the figure is wrong. Each one is confirmed against outside evidence, such as a public statement, a statutory threshold, or the scale of comparable contracts. These records are excluded from every aggregate figure, not silently corrected.

Does a high or low ratio mean a specific municipality did something wrong?

No, and the tool is explicit about that. The estimated value is set by the authority itself before bidding, and can be accurate, inflated or understated for entirely legitimate reasons, such as market prices changing between the estimate and the award, or a specialised requirement that few suppliers can meet. The ratio is a starting point for a question, not a finding on its own.

How does the tool handle Bulgaria's 2026 switch from leva to euro?

Values are converted to leva at the fixed statutory rate of 1.95583 per euro. In several thousand contracts, the value was recorded in euro after the changeover while the estimate stayed in leva, making a contract look like a large, unreal discount. These mismatched-currency cases are identified by the tender's announcement year, not by the ratio itself, and fixed before anything is aggregated.

Can I download the data behind the numbers?

Yes. The underlying tables, national totals, sector and municipality breakdowns, and the flagged records with their evidence, can all be exported as CSV directly from the tool for independent checking, and the interface itself is available in both Bulgarian and English rather than Bulgarian only.

Other tools

Part of the EduFacturing tool set.