The essentials in 30 seconds
- It takes 662 firms to cover half of maintenance and repair tenders, the highest of the eight sectors we measured.
- One tender in three receives a single bid.
- The majority of the sector never goes through a call for tenders.
Sylvie runs a 25-employee building maintenance firm in the Mauricie region. She long believed public contracts were reserved for large firms. The data says the opposite, and it also says why she sees so few of them.
We looked at 20,745 maintenance and repair contracts awarded in Québec between 2021 and 2025.
The least concentrated awards of the eight sectors we measured
You have to add up 662 different firms to cover half the maintenance and repair contracts awarded by tender in Québec. That is the highest figure of the eight sectors we measured. In building, it takes 406. In computer hardware, 30.
The sector's top winner holds only 1.2% of contracts awarded by tender. No single name stands out in these tenders.
That half is counted on contracts put out to competition, or 41% of the sector.
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.
But most contracts never go through a call for tenders
This is the other side of the sector, and it explains why Sylvie sees so few.
59.0% of maintenance and repair contracts are awarded by mutual agreement, with no competition. Only 41% are awarded after competition.
Among the sector's direct awards that declare a reason on SEAO, 65.6% cite an amount below the public tendering threshold. That share is read on the 64.3% of direct awards that actually declare a reason: the rest publish none, and we do not presume theirs.
In other words, most of this sector plays out away from public notices: those contracts exist, they get renewed, and watching the notices will not reveal them. Their award is published only after the fact.
| What the sector's 20,745 contracts show | |
|---|---|
| Firms covering half the tenders | 662 |
| Share of the sector put out to competition | 41% |
| Tenders that received a single bid | 33.1% |
| Average number of bidders per tender | 3.0 |
| Median gap between the two lowest bids | 18.6% |
One tender in three has no competition at all
33.1% of maintenance and repair tenders receive a single bid. The contract is put out to competition, and a single firm shows up.
The sector is not an isolated case: in transport and moving, that share reaches 50.9%. For a firm already in place, that is a comfortable position. For a firm trying to break in, it is the opposite of a closed market: these are files where showing up is often enough to be in the running.
When there is competition, prices are scattered
The median gap between the two lowest bids reaches 18.6% in this sector. That is the widest of the eight, and it contrasts with civil engineering, where it is 7.8%.
Among tenders with at least two opening prices published, only 19.8% are decided by less than a 5% gap.
A wide gap means firms do not price these contracts the same way. That may come from less standardized specifications, from scopes that vary, or simply from less habit of pricing public work. For a firm that can estimate precisely, this is good news: the right price is not lost in a three-point band.
What this changes for your next bid
The sector is not closed to you, it is lightly attended. With 662 firms covering half the tenders and one in three drawing a single bid, the barrier is not competition.
What is announced in advance is the small share. Most of the sector is awarded by mutual agreement. Published notices show the competitive share, not the whole market.
Your gaps are your own. In a sector where prices are scattered, a tight estimate stands out more than in a sector where everyone lands on the same figure.
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 93.4% 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.