Customer health + churn monitor automation.
A daily health score on every customer driven by product usage, engagement signals, and commercial state — with real-time CSM alerts when an account drops to at-risk and AI-generated save plans that cut CSM prep time by 90 minutes per intervention. Catch churn 30–60 days earlier than your gut would.
A real health monitor has four jobs.
Most health-score systems are dashboards. They show a number and let humans figure out what to do with it. That's not what this automation is. The job of a real health monitor is to detect a customer's health change earlier than a human would notice, decide what action that change calls for, and trigger that action in the system that owns it — without a human being asked to interpret a score.
Four jobs. One: pull signals from three different domains daily — product usage, engagement, commercial. Single-domain scores miss obvious risks (a customer can be using the product fine while their primary contact has gone silent). Two: score with reasoning, not just a number. The CSM has to be able to read the top three contributing factors in 5 seconds. Three: route by category. Healthy gets advocacy outreach, watch gets digest review, at-risk gets real-time alert plus an AI-generated save plan. Same scoring engine, three different downstream behaviors. Four: log every score with full context so you can backtest the model six months in.
When this is built right, your CSMs catch churn 30–60 days earlier than their gut would, save-plan prep time drops from 90 minutes to under 10, and your retention improves 4–8 percentage points within a year. When it's built wrong, you've shipped an alert system that fires on noise, CSMs mute the channel, and the automation actively makes retention worse by burning out the team.
Quarterly health reviews
CSM team does a quarterly health review by hand — eyeballs the dashboard, picks the 20 accounts that look bad, schedules calls. By the time the review happens, the at-risk accounts have already been bleeding for two months. Three of them have already verbally agreed to evaluate a competitor. The review catches the obvious cases and misses the silent ones — the customer who's still paying but disengaged.
Daily score with intervention triggers
Every customer scored every day. Sarah's account drops from 78 to 52 on Tuesday — usage down 60% after a key champion left, no CSM contact in 3 weeks. CSM Slack DM fires at 9am Wednesday with the score breakdown and an AI-generated save plan. CSM books a call by Wednesday afternoon. By Friday, the customer's primary contact has been replaced and the score is climbing. 30 days earlier than the quarterly review would have caught it.
Who this is for, who it isn't.
Health monitoring pays back fastest for B2B SaaS with subscription revenue and a CSM team — but only if you've got the data infrastructure to feed signals into the scorer. Without product analytics + CRM + billing data wired to the same warehouse, this automation produces noise instead of insight.
Build this if any of these are true.
- You're a B2B SaaS with subscription revenue, 200+ active customers, and at least one CSM (or PSM, or implementation manager) responsible for retention.
- Your gross retention rate is below 92% and you can't pin down where the leakage comes from. Health monitoring surfaces the categorical patterns first.
- You have product analytics with reliable event tracking, a CRM with active CSM workflows, and a billing system you can query (Stripe, Chargebee, etc.). Without all three, the score is incomplete.
- You're growing customer count faster than CSM headcount. Manual health reviews stop scaling around 75 accounts per CSM; this is what extends that to 200+.
- You've already built the customer onboarding sequence automation. Health monitoring is the natural next step downstream — they share the same product event source.
Skip or wait if any of these are true.
- You don't have product analytics yet. Build that first. A health score without usage data is reading half the patient.
- You're under 100 customers. Manual quarterly reviews are still cheaper and more accurate at that scale; the per-customer signal volume is too low for the AI to do better than a competent CSM.
- Your CS team isn't sized to handle the alerts this will surface. The automation is going to find more at-risk customers than the quarterly review did. If there's no CSM to action them, you've built a sadness factory.
- Your retention is already at 95%+. The marginal gains are small and the automation is hard to justify. Spend the build budget elsewhere.
- You're hoping this replaces CSMs. It won't. The good version makes one CSM as effective as two; it doesn't replace them.
What this saves, by the numbers.
The savings here are mostly retained ARR from churn caught early — that line dominates everything else. CSM time saved on save-plan prep is real but smaller. Expansion revenue surfaced from healthy-tier signals is the third source, often underestimated.
The architecture, end to end.
Customer health architecture is fundamentally different from event-driven automations — it's a daily polling loop, not a triggered pipeline. The trunk pulls three signal domains (product, engagement, commercial), the AI scores and categorizes, and three downstream paths route by tier. Healthy customers feed the advocacy and expansion engines. Watch-tier surfaces in the CSM weekly review with auto-nudges. At-risk gets real-time alerts plus a generated save-plan template. Click any node for the architectural detail; click a path label to highlight one route.
Click any node to expand. Click a path label below to highlight one route through the graph.
Time-driven, not event-driven. Runs daily for every active customer at 3am local time.
WAU, feature adoption, time since last login, error rate. Each signal vs 30-day baseline.
CSM touches, NPS, sentiment from meeting notes, days since contact response.
Failed payments, renewal proximity, downgrade events, expansion signals.
Score 0–100, category, top 3 factors, predicted churn window, narrative for the CSM.
No CSM action. Expansion signals flagged to AE. Healthy customers are where expansion revenue lives.
Strong NPS / positive sentiment customers tagged for case studies, references, reviews, CAB.
No real-time alerts. Monday digest with trendline, factors, recommended action.
CSM-branded auto-send keyed to the specific contributing factor. Only auto-send in the flow.
Slack DM to CSM (and lead for accounts above ARR threshold) within 60 sec of score change.
AI-generated plan specific to the contributing factors. Saves CSM 90 min of prep per account.
Every score logged. 6 months of history turns this from a tool into a retention playbook.
Stack combinations that actually work.
Three stack combinations cover most builds. The decision usually comes down to where your data already lives — if you've got a warehouse, build there; if you don't, use a vertical SaaS that brings its own data layer. The vertical SaaS option is faster to ship but less flexible at scale.
Tradeoff: Fastest to ship. Vitally and Catalyst handle the score engine + CSM workflow + alerting natively. Salesforce keeps the CRM record canonical. Amplitude provides the product-event source. Hits a ceiling when you need custom scoring logic — vertical SaaS lets you tune weights but not radically change the model.
Tradeoff: The HubSpot stack with custom scoring. dbt models the signals daily, Make orchestrates, Claude scores. Cheaper than Vitally and gives you full control over the scoring logic and prompt. Higher build complexity. Best for HubSpot-native shops with at least a part-time data engineer.
Tradeoff: Cheapest at scale. Self-hosted n8n on a $40/mo server, Postgres for score history, Claude Sonnet for the scoring prompt (~$0.30/customer/month at 8,000 customers). Best for compliance-heavy industries that can't ship customer data to a third-party SaaS. Highest build complexity.
Cheapest viable. HubSpot Professional for the CRM and CSM workflows, Make.com for orchestration ($30/mo), GPT-4o-mini for scoring (~$0.10/customer/month). Skip the dbt layer for v1 — write the SQL in Make. Validates the model before investing in proper data infrastructure. About $300/mo for a 200-customer business.
Production-grade for 1,000+ customers. Vitally Enterprise (~$800/mo), Salesforce Enterprise, Amplitude Growth tier, Slack Enterprise Grid. About $1,500–$2,400/mo all-in. Adds the white-glove vendor-managed experience and supports the customer health team workflows out of the box.
How to actually build this.
Six steps from zero to a production health monitor. The biggest mistake teams make is shipping the at-risk alerts before they've validated the scoring model — you fire 40 false-positive alerts in week one, the CSM team mutes the channel, and the automation never recovers trust.
Define what at-risk means for your business
Pin down what 'at-risk' actually predicts. Pull two years of churned customer data. For each, document what their usage looked like 60 days before churn, what their engagement looked like, what their commercial state looked like. The patterns that show up across 70%+ of churned customers are your at-risk signals.
Get all three signal sources into one place
Product analytics, CRM, and billing data have to be queryable from one engine. If you have a data warehouse, build dbt models that join them. If you don't, build the daily extract job that pulls from each source into a Postgres table. Without unified data, the AI can't read the full picture per customer.
Build the scoring prompt + validate against history
Write the AI scoring prompt with your at-risk definition embedded. Expected output: score 0–100, category, top 3 contributing factors with weights, predicted churn window. Validate against last 18 months of customers — does the model would have caught the customers who actually churned? Aim for 70%+ recall before going live. Iterate on the prompt until you hit it.
Build the three routing paths
Healthy: write to CRM, check expansion signals, queue advocacy candidates. Watch: weekly review digest, automated nudge from CSM email. At-risk: real-time Slack alert, save-plan template generation. Build them in order of business risk — at-risk first (revenue impact), watch second, healthy last.
Wire up score history + observability
Every score, category, and contributing factor written to a score history table with full snapshot of the input signals. Build the observability dashboard: score distribution, category transitions over time, alert volume, alert-to-action conversion rate, model accuracy over time. Without this, you can't tune anything.
Run quarterly model audits
Last step is ongoing: every quarter, audit the scoring model against actual outcomes. Of the customers marked at-risk in Q1, how many churned? How many did you save? Of the customers marked healthy in Q1 who churned, what signals did the model miss? Update the prompt or the at-risk definition based on what the audit surfaces.
Where this fails in real deployments.
Five failure modes that wreck health-score systems in production. Every team that builds this has hit at least three.
Alert fatigue kills the channel
Week one of go-live, the at-risk alert fires 50 times across the team. Half of them turn out to be false positives — customers who briefly dropped usage during a vacation, or accounts the CSM was already actively working. By week three, CSMs are muting the alert channel. By week six, real at-risk alerts are being missed in muted channels.
The model misses the silent churners
Customer with steady usage, no support tickets, no obvious risk signals. They churn anyway because their primary contact left for a competitor and the new champion never engaged. The model never flagged them because all the surface signals looked fine. Six months in, you realize the model has 80% recall on loud churners and 20% recall on silent ones.
The score becomes a vanity metric
Six months in, every CS team meeting starts with 'health scores are up.' Average score across the customer base is climbing. But gross retention isn't improving. Eventually you realize the CSMs have been gaming the score — closing tickets faster, scheduling pro-forma check-ins, reaching out just before each scoring run. The score is a measurement, not an outcome.
Stale signal data triggers wrong alerts
Product analytics pipeline breaks Monday morning. By Tuesday the daily score is calculating against 36-hour-old usage data while billing is real-time. Several customers show as 'usage dropped to zero' — but they were just blocked by the data lag. Real-time at-risk alerts fire to CSMs about customers who are actually fine. CSMs reach out, customers are confused, trust degrades.
Save-plan templates feel generic
AI-generated save plans go out and the first customer responds 'this is clearly a template — you don't actually understand our business.' Looks worse than no outreach at all. CSMs stop using the templates, fall back to writing from scratch, and the 90-minutes-saved benefit evaporates.
Build it yourself, or get help.
This is a Tier-2 build because it requires real data infrastructure, not just orchestration. The hardest part isn't the AI scoring — it's getting product, engagement, and commercial signals into one queryable place. If your data is already unified, the build is faster than it looks.
Build it yourself
If you have a data engineer or a working data warehouse already.
Hire a partner
If retention is bleeding right now and you don't have data engineering capacity.
Want to get in touch with a partner to build this for you? Run the free audit first. It gives any partner the context they need on your business — your stack, your volume, your highest-leverage automation — so the first conversation is about scope, not discovery.
Run the free auditAutomations that pair with this one.
The matchups that come up while building this.
Want to know if this is the highest-leverage automation for your business?
Run a free audit. We'll tell you what would save you the most money — even if it isn't this one.
No credit card. No follow-up call unless you ask.