What customers said · 11 min read · Updated 21 Sep 2026

Run a Prompt to Analyse Churn Reasons, Competitor or Not

Most cancellations name no alternative, and that group is almost always the largest one in the data and the first one a summary drops. Ask a model why customers left and it will assemble the accounts that named a competitor into a story about competition, because that is the shape the question implies. These prompts report the silent group first, keep the reason code apart from what the customer wrote, and read tenure as part of the reason rather than as a field beside it.

The largest group of churn reasons names no competitor at all

Cancellation is the one moment in a customer relationship when nobody owes you an explanation. The customer has decided, the person closing the record wants it closed, and the truthful answer is frequently awkward for somebody on one side of it. So most cancellations arrive with nothing useful attached, and that group is usually the biggest one in the data.

It is also the first thing a summary loses. A ranked list of reasons is a satisfying object and a count of non-answers is not, so the silent accounts get folded into other, moved to a footnote, or excluded so the percentages add up. Every figure after that point is a percentage of the accounts that felt like explaining, presented as a percentage of the accounts that left.

Which is why the flagship prompt below reports that group prominently rather than last, and why the first thing to check in any output is its size against the raw count. If eighteen of forty accounts said nothing, then the confident top three reasons describe twenty-two accounts, and the honest version of the headline says so.

Four things a cancellation can mean, and only one is a competitive loss

They moved to a named competitor. They moved to a spreadsheet, an internal build or somebody doing it manually. They stopped doing the job at all, because the project died, the sponsor left or the budget went. Or they did not say. The second and third are outcomes no competitive review ever counts, and together they routinely outnumber the first.

What a competitive churn analysis has to be given

Three inputs, and the second one only does its job if it arrives separately from the first. Pasted together, a reason code and a customer’s own sentence read as one statement, and the most useful comparison available on this material disappears before the prompt runs.

The cancellation notes and exit survey answers, in the customer's own words

Where it comes from
Your support desk, your billing system and whatever the account manager wrote down. The wording matters more than the tidiness: a note saying they were moving to a spreadsheet and a note saying they were moving to a named vendor are different events that a reason code will usually render identically.
What good looks like
The full text per account, including the ones that say nothing useful, since an empty note is data about how the cancellation went.
Without it
You are left analysing a dropdown, and the analysis can only report back the options somebody put in it.

The structured reason code for each account, kept apart from the note

Where it comes from
The same record, in a separate column. Keeping it out of the note is the point: the two together are a comparison, and the comparison is the most useful thing your own customer records can produce on this question.
What good looks like
The code, who selected it, and when, so a disagreement with the note can be read as a moment rather than as an error.
Without it
The code is treated as the reason, and the distribution you report is a description of the picklist.

The account record: tenure, plan, seats and the last time anybody spoke to them

Where it comes from
Your billing and CRM export. Tenure in particular belongs in the same block as the note, because three months and three years describe two different failures that arrive under the same word.
What good looks like
Start date, end date, plan, seat count and the date of the last conversation, sitting in the same block as the note, because a model asked to match two lists will mismatch a few and mention nothing.
Without it
An onboarding failure and a renewal loss are counted together, and the average conceals the only thing that would tell you which to fix.
Then run it
One block per account: the record fields first, then the code, then the note, clearly separated so the model is never guessing which of the last two it is reading. Where notes are long, keep them whole rather than summarising them into the block.
Before the output leaves the building
Read the size of the unstated group first and check it against the raw count yourself, because that number is the one an output will round, footnote or move to the end. Then take every account the analysis calls a competitive loss and find the sentence naming the competitor; where there is no such sentence, the account belongs in a different group.

Keep the accounts with empty notes in the set. The temptation is to filter them out because they contribute nothing to the analysis, and filtering them out is what produces a clean output about a self-selected minority. An empty note is a measurement of how the cancellation went, and it belongs in the denominator.

Prompts to analyse churn reasons without inventing a competitor

Three prompts. The first sorts, the second audits the sorting your own systems already did, and the third breaks the result apart by how long each account lived, which is the cut that most often changes what the reasons mean.

Start here, and read the fourth group before the first three. Its size is the finding, and its size is what gets rounded away.

Here are cancellation notes and exit survey answers for [N] churned accounts: [PASTE]. Separate them into: left for a named competitor, left for an in-house or manual alternative, stopped doing the job entirely, and reason not stated. Report the size of the fourth group prominently; it is usually the largest and is routinely dropped from summaries. For those that named a competitor, give the reason in the customer's words and the account's tenure. Do not infer a competitive loss from a cancellation that names no alternative.

