Here is how to bid construction jobs: run each bid as a system, with a clock, a log and a few checks. The hours left before the due time settle most of the choices, from bid or no bid to who counts the quantities. For the pricing itself, see the seven-step pricing method.
How to bid construction jobs: the desk behind the number
The construction bidding process differs between a public agency, a private owner and a general contractor inviting subs. The order of work does not. Work a live bid in this order:
Log the invitation, the due time and the fixed dates.
Score bid or no bid from the instructions, the bid form and the hours left.
Read the package and send questions before the cut-off.
Log every addendum and re-ask the trades it touches.
Finish quantities 48 hours before the due time.
Cover each trade, level the quotes and set the price 4 hours out.
Have a second reader check the form, submit 2 hours early and review the result within a week.
If your bid is due this week, go straight to the hours-left sum and the bid-day clock.
Five jobs sit behind those steps: the log and calendar, the takeoff and pricing, the sub chasing, the form check and the signature. On a small firm one person holds most of them. The table shows who owns what, and where a one-person desk loses a control.
Role | Owns | One-person desk | Team of three to five |
|---|---|---|---|
Bid manager | Log, calendar, addenda, forms | You, first thing each morning | One person with a named backup |
Estimator | Takeoff and pricing | You | One per project size or trade group |
Sub coordinator | Invitations, chasing, quote intake | You, in short blocks | One person whose job is the phone |
Checker | Reads the form against the log and the quotes | A borrowed second reader for the last three hours | A second estimator who did not build the number |
Signer | Commits the company | The owner | An officer named in writing for this bid |
Borrow a project manager, a partner or a part-time estimator for the checker row. How many bids one person can run comes down to hours, and the hours rule later in this guide shows the sum.
If coordination eats the estimator's week, see how the bid process is run for you. It lists the desk work that can move to an outside desk and the work that stays with you, including the pricing and the signature.
Decide bid or no bid before spending takeoff hours
A bid or no-bid decision is the call on whether to price a job at all. Make it before the first measurement, because measuring hours on a lost job cannot be recovered.
A 2024 questionnaire survey in the journal Buildings gathered 112 responses on 22 bid or no-bid factors. The client's ability to pay, clarity of the scope, project cash flow, need for work and availability of qualified labor ranked highest. A factor analysis sorted the 22 into six groups: client, bidding, contractor, market, economy and project. The paper has one author, at a Saudi university, and its abstract does not say where the respondents worked, so use the ranking as a prompt for your own list. It is not a US benchmark.
Use the six groups as a sheet. Set the weights yourself, from jobs that went well and badly, and do not change them in the middle of a bid.
Group | Ask | Where the answer lives |
|---|---|---|
Client | Who pays, how fast, and how did their last job go? | Your receivables, references, the owner's financing statement |
Bidding | Are the documents finished, and is the time enough? | Addenda count so far, due date, question cut-off |
Contractor | Do you have the crew, bonding room and hours? | Backlog sheet, surety limit, hours left |
Market | How many bidders, and how thin are the trades? | Plan-holder list, past sub coverage |
Economy | Will prices hold until you buy? | Supplier quote validity, price indexes |
Project | Is this work you build well? | Your job-cost history |
Most of the sheet comes from your own records. From the package you need only the instructions to bidders, the bid form and the due time.
Add one rule of your own before any scoring. If the takeoff needs more hours than you have left for takeoff, and no outside hand-off fits, the answer is no bid. The next sections show the sum.
Some conditions need no score. A mandatory pre-bid meeting you cannot attend, a bond or prequalification you do not hold, or a due time that leaves no room for the second reader's check all end the question. Write one line of reason for every pass. After twenty or so, patterns start to show, though twenty is still a thin sample.
Track every invitation from first notice to result
A row exists the moment an invitation arrives, even if you will pass. One sheet that you own beats four inboxes. These are the fields one record needs.
Field | What goes in it | Why it exists |
|---|---|---|
ID and source | Your number; public posting, GC email or plan room | Shows which sources produce work you win |
Owner, GC, place | Names as written on the documents | Win rate by client |
Work type | Hard bid, invited or negotiated; public or private; building type | Win rate by work type |
Received and due | Date, clock time and time zone | The clock starts here |
Fixed dates | Pre-bid meeting, question cut-off | A missed mandatory meeting can end a bid |
Addenda | Number, date issued, date read, form line filled | See the addenda section |
Decision | Bid or pass, score, one line of reason | Feeds the sheet |
Hours | Planned and actual | Hours per win |
Result | Won, lost, withdrawn or no award; your number; the low number; the date; the reason for a loss | Win rate, spread and patterns |
A guide to bid sources covers where invitations come from: public postings, plan rooms and general contractor lists. A log kept in software or in a spreadsheet is the same record. The decisions and the phone calls still need a person, and software versus a bid desk compares the two. Keep the documents you send straight too: which priced document does which job sorts the estimate, the quote and the proposal.
Read the bid package for what changes the price
Read in this order, and write a question whenever two documents disagree. Questions go in before the cut-off, in writing.
Read | Pull out | Where it hits the price |
|---|---|---|
Instructions to bidders | Due time, place, submission method, bid security, withdrawal rules | Deadline and security cost |
Bid form | Base bid, alternates, unit prices, allowances, listings | What you must price separately |
General and supplementary conditions | Retainage, payment terms, damages for delay, insurance, bond, hours | Carrying cost and risk |
Wage requirements | Wage determination or state wage rules | Labor rates |
Front-end specification | Temporary facilities, testing, phasing, closeout | Costs no drawing shows |
Drawings and technical specifications | Scope by trade | Quantities |
Site visit and pre-bid meeting | Access, existing conditions, staging, anything said aloud that no addendum confirms | Demolition, protection, phasing and access |
The AIA's summary of its 2018 instructions to bidders shows what such documents settle. Under that form, addenda are issued before bids are received, and the bidder carries its own cost of preparing the bid. A bidder that finds a clerical error may withdraw within two days after opening, or within the period the jurisdiction sets, by showing evidence to the architect, and the withdrawn bid cannot be resubmitted. Owners change these terms, so your documents control.
Reading the bid package in detail walks the list. On public work, pricing a public bid covers unit price schedules and wage rules.
Control addenda until the bid is sealed
An addendum can move a quantity, a deadline or a form line. Treat each one as a change to the price until you prove it is not.
Federal sealed bids show the stakes. FAR 52.214-3 lets a bidder acknowledge an amendment in several ways, including signing and returning it or listing its number and date on the bid form. The acknowledgment must arrive by the time set for receiving bids. Under FAR 14.405(d), a missing acknowledgment can be waived only if the bid itself shows the bidder received the amendment, or the amendment is minor in effect. State and local owners write their own rules, so read the language on your form. The FAR is being rewritten, so check the current text and section numbers at each FAR link and on the FAR overhaul page.
Keep an addenda log with one row per addendum. The second row below is deliberately late.
No. | Issued | What it changes | Trades re-asked | On the form |
|---|---|---|---|---|
1 | Mon 3:10 pm | Stair rail detail on one sheet; one paint specification | Miscellaneous metals, paint | Entered, second reader checked |
2 | Wed 4:45 pm | Alternate 2 deleted | Trades that priced alternate 2 | Entered, second reader checked |
Illustrative addenda log for a bid due Thursday at 2:00 pm.
Some owners set a cut-off for addenda or move the due date when one lands late. If one lands this late, ask in writing whether the date still stands.
Run these rules on every bid:
Check every posting site and inbox daily from the day you register, and log and read each addendum the same day.
Flag every quote it touches as out of date and ask the affected trade to re-price by a stated time.
Phone every trade an addendum touches in the final 24 hours, because an email can sit unread.
Look through every posting once more in the last hour before you submit.
Have the second reader match the addendum numbers on the form to the log. For where the acknowledgment line usually sits, see a line-by-line bid form checklist.
Get quantities done before anyone prices
Quantities feed three things: the work you self-perform, your check on each sub's scope, and the plug for any trade with no quote. A price built on a half-finished takeoff gets rebuilt in the last hours, when mistakes happen.
Work back from the due time first, because the hours left decide whether to count, send out or pass. The sum below uses invented dates and hours. Assume a desk day of 9:00 am to 5:00 pm, Monday to Friday. The takeoff must be done 48 hours before the due time, which leaves two days for quotes and pricing.
Your planning number comes from your own records. Say your last five similar takeoffs took 14, 18, 16, 22 and 15 hours, an average of 17.0. Use the highest, 22, because a long takeoff hurts more than slack does.
Line | Case A | Case B |
|---|---|---|
Invitation received | Mon 9:00 am | Mon 9:00 am |
Bid due | Thu 2:00 pm, same week | Thu 2:00 pm, next week |
Takeoff must be done | Tue 2:00 pm | Tue 2:00 pm, next week |
Desk hours until then | 13 | 53 |
Share this bid can have | 50% | 50% |
Hours for this bid | 6.5 | 26.5 |
Less: read, decide, send questions, invite subs | 3 | 3 |
Hours left for takeoff | 3.5 | 23.5 |
Hours the takeoff needs | 22 | 22 |
Result | Short by 18.5 | 1.5 to spare |
Hours-left sum for two invented bids.
Case A has 8 desk hours on Monday and 5 on Tuesday until 2:00 pm, which makes 13. Case B adds a full week of 40 hours to those 13. Half of each day goes to other bids and office work.
Case B says count it yourself and watch the first day, because 1.5 hours of slack is thin. Case A says send it out or pass. A hand-off works only if a written delivery date lands before Tuesday 2:00 pm. That mark is 29 hours after the invitation, and sending the drawings and approving a quote come out of those hours. Delivery from Takeoff Services LLC runs 24 to 96 hours from an approved quote, so only a written date at the fast end of that range could fit. With no date that fits, you pass.
Takeoff Services LLC sells outsourced takeoffs, so test this rule against any provider's written date, and let it say pass or keep it in house when that is true.
Software, AI or outsourcing for takeoffs compares the options, and what a finished takeoff should contain shows what the returned quantities should look like. The planner on the How It Works page works backward from a bid date to a delivery schedule for an outside takeoff: work back from your bid date.
Cover every trade and level the sub quotes
Count quotes inside each trade; a total across the job hides the trade with none. Aim for three on each trade. Two is workable. One means you plug that trade from your own cost records and flag it before the quote deadline.
Compare scope before price. Here is a small illustration for one trade. The dollar amounts in it are illustrative, picked so the sums are easy to follow. Treat them as stand-ins, not as market prices, wage rates or quotes. Your own figures will differ.
Quote | As submitted | Exclusions | Plug | Adjusted |
|---|---|---|---|---|
Low | $9,200.00 | Door hardware, final clean-up | $800.00 + $100.00 | $10,100.00 |
Middle | $10,000.00 | None | $0.00 | $10,000.00 |
High | $11,800.00 | None | $0.00 | $11,800.00 |
Illustrative sub quotes for one trade. The plug for hardware is 40 sets at $20.00 each: $800.00, plus $100.00 for clean-up.
As submitted, the high quote sits 28.3% above the low one: $2,600.00 on $9,200.00. The low quote's exclusions add a plug of $900.00 ($800.00 for hardware plus $100.00 for clean-up), so it becomes $9,200.00 + $900.00 = $10,100.00. That is $100.00, or 1.0%, above the middle quote of $10,000.00. Once the exclusions are priced, the middle quote is the lowest number on the page, not the low one. Label every plug as a plug, keep it on the internal sheet, and do not use one sub's price to bargain with another.
The full leveling matrix is worked in its own guide. If your subs write clear quotes, your sheet gets easier, and a proposal template for subs shows the sections that make that happen.
If you are a sub: get invited, then answer the invitation
A sub gets on bid lists by being easy to qualify and easy to reach. Four habits do most of the work:
Send each general contractor's estimator a one-page capability sheet: trades, size range, service area, bonding limit if you have one, insurance, safety record and three references.
Keep a prequalification folder ready, because requests tend to ask for the same insurance, safety and financial items.
Register on the plan rooms and portals where the work you want is posted, and join the plan-holder list for any job you intend to bid, so addenda reach you.
For federal work, the SBA page on prime and subcontracting says small businesses can subcontract to primes, large primes on larger contracts must carry a small business subcontracting plan, and SBA points to a directory of primes with plans.
Then answer every invitation. A same-day pass helps you stay on the list. A sub quote a general contractor can compare in one pass does these things:
Names the addenda you priced, by number.
Lists inclusions and exclusions by specification section, in plain words.
States how long the price holds.
Gives one phone number that will be answered on bid day.
Arrives before the general contractor's quote deadline, followed by a call to confirm receipt.
Run your own bid or no-bid sheet and your own hours rule. The sub's version is shorter, but the sum is the same: if the quote needs more hours than remain, say no today.
The bid-day clock, counted back from the due time
Here is the clock, counted back from a due time of Thursday 2:00 pm. The marks are elapsed hours before the due time. If a mark lands on a weekend, move it back to the last working hour before it, Friday at 5:00 pm.
Mark | Example time | Finished by then |
|---|---|---|
Invitation plus 3 desk hours worked straight through | Mon 12:00 pm | Documents read, bid or no bid decided, questions sent, subs invited |
48 hours before | Tue 2:00 pm | Quantities done and checked; any trade with no quote in sight gets a second round of invitations |
24 hours before | Wed 2:00 pm | Quote deadline you gave subs and suppliers; every addendum so far folded in and sent to the trades it touches |
6 hours before | Thu 8:00 am | Last call to subs on thin trades; after this, late numbers go by phone to one named person |
4 hours before | Thu 10:00 am | Final price set: last quotes in, plugs decided, markup applied |
3 hours before | Thu 11:00 am | Forms read back aloud by a second person; signatures and security in place |
2 hours before | Thu 12:00 pm | Bid submitted and receipt confirmed |
Due time | Thu 2:00 pm | Due time; nothing after this counts |
The buffers are rules of thumb; no standard sets them.
If you are a sub, run the same clock from the general contractor's quote deadline, which is set earlier than the owner's bid time.
Expect part of the sub quotes in the last hours, whatever deadline you set. Level what you have at the 24-hour mark, so late numbers only replace lines on a sheet that is already built. After the 4-hour mark, change the price only for a late quote that beats the one on the sheet, and have the second reader see the change.
The two-hour submission buffer pays for slow portals, large files and a bid bond that needs the surety's seal. Log how long your last five submissions took and lengthen the buffer to match. Add travel time for a hand-delivered bid. Submitting early also means you cannot use a late sub number, unless the owner or portal lets you change a submitted bid before the deadline. If you rely on last-hour numbers, shorten the buffer and rehearse the portal.
Do not count on an exception for a late bid. Even the federal rules treat it narrowly: FAR 14.304 lets a contracting officer consider a late bid only in limited cases, such as proof it reached the government installation before the deadline. Other owners write their own rules.
A shorter window eats the front of the clock. The last 48 hours keep the same marks, and the hours rule above decides whether the front can still fit.
Win rate: measure it by work type and respect small samples
A win rate is wins divided by bids submitted. Count passes separately, in the log. Some firms quote the same figure as bids per win: a 20.0% win rate is 5.0 bids per win, or 5:1. Check which way round any other figure is written before you compare.
A small sample gives a wide range. The Wilson score interval is built for that case. According to the Wikipedia article on binomial intervals, it can be used safely with small samples and skewed results. The table uses the 95% version, with z = 1.96.
To rebuild it in a spreadsheet, let W be wins and N be bids. The interval runs from the centre minus the margin to the centre plus the margin:
Centre:
(W + 1.96^2/2) / (N + 1.96^2)Margin:
1.96 / (N + 1.96^2) * SQRT(W * (N - W) / N + 1.96^2/4)
Wins | Bids | Win rate | 95% interval | Width |
|---|---|---|---|---|
4 | 20 | 20.0% | 8.1% to 41.6% | 33.5 points |
8 | 40 | 20.0% | 10.5% to 34.8% | 24.3 points |
16 | 80 | 20.0% | 12.7% to 30.0% | 17.3 points |
30 | 150 | 20.0% | 14.4% to 27.1% | 12.7 points |
The same 20% win rate with a growing sample.
The interval assumes every bid has about the same chance of winning. A mixed list breaks that, so split by work type, because pooled numbers hide the difference. Say public hard bids went 5 for 40, or 12.5%, with an interval of 5.5% to 26.1%. Private invited bids went 9 for 30, or 30.0%, with an interval of 16.7% to 47.9%. The two ranges overlap from 16.7% to 26.1%. The gap is a lead worth watching. It does not yet justify moving your bid mix.
How long does a trustworthy reading take? To bring the interval around a 20% rate down to about 10 points wide takes about 245 bids: 49 wins gives 15.5% to 25.5%. A firm that bids 20 jobs a year has 40 bids after two years, and 8 wins in 40 still spans 10.5% to 34.8%.
Track hours beside the win rate. Say 80 bids at 12 hours each is 960 hours. With 16 wins, the 64 losing bids took 768 hours, which is 80.0% of the total, and each win cost 60 hours of estimating. That equals 12 hours per bid divided by a 20.0% win rate. Two levers lower it: a higher win rate or fewer hours per bid.
A published win-rate range helps only if it says what counts as a bid, over what period and for which work type. Without that, compare yourself with your own past, split by work type, and show the range.
Run a short review after every result
Do the review within a week, while the file is open.
Record the result, your number, the low number and the date.
Work out the spread to the low bid: your number minus the low, divided by the low. With illustrative figures, if you bid $104,000.00 and the low was $98,000.00, you were $6,000.00 over, which is 6.1% of $98,000.00.
Pull the public results where they exist. For federal sealed bids, FAR 14.403 makes the bid abstract available for public inspection, with some information left out. Other owners post results in their own way.
Name the loss: price, scope gap, relationship, compliance or late. When the owner or general contractor will talk, ask what decided it.
Compare actual hours with the plan, and refresh the last-five planning number.
Change one thing: a weight, a buffer or a question to ask next time.
After about twenty results, review the weights and change one at a time. Twenty is still a thin sample, as the interval table shows, so treat what you see as a hunch.
Frequently asked questions
How do you decide whether to bid a job?
Score it on six groups: client, bidding, contractor, market, economy and project. Then apply one hours rule. If the takeoff needs more hours than you have left for takeoff, and no outside hand-off fits, pass. Some conditions need no score: a mandatory meeting you cannot attend, a bond or prequalification you lack, or a due time that leaves no room for the second reader's check.
What is a good bid win rate for a contractor?
There is no single good rate. It depends on work type, delivery method and how you count bids. Measure your own, split by work type, and report the range, not one number. Four wins in 20 bids fits anywhere from 8.1 to 41.6 percent. Call one period better than another only when their intervals do not overlap.
How do you win more construction bids?
Bid fewer jobs that fit you badly and finish the ones you pick. Cover every trade, level quotes on scope, read addenda on arrival and submit early. Then track hours per win as well as win rate. No method guarantees an award, but it cuts the bids you pay for and had little chance to win.
How early should you submit a construction bid?
Plan to submit about two hours before the due time. That buffer pays for slow portals, large files and a bid bond that needs the surety's seal. Log how long your last five submissions took and lengthen the buffer to match. Submitting early also means you cannot use a late sub number, unless the owner or portal lets you change a submitted bid before the deadline.



