Back to Blog
Case StudyJune 24, 202612 min readBy Zeynep Yorulmaz

How a B2B SaaS Team Catches Churn Risk 3 Weeks Before the Cancellation Email

A B2B SaaS team fused Amplitude, Zendesk, and Stripe data with AI agents to score 940 accounts daily, surface real churn signals 3 weeks early, and save 41% of flagged accounts.

Share:

How a B2B SaaS Team Catches Churn Risk 3 Weeks Before the Cancellation Email

The data was already there — in Amplitude, Zendesk, and Stripe. Nobody had time to read all three for every account. So they hired AI agents to do it.


A B2B SaaS company used AI agents to fuse its product, support, and billing data and re-score every account for churn risk each morning. The result: 3 weeks of average lead time before a cancellation request, and 41% of flagged at-risk accounts saved through earlier, more specific outreach.

Key takeaways

  • The obvious signal wasn't the real one. The team assumed billing problems (failed payments) were the leading churn predictor. The data said otherwise: most accounts with a failed payment recovered fine if usage stayed healthy.
  • The real predictor was a combination. A drop in weekly active seats of more than 25% plus at least one unresolved support ticket older than 5 days — together — preceded most churn. Neither signal alone was enough.
  • Lead time went from effectively zero to 3 weeks. Instead of learning about risk when a cancellation email arrived, the customer success team now sees it forming weeks ahead.
  • Specific beats generic. Alerts that name the exact signal ("active seats down 31%") get acted on. A vague "time to check in" reminder gets buried under workload.
  • The model keeps learning. Every flagged account's outcome — saved, churned anyway, or false alarm — feeds back in, so the risk pattern sharpens as the product and customer base change.

What was the actual problem — too little data, or too much?

Too much, scattered too widely. This is the trap most B2B SaaS teams fall into.

The company had three rich sources of truth about every customer:

  • Product usage in Amplitude — who's logging in, how many seats are active, which features get touched.
  • Support tickets in Zendesk — what's broken, how fast it got resolved, how frustrated the customer sounds.
  • Billing history in Stripe — payments, failed charges, plan changes, contraction.

Each tool was healthy on its own. The problem was the space between them. No single person had time to manually cross-reference all three for every account, every week. A CSM — customer success manager, the person who owns the relationship after the sale — manages dozens of accounts. Reading three dashboards per account, per week, simply doesn't fit in a day.

So in practice, risk only got noticed when something dramatic happened: a support escalation blew up, a payment failed loudly, or a champion left the company and the new contact went cold. Those are the loud failures. They're also the late ones.

The expensive kind of churn was the quiet kind. Usage drifting down a little each week. No fire, no escalation, no failed payment — just slow fade. By the time anyone noticed, the customer had already mentally checked out, and the first signal the team got was the cancellation request itself. At that point you're not preventing churn. You're negotiating with someone who's already decided.

How do you find which signals actually predict churn?

You stop guessing and let the data say. That was the setup.

Think of an AI agent here as a tireless customer success analyst — one that can read every account's full history across Amplitude, Zendesk, and Stripe at once, every day, and never gets tired or skips the boring accounts. That's the role Mindra was hired to play. Mindra lets a team stand up a whole department of AI agents with plain-sentence instructions — coworkers that connect to your tools, read your data, take actions, run on a schedule, and remember what they've seen. No engineers required.

The team connected all three sources — Amplitude, Zendesk, Stripe — and started with a question instead of a dashboard. The first prompt was simple:

"Look at every account that churned in the last 12 months. Find the patterns in usage, support, and billing data in the 60 days before they cancelled."

What came back reframed the whole problem.

What did the data reveal that intuition missed?

The strongest predictor of churn wasn't any single metric. It was a specific combination: a drop in weekly active seats of more than 25%, combined with at least one unresolved support ticket older than 5 days — regardless of billing status.

And the surprise: billing issues alone, which the team had assumed were the leading warning sign, turned out to be a weak predictor. Most accounts that hit a failed payment recovered fine, as long as their usage was otherwise healthy. A failed card is often just a failed card.

This is the kind of insight intuition rarely surfaces on its own, because the human brain anchors on the dramatic, recent event (the failed payment you had to chase) and underweights the quiet drift (seats slipping while nobody watched).

