How to run a win/loss analysis as Construction and Contractor Founders

Sales & CRMFor Construction and Contractor Founders2 apps12 steps~24 min to set up

You bid 14 jobs last quarter. You know you won 6 and lost 8, but you couldn't tell me why without digging through three email threads, a Buildertrend note from six weeks ago, and your estimating spreadsheet. You don't track loss reasons in any structured way — you just move on. The profitable jobs feel obvious in hindsight, but you're not sure if you're winning the right work or just the work that shows up. Nobody is following up on the bids that went quiet, and you have no idea whether the GC who ghosted you in November is worth another call in March.

Sales & CRMFor Construction and Contractor Founders2 apps12 steps~24 min to set up
Outcome

What you'll set up

A win/loss tracker built around your actual bid process — project type, bid amount, awarded amount, reason lost, and the sub or GC contact — pulled from your email and field software without manual data entry
A pipeline view that surfaces which bids are still open, which have gone cold (no reply in 14+ days), and which contacts you've never followed up with after losing
A recurring analysis that tells you your close rate by job type, average discount from bid to award, and which reasons ('too high,' 'relationship,' 'scope mismatch') are showing up most often
The Starch recipe

Apps, data, and prompts

The combination of Starch apps, the data sources they pull from, and the prompts you use to drive them.

Apps used
Data sources & config

Starch syncs your Gmail data on a schedule so email threads with GCs and owners attach automatically to each deal. Connect Buildertrend or CoConstruct through browser automation — no API needed — so awarded project data can be pulled into Starch and matched against your open bids. Connect QuickBooks through Starch's scheduled sync to cross-reference which won jobs have actually invoiced versus stalled post-award.

Prompts to copy
Build me a CRM for tracking construction bids. I want fields for: project name, project type (residential remodel, commercial TI, new build), bid date, bid amount, awarded amount, win/loss status, reason lost, GC or owner contact, and next follow-up date. Show deals in a pipeline view by status: Active Bid, Won, Lost, No Response.
Every week, show me all bids I submitted more than 14 days ago with no status update. Flag any contact I haven't emailed or called since the bid went out. Pull in email thread context from Gmail so I can see the last thing I said to each one.
Give me a win/loss summary for the last 90 days: total bids submitted, total dollar value bid, close rate by project type, average spread between bid and awarded amount on wins, and top 3 reasons I lost jobs.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect Gmail — Starch syncs your inbox on a schedule and pulls in every email thread with a GC, owner, or architect so you can see conversation history inside each deal record without copying and pasting.
2 Tell Starch what your bid stages look like: 'Active Bid,' 'Verbal Award,' 'Won,' 'Lost — Price,' 'Lost — Relationship,' 'No Response.' Starch builds the pipeline with those exact labels, not someone else's default.
3 Import your last 90 days of bids from your estimating spreadsheet — paste it in or describe the columns and Starch maps the fields. Deals populate with bid amount, project type, and contact name.
4 Wire Buildertrend or CoConstruct through browser automation so Starch can check which bids turned into active projects, then auto-update those deals to 'Won' and pull in the awarded contract value.
5 Set up a weekly automation: every Monday morning, Starch scans all open bids, flags any where the last outbound email is more than 14 days old, and sends you a Slack message or email with the list and a one-line note on what was last discussed.
6 Ask Starch: 'Which GCs or owners have I lost to twice in the last six months?' — it queries your deal history and surfaces the repeat losses so you can decide whether a relationship call makes sense or whether that client always goes with someone cheaper.
7 Add a 'loss reason' field you actually fill in — 'price,' 'timing,' 'existing relationship,' 'scope we couldn't cover' — and Starch starts aggregating those tags so you can see patterns after 20 or 30 bids.
8 Connect QuickBooks through Starch's scheduled sync and ask: 'Show me won jobs from Q1 where the invoiced amount came in more than 10% below the awarded contract value.' That's your change-order slippage, surfaced without a controller.
9 Build a 'cold outreach' view: all contacts you've bid to in the last 12 months, sorted by last contact date, with no active bid in the system. This is your re-engagement list for slow seasons.
10 Run a quarterly prompt: 'Summarize my win/loss performance for the last quarter broken down by project type. What's my close rate on residential remodels versus commercial TIs? Where am I losing on price versus losing on relationship?' Starch pulls from your deal records and writes the summary.
11 Share the win/loss dashboard with your estimator or office manager — set their permissions so they can log loss reasons after bid results come in, keeping the data current without it all running through you.
12 Every six months, ask Starch to flag any job type where you're consistently losing more than 60% of bids — that's the signal to either reprice your estimating model or stop chasing that category of work.

See this running on Starch

Connect your tools, describe what you want, and the agent builds it. Closed beta is free.

