How to run a win/loss analysis as Small Customer Success Teams

Sales & CRMFor Small Customer Success Teams3 apps11 steps~22 min to set up

Your three-person team lost a renewal last quarter and genuinely doesn't know why. The account went quiet, then churned, and the post-mortem was a 30-minute Slack thread where everyone blamed a different thing — product gap, competitor price, slow onboarding. You have no structured win/loss data. Closed-lost reasons in HubSpot are whatever the AE typed in a hurry. You're not doing formal win/loss interviews because there's nobody to own it. Meanwhile, the same objections keep surfacing in new deals and you're pattern-matching from memory. A real win/loss process feels like something a 20-person revenue team does, not three CS people holding 250 accounts together.

Sales & CRMFor Small Customer Success Teams3 apps11 steps~22 min to set up
Outcome

What you'll set up

A live win/loss tracker that pulls closed-lost and churned account data from HubSpot, tags reasons by category (price, product gap, competitor, onboarding failure), and surfaces patterns your team can actually act on
An automated post-mortem template that populates from HubSpot deal fields, Gmail thread history, and your own notes — so you stop reconstructing what happened from memory
A recurring digest that tells you whether your churn reasons are shifting month over month, so you can catch a product-fit problem before it becomes a category problem
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.

Data sources & config

Starch syncs your HubSpot data on a schedule — deals, contacts, companies, and close reasons flow in automatically. Starch also syncs your Gmail on a schedule, so thread history with churned accounts is available without manual export. Intercom and Zendesk are reachable by connecting them from Starch's integration catalog; the agent queries them live when your win/loss app runs to pull support ticket volume from churned accounts.

Prompts to copy
Build me a win/loss tracker that pulls all closed-lost deals from HubSpot in the last 90 days, groups them by close reason, competitor mentioned, and deal size, and shows me which patterns repeat more than twice
For each churned account in the last 6 months, pull the Gmail thread history and the last 3 HubSpot notes and generate a one-paragraph summary of what went wrong. Organize these summaries by churn reason category.
Every month on the first Monday, send me a digest comparing this month's closed-lost reasons to last month's. Flag any category that grew by more than 20% and suggest one thing to investigate.
Run these in Starch → or paste them into your favorite agent
Walkthrough

Step-by-step

1 Connect HubSpot to Starch — it syncs deals, contacts, companies, and owners on a schedule, so your closed-lost pipeline data is available immediately without any CSV exports.
2 Connect Gmail — Starch syncs your messages on a schedule, giving the agent access to email thread history with churned accounts so it can reconstruct the relationship timeline.
3 Connect Intercom or Zendesk from Starch's integration catalog so the agent can query support ticket volume and last-touch dates for churned accounts when your win/loss app runs.
4 Start with the Sales Agent CRM app from the App Store and customize it for CS use: tell Starch to add a 'churn reason' field, a 'competitor mentioned' field, and a 'post-mortem status' flag to the account view.
5 Prompt Starch to build a win/loss tracker: pull all HubSpot deals closed-lost in the last 90 days, group by close reason and deal size, and surface any reason that appears more than twice.
6 Prompt Starch to generate a post-mortem summary for each churned account: pull Gmail thread history, the last 3 HubSpot activity notes, and Intercom ticket count, then write one paragraph per account explaining what the data shows.
7 Review the first batch of auto-generated post-mortems with your team — edit the ones where the AI missed context, and use those corrections to refine the prompt so future summaries are more accurate.
8 Set up a monthly automation: on the first Monday of each month, Starch compares this month's closed-lost reasons to last month's, calculates which categories grew, and emails the digest to your team.
9 Add a 'win reasons' mirror to the tracker — prompt Starch to pull closed-won deals from the same period and tag what the accounts had in common (segment, use case, onboarding path) so you're not only looking at failure.
10 Use the CRM app to build an expansion watchlist from the win pattern: accounts with the same profile as your closed-won deals but not yet at the same contract value get flagged for a proactive check-in this quarter.
11 Share the win/loss digest with your AE or founder monthly — the goal is feeding the pattern back into the sales process, not keeping it inside CS.

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 churn post-mortem, 14 accounts

Sample numbers from a real run
Closed-lost: price objection (competitor undercut)3
Closed-lost: product gap (missing feature X)5
Churned: slow onboarding / never activated4
Churned: champion left company2

