Closed-Lost Reasons in HubSpot: A Picklist That Actually Produces Win Rate by Competitor

A free-text closed-lost field cannot produce a win rate by competitor. A short, required picklist can. Here is the exact picklist, the competitor property, and the formula.

Stay informed

Weekly competitive-intelligence briefing, cited, no fluff.

A free-text closed-lost field cannot be reported on

HubSpot ships a free-text closed-lost reason field by default, and most teams never change it. The problem shows up the first time someone tries to build a win rate by competitor report: the field holds dozens of near-duplicate phrasings of the same handful of reasons, typed in a hurry by a rep moving on to the next deal. “Price”, “too expensive”, “budget” and “cost” are the same reason, but a report cannot group them without someone manually cleaning the data first.

The fix is not more discipline from reps. It is a fixed, short list of values a rep can pick in a few seconds, with a required note only on the catch-all option.

The recommended closed-lost reason picklist

Ten values, each with a one-line definition so two reps pick the same reason for the same situation. Copy this into a single-select HubSpot deal property.

Copy-ready battlecard template: ungated, no email wallDownload .txt
HUBSPOT CLOSED-LOST REASON PICKLIST (single-select deal property)

  Price: buyer chose a cheaper option or had no budget approved
  Lost to competitor: a named competitor was chosen; pair with the competitor property
  Missing feature: a specific capability we do not have was required
  Timing: the project was paused, delayed or deprioritised, not abandoned
  No decision / went dark: buyer stopped responding with no stated reason
  Poor fit: the buyer was never a good match for the product (log this honestly)
  Procurement / security: failed a security review, legal or procurement gate
  Internal build: buyer chose to build the capability in-house
  Champion left: the internal champion changed role or left the company
  Other: [REQUIRED free-text note explaining what happened]

RULES
  - "Other" is only valid with a required note. An "Other" with no note is a
    data-quality failure, treat it the same as a missing reason.
  - "Lost to competitor" requires the competitor property to be filled in.
  - Make both this field and the competitor property required at the
    Closed Lost stage so a deal cannot close without them.

Add a competitor property, not a competitor note

The second property that makes win rate by competitor possible is a single-select “Competitor” field, listing the named rivals you actually face. Free text here has the same problem as free-text reasons: “Acme”, “Acme Inc” and “Acme (think)” will not group together in a report. A fixed list also surfaces, by omission, when a new competitor needs adding.

Make both fields required at Closed Lost

A picklist only works if it is actually filled in. In your pipeline settings, set required properties on a stage so a deal cannot move into Closed Lost without a reason and, when relevant, a competitor selected. This is what turns the picklist from a nice-to-have into a field that is actually populated on every lost deal.

How to compute win rate by competitor

For each competitor: wins ÷ (wins + losses), counted only over closed deals where that competitor was present (the competitor property is set, whether the deal was won or lost). A competitor that appears in 20 closed deals, winning 8 and losing 12, has a 40% win rate against them.

Decide upfront how to treat no-decision deals. Most teams exclude them from the win rate calculation entirely and report them as a separate category, since a deal that never closed was not actually lost to the competitor; it just stopped moving.

Data-quality checks worth running monthly

Share of closed deals with no competitor set
If this is high, win rate by competitor is understating real competitive pressure. Chase it down by stage-level required fields, not a one-off cleanup.

Share of closed-lost deals with no reason, or "Other" with no note
Either number creeping up means the required-field setting has drifted or a specific rep or team is bypassing it. Check this before trusting any reason-based report for the period.

Doing this automatically, every night

The IndustryLens HubSpot win/loss sync reads these two properties nightly and turns them into counts, top lost reasons and a win rate by competitor, without a dashboard to maintain. It is read-only and never reads deal amounts, deal names, owners or descriptions. By default it stores counts plus top lost reasons and up to 5 scrubbed sample comments per competitor; counts-only mode stores no reason text at all. See the full IndustryLens HubSpot app for setup, and the interview question bank for the qualitative half of the picture.

Common questions

Why does a free-text closed-lost field fail in HubSpot?

A free-text field gets filled in quickly, after the deal is already lost, by the person with the least time and the least incentive to be precise. The result is dozens of near-duplicate phrasings of "price" and "went quiet" that cannot be grouped or reported on. A single-select picklist with a fixed, small set of values is the only format that can be aggregated into a real win rate report.

What closed-lost reasons should I use?

A short list of 8 to 10 values covering the real patterns: price, lost to a named competitor, a missing feature, timing, no decision, poor fit, procurement or security, internal build, champion left, and an "Other" that requires a note. Keep the list short enough that a rep can pick the right one in a few seconds, or they will default to the first option every time.

Should the competitor field be free text or a picklist?

A single-select picklist of named competitors, not free text. Free text produces "Acme", "acme inc", "Acme Corp" and "Acme (I think)" as four different values, which makes win rate by competitor impossible to compute without manual cleanup. A fixed list also makes it obvious when a new competitor needs to be added.

How do I calculate win rate by competitor in HubSpot?

For each competitor, take closed deals where that competitor was present: wins divided by wins plus losses against that competitor. Decide upfront how no-decision deals are handled: most teams exclude them from the win rate calculation and report them separately, since a deal that never closes was not actually lost to the competitor.

How do I make these fields required at Closed Lost?

In your pipeline settings, HubSpot lets you require specific deal properties before a deal can move into a given stage. Set both the closed-lost reason and the competitor property as required on entry to the Closed Lost stage, so a rep cannot close the deal without filling them in.

Want the qualitative half too?

We run win/loss interviews for you: £350 per completed interview, minimum 6 per round.