codel
← Back to the index

INT-13 · SEC. 09 Competitive Intelligence

Win/Loss Signal Synthesis

Turn scattered G2, Reddit, and churn-survey quotes into a ranked list of why you actually lose deals.

FORMAT
workflow
DIFFICULTY
advanced
TIME
15 min
TOOLS
universal
MODELS
any
COPIES
0 so far

When to use this

You have a pile of unstructured feedback - review site quotes, Reddit threads, lost-deal notes, churn survey responses - and need the real, recurring reasons you lose to a competitor, not the one loud anecdote everyone remembers from the last QBR.

The pattern

Pastes as plain text
This is a synthesis of raw win/loss signal about my product and the competitor we lose to: review quotes, Reddit thread excerpts, churn survey answers, and lost-deal call notes, with the source labeled on each quote.

From this raw signal:
1. Cluster the complaints and comparisons into themes (e.g. price, missing feature, support quality, ease of setup, performance). Do not invent themes with no supporting quote.
2. For each theme, count how many distinct reviews, respondents, or deal
   records mention it, plus the source types represented. Do not treat labels
   such as "G2" or "Reddit" as independent sources when several quotes come
   from the same underlying record. Quote the single clearest example.
3. Separate "why we lose deals" (things said before or during a purchase decision) from "why customers churn" (things said after they were already using the product) - these are different problems even if they sound similar.
4. Rank themes by frequency, not by how dramatic the quote sounds.
5. For the top 3 themes, write one sentence on whether this is a real product gap, a perception/messaging gap, or a sales-process gap, and say what evidence in the raw signal supports that call.

If a theme has only one independent review, respondent, or deal record behind
it, label it "single signal, not a pattern" instead of ranking it. Report the
total sample size and source mix before drawing conclusions.

Before you do anything, ask me in one message and wait: (1) my product, (2) the competitor we lose to, (3) the raw signal, pasted in with each quote's source labeled (e.g. "G2 review, 2-star:", "Reddit:", "Churn survey:").

Real example output

Themes found (12 independent review, survey, or deal records; source mix: G2, Reddit, churn survey):

1. Onboarding time (5 records across G2, Reddit, and churn survey) - why we lose: buyers compare setup time during trial and pick the faster one. Clearest quote: G2 review, 2-star: "Took us three weeks to get the first integration live, competitor had us running in a day." Classification: product-gap hypothesis - setup friction is named directly, but the sample is still limited.

2. Price at scale (4 records across G2 and churn survey) - why customers churn: mentioned mostly by existing customers hitting usage limits, not prospects comparing options. Clearest quote: Churn survey: "Costs tripled once we passed 50 seats, no warning." Classification: perception/messaging hypothesis - validate the pricing-page explanation before treating surprise, rather than price, as the root cause.

3. Missing native chat-tool integration (3 quotes, Reddit + G2) - why we lose: named as the deciding factor in 2 of 3 quotes. Classification: real product gap.

Single signal, not a pattern: "Support team was rude" (1 churn survey response) - not ranked.

Why it works

Separating pre-purchase loss reasons from post-purchase churn reasons stops two different problems from getting averaged into one vague "we lose on X" conclusion. Requiring a source count per theme keeps one dramatic quote from outweighing a real pattern, and the single-signal label prevents outliers from getting treated as findings.

Related patterns

Entry INT-13 · by codel · 2026-07-09 · CC-BY-4.0