How to Track Your Bid Win Rate (A Subcontractor’s Guide)
A working system for tracking bid win rate: what to log for every ITB, the counting rules that keep the number honest, the segments that turn it into intelligence, and a free bid log template.
.jpg)
Table Of Contents
If you want to know how to track bid win rate without turning your office into an analytics department, start with a simple rule: record every invitation, close every outcome, and use the same counting rules every time. George Hedley has reported that fewer than one in ten of more than 2,000 surveyed general contractors, builders, and subcontractors knew and tracked their bid-hit-win ratio, which helps explain why so many bid/no-bid decisions still run on memory.
This guide is the working system: what goes into the bid log, what counts as a submitted bid, when a win becomes a win, how to handle dead jobs and unanswered bids, when to review the results, and a free Bid Log Template built around the same fields and rules. It is designed for construction bid tracking in a small commercial specialty-trade office, where the best system is the one somebody will still be updating six months from now.
A trustworthy win rate needs three things: a log that starts with every ITB, counting rules that do not change when the result is inconvenient, and enough detail to segment the history by GC, bid type, and project type.
Start With Every Invitation, Not Every Bid
The record should start when the ITB arrives, not when the proposal goes out.
At the top of the funnel, an invitation can end three ways: submitted, declined, or missed. If your log only contains submitted bids, you can calculate win rate, but you cannot see your bid/no-bid behavior. That matters because the work you choose to decline is part of the same estimating strategy as the work you chase.
A GC whose invitations are declined most of the time may be sending work outside your geography, size range, trade scope, or preferred project type. Another GC may consistently send well-fitted work that your team can price quickly. Those patterns deserve a decision instead of becoming background noise.
Logging every invitation also gives you a second metric without adding another system: response rate to invitations by GC.
Response rate is simply the share of ITBs that end in a submitted bid. If one GC sends 20 invitations and you submit four, judging the 20% response rate in isolation will not tell you much. Ask why the other 16 were declined or missed. A one-word decline reason usually tells you enough: size, location, schedule, scope, capacity, relationship, or documents.
The inbox is where this system begins. If invitations already arrive through several portals and email threads, a bid-platform workflow can help organize the intake, but the tracking method itself does not require software.
What to Put in Your Bid Log
A useful bid tracking spreadsheet needs enough information to identify the opportunity, segment it later, and close the result. It does not need every fact anyone could possibly collect.
A 30-column log that dies in three weeks is worse than a 10-column log that survives the year. The working version below lands at roughly 15 columns, and that should be treated as the ceiling, not the floor to build from. Add a field only after you can explain what decision the extra keystroke will improve and why somebody will still fill it in during month six.
Use these fields in this order:
- Project name: enough to identify the job later.
- GC: the customer you are bidding to.
- Date ITB received: when the opportunity entered the funnel.
- Bid due date: the deadline the estimating team is working toward.
- Project type: renovation, tenant improvement, ground-up, service upgrade, or whatever categories fit your trade.
- Sector: public or private.
- Approximate contract value band: use ranges rather than fake precision before the bid is built.
- Bid type: hard bid or negotiated.
- Estimator assigned: useful for workload and assignment-fit review, not as a leaderboard.
- Bid/no-bid decision: submit, decline, or missed.
- Decline reason: one short reason when you pass.
- Date submitted: the date the real proposal went out.
- Bid amount: the submitted price.
- Outcome: won, lost, declined, job died, or no response.
- Date outcome known: when the record was actually closed.
- Winning price, when learnable: useful for bid-spread analysis, but never worth holding the row open forever.
That is roughly 15 fields, depending on whether your shop combines a couple of administrative fields. The important part is that the structure stays stable. If you want to track construction bids in a spreadsheet, a bid log template Excel file or a Google Sheet can handle this without macros, special add-ons, or an analyst babysitting it.
For declined ITBs, record the decision as decline and close the outcome as declined. For missed invitations, record the decision as missed and leave the submitted-bid outcome out of the win-rate calculation. The response-rate calculation can still see both.
Download the free RiffleCM Bid Log Template to start with the same system. The workbook mirrors the fields and counting rules in this guide across three tabs: Bid Log, Dashboard, and Counting Rules. The dashboard calculates rolling 12-month win rate, shows win rate by GC and bid type with bid counts beside each rate, tracks response rate to invitations by GC, and surfaces aging open outcomes.
The Counting Rules That Keep Win Rate Honest
This is the technical heart of the system. If the rules move around, the percentage stops meaning anything.
1. Count a bid only when a real price goes out on defined scope
For how to calculate win rate, use eligible submitted bids as the denominator, following the outcome rules below.
A budget assist, rough-order-of-magnitude number, plug number, or early feasibility price is useful work, but it is not the same as entering a contest for an award. Track those activities separately if they consume meaningful estimating time. Do not count them as lost bids, because doing so deflates the rate with opportunities nobody could actually win.
What counts as a bid? A submitted price on defined scope where an award could reasonably follow.
2. Pick one definition of a win and keep it
A verbal “you’ve got it” can disappear after a schedule change, owner decision, scope revision, or final buyout. Counting that as a win one month and waiting for a contract the next month makes the history impossible to compare.
Choose your threshold once. For most shops, a signed contract is the cleanest rule. If your business reliably treats a signed letter of intent as the commitment point, use that instead. The important part is consistency.
3. Keep dead jobs in the log, but out of win-rate math
If the owner shelves the project, funding disappears, or the job is canceled before anyone receives the work, you did not lose to another bidder.
Mark the outcome Job Died and exclude it from both wins and losses. Keep the row because the pattern can still be useful. A GC whose projects repeatedly die after estimating has already invested time is giving you information about the value of the invitation stream.
4. Put an aging rule on unanswered bids
Open outcomes are where otherwise good logs rot.
Set a defined aging window for bids where the job is moving but nobody has confirmed the result. A practical default is 90 days past the bid date, although your market may justify a different window. Once the window expires and the project is proceeding, close the record as No Response and count it as a loss.
The exact number of days matters less than choosing the rule once and using it. If you later learn the real result, correct the row.
5. Treat a material rebid as a new record
If the scope changes enough that the team builds and submits a new price, create a new row. Keep the connection obvious in the project name, such as “Project X - Rebid 2,” so the estimating history stays readable without another tracking column.
If the original hard bid simply turns into a negotiation on the same scope, do not create a second row. Keep one record and update the bid type to negotiated when that becomes the real procurement path.
6. Use a rolling 12-month window for the headline rate
The basic formula, using the counting rules above, is:
Win rate = wins ÷ eligible submitted bids
Eligible submitted bids are records resolved as Won, Lost, or aged No Response under your chosen aging rule. Exclude Job Died and still-open outcomes from the denominator. Declined and missed ITBs stay in the invitation log but never enter win-rate math.
The same math answers how to calculate bid hit ratio: five eligible submitted bids for one win is a 5:1 bid-hit ratio, equivalent to a 20% win rate.
Use a rolling 12 months for the headline number so one unusually busy or quiet quarter does not swing the rate too hard. The same window should be applied every time you report it.
Smaller shops need more patience with segments. Eight bids with one GC can be a useful hint, but it is not enough history to reorganize the entire bid list. If a segment has thin volume, look at a longer period and keep the bid count next to the rate.
That last point matters. A 50% win rate based on two bids does not carry the same weight as a 35% rate based on 40.
The Review Cadence
A bid log usually fails because outcomes stop getting closed, not because the spreadsheet needed a better chart.
Give one person ownership of the maintenance habit, then keep the review light.
- Weekly, about two minutes: close outcomes. Pick one recurring day and update anything learned that week. Mark wins, losses, dead jobs, and decline decisions. Check whether any previously open result now has an answer. This small routine does more for data quality than a quarterly cleanup ever will.
- Monthly, about fifteen minutes: check the headline. Review the rolling 12-month win rate, the number of still-open submitted bids, and anything approaching or exceeding the no-response aging window. If the log is growing but the outcome count is not, fix the maintenance problem before analyzing anything else.
- Quarterly, about one hour: cut the segments. Look at win rate by GC, bid type, project type, and size band, with bid counts beside every percentage. Then ask two questions: Where are we winning? Where is estimating time being spent?
That quarterly review is where a company-wide number starts becoming useful. A shop sitting at 20% overall may discover that it wins 45% with two repeat GCs and only 6% with three others. Negotiated work may behave differently from hard bid, and a certain project size may consume a large share of estimating hours without producing much work.
The cadence is deliberately modest. A two-person office should be able to run it without turning Friday afternoon into a reporting meeting.
Reading Your Results Without Overreacting
The company-wide number is a temperature. The cuts tell you where to look.
Start with win rate by GC, then bid type, project type, and size band. Keep the bid count beside every rate so four data points do not accidentally become company policy.
Our subcontractor win-rate article covers why segmentation changes bid/no-bid decisions. For benchmark context, see What Is a Good Win Rate for a Subcontractor?. The point here is simpler: your tracking system has to preserve the fields those decisions depend on.
Then pair the segment with what the won jobs actually earned. A GC with a strong win rate but weak completed-job margins is a different relationship from a GC where you win often and the work performs well. Job Costing for Subcontractors covers that post-award side of the loop.
One extra field can sharpen the analysis when the information is available: winning price.
Suppose you lose two bids. On one, your number was 3% above the winner on a GC you work with regularly. On the other, you were 22% high on a project type you rarely pursue. Both rows say “Lost,” but they suggest different follow-up questions. Bid spread gives the loss some shape.
Do not chase winning-price data forever. Log it when a public bid result, GC feedback, or another credible source makes it available. Leave it blank when it does not.
When the Spreadsheet Stops Being Enough
A spreadsheet can run this system for years, especially in a small office. Its weak spots show up when someone has to re-key every ITB from the inbox, outcome closure depends on memory, or the log lives far away from the place where bids are assigned and submitted. At that point, construction bid tracking software or a bid pipeline can make the same record-keeping a byproduct of the workflow rather than a separate chore. The underlying method should stay the same: every invitation enters once, decisions and outcomes close the record, and the same counting rules feed the rate.
RiffleCM publishes this guide and builds bid management software for specialty subcontractors.
Frequently Asked Questions
How do you calculate bid win rate?
Divide jobs won by eligible submitted bids over a consistent window; a rolling 12 months is a practical default. Eligible bids are resolved as won, lost, or aged no response. Exclude dead jobs, still-open outcomes, budget assists, ROMs, and feasibility pricing, and keep your chosen win threshold consistent every time.
What counts as a bid?
Count a bid when you submit a price on defined scope and there is a real opportunity for an award. Budget assists, rough-order-of-magnitude numbers, plug numbers, and feasibility pricing are different activities. Track them separately if useful, but including them in win-rate math can make ordinary preconstruction help look like losses.
Should I count jobs that never got awarded to anyone?
No. If the owner shelves the project, funding disappears, or the job is canceled before anyone receives the work, mark it as Job Died and exclude it from win-rate math. Keep the record in the log because repeated dead projects from the same source can still inform future bid/no-bid decisions.
What should a bid tracking spreadsheet include?
Keep enough fields to identify the opportunity, segment it, and close the result: project and GC, ITB and due dates, project type, sector, size band, bid type, estimator, decision, decline reason, submission date, amount, outcome, outcome date, and winning price when known. Around fifteen fields is plenty for most shops.
How often should we review win rate?
Close newly learned outcomes weekly, check the rolling headline rate and aging open bids monthly, and review segments quarterly. Put bid counts next to every segmented rate so a small sample does not drive a large decision. The maintenance habit matters most: one named person should own keeping outcomes current.
Keep the Habit Simple
A reliable bid tracking system for subcontractors does not need to be elaborate. Log every invitation, keep the counting rules fixed, and make closing outcomes somebody’s weekly routine; then use the win-rate pillar, the good-win-rate guide, and the bid-platform guide when you are ready to interpret the history.
Download the free RiffleCM Bid Log Template to start with the same fields, counting rules, and dashboard described here, then make outcome closure part of the Friday routine.
Last updated: August 2026
Eliminating Manual Errors in Construction Bids
Common questions about reducing errors and improving accuracy
What causes most manual errors in subcontractor bids?
Manual errors usually come from disconnected workflows — things like outdated spreadsheets, inconsistent templates, or rekeying the same data multiple times. When project info lives across emails, texts, and PDFs, small mistakes add up fast.
How can software help reduce bidding mistakes?
Purpose-built estimating software automates repetitive tasks like data entry, quantity takeoffs, and revision tracking. Instead of chasing down the latest drawings or retyping costs, your team works from one centralized, accurate system — cutting errors before they happen.
Is automation complicated to set up for small subcontractors?
Not with modern tools like Riffle. You can connect your email or ITB inbox in minutes, and automation starts working behind the scenes — identifying bid invites, tracking updates, and helping you prioritize the right opportunities. No IT department required.
How much time can automation actually save?
Most subcontractors save 6–10 hours per week just by eliminating manual re-entry and version confusion. That’s more time for estimating the next job, reviewing margins, or simply getting home on time.
Does automating bids mean losing control over pricing?
Not at all. Automation handles the busywork — you keep full control over pricing, scope, and judgment calls. Think of it as an assistant that gets the numbers right so you can focus on strategy.
How do I know if my team is underspending or overspending on software?
A good rule of thumb: most subcontractors invest 1–3% of annual revenue in digital tools. If you’re still running bids manually or using outdated systems, the real cost might be hidden in lost time and missed opportunities.
Why does accuracy matter so much in bidding?
Every error compounds — one missed line item or miscalculated rate can erase your entire profit margin. Accuracy doesn’t just win jobs; it protects your business from losses you don’t see coming.
How does Riffle help subcontractors eliminate manual work?
Riffle automates your bidding and project workflows from start to finish. It finds ITBs in your inbox, organizes bid invites, fills in estimating data, and tracks updates — helping subcontractors bid smarter, reduce errors, and grow revenue.
Stay Informed
Get the latest on subcontractor business trends, research, and tools to help you grow profitably. Delivered monthly.
