Skip to main content

Definition

TTM Gross Retention (Trailing Twelve Months Gross Retention) measures how much ARR you retain from your existing customer base over a 12-month period, excluding any upsells. Unlike Net Retention, which can exceed 100% due to expansion revenue, Gross Retention has a maximum value of 100%. The calculation is similar to TTM Net Retention, but Delta includes only downward movements:
TTM Gross Retention = (BOP + Delta) / BOP
Where:
  • BOP (Beginning of Period) = ARR from customers who were active 12 months ago
  • Delta = Total ARR lost by those same customers (downsells + churns only, no upsells)
Since Delta is always zero or negative, TTM Gross Retention ≤ 100%.

Example: Exact Method

Here’s a clear example showing how exact TTM Gross Retention works:
CustomerJune 2024 (Start)June 2025 (End)ChangeCounted in Gross?
A$100$150+$50 upsell❌ No (upsells excluded)
B$100$100No change✅ Yes ($0)
C$100$80-$20 downsell✅ Yes (-$20)
D$100$0-$100 churn✅ Yes (-$100)
E(new Aug 2024)$200New customer❌ No (activated < 12 months ago)
Total$400$530-$120 loss
Calculation:
TTM Gross Retention = ($400 - $120) / $400 = 70%
Result: You retained 70% of ARR from your June 2024 customer base (excluding expansion).
Customer E is excluded from the calculation because they activated less than 12 months ago (August 2024). TTM Gross Retention only measures customers who were active at the beginning of the 12-month period.

Customer Evolution Chart

Below is a visual representation showing how each customer’s ARR evolved month-to-month over the 12-month period. Note that while the lines show month-to-month variations (like stock prices that go up and down), the calculation only considers the initial level (June 2024) and final level (June 2025).

Chart Insights

  • 🟦 Customer A (Blue): Steady upward trajectory with minor fluctuations, ended +$50 (upsell not counted)
  • 🟩 Customer B (Green): Stable with minor month-to-month variations, ended flat at $100
  • 🟧 Customer C (Orange): Gradual decline with some ups and downs, ended -$20 (downsell)
  • 🟥 Customer D (Red): Consistent downward trend leading to churn, ended -$100 (full churn)
  • 🟪 Customer E (Purple): Started in August 2024, therefore excluded from TTM calculation despite growth
Key Takeaway: Despite all the month-to-month fluctuations, the TTM Gross Retention calculation simply compares starting positions (June 2024) with ending positions (June 2025) for only those customers present at the start.

Why Approximate Method Can Be Misleading

The approximate method for TTM Gross Retention can give misleading results because it incorrectly includes movements from customers who were not part of the original cohort.

Problem: New Customer Movements Distort the Picture

The approximate method includes downward movements from ALL customers, even those who joined during the measurement period. This creates a false negative bias.
Example: Perfect Retention Appears as 0%
CustomerJune 2024June 2025StatusMovement Tracked by Approximate Method
A$100$100✅ Stable$0
B$100$100✅ Stable$0
C(new July)$0 (churned Dec)❌ New customer-200downsell+200 downsell + -150 churn = -$350
What Really Happened:
  • Original cohort (A + B): 100% retention — they’re perfectly stable!
  • Customer C joined mid-year, then downsold and churned
Approximate Method Calculation:
Total downward movements: -$350 (from Customer C)
BOP: $200 (only A + B)
Gross Retention = ($200 - $350) / $200 = -75% 🚨
Exact Method Calculation:
Delta for original cohort (A + B): $0
Gross Retention = ($200 + $0) / $200 = 100% ✅

The Problem in One Sentence

The approximate method shows -75% retention when the actual cohort had 100% retention. Customer C’s movements contaminated a metric that should only measure the original cohort.

Second Example: 60% Exact Retention Appears as -40%

