The essentials in 30 seconds
- Of the eight sectors we measured, civil engineering shows the highest share of awards made by tender.
- The median gap between the two lowest bids is the tightest of the eight sectors we measured.
- Many bidders per tender does not mean many different winners.
Julien runs a 60-employee road works firm in the Estrie region. He bids almost exclusively on public contracts, and he feels every tender draws the whole world. He is not wrong, and it is measurable.
We looked at 14,713 civil engineering contracts awarded in Québec between 2021 and 2025. Of the eight sectors we measured, it is the one where prices are tightest.
Nearly nine contracts in ten go through a call for tenders
In civil engineering, 86% of contracts are put out to competition. That is the highest share of awards made by tender of the eight sectors we measured. For comparison, in building it is 69%, and in computer hardware 27%.
Mutual agreement accounts for only 14.0% of contracts. In other words, if you are in civil engineering, the vast majority of contracts go through a competitive process rather than a direct award. The trade-off comes immediately.
Four bids, and a median gap of 7.8%
A civil engineering tender receives on average 4.1 bids, with a median of 4. Both figures are read across all competitively awarded contracts, invitations included. The share of invitations varies widely between sectors, which distorts the comparison where it is high; in civil engineering it is 8.6%.
And the median gap between the two lowest bids reaches 7.8%, the tightest of the eight sectors we measured. Among tenders with at least two opening prices published, 36.0% are decided under a 5% gap.
| What the sector's 14,713 contracts show | |
|---|---|
| Median gap between the two lowest bids | 7.8% |
| Decided by less than a 5% gap (notices with two published prices) | 36.0% |
| Average number of bidders per tender | 4.1 |
| Tenders that received a single bid | 12.5% |
| Share of the sector put out to competition | 86% |
A clarification on the first row: this is the gap between the two lowest amounts filed, not the gap between the winning firm and the one behind it. We publish what we measure.
Tenders without competition are rare here
Only 12.5% of civil engineering tenders receive a single bid. That is the lowest rate of the eight sectors we measured: in maintenance and repair, it reaches 33.1%.
For a firm looking for lightly contested files, civil engineering is the wrong place. For a firm looking for volume and able to hold a price, it is the opposite.
Many bidders does not mean many winners
Here is the nuance that separates this sector from building, and it is counter-intuitive.
You have to add up 126 different firms to cover half the civil engineering contracts awarded by tender. In building, it takes 406.
Civil engineering therefore draws more bidders per tender than building, while being concentrated among markedly fewer firms. The two facts do not contradict each other: the same firms often face off, on contracts requiring equipment and bonding that few companies can put together.
An honest caveat on that figure: company names on SEAO are not standardized, and the same firm can appear there under several spellings. Real concentration is therefore at least as strong as what we measure, never weaker.
What this changes for your next bid
The gap is counted in points, not in tens of percent. With a median gap of 7.8% and more than a third of tenders with two published prices decided under 5%, the second-lowest bid rarely lands far from the lowest.
You are often up against the same firms. A sector where 126 firms win half the tenders is a sector where the same names keep coming back. Knowing which ones usually show up at a given buyer changes how you prepare a price.
Volume makes up for margin. This is a sector where tendering is the rule and gaps are thin. Calibration is worth more than hope.
Method
These figures are measured from the open data of Québec's electronic tendering system (SEAO), covering contracts awarded between 2021 and 2025. A contract is counted once, whatever the number of lots or amendments.
The share put out to competition covers public calls for tenders, calls for tenders by invitation, which are addressed only to the firms that were solicited, and purchases made through a mandated body or a group of organisations.
The price gap is measured on tenders that received at least two published total amounts. They represent 99.2% of the sector's tenders that received at least two bids. Unit prices, which are not comparable with one another, are excluded. SEAO does not publish the evaluation method used: our measure therefore describes how dense price competition is, without distinguishing an award to the lowest price from a quality-price grid.
Sources
Data source
Dataset: “Système électronique d’appel d’offres (SEAO)”, published by the Secrétariat du Conseil du trésor (Québec Treasury Board Secretariat), released on Données Québec under the CC BY 4.0 licence.
Processing: data extracted, cleaned and analysed by Adjudica; the figures shown result from this processing and are not an official SEAO publication. See our data.
Further reading
This analysis is part of our sector series, published from our corpus of Québec public contracts. The full set is gathered in our data and analysis.
Adjudica
Bidding on a tender right now? The match report shows who usually bids with this buyer, how close comparable contracts were decided, and who else bids in this category. $490 plus taxes, delivered within one business day.
See the match reportNo open notice right now? The assessment covers your last 18 months: $150 CAD + taxes, credited toward your first match report.