How it works
ChurnHalt connects to your Stripe account with read-only access, analyses your subscription history to build a churn profile, then scores every active subscriber for cancellation risk. Here's exactly how each step works.
When you connect your Stripe account, we pull two types of data: subscriptions and invoices. That's it. We don't touch customers, products, payment methods, or anything else.
For every subscription (active, cancelled, past due, trialling), we store:
For every invoice tied to a subscription, we store:
No customer PII is stored during sync
Customer names and emails are only fetched on-demand when you view an individual subscriber. They're never stored in bulk or used in analysis.
ChurnHalt uses a Stripe restricted API key, not a full-access key or OAuth connection. You create this key yourself in your Stripe dashboard with exactly four permissions:
Customers
Read only
Subscriptions
Read only
Invoices
Read only
Charges
Read only
Everything else in Stripe — payment methods, refunds, transfers, products, pricing, webhooks — is set to "None". The key physically cannot create, update, or delete anything.
Before we accept a key, we verify it's restricted and that it only has read permissions. If someone accidentally pastes a secret key (sk_live_), we reject it and explain why.
Your key is encrypted at rest using AES-256. You can revoke it at any time from your Stripe dashboard — no need to contact us. Once revoked, all syncs stop immediately.
Once your data is synced, ChurnHalt analyses every cancelled subscription to build a statistical profile of your churn patterns. This isn't generic benchmarking — it's specific to your business.
The churn profile answers the questions most SaaS founders are guessing at:
The profile is rebuilt after every sync, so it always reflects your current data. As your business evolves, the analysis stays up to date automatically.
Every active monthly subscriber is scored on a scale of 0–100 based on how closely they match the patterns of customers who've already churned. The score is a weighted combination of six signals:
Is this subscriber approaching the month where your average customer cancels? If your typical churn happens at month 4, a subscriber at month 3.5 scores high here.
Has this subscriber had failed payments — especially within the first 60 days? Early payment failures are a strong predictor of cancellation.
Is this subscriber on a plan that has an above-average churn rate? If your Starter plan loses 34% of customers while Pro loses 18%, Starter subscribers score higher.
Did this subscriber sign up with a discount code? If couponed customers churn at a higher rate in your data, this adds to the score.
Has this subscriber previously downgraded their plan? Downgrades often precede full cancellation.
Is this subscriber currently past due on a payment? A direct signal that the subscription is at risk.
The combined score maps to three risk levels, each with specific recommended actions:
Personal check-in recommended. Reach out directly — a founder email about payment issues or an offer to switch to annual billing can make the difference.
Feature nudge email. These subscribers may not be getting full value from the product. A targeted email highlighting underused features can re-engage them.
Leave alone. These subscribers are healthy. Don't discount them unnecessarily or overload them with retention emails — that can actually increase churn.
Each flagged subscriber also gets a list of specific risk factors (e.g., "At 4.2 months — your average churned customer leaves at 4.2 months") so you know exactly why they scored the way they did.
ChurnHalt doesn't just analyse a snapshot and walk away. Your data is synced automatically every day to keep your churn profile and risk scores current.
Pull latest data
We fetch all subscriptions and invoices from Stripe, including any new signups, cancellations, or status changes since the last sync.
Update subscription records
New subscriptions are added, and existing records are updated with current statuses, tenure calculations, and payment histories.
Rebuild churn profile
The churn analysis runs again with the latest data — recalculating churn rates, plan breakdowns, correlations, and trends.
Re-score active subscribers
Every active monthly subscriber is scored against the updated churn profile. Risk levels may change as new data comes in.
Take a snapshot
A time-series snapshot captures your current active count, churn rate, MRR, revenue at risk, and risk distribution — building the trend data you see on your dashboard.
Alert on changes
If a subscriber's risk level changes (e.g., medium to high), you'll know about it so you can take action.
You can also trigger a manual sync at any time from your dashboard. The entire process typically completes in under a minute, depending on the size of your subscription base.
Sort subscribers by risk score and focus your time on the ones most likely to cancel. Each flagged subscriber comes with a specific recommendation.
Discover that your Starter plan churns twice as fast as Pro, or that couponed signups are 2x more likely to cancel. These insights change how you price and market.
Daily snapshots build a trend line so you can see whether churn is improving or worsening over time — and correlate changes with product releases or pricing experiments.
Download your subscriber list with risk scores as a CSV. Use it in your email tool, CRM, or spreadsheet — however you prefer to work.
No. The restricted API key you create has read-only permissions. ChurnHalt physically cannot create, update, or delete anything in your Stripe account.
Delete the restricted key from your Stripe dashboard (Developers > API keys). Access is revoked instantly — no need to contact us.
ChurnHalt syncs all subscription types, but risk scoring currently focuses on monthly subscribers. Annual subscribers are included in churn profile calculations but aren't individually scored.
Usually under a minute. For accounts with thousands of subscriptions, it may take a few minutes. You'll see your churn profile and risk scores as soon as it's done.
Syncs will stop, and you'll be prompted to reconnect. Your existing data and analysis remain available until you reconnect or delete your account.
Explore our free tools and guides to understand your churn better:
Connect your Stripe account in 30 seconds. ChurnHalt builds your churn profile and flags at-risk subscribers — so you can act before they cancel.
We use cookies to keep you signed in and make the site work.
Analytics cookies help us understand how ChurnHalt is used so we can improve it. No ads, no third-party tracking.