Win-Loss Analysis
Perform rigorous, data-driven win-loss analysis by pulling from HubSpot, Fireflies, and Apollo, then cross-referencing everything before drawing conclusions.
Execution Steps
Step 1: Determine Scope
Ask the user (or infer from their request):
- Single deal analysis — "why did we lose Action Seating" or "analyze the [Company] deal"
- Portfolio analysis — "win-loss analysis", "analyze our pipeline", "what patterns do you see"
Step 2: Pull All Data
Regardless of scope, gather everything first. Do NOT skip any source.
2a. HubSpot — Deal Data
Use the HubSpot MCP tools to pull:
- All deals — search for deals across all stages (won, lost, open)
- Properties to fetch:
dealname, amount, dealstage, closedate, createdate, pipeline, hs_lastmodifieddate, hs_deal_stage_probability, closed_lost_reason, closed_won_reason, notes_last_updated, num_notes, num_associated_contacts, hs_analytics_source
- Associated contacts for each deal — get contact names, emails, titles, company
- Associated companies for each deal — get company name, domain, industry, size
- Deal notes and activity — get notes, emails, calls, meetings logged against each deal
- Stage history — track how long each deal spent in each stage
2b. Fireflies — Conversation Intelligence
Use the Fireflies MCP tools:
- Search transcripts by contact email addresses from the deals
- Get full transcripts for every meeting associated with deal contacts
- Get summaries for quick scanning
- Extract from each transcript:
- Direct quotes about pain points
- Objections raised (pricing, timing, competition, internal resistance)
- Competitor names mentioned
- Pricing discussions (what was quoted, reactions)
- Buying signals ("when can we start", "who else needs to approve")
- Decision-maker identification
- Next steps discussed vs. what actually happened
2c. Apollo — Company Enrichment
Use the Apollo MCP tools:
- Enrich each company associated with deals:
- Company size (employees)
- Industry and sub-industry
- Annual revenue
- Funding stage and total raised
- Technologies used
- Location
- Enrich key contacts — titles, seniority, department
- Use this to build ICP pattern analysis
Step 3: Internal Fact-Check Layer
Before any analysis, run these integrity checks. Flag every issue found.
Data Quality Checks
| Check |
How |
Flag If |
| Stale close dates |
Compare closedate to today |
Close date is in the past but deal is still open |
| Zombie deals |
Check activity on closed-lost deals |
Closed-lost deal has emails/calls in last 30 days |
| Ghost deals |
Check num_notes and last activity |
Deal has zero notes or no activity in 60+ days |
| Amount mismatches |
Compare HubSpot amount to pricing discussed in Fireflies |
Amount differs by more than 20% from what was quoted verbally |
| Missing contacts |
Check num_associated_contacts |
Deal has zero associated contacts |
| Stage bottlenecks |
Calculate days in current stage |
Deal has been in same stage for 2x the average |
| Pipeline fiction |
Check deals marked "closing this month" |
No activity in last 14 days on a deal closing within 30 days |
Cross-Reference Checks
- If HubSpot says "closed lost — went with competitor", search Fireflies for which competitor and why
- If HubSpot says "closed lost — pricing", check Fireflies for what price was quoted and what their reaction was
- If a deal has no close reason in HubSpot, attempt to find the reason in Fireflies transcripts
- Compare deal timeline in HubSpot stages vs. actual meeting cadence in Fireflies
Step 4A: Single Deal Analysis
When analyzing a specific deal, produce this report:
## Win-Loss: [Deal Name]
### Deal Snapshot
| Field | Value |
|-------|-------|
| Company | [name] |
| Amount | $[amount] |
| Stage | [stage] |
| Created | [date] |
| Closed | [date] |
| Days in Pipeline | [n] |
| Outcome | Won / Lost / Open |
| Loss Reason (HubSpot) | [reason or "not recorded"] |
### Company Profile (Apollo)
- Industry: [industry]
- Size: [employees]
- Revenue: [revenue]
- Funding: [stage, amount]
- ICP Fit: Strong / Moderate / Weak — [why]
### Timeline
Map every touchpoint chronologically:
- [Date] — First contact (source: [how they came in])
- [Date] — Discovery call (Fireflies transcript available: yes/no)
- [Date] — Stage moved to [stage]
- [Date] — Demo / proposal sent
- [Date] — Last activity
- [Date] — Outcome
### What They Said (from Fireflies transcripts)
Pull DIRECT QUOTES. Do not paraphrase. Organize by theme:
**Pain Points:**
> "[exact quote]" — [Contact Name], [Date]
**Objections:**
> "[exact quote]" — [Contact Name], [Date]
**Competitor Mentions:**
> "[exact quote]" — [Contact Name], [Date]
**Buying Signals (if any):**
> "[exact quote]" — [Contact Name], [Date]
**Pricing Reactions:**
> "[exact quote]" — [Contact Name], [Date]
### Pricing Analysis
- Amount in HubSpot: $[amount]
- What was discussed in calls: [details from Fireflies]
- Match: Yes / No — [explain discrepancy]
- Price sensitivity level: Low / Medium / High
### Root Cause Analysis
Go beyond the surface. "Went dark" is not a root cause. Dig into:
1. **Primary cause** — the single biggest factor
2. **Contributing factors** — secondary issues that compounded
3. **Process failures** — what we could have done differently
4. **Timing factors** — was the timing right for them?
### Data Quality Issues
Flag anything found in the fact-check layer for this deal.
### Lessons
- **Repeat:** [what worked or would work again]
- **Change:** [what to do differently next time]
- **Watch for:** [early warning signs we missed]
Step 4B: Portfolio Analysis
When analyzing all deals, produce this report:
## Win-Loss Portfolio Analysis
*Analysis Date: [today's date]*
*Deals Analyzed: [n won] + [n lost] + [n open] = [total]*
### Pipeline Metrics
| Metric | Value |
|--------|-------|
| Total Deals | [n] |
| Open Deals | [n] |
| Won | [n] |
| Lost | [n] |
| Win Rate | [%] |
| Avg Deal Size (Won) | $[amount] |
| Avg Deal Size (Lost) | $[amount] |
| Avg Sales Cycle (Won) | [days] |
| Avg Sales Cycle (Lost) | [days] |
| Pipeline Value (Open) | $[amount] |
| Weighted Pipeline | $[amount] |
### Stage Funnel
Show deals by stage with average days in stage and conversion rate to next stage:
| Stage | Deals | Avg Days | Conversion to Next |
|-------|-------|----------|-------------------|
| [stage] | [n] | [days] | [%] |
### Patterns in Wins
Analyze won deals for common traits:
**ICP Profile of Winning Deals:**
- Company size range: [range]
- Industries: [list]
- Common pain points: [list with frequency]
- Decision-maker titles: [list]
- Lead source: [breakdown]
**What Worked:**
- Messaging that resonated (with transcript evidence)
- Objections we overcame and how
- Average touchpoints to close
### Patterns in Losses
Analyze lost deals for common traits:
**Why We Lose:**
| Reason | Count | % of Losses |
|--------|-------|-------------|
| [reason] | [n] | [%] |
**Where Deals Stall:**
- Stage with highest drop-off: [stage]
- Average days before going dark: [days]
**Competitor Displacement:**
| Competitor | Times Mentioned | Deals Lost To | Key Differentiator They Cited |
|-----------|----------------|---------------|-------------------------------|
| [name] | [n] | [n] | [what prospects said] |
### Zombie Deals (Immediate Action Required)
Deals that need attention right now:
| Deal | Issue | Amount | Last Activity | Recommended Action |
|------|-------|--------|---------------|--------------------|
| [name] | Stale close date | $[x] | [date] | [action] |
| [name] | Closed lost but still active | $[x] | [date] | [action] |
| [name] | No activity 60+ days | $[x] | [date] | [action] |
### Data Quality Report
| Issue | Count | Deals Affected |
|-------|-------|----------------|
| Missing close reason | [n] | [list] |
| No associated contacts | [n] | [list] |
| No notes or activity | [n] | [list] |
| Amount = $0 or blank | [n] | [list] |
### Recommendations
**ICP Refinement:**
Based on win patterns, the ideal customer profile should be refined to:
- [specific, data-backed recommendations]
**Process Improvements:**
- [specific changes to sales process with evidence]
**Pricing Adjustments:**
- [data-backed pricing observations]
**Pipeline Hygiene:**
- [specific cleanup actions needed]
**Follow-Up List:**
Deals worth re-engaging and why:
| Deal | Why Re-engage | Suggested Approach |
|------|---------------|--------------------|
| [name] | [reason from transcript/activity] | [approach] |
Rules
- Never guess. If data is missing, say so. Do not fill in blanks with assumptions.
- Use direct quotes. When citing what prospects said, pull exact quotes from Fireflies transcripts. Paraphrasing loses the signal.
- Cross-reference everything. HubSpot data alone is unreliable. Always verify against Fireflies and Apollo.
- Flag data quality issues prominently. Bad data leads to bad decisions. Surface every inconsistency.
- "Went dark" is not a root cause. Dig deeper. Why did they go dark? What was the last thing discussed? Was there a trigger?
- Separate facts from interpretation. Present the data first, then your analysis. Make it clear which is which.
- Be blunt. This is an internal tool. Do not soften bad news. If the pipeline is fiction, say so.
- Include the "so what." Every insight should connect to a specific action.
- Time-box the data pull. If a data source is unavailable or returns errors, note it and continue with what you have. Do not block the entire analysis on one failed API call.
- Save the output. Write the final report to
~/Documents/Claude/Agents/reports/win-loss-[date].md so it is preserved.
Related Skills
- founder-sales
- sales-qualification
- enterprise-sales
- pricing-strategy
- pricing-coach
1---2name: win-loss3description: Systematic win-loss analysis across all deals. Use when someone says "win-loss analysis", "why did we lose [deal]", "why did we win [deal]", "deal analysis", "analyze our pipeline", "what patterns do you see in our deals", or asks about deal outcomes, pipeline health, or sales patterns.4---56# Win-Loss Analysis78Perform rigorous, data-driven win-loss analysis by pulling from HubSpot, Fireflies, and Apollo, then cross-referencing everything before drawing conclusions.910## Execution Steps1112### Step 1: Determine Scope1314Ask the user (or infer from their request):15- **Single deal analysis** — "why did we lose Action Seating" or "analyze the [Company] deal"16- **Portfolio analysis** — "win-loss analysis", "analyze our pipeline", "what patterns do you see"1718### Step 2: Pull All Data1920Regardless of scope, gather everything first. Do NOT skip any source.2122#### 2a. HubSpot — Deal Data2324Use the HubSpot MCP tools to pull:25261. **All deals** — search for deals across all stages (won, lost, open)27 - Properties to fetch: `dealname`, `amount`, `dealstage`, `closedate`, `createdate`, `pipeline`, `hs_lastmodifieddate`, `hs_deal_stage_probability`, `closed_lost_reason`, `closed_won_reason`, `notes_last_updated`, `num_notes`, `num_associated_contacts`, `hs_analytics_source`282. **Associated contacts** for each deal — get contact names, emails, titles, company293. **Associated companies** for each deal — get company name, domain, industry, size304. **Deal notes and activity** — get notes, emails, calls, meetings logged against each deal315. **Stage history** — track how long each deal spent in each stage3233#### 2b. Fireflies — Conversation Intelligence3435Use the Fireflies MCP tools:36371. **Search transcripts** by contact email addresses from the deals382. **Get full transcripts** for every meeting associated with deal contacts393. **Get summaries** for quick scanning404. Extract from each transcript:41 - Direct quotes about pain points42 - Objections raised (pricing, timing, competition, internal resistance)43 - Competitor names mentioned44 - Pricing discussions (what was quoted, reactions)45 - Buying signals ("when can we start", "who else needs to approve")46 - Decision-maker identification47 - Next steps discussed vs. what actually happened4849#### 2c. Apollo — Company Enrichment5051Use the Apollo MCP tools:52531. **Enrich each company** associated with deals:54 - Company size (employees)55 - Industry and sub-industry56 - Annual revenue57 - Funding stage and total raised58 - Technologies used59 - Location602. **Enrich key contacts** — titles, seniority, department613. Use this to build ICP pattern analysis6263### Step 3: Internal Fact-Check Layer6465Before any analysis, run these integrity checks. Flag every issue found.6667#### Data Quality Checks6869| Check | How | Flag If |70|-------|-----|---------|71| Stale close dates | Compare `closedate` to today | Close date is in the past but deal is still open |72| Zombie deals | Check activity on closed-lost deals | Closed-lost deal has emails/calls in last 30 days |73| Ghost deals | Check `num_notes` and last activity | Deal has zero notes or no activity in 60+ days |74| Amount mismatches | Compare HubSpot `amount` to pricing discussed in Fireflies | Amount differs by more than 20% from what was quoted verbally |75| Missing contacts | Check `num_associated_contacts` | Deal has zero associated contacts |76| Stage bottlenecks | Calculate days in current stage | Deal has been in same stage for 2x the average |77| Pipeline fiction | Check deals marked "closing this month" | No activity in last 14 days on a deal closing within 30 days |7879#### Cross-Reference Checks8081- If HubSpot says "closed lost — went with competitor", search Fireflies for which competitor and why82- If HubSpot says "closed lost — pricing", check Fireflies for what price was quoted and what their reaction was83- If a deal has no close reason in HubSpot, attempt to find the reason in Fireflies transcripts84- Compare deal timeline in HubSpot stages vs. actual meeting cadence in Fireflies8586### Step 4A: Single Deal Analysis8788When analyzing a specific deal, produce this report:8990```91## Win-Loss: [Deal Name]9293### Deal Snapshot94| Field | Value |95|-------|-------|96| Company | [name] |97| Amount | $[amount] |98| Stage | [stage] |99| Created | [date] |100| Closed | [date] |101| Days in Pipeline | [n] |102| Outcome | Won / Lost / Open |103| Loss Reason (HubSpot) | [reason or "not recorded"] |104105### Company Profile (Apollo)106- Industry: [industry]107- Size: [employees]108- Revenue: [revenue]109- Funding: [stage, amount]110- ICP Fit: Strong / Moderate / Weak — [why]111112### Timeline113Map every touchpoint chronologically:114- [Date] — First contact (source: [how they came in])115- [Date] — Discovery call (Fireflies transcript available: yes/no)116- [Date] — Stage moved to [stage]117- [Date] — Demo / proposal sent118- [Date] — Last activity119- [Date] — Outcome120121### What They Said (from Fireflies transcripts)122Pull DIRECT QUOTES. Do not paraphrase. Organize by theme:123124**Pain Points:**125> "[exact quote]" — [Contact Name], [Date]126127**Objections:**128> "[exact quote]" — [Contact Name], [Date]129130**Competitor Mentions:**131> "[exact quote]" — [Contact Name], [Date]132133**Buying Signals (if any):**134> "[exact quote]" — [Contact Name], [Date]135136**Pricing Reactions:**137> "[exact quote]" — [Contact Name], [Date]138139### Pricing Analysis140- Amount in HubSpot: $[amount]141- What was discussed in calls: [details from Fireflies]142- Match: Yes / No — [explain discrepancy]143- Price sensitivity level: Low / Medium / High144145### Root Cause Analysis146Go beyond the surface. "Went dark" is not a root cause. Dig into:1471. **Primary cause** — the single biggest factor1482. **Contributing factors** — secondary issues that compounded1493. **Process failures** — what we could have done differently1504. **Timing factors** — was the timing right for them?151152### Data Quality Issues153Flag anything found in the fact-check layer for this deal.154155### Lessons156- **Repeat:** [what worked or would work again]157- **Change:** [what to do differently next time]158- **Watch for:** [early warning signs we missed]159```160161### Step 4B: Portfolio Analysis162163When analyzing all deals, produce this report:164165```166## Win-Loss Portfolio Analysis167*Analysis Date: [today's date]*168*Deals Analyzed: [n won] + [n lost] + [n open] = [total]*169170### Pipeline Metrics171| Metric | Value |172|--------|-------|173| Total Deals | [n] |174| Open Deals | [n] |175| Won | [n] |176| Lost | [n] |177| Win Rate | [%] |178| Avg Deal Size (Won) | $[amount] |179| Avg Deal Size (Lost) | $[amount] |180| Avg Sales Cycle (Won) | [days] |181| Avg Sales Cycle (Lost) | [days] |182| Pipeline Value (Open) | $[amount] |183| Weighted Pipeline | $[amount] |184185### Stage Funnel186Show deals by stage with average days in stage and conversion rate to next stage:187| Stage | Deals | Avg Days | Conversion to Next |188|-------|-------|----------|-------------------|189| [stage] | [n] | [days] | [%] |190191### Patterns in Wins192Analyze won deals for common traits:193194**ICP Profile of Winning Deals:**195- Company size range: [range]196- Industries: [list]197- Common pain points: [list with frequency]198- Decision-maker titles: [list]199- Lead source: [breakdown]200201**What Worked:**202- Messaging that resonated (with transcript evidence)203- Objections we overcame and how204- Average touchpoints to close205206### Patterns in Losses207Analyze lost deals for common traits:208209**Why We Lose:**210| Reason | Count | % of Losses |211|--------|-------|-------------|212| [reason] | [n] | [%] |213214**Where Deals Stall:**215- Stage with highest drop-off: [stage]216- Average days before going dark: [days]217218**Competitor Displacement:**219| Competitor | Times Mentioned | Deals Lost To | Key Differentiator They Cited |220|-----------|----------------|---------------|-------------------------------|221| [name] | [n] | [n] | [what prospects said] |222223### Zombie Deals (Immediate Action Required)224Deals that need attention right now:225226| Deal | Issue | Amount | Last Activity | Recommended Action |227|------|-------|--------|---------------|--------------------|228| [name] | Stale close date | $[x] | [date] | [action] |229| [name] | Closed lost but still active | $[x] | [date] | [action] |230| [name] | No activity 60+ days | $[x] | [date] | [action] |231232### Data Quality Report233| Issue | Count | Deals Affected |234|-------|-------|----------------|235| Missing close reason | [n] | [list] |236| No associated contacts | [n] | [list] |237| No notes or activity | [n] | [list] |238| Amount = $0 or blank | [n] | [list] |239240### Recommendations241242**ICP Refinement:**243Based on win patterns, the ideal customer profile should be refined to:244- [specific, data-backed recommendations]245246**Process Improvements:**247- [specific changes to sales process with evidence]248249**Pricing Adjustments:**250- [data-backed pricing observations]251252**Pipeline Hygiene:**253- [specific cleanup actions needed]254255**Follow-Up List:**256Deals worth re-engaging and why:257| Deal | Why Re-engage | Suggested Approach |258|------|---------------|--------------------|259| [name] | [reason from transcript/activity] | [approach] |260```261262## Rules2632641. **Never guess.** If data is missing, say so. Do not fill in blanks with assumptions.2652. **Use direct quotes.** When citing what prospects said, pull exact quotes from Fireflies transcripts. Paraphrasing loses the signal.2663. **Cross-reference everything.** HubSpot data alone is unreliable. Always verify against Fireflies and Apollo.2674. **Flag data quality issues prominently.** Bad data leads to bad decisions. Surface every inconsistency.2685. **"Went dark" is not a root cause.** Dig deeper. Why did they go dark? What was the last thing discussed? Was there a trigger?2696. **Separate facts from interpretation.** Present the data first, then your analysis. Make it clear which is which.2707. **Be blunt.** This is an internal tool. Do not soften bad news. If the pipeline is fiction, say so.2718. **Include the "so what."** Every insight should connect to a specific action.2729. **Time-box the data pull.** If a data source is unavailable or returns errors, note it and continue with what you have. Do not block the entire analysis on one failed API call.27310. **Save the output.** Write the final report to `~/Documents/Claude/Agents/reports/win-loss-[date].md` so it is preserved.274275## Related Skills276277- founder-sales278- sales-qualification279- enterprise-sales280- pricing-strategy281- pricing-coach