Here’s an example showing moderate retention in reality, but appearing negative with the approximate method:
CustomerJune 2024June 2025ChangeIncluded in Approximate?
A$100$80-$20 downsell✅ -$20
B$100$80-$20 downsell✅ -$20
C$100$40-$60 downsell✅ -$60
D$100$100$0 stable✅ $0
E$100$100$0 stable✅ $0
F(new Sep)$0 (Dec)Joined→churned❌ -300downsells+300 downsells + -200 churn
Exact Method (Correct):
BOP = $500 (A+B+C+D+E)
Delta = -$20 - $20 - $60 + $0 + $0 = -$200
Remaining = $300
Gross Retention = $300 / $500 = 60% ✅
Approximate Method (Misleading):
Total downward movements tracked:
  From original cohort: -$200
  From Customer F: -$500 (joined, downsold, churned)
Total: -$700
Gross Retention = ($500 - $700) / $500 = -40% 🚨

Reality vs. Perception

Exact: 60% of original ARR retained
Approximate: -40% (impossibly negative!)
Customer F’s join-and-churn pattern made it look like you lost 140% of your starting ARR, when the original cohort actually had decent 60% retention.

Third Example: When Retention Looks Great But Isn’t

Here’s another scenario showing the opposite bias — approximate method looking better than reality:
CustomerJune 2024June 2025Net ChangeWhy It Matters
A$100$50-$50 downsell❌ Lost 50%
B$100$60-$40 downsell❌ Lost 40%
C(new Aug)$300+300new,+300 new, +100 upsell✅ But not in original cohort
Exact Method (Correct):
Delta for A + B: -$50 - $40 = -$90
Gross Retention = ($200 - $90) / $200 = 55%
Approximate Method (Misleading):
If new ARR from C nets against downsells in monthly totals:
Could show much better retention despite A and B struggling
The key insight: Approximate method can’t distinguish between original cohort behavior and new customer noise.

Dealbase Fine-Tuning Options

Dealbase lets you customize which downward movements count toward Gross Retention:

Movement Types

TypeDefinitionExample
ChurnCustomer stops completely (ARR → $0)Annual contract not renewed
DownsellCustomer reduces ARR but stays activeDowngrades from Pro to Basic plan
BreakTemporary pause (may return)Seasonal business suspends for 2 months

Example with All Movement Types

Starting Cohort (June 2024): $500 total ARR
CustomerJune 2024Movement TypeImpactJune 2025
A$100None$0$100
B$100Churn-$100$0
C$100Downsell-$30$70
D$100Break (net)-$50$50
E$100Upsell(excluded)$120

Choose Your Configuration

Delta = -$100 (churn) - $30 (downsell) - $50 (break) = -$180
Gross Retention = ($500 - $180) / $500 = 64%
Use when you want the most cautious view of retention.
Delta = -$100 (churn only)
Gross Retention = ($500 - $100) / $500 = 80%
Use when you care about customer loss, not revenue compression.
Delta = -$30 (downsell only)
Gross Retention = ($500 - $30) / $500 = 94%
Use when tracking how existing customers compress spending.
Delta = -$100 (churn) - $30 (downsell) = -$130
Gross Retention = ($500 - $130) / $500 = 74%
Recommended for most SaaS businesses. Captures permanent losses while treating breaks as temporary.

Quick Comparison

ConfigurationDeltaResultBest For
All movements-$18064%Most conservative
Churn only-$10080%Customer satisfaction focus
Downsell only-$3094%Revenue quality focus
Churn + Downsell-$13074%Standard SaaS
Churn + Break-$15070%Including temporary losses

Recommendation

Best Practice for TTM Gross Retention

Always use the exact method to avoid biases from new customer activity during the measurement period.

Implementation Checklist

  • Use exact method — Track only customers present 12 months ago
  • Choose movement types — Pick configuration matching your business (most use Churn + Downsell)
  • Be consistent — Use same methodology over time for trend analysis
  • Document your approach — Ensure stakeholders understand what’s included
Gross Retention should measure the retention quality of a specific cohort, not be influenced by new customer activity during the measurement period.