Enterprise B2B SaaS
<1% monthly logo churn is strong
Longer contracts and higher switching costs usually push strong enterprise businesses into very low monthly churn ranges.
Calculate SaaS customer churn, cohort retention, revenue at risk, replacement MRR targets, and optional ARPA-based LTV estimates.
Last updated: 2026-03-20
Pick the churn analysis you need.
Enter customer data to calculate churn rate and cohort retention.
Churn Rate
--
Enter your churn data to see the results.
Tap an example to prefill the calculator with realistic values.
Early-Stage SaaS
500 customers, 25 lost in 1 month
A growing SaaS startup tracking monthly churn.
Result: 5.0% churn rate
Enterprise SaaS
2,000 customers, 20 lost over 3 months
A mature B2B SaaS with longer contracts and lower observed churn across a quarter.
Result: 1.0% churn rate
SMB SaaS with ARPA
1,200 customers, 48 lost, $250 ARPA
A subscription software team translating logo churn into MRR at risk.
Result: 4.0% churn rate
High-Churn Consumer App
10,000 users, 1,500 lost in 1 month
A consumer subscription app with B2C churn high enough to demand aggressive retention work.
Result: 15.0% churn rate
SaaS Revenue Projection
$100K MRR, 5% monthly churn, 12 months
Projecting annual revenue impact at a typical SaaS churn rate.
Result: $45,964 total revenue lost
ARPA-Aware Growth Model
$120K MRR, 4% churn, $400 ARPA
A SaaS operator estimating both revenue decay and simple LTV from the same churn assumption.
Result: $46,475 total revenue lost
Aggressive Growth Scenario
$50K MRR, 8% monthly churn, 6 months
A startup with high churn evaluating the urgency of retention efforts.
Result: $19,682 total revenue lost
Low-Churn Enterprise
$500K MRR, 1.5% monthly churn, 24 months
Enterprise SaaS projecting long-term revenue retention.
Result: $152,112 total revenue lost
This calculator stays focused on SaaS churn, but goes deeper than a simple churn percentage.
ARPA / monthly churn.The revenue model assumes no expansion revenue, no new sales, and no pricing changes. That makes it useful for isolating churn pressure, but it should not be confused with net revenue retention or a full SaaS metrics model.
Use the churn-rate mode when you have customer counts. Use the revenue-impact mode when you want to translate churn into MRR erosion, replacement targets, and LTV pressure.
Benchmarks are directional only. Compare your churn to similar contract length, ACV, and customer segment before drawing conclusions.
Enterprise B2B SaaS
<1% monthly logo churn is strong
Longer contracts and higher switching costs usually push strong enterprise businesses into very low monthly churn ranges.
SMB SaaS
2% to 5% monthly is common
SMB products usually face more voluntary churn. If you move above 5%, onboarding, activation, and pricing fit deserve immediate attention.
Consumer subscriptions
5% to 10% can be normal
B2C subscription churn is often higher, but the compounding revenue damage becomes severe once you move beyond the high single digits.
Annual-contract products
Track renewals and downsells separately
A low logo churn rate can still hide revenue churn if customers renew on smaller plans or reduce seat counts.
Answers to common questions about churn analysis.
It depends on your segment. Enterprise SaaS often targets under 1% monthly logo churn, SMB SaaS commonly lands in the 2–5% range, and consumer subscriptions can run materially higher. Compare against businesses with similar contract length, ACV, and product maturity before treating a benchmark as meaningful.
Customer churn, or logo churn, measures the share of accounts that cancel. Revenue churn measures the share of recurring revenue you lose. Revenue churn can be lower than customer churn if small accounts leave, or higher if large accounts cancel or downsize.
If you provide average revenue per account, the calculator uses the simple SaaS LTV formula: ARPA divided by monthly churn as a decimal. For example, $250 ARPA and 5% monthly churn gives a simple LTV of $5,000. This ignores gross margin, expansion revenue, and discounting, so treat it as a directional planning metric.
Because churn compounds through retention. If you lose 9% of a cohort over three months, the true monthly churn that produces that result is slightly lower than 3% when you model it as repeated monthly retention. Geometric normalization is more accurate for SaaS cohort analysis.
As a starting point, you need gross new MRR equal to the MRR churned each month to stay flat. If you have $100,000 in MRR and 5% monthly churn, that means replacing about $5,000 in MRR next month just to hold your base steady before any growth.
Yes for directional planning, but interpret carefully. Annual contracts often require looking at renewal periods instead of monthly logo churn, and net revenue retention requires expansion revenue and downsell data that this calculator intentionally leaves out to stay focused on churn.
Net revenue churn starts with lost or downgraded recurring revenue, then subtracts expansion revenue from existing customers. If expansion is larger than churn, net revenue churn turns negative, which means your existing customer base is growing even before counting new logo sales.
Explore more finance calculators.
Join the Calc Hub newsletter for new SaaS metrics tools and business insights.
Your feedback helps us improve future calculators.
This calculator provides estimates for planning purposes. Actual churn and revenue impact may vary based on business model, pricing changes, expansion revenue, and market conditions. Consult a financial advisor for critical business decisions.
Copy the code below to embed this calculator on your website or blog. It's free — no API key needed.
<iframe src="https://calc.mintloop.dev/embed/finance/churn-calculator" width="100%" height="600" frameborder="0" title="Churn Calculator" loading="lazy"> </iframe>
<script>
var CALC_HUB_ORIGIN = 'https://calc.mintloop.dev';
window.addEventListener('message', function(e) {
if (e.origin !== CALC_HUB_ORIGIN) return;
if (!e.data || e.data.type !== 'calc-hub-resize') return;
var frames = document.querySelectorAll('iframe[src*="calc.mintloop.dev"]');
frames.forEach(function(f) {
if (f.contentWindow === e.source) {
f.style.height = String(Math.max(0, Number(e.data.height) || 0)) + 'px';
}
});
});
</script>