Your team ran this analysis in February on 14 accounts that closed lost or churned in Q1. Starch pulled all 14 from HubSpot, surfaced Gmail thread history for each, and queried Intercom live for support ticket counts. The auto-generated post-mortems showed that 5 of the 14 closed-lost deals cited the same missing feature — a reporting export that three competitors have — but your AE had logged these as 'price' in HubSpot because price came up in the final call. The Intercom data showed the 4 onboarding churns had all opened zero support tickets, meaning they never reached out when they got stuck; they just stopped logging in. The digest flagged that 'product gap' as a category grew from 1 account in Q4 to 5 in Q1 — a 400% increase the team would not have caught without the month-over-month comparison. That one data point went straight to the product team.

Measurement

How you'll know it's working

Closed-lost reason distribution (% by category, tracked month over month)
Average time from churn signal to post-mortem complete (goal: under 2 weeks)
Repeat pattern rate: % of closed-lost reasons that appear in 3+ accounts per quarter
Win/loss ratio by competitor named in deal notes
Onboarding activation rate for accounts that churned in first 90 days
Comparison

What this replaces

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

Gainsight or ChurnZero
Built for this workflow but require a CS-ops person to configure, cost six figures annually, and assume a team size you don't have yet — Starch lets you build the same analysis surface in a day without a dedicated admin.
Manual HubSpot reports + spreadsheet
Free and already in your stack, but closed-lost reasons are only as good as what the AE typed, there's no Gmail or support data pulled in, and the analysis falls off every quarter when nobody has time to run it.
Gong or Chorus (conversation intelligence)
Excellent for call-level win/loss signals but requires every deal call to be recorded and processed, which your team isn't doing consistently — and it doesn't help with churn that happened quietly over email.
Notion or Confluence post-mortem template
Good for structure, but populating it is entirely manual — someone has to pull HubSpot data, read the email thread, and write the summary every time, which is exactly the work that doesn't get done.
On Starch RECOMMENDED

One platform — sales agent crm, crm, growth analyst 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

Our closed-lost reasons in HubSpot are a mess — half the deals just say 'no reason given.' Can Starch still do anything with this?
Yes, and this is actually where it helps most. Starch can pull the Gmail thread history and HubSpot activity notes for each closed-lost deal and generate its own classification based on what was actually said — not just the dropdown the AE picked. You can prompt it: 'For each closed-lost deal with no reason entered, read the last 5 emails and the HubSpot notes and infer the most likely reason.' It won't be perfect, but it's more accurate than whatever's in the field today, and you can correct the ones it gets wrong.
Does Starch store our HubSpot and Gmail data, or does it query it fresh each time?
Both, depending on the source. HubSpot and Gmail are scheduled-sync providers — Starch syncs that data on a schedule and stores it in Starch's database, which is what makes the monthly trend comparison possible. Intercom and Zendesk are queried live from Starch's integration catalog when your app runs — that data isn't stored between runs. Worth knowing: Starch is not SOC 2 Type II certified today, so if your accounts are in a regulated industry with strict data residency requirements, flag that before connecting sensitive data.
Can we track competitor mentions specifically — not just 'lost to competitor' but which competitor?
Yes. Tell Starch: 'Pull all closed-lost deals from HubSpot in the last 6 months, read the Gmail threads and deal notes, and extract every competitor name mentioned. Show me a count by competitor and the deal value associated with each.' The agent will work through the thread history and surface what it finds. You can also add a 'competitor' field to the CRM app and have the agent populate it automatically for new closed-lost deals going forward.
We don't have a formal win/loss interview process. Should we try to add one alongside this?
You can, and Starch can help automate parts of it. A simple approach: set up an automation that triggers when a deal is marked closed-lost in HubSpot and sends a templated email (from Gmail) asking the prospect one question about their decision. Starch can draft those emails and log the replies. That said, even without formal interviews, the data you already have in HubSpot, Gmail, and support tickets is enough to surface actionable patterns — you don't need to wait for a perfect process to start.
How is this different from just building a HubSpot report on closed-lost deals?
HubSpot reports are limited to what's in HubSpot — the deal fields, stages, and whatever the AE entered. Starch pulls Gmail thread history alongside the deal data, queries your support system live for ticket context, generates written summaries of what actually happened, and runs the month-over-month trend comparison automatically. The output is a narrative you can act on, not a table of fields you have to interpret yourself.

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.