Signal the team assumed matteredWhat the data actually showed
Failed payment / billing troubleWeak predictor on its own — most recovered if usage was healthy
A single angry support ticketNot predictive alone; matters only alongside usage decline
Champion leavingA loud, late signal — useful, but rare and usually too late
Low overall login countLess predictive than the direction of change in active seats
Active seats down >25% + ticket unresolved >5 daysStrongest combined predictor of churn in the next 60 days

The lesson: health isn't one number. It's a pattern across systems that don't normally talk to each other.

What did the team actually build?

Once Mindra had identified the real pattern, the same agents put it to work. Four things got built — all running on their own schedule, all using the fused data.

1. A daily risk score. Every account is re-scored each morning against the usage-plus-support pattern Mindra found. The score, and the specific factors driving it, post to one shared dashboard the CS team reads with their coffee — instead of reactively bouncing between three separate tools and hoping something jumps out.

2. An early-warning Slack alert. When an account crosses the risk threshold, its assigned CSM gets pinged directly, with the exact signal that triggered the flag:

⚠️ Risk flag — Northwind account Active seats down 31% over 3 weeks. 1 open support ticket at day 7 (unresolved). Suggested action: reach out referencing the open ticket and the seat drop, not a generic check-in.

That specificity is the whole point. The first outreach references something real, so it reads as "we noticed your team's usage shifted" rather than "just touching base."

3. A renewal-risk briefing. Thirty days before any contract renewal, Mindra compiles the full account history — usage trend, support sentiment, expansion or contraction signals — into a briefing for the CSM and the sales rep. No more scrambling to piece together the picture the night before the renewal call. The picture is already assembled, in context, on time.

4. A save-rate tracker. Every flagged account's eventual outcome gets recorded — saved, churned anyway, or false alarm — and fed back into the model. The pattern keeps tightening as the customer base and product evolve. The system that catches churn also grades its own work.

Why did this work when manual tracking didn't?

Three reasons, and none of them are "the AI is smart." They're about workflow.

It found the real predictor, not the obvious one. The team's prior belief — billing problems lead to churn — was wrong, or at least weak. Acting on a wrong belief means chasing the wrong accounts. Mindra surfaced the usage-and-support combination that actually mattered, which no amount of intuition was going to reveal because the data lived in two different tools nobody read together.

It gave CSMs a reason to reach out, not just a reminder to. This is subtle but decisive. A reminder to "check in on this account" competes with forty other tasks and loses. A specific, data-backed reason — "their seats dropped 31% and they have a week-old open ticket" — gets acted on, because the CSM already knows what to say. The friction of figuring out why this account, why now is gone.

It kept learning from outcomes. A static rule decays. The product ships new features, the customer mix shifts, the meaning of a signal drifts. Because every flag's outcome is tracked and fed back, the model adjusts instead of going stale.

What does the scoreboard look like?

MetricResult
Accounts scored daily940, across usage, support, and billing signals
Average lead time on churn risk3 weeks before cancellation — up from effectively zero
Flagged at-risk accounts retained41%, through proactive CSM outreach
Tools the team checks each morning1 unified risk dashboard, replacing three disconnected ones

The number that matters most is the lead time. Going from zero warning to three weeks isn't an incremental gain — it's the difference between preventing churn and processing it.

What's next for the system?

The same fused data that catches risk can catch opportunity. The team is now extending the model to flag expansion signals: accounts showing rising usage alongside seat-limit pressure get surfaced to sales as upsell candidates.

It's the same infrastructure, pointed the other direction. The agents already read usage, support, and billing together for every account — so asking "who's about to outgrow their plan?" is the same question as "who's about to leave?", just with the signs reversed. Risk detection and growth detection turn out to be the same muscle.

Frequently asked questions

How do you predict SaaS churn before it happens? You combine signals from the systems that already hold the evidence — product usage, support tickets, and billing — and look for the combinations that preceded past churn, not any single metric. In this case, the predictive pattern was active seats dropping more than 25% together with an unresolved support ticket older than 5 days. An AI agent re-scores every account against that pattern daily, surfacing risk weeks before a cancellation request arrives.

What signals predict customer churn? Often not the ones teams assume. This company expected billing problems (failed payments) to be the top signal; in their data, failed payments were a weak predictor on their own, because most accounts recovered if usage stayed healthy. The real predictor was a combination: a sharp drop in weekly active seats plus a stale, unresolved support ticket. The direction of usage change mattered more than the absolute number.

