ANSWER

How to Detect Churn Risk From What Customers Say in Tickets and Calls

Customers rarely say “churn.” They say “this is the third time I’ve asked about this.”

Try Rippit FreeRequest Demo
You can detect churn risk from conversations by tagging every ticket and call for five signal families, scoring each for severity and persistence, and flagging accounts where an unresolved signal keeps coming back. Customers rarely say “churn.” They say “this is the third time I’ve asked about this.” With Rippit, anyone can build an AI agent that flags churn risk and expansion signals from what customers say in tickets, chats and calls.
Churn risk isn’t a sentiment problem. It’s a pattern-recognition problem.

Key takeaways

  • Five signal families cover most churn language.
  • One angry, resolved ticket is noise. The same unresolved problem raised three times is a pattern.
  • Score severity and persistence, then calibrate the threshold against your own renewals and churn.
  • If a signal appears in 2% of conversations and you review 2%, you see about 1 in 50 of them.

What churn signals should you look for in customer conversations?

Start with five signal families.

They aren’t keyword searches: “cancel” might mean a duplicate order.

Five churn signal families in customer conversations
Signal familyWhat it might sound likeWhy it matters
Repeated unresolved friction“This is the third ticket,” “We’re still having the same issue”The problem persists despite repeated fixes
Escalation / executive involvement“I’m looping in our VP,” “Can someone senior call me?”The issue is moving beyond the day-to-day user
Alternative evaluation“We’re looking at other options,” “Another vendor supports this”The customer is considering a different solution
Value / commercial pressure“What are we paying for?” “We aren’t using enough of this”The customer is questioning the economics
Relationship disruption“I’m leaving the company,” “Sam will own this now”An internal advocate may be changing

How do you tell frustration from churn risk?

Separate severity (how consequential is the signal?), persistence (is it recurring?) and resolution (was the problem actually fixed?).

An angry customer whose ticket is fixed in 15 minutes is fine. A polite one who reports the same integration failure three times in a month, then says “we’re reviewing alternatives before renewal,” deserves the attention.

How do you score churn risk without drowning CSMs in alerts?

Use a starting rubric, then calibrate it.

Score each signal family 0–3 on severity and 0–3 on persistence, and take the highest of each for the account.

Starting churn-risk rubric: severity and persistence, scored 0–3
ScoreSeverity (per conversation)Persistence (per account, trailing 60 days)
0Signal absentSeen once, resolved
1Present, mild, resolved in-conversationSeen twice, resolved each time
2Present, unresolved at closeSeen 3+ times, or twice unresolved
3Unresolved, with authority or competitor languageSeen 3+ times unresolved across 3+ weeks

Account risk = highest severity × highest persistence. As a starting point, 6 or above is a flag; below 4 goes on a watchlist and decays to zero after 60 quiet days, so one bad Tuesday doesn’t haunt an account for a year.

These numbers aren’t universal. Look back at the conversations of accounts that churned and accounts that renewed, and adjust until the flags separate the two. AI can find the signals. Your data should determine which signals actually matter.

What does a churn pattern look like over time?

Take a hypothetical account. Day 1: a data sync fails and is resolved (severity 1). Day 12: it fails again, “This is the second time and it cost us a reporting cycle” (severity 2). Day 21: the user’s manager asks for a remediation plan and says the team is “looking at what else is out there” (severity 3).

No single conversation is alarming; the sequence is. Three conversations score severity 3 and persistence 2, so the account scores 6 and is flagged. Illustrative example; numbers are not real data.

No single conversation tells the story. The sequence does. Three occurrences, two unresolved, is persistence 2, so the account scores 3 × 2 = 6 and is flagged. That’s more useful than “Sentiment: Negative.”

Why should you analyze every conversation, not a sample?

Because churn signals are sparse.

If a signal appears in 2% of conversations and you randomly review 2%, you see one signal per 2,500 conversations, while 49 of the 50 that contain it go unread. Klaviyo had been reviewing under 2% of its customer incidents before Rippit (Klaviyo story).

Use samples to validate the analysis. Use the full dataset to measure the business. Humans check that your signal definitions work; the validated definitions then run across every relevant conversation (why Rippit reads 100% of conversations).

What should happen after a churn signal is detected?

The right first move depends on the signal.

The first question to ask for each churn signal
SignalUseful first question
Repeated unresolved frictionHas the underlying problem actually been fixed?
Executive escalationWho internally should own the response?
Alternative evaluationWhat problem is the customer trying to solve with an alternative?
Value / commercial pressureWhat value does the customer believe they’re not receiving?
Relationship disruptionWho owns the relationship now, and do they understand the value delivered?

A CSM shouldn’t receive “Acme Corp—Churn Risk: 87.” They should receive “Acme has raised the same data-sync problem three times in 21 days; a manager joined and mentioned alternatives,” with the conversations behind it.

A flag a CSM can act on names the pattern, the signals and the conversations behind it, plus the first question to ask. Illustrative example; numbers are not real data.
A flag without evidence is just another score.

How does Rippit detect churn signals?

Rippit treats churn detection as one analysis on the same conversation data used for insights, QA and AI-agent monitoring (how it works). Connect your customer conversation hubs to Rippit in one click—including Zendesk, Intercom, Gong and more—and define the signal in natural language: “Identify conversations where a customer describes a recurring unresolved product problem. Through MCP, the agent can also read, write and update data across your broader stack, including Salesforce, HubSpot, Slack, Notion, Guru, Jira, Snowflake, and more. Do not flag a single resolved incident.” Each result becomes structured fields (signal family, severity, resolved, account, date, evidence). An agent rolls them up by account and delivers flagged accounts on a schedule, or you ask Claude or ChatGPT through Rippit’s hosted MCP server.

SpotOn found early risk signals in churned accounts’ conversations, then applied them across all conversations (SpotOn story). More in the guide to conversation analytics.

Comparing tools for this? See how Rippit stacks up against Gong on sales calls, Qualtrics on surveys and CSAT, and Zendesk on support conversations.

FAQ: detecting churn risk from customer conversations

Can support conversations actually predict churn?

Treat them as evidence, not a guaranteed prediction: a customer can show every risk signal and still renew. Backtest the signals against your actual renewal and churn outcomes.

How far before churn do these signals appear?

There isn’t a universal answer; it depends on your business model, renewal cycle and signal type. Measure when signals first appeared before each churn event to get a lead-time distribution for your business.

How is this different from a customer health score?

Logins, seats and feature adoption show what the account is doing; conversations show what the customer is saying. An account can keep heavy usage while building a case to replace you. Behavior tells you what changed. Conversations can help explain why.

Won’t this flag every frustrated customer?

It shouldn’t. Detecting negative sentiment will. Checking whether the issue was resolved, has recurred, or has drawn in someone senior detects patterns, not just emotion.

Do you need a data team to do this?

Not necessarily. With Rippit, business users define analyses in natural language, but your business experts still need to define what matters.

Where conversations become

insights

actionable data

business intelligence

enterprise visibility

insights

I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times
Peloton
legal zoom