Run this when you want to know how much to trust the churn dashboard everyone already looks at.

Here are [N] churned accounts. Each has a structured reason code selected by whoever closed the record, and separately the free-text note or exit survey answer written at the time: [PASTE]. For each account, say whether the code and the note agree, partly agree, or disagree, and quote the part of the note you judged that on. Then report three things: how many disagree, which code they were filed under, and what the notes say instead. Do not decide which of the two is correct. Where a note is empty, put the account in its own group rather than treating the code as confirmed.

Use this before anything reaches a roadmap. The same stated reason means different things at month two and at month twenty-six.

Here are [N] churned accounts with their cancellation reasons and the date each account started and ended: [PASTE]. Group them by how long the account lived: under three months, three to twelve months, one to two years, and longer. Report the reasons separately within each band rather than across the whole set, and say which reasons appear in one band and not the others. Where a band has fewer than five accounts, say so beside it and do not rank anything inside it.

The instruction not to infer a competitive loss is doing more work than it looks like it is. Asked where churned customers went, a model produces destinations, because a question about where people went implies they went somewhere. Without that line, accounts whose note says nothing more than “not renewing this year” end up distributed across your competitor list in proportions nobody could defend.

A churn reason field measures your picklist

Almost every company has a churn dashboard, and almost every churn dashboard is a distribution of dropdown selections. The dropdown was written once, for the product as it was then, by somebody who has probably left. The selections are made by whoever closes the record, often at the end of a month, choosing the nearest available option so the record can be closed.

None of that makes the field useless. It makes it a measurement of a process rather than of customers, and the second prompt above is built to establish which. Running the code against the note for the same account, and reporting only the disagreements, tells you which codes your team applies loosely and which are solid. That is a finding about your own data quality, and it is the prerequisite for everything anybody wants to do with the dashboard afterwards.

Read tenure as part of the reason, not as a column

The same stated reason can mean opposite things. An account citing a missing capability in month two usually never got the product working, which is an onboarding failure wearing a product label; the identical sentence from an account in its third year is a judgement by somebody who knows the product properly. Reported under one heading, the two average into a roadmap item that fixes neither.

What each part of a churn record is evidence of
What you are readingWhat it actually measures
The structured reason codeWhich option the person closing the record chose from a list somebody wrote earlier.
The customer's own sentenceWhat the customer was willing to say, at the moment they were leaving, to somebody they were leaving.
A competitor named in the noteA destination the customer volunteered. Rare, and the most reliable line in the record when it appears.
An account with no noteHow the relationship ended, which is information. It is not an unknown version of the other three.
A downgrade rather than a cancellationA partial loss that no churn report contains, and often where a competitor first appears.

The last row is the one worth adding to whatever you already run. An account cutting from forty seats to eight has replaced the work of thirty-two seats with something, and nothing in a churn report will ever mention it. Those accounts are also the realistic targets for a win-back attempt, because the relationship still exists.

A prompt to analyse churn reasons reads a leaving note

There is no measured run published on this page, and the reason is the same one that makes the job worth doing. The material is your own customers describing their own companies in a bad moment, and no version of that corpus exists in public. Every other page in this library answers a question twice, with sources and without; here the second half cannot be shown to anybody, and a page that showed you a tidy set of cancellation notes would have written them.

What the analysis does have is a fixed direction of travel. It describes accounts that have already gone, and the decision behind each one was taken weeks before the cancellation arrived, often during a renewal conversation nobody logged. By the time a reason reaches a spreadsheet, the competitor named in it may have changed the thing the customer left for.

So the useful pairing is a churn reason beside a dated record of what competitors did that quarter. Three accounts leaving for the same vendor in the month after that vendor shipped something, or repriced, is a different story from three accounts leaving for them across a year, and the churn data alone cannot tell those apart.

Flares tracks competitor pricing, product and messaging changes with a date on each, so the quarter an account left can be read against what actually happened in it. Getting the customer to tell you why in the first place is still a conversation somebody has to have, and it goes better a month afterwards than on the day.

See what changed before an account left

Flares tracks competitor launches and pricing moves, so a churn reason can be read beside what happened that quarter.

Discover Flares

14-day free trial · 30-second setup