Try it on Starch →
Worked example

Q1 2026 Bid Review — 8-person residential remodel GC, Pacific Northwest

Sample numbers from a real run
Total bids submitted (Q1)11
Total value bid1,840,000
Bids won4
Total awarded value580,000
Bids lost — price5
Bids lost — relationship / incumbent2
Average bid-to-award spread on wins-4,200
Open bids no response >14 days3

Jake runs an 8-person remodel shop in the Seattle suburbs. He submitted 11 bids in Q1 totaling $1.84M. He won 4 — all kitchen and bath projects in the $100K–$180K range — and lost 7. His CRM in Starch showed that 5 of the 7 losses were tagged 'price' within a day of getting the no. Two were tagged 'relationship — owner went with their usual guy.' When Starch ran the Q1 summary, it flagged that his close rate on full-gut ADU projects was 0 for 3, and that the average losing bid on those was coming in 18% above the eventual awarded contractor. Jake didn't know that pattern existed because he'd never aggregated loss reasons before — they lived in a notes app and his memory. He also had 3 bids sitting in 'no response' for more than two weeks. Starch's Monday automation had been flagging those, but he'd been too busy to act. He finally replied to one — a $220K deck addition — and got a call back that same day. The client had gone quiet because they were waiting on permit approval, not because they'd moved on. That follow-up turned into a signed contract in March.

Measurement

How you'll know it's working

Close rate by project type (residential remodel vs. commercial TI vs. new build)
Bid-to-award spread: average difference between your bid and the contract you actually signed
Loss reason breakdown: what percentage of losses are on price versus relationship versus scope you couldn't cover
Days from bid submission to status update: how long bids sit in 'no response' before someone follows up
Revenue per won bid: are you winning bigger jobs or just more of the same small ones
Comparison

What this replaces

The other ways teams handle this today, and how the Starch version compares.

Excel or Google Sheets bid log
Free and familiar, but it doesn't pull email context, won't remind you about cold bids, and the loss reason column stays blank because you're the one who has to fill it in manually after every decision.
Buildertrend or CoConstruct built-in CRM
Good for managing active projects, but the pre-sales pipeline is thin — you can't easily track bids that didn't turn into jobs or run a loss reason analysis across quarters.
HubSpot Sales Hub
Powerful pipeline software, but the free tier runs out fast and configuring it for construction bid stages takes time you don't have — plus it won't browser-automate your Buildertrend data into deals.
Procore
Built for larger commercial shops with dedicated project coordinators; pricing and complexity are hard to justify for a sub-20-person operation that just needs bid tracking and follow-up reminders.
On Starch RECOMMENDED

One platform — crm, sales agent crm all running on connected data. Setup in plain English; numbers stay current via scheduled syncs and live agent queries.

Try it on Starch →
FAQ

Frequently asked questions

My bids are in an Excel file and some are in my email. Can Starch actually pull those into one place?
Yes. You can paste your spreadsheet directly into Starch and describe the columns — it maps them to deal fields. For email, Starch syncs your Gmail on a schedule and can attach threads to deal records based on the contact name or project keyword. You won't need to copy anything manually once it's set up.
I use Buildertrend. Can Starch connect to it?
Buildertrend doesn't have a public API that Starch syncs on a schedule, but Starch can automate your Buildertrend account through your browser — no API needed. That means it can pull awarded project data, contract values, and project status out of Buildertrend and match them against your bids in the CRM.
Do I have to log every loss reason manually?
Someone on your team has to enter it at least once — Starch can't read a GC's mind when they pick someone else. But you can set up an automation that pings you the day after a bid goes cold asking you to tag the reason. That's a 10-second reply, and after 20 or 30 of them you have a real dataset.
Is Starch SOC 2 certified? I'm entering project dollar amounts and client names.
Not yet — Starch is not SOC 2 Type II certified today. If your clients are government entities or large commercial developers with strict data requirements, that's worth factoring in. For most residential and small commercial operators, this isn't a blocker, but it's honest to name it.
I already track AR in QuickBooks. Can the win/loss view cross-reference what actually got invoiced?
Yes. Starch syncs your QuickBooks data on a schedule — invoices, payments, and customers — so you can ask it to match won bids against actual invoiced amounts and flag jobs where revenue came in below the contracted value. That's where change-order slippage shows up.
What if I want to track subcontractor bids, not just client bids I submitted?
Describe it and Starch builds it. You could say: 'Build me a sub-bid tracker with fields for project, trade, sub name, quoted amount, awarded status, and COI expiration date.' That's a different schema from a client-facing CRM, and Starch will build it as a separate app or add it as a second pipeline view in the same one.

Ready to run run a win/loss analysis on Starch?

Request closed-beta access. Everything is free during beta.

You're on the list! We'll be in touch soon.