Case study · 01 - Enterprise SaaS
Renewal Risk, Seen 94 Days Earlier
$140M ARR enterprise SaaS · 1,900 customers · 34-person post-sales org
A post-sales org flying blind between QBRs let Pulse watch every renewal for change, started catching churn while there was still time to save it, then had FDEs automate the save play.
Company profile
- Revenue
- $140M ARR
- Employees
- 640
- Customers
- 1,900 enterprise & mid-market
- Post-sales org
- 22 CSMs · 8 AMs · 4 RevOps
- Motion
- High-touch CS, quarterly QBRs
- Retention
- 88.7% GRR · 103% NRR
Pulse started read-only on Salesforce and Gong, then added product usage, support, and billing over three weeks.
The challenge
The average enterprise customer was worth $74k ARR on an annual renewal. Gross retention had slipped under 89%. Every signal that predicted churn already lived somewhere in the stack, but the health score said one thing, the CSMs' gut said another, and the churn post-mortems kept siding with the gut.
61%
of churned ARR in the prior fiscal year was marked green in the health score 90 days before the termination notice arrived.
54 days
median staleness of health scores, hand-updated by CSMs on a quarterly cadence, usually right before the QBR they were meant to inform.
40+
accounts per CSM, with roughly 9 hours a week going to assembling QBR decks by hand instead of working the risk the decks described.
6 systems
held the real risk signals: usage in Amplitude, sentiment in Gong, escalations in Zendesk, commercials in Salesforce, chatter in Slack, invoices in billing. No two were ever joined.
Accounts didn’t churn because nobody cared. They churned because the first credible risk signal arrived attached to the termination notice.
The Revenue Change Audit
- Accounts
- 500 renewals due in the next two quarters
- Systems
- Salesforce, Gong, Amplitude, Zendesk, read-only
- Window
- Baseline, then 30 days of observation
- Backfill
- 8 quarters of opportunity history, 14 months of calls
Pulse connected read-only to the renewals due in the next two quarters, built a baseline for every account, and backfilled whatever history the systems had kept. It then watched for 30 days while the CS team rated each high-priority event on two questions: was it useful, and did we already know.
- 1
Replayed against eight quarters of history, the health score had marked 61% of churned ARR green 90 days out. The same replay through Pulse flagged 8 of 11 enterprise churns with 90+ days of lead time.
- 2
The eleven signals CSMs actually trusted, including champion silence, ticket-severity mix, seat slope, and invoice disputes, sat across six systems. Context joined them per account for the first time.
- 3
In 30 days Pulse raised 41 high-priority events across the 500 accounts. The team rated 29 useful, and 18 both useful and something nobody was already working.
- 4
“At risk” had five competing definitions across CS, AM, finance, and the board deck. The audit review settled on one, which became the first custom Revenue Event.
What Pulse surfaced
Four of the events that came up in the audit review:
Competitive renewal risk
Competitor named on two calls, seats down 22% in five weeks, renewal opp untouched for 38 days
$312,000 ARR
New to the teamChampion went quiet before renewal
Champion absent from three straight meetings, no email reply in 26 days, exec sponsor changed roles
$186,500 ARR
New to the teamSeat compression under a green score
Active seats 140 to 97 while the health score stayed green, two P1 tickets in ten days
$228,000 ARR
New to the teamBilling dispute on a strategic account
Invoice disputed twice, CFO copied on a support ticket, QBR cancelled
$154,000 ARR
Team already knew41
high-priority events in 30 days
71%
rated useful
44%
useful and non-obvious
What FDEs built on top
With Pulse live on all 1,900 renewals, FDEs encoded the team’s own definition of at-risk as custom Revenue Events and built agents that act on them. Every customer-facing step keeps a human approval.
Save-Play Agent
Picks up every renewal-risk event, drafts a save plan with the evidence trail attached, and routes it to the CSM in Slack. The CSM approves before anything reaches the customer.
QBR Brief Agent
Assembles the QBR deck from Context: usage trajectory, open risk, relationship map, and expansion headroom. CSMs edit instead of building from scratch.
Custom renewal events
62 segment-specific rules for what at-risk means, signed off by the VP of CS, now firing as Revenue Events instead of living in a spreadsheet.
Churn-allowance feed
Renewal-risk events flow into finance’s churn-allowance model nightly, replacing a two-week manual update. Finance signs off on each change.
The VP of CS asks Pulse directly, “which enterprise renewals changed state this week?”, and gets the answer from precomputed Context with the evidence linked.
The rollout
Weeks 1-2
Revenue Change Audit
Read-only connection to 500 renewals. Baseline and eight-quarter backfill done in four days; first high-priority events the same week.
Weeks 3-6
Observe and rate
30 days of observation with the CS team rating every high-priority event. 41 events reviewed with the VP of CS; 18 were useful and new to the team.
Month 2
Pulse live on all 1,900 renewals
Events routed to CSM Slack channels by owner. Support and billing connected, which sharpened the risk events.
Month 3
FDE agents live
Save-play and QBR brief agents in production. 84% of drafted save plans approved by CSMs with light edits.
Results
$1.2M
at-risk ARR surfaced
in the first 60 days, before the QBR cycle would have caught any of it
94 days
median risk lead time
up from ~21 days under the hand-updated health score
+3.1 pts
gross revenue retention
sustained across two consecutive quarters
44%
useful + non-obvious
of high-priority events, rated by the team that had to act on them
Value delivered
$1.9M-$2.6M year-one value
$1.1M-$1.6M
Saved renewals
Matched-cohort comparison: flagged-and-worked accounts vs comparable unflagged accounts from the prior year. Only closed-won saves with a documented save plan counted, discounted to 70% for year-one attribution.
~7,700 hrs/yr
CSM capacity returned
7 hours x 22 CSMs x 50 weeks of QBR prep and account research, valued at loaded cost rather than opportunity value.
$1.4M
Expansion pipeline sourced
Expansion events accepted and worked by AMs, credited at a 25% expected close rate against the team’s historical expansion win rate.
All estimates discounted for year-one realization. No credit taken for second-order effects.
Beyond the revenue org
Revllama Context now feeds teams that were never in scope:
Finance consumes the risk events directly for revenue forecasting, eliminating a two-week lag in churn-allowance updates.
Product receives a weekly digest of feature gaps cited in at-risk accounts, ranked by ARR exposure.
Neither effect is included in the value figures above.