How can AI build a churn early-warning system? Connect your data sources (here: Amplitude, Zendesk, Stripe), ask the AI to find the patterns that preceded historical churn, then have it re-score every account on a schedule and alert the right person when an account crosses the threshold. With Mindra, you set this up in plain language and the agents handle the cross-referencing, scoring, alerting, and follow-up tracking — no engineering work to wire it together.

How do you combine product, support, and billing data to score account health? Account health isn't one number — it's a pattern across systems that don't normally talk. The approach: pull usage trend (product), open and aging ticket status (support), and payment and plan changes (billing) into a single daily score per account, with the driving factors shown alongside it. Crucially, you validate which combinations actually predicted past churn rather than weighting signals by gut feel, then let outcomes refine the weights over time.

What's a good churn early-warning lead time? Any lead time beats reacting to a cancellation email. This team went from effectively zero warning to a 3-week average — enough runway for a CSM to make meaningful, specific contact before the customer has decided to leave. The goal isn't perfect prediction; it's enough time to act.

Why do generic "check-in" reminders fail to prevent churn? Because they create work without context. A reminder to "check in" competes with every other task and usually loses, and even when acted on, the CSM still has to figure out why this account matters. A data-backed alert that names the exact signal removes that friction — the CSM knows who to contact, why, and what to reference, so the outreach actually happens and lands.

Where Mindra fits

Your churn signals are probably already sitting in your tools. The gap isn't data — it's the time to read all of it, for every account, every day. That's exactly the work AI agents are built for.

With Mindra, you describe the job in a sentence and get a team of agents that connect to your 3,000+ tools, read your data, score and alert on a schedule, and keep a memory of what worked. Human-in-the-loop approvals, a full audit trail, RBAC, SSO, SOC 2 Type II and GDPR compliance, and Zero Data Retention come standard — and it's model-agnostic, so you're never locked to one provider. No engineers required.

See more in our case studies, including how a food delivery platform coordinated 3,000 restaurant partners with AI agents and how a fintech team cut first-response time from 6 hours to 4 minutes.

Ready to catch churn before the cancellation email? Book a demo.

Zeynep Yorulmaz

Zeynep Yorulmaz

CEO of Mindra

Zeynep Yorulmaz is the Co-Founder & CEO of Mindra, building the platform that lets any team hire a whole department of AI agents with a single prompt.

Stay Updated

Get the latest articles on AI orchestration, multi-agent systems, and automation delivered to your inbox.

Mindra field guide

Read next

Related Articles

Case Study

How a Mobile Game Studio Turned Competitor Ad Research Into a Live Daily Feed

A 50-person mobile game studio replaced a part-time, hit-or-miss research habit with an AI agent that watches 20+ competitors across four ad networks and delivers a tagged digest every morning.

14 minRead
Case Study

How a Food Delivery Platform Runs Ops for 3,000+ Restaurant Partners With AI Agents

A national food delivery platform used AI agents to flag failing restaurant partners two weeks early, catch a leaked coupon code in week one, and triage urgent support tickets in minutes.

12 minRead
Case Study

How a Fintech Cut First-Response Time From 6 Hours to 4 Minutes — Without Lowering the Compliance Bar

A five-person support team was buried in tickets mixing routine questions with sensitive ones. By building an AI support agent around guardrails first, this fintech hit 4-minute first responses and zero compliance violations.

13 minRead
Case Study

How a One-Person Consultancy Built a Full CRM Out of AI Agents — and Never Let a Lead Go Cold

An independent B2B operations consultant replaced his messy spreadsheet and willpower-driven follow-ups with a CRM made of AI agents — sourcing, scoring, and nurturing 340+ leads into 6 new client engagements in 5 weeks.

12 minRead
Case Study

How a Mobile App Kills Losing Ad Campaigns Before They Finish Their First Day

A mobile subscription app used Mindra to predict which ad campaigns would miss CPI in the first 24 hours, auto-pausing waste and cutting losing ad spend 22%.

12 minRead
Case Study

How a Two-Person HR Team Runs Onboarding, Policy, and Compliance for 150 People With AI Agents

A two-person HR team supporting 150 employees stopped answering the same PTO and policy questions all day. Here is how they put AI agents to work on the routine and kept judgment human.

11 minRead