Churn reasons involving a competitor FAQ

How do you analyse churn reasons with AI?

Give it the notes rather than the dashboard. One block per account, with the free text, the reason code and the tenure kept separate, then ask for a split into named competitor, an in-house or manual alternative, stopped doing the job entirely, and no reason given. Reading a few hundred short notes consistently is exactly what a model is for, and choosing what the groups mean is not.

What should a churn reason analysis prompt ask for?

The size of the silent group, first and prominently. Every other output on this job is easy to produce and easy to over-read, and the number of accounts that left without telling you anything is the one figure that sets how much weight the rest can carry. A summary that opens with the top three reasons has already made the strongest claim in the document without stating it.

Can AI tell you which competitor a churned customer went to?

Only where the customer said so, and the instruction has to forbid the alternative explicitly. Asked where churned accounts went, a model will infer destinations from context, from your category, and from what usually happens, and it will write those inferences in the same register as the ones somebody actually stated. Requiring a quoted sentence for every named competitor is the whole defence.

Why is the biggest churn reason usually no reason at all?

Because a cancellation is a moment when nobody owes you an explanation. The customer is leaving, the person closing the record wants it closed, and the honest answer is often embarrassing for somebody on one side or the other. Silence is therefore the default rather than an exception, and treating the accounts that did explain as a representative sample of the ones that left is the single most common error in this analysis.

Is a cancellation always a competitive loss?

No, and treating it as one inflates every competitive number you report. An account can leave because the sponsor changed job, because the budget went, because the problem stopped mattering, or because somebody decided a spreadsheet was enough. Doing nothing is a genuine alternative and it wins constantly, which is the same point a defensible competitor list has to account for and almost never does.

Should you use the CRM churn reason field or the free-text note?

Both, and separately, because the comparison is worth more than either. A reason code is chosen by whoever closed the record, often quickly, from a list somebody wrote two years ago for a different product. The note is what the customer said. Where they disagree you learn something about your own process, and the codes that disagree most often are the ones to redefine.

How does account tenure change what a churn reason means?

It usually changes what the reason is evidence of. An account leaving in month two after citing a missing capability probably never got the product working, which is an onboarding problem wearing a product label. The same sentence from an account in its third year is a considered judgement by somebody who knows the product well. Reporting both under one heading is how a roadmap ends up solving the wrong problem.

What is the difference between churn and a downgrade?

A downgrade is a partial loss that never appears in a churn report, and in competitive terms it is often the more informative event. An account cutting from forty seats to eight has usually replaced the work of thirty-two seats with something, and what it replaced them with is the question. Reading downgrades alongside cancellations is a better picture of a competitor taking your customers than either list alone.

How many cancellations do you need before the reasons mean anything?

Enough per group rather than enough in total, which is a stricter test than it first sounds. Forty cancellations split four ways, with a quarter of them silent, leaves groups of five or six, and a ranked list inside a group of five is noise dressed as analysis. Make the prompt report group sizes and refuse to rank inside small ones, rather than trusting a reader to notice.

What can churn data never tell you?

What the customers who stayed were thinking. Churn analysis reads only the accounts that left, so every finding it produces is conditioned on leaving, and the same complaint may be just as common among your happiest customers. Anything a churn analysis suggests about the product is a hypothesis to test against the accounts that renewed, not a conclusion.

How do churn reasons feed a win-back attempt?

By telling you which accounts are worth approaching and when. An account that left for a named competitor is approachable once that competitor changes something material or once the contract comes round. One that left because the problem stopped mattering is not approachable at all, and the win-back rate a team reports will mostly be a function of which of those two they spend their time on.

Should you ask a churning customer where they are going?

Yes, and later than most teams do. Asked during the cancellation the answer is shaped by wanting the conversation to end, and asked a month afterwards by somebody with nothing to sell it is frequently candid. The second conversation is also the one that produces the sentence about what the alternative does better, which is the part worth quoting rather than coding.

How often should churn reasons be re-analysed?

On the same rhythm as the renewals that produce them, which for most teams means quarterly, and with the previous analysis open beside it. A reason moving between quarters matters more than its rank in either one, and that comparison only survives if the groups stayed the same, which is an argument for fixing the four buckets once and leaving them alone.

Watch the competitors your churned accounts name

Flares follows competitor pricing, product and messaging changes, and dates each one it finds.

Discover Flares

14-day free trial · 30-second setup