Skip to content

How it works

The signals show up first. Ebb listens for them.

Most cancellations are decided weeks before they're announced. The decision shows up in behaviour long before it shows up in your billing. This page explains what Ebb watches, how the Ebb score is built, and what happens at the risk threshold.

Connect Stripe

Two-click OAuth, read-only scopes. We pull customers, subscriptions, invoices, and historical events. We never touch payments.

Ebb scores every customer, daily

A 0–100 risk score per customer, recalculated every 24 hours. The score is decomposed into the underlying signals so you see the why.

You act before the cancel

Weekly digest, real-time Slack alerts on Growth, and one-click playbooks tuned to the failure mode.

Signals

Five behavioural signals that predict churn.

Individually, each is suggestive. Together, they're decisive. Ebb weights them based on which combinations have led to cancellations in your historical data.

Login frequency drop

A sustained reduction in how often a customer logs in, normalised against their own baseline (not the cohort average — heavy and light users churn for different reasons). A 50% drop over a rolling 14-day window is the strongest single signal in the model.

Usage pattern change

A customer who used to run a 'sticky' workflow weekly and stops. Stickiness is calculated per customer per feature — what counts as the keystone feature for one account isn't the same for another.

Support sentiment shift

Tickets going from 'how do I…' to 'why doesn't this…'. We use a small classifier on ticket text (when you connect a helpdesk) and weight tone-shift heavily — neutral-to-frustrated outweighs neutral-to-positive.

Payment health

Card expiring soon, recent failed charge, or a customer who edited their billing details and didn't update the card. These are weak-to-medium signals on their own, strong in combination.

Plan downgrade

Almost always a leading indicator of full cancellation, not a happy stable state. Customers who downgrade churn at roughly 3× the rate of customers on a stable plan.

Engagement decay (combined)

A composite of the above, smoothed over a 30-day window. This is the score on the 'Engagement' line in the Ebb dashboard. When it crosses below the customer's own baseline by more than two standard deviations, risk starts climbing.

Threshold

What happens when a customer crosses the risk line.

Each customer has an Ebb score from 0 to 100. The default risk threshold is 65, which in our pilot data corresponds to roughly a 70% cancellation probability within 30 days if no action is taken. You can tighten or loosen this from settings.

When a customer crosses the threshold, three things happen.

One. They appear in your weekly digest, ranked by score and annotated with the top contributing signals. The digest is a single readable email, not a dashboard you have to remember to open.

Two. If you're on Growth or Scale, a Slack alert fires into the channel of your choice. You can also configure webhooks to fire any workflow you want — Linear ticket, HubSpot task, your own service.

Three. Ebb suggests a save-action playbook tuned to the failure mode. Login drop gets a different nudge than payment risk gets a different nudge than sentiment shift. You can customise these per plan or per customer segment.

On a typical Stripe-connected SaaS with 1,500 customers, Ebb surfaces between 8 and 25 at-risk customers per week. Small enough to actually act on. Large enough to move the needle on monthly retention.

The default thresholds

  • WatchScore 40–64
  • At riskScore 65–84
  • CriticalScore 85+

All thresholds adjustable per workspace. Critical customers always show up in real-time alerts regardless of plan.

Definition

Silent disengagement, defined.

Silent disengagement is the period between a customer mentally checking out and the moment they cancel. They're still paying. They might still be technically “active”. But the behaviour that made them a healthy customer is gone, and the behaviour that precedes cancellation has begun.

For most B2B SaaS in the $500–$50k MRR range, silent disengagement runs 14 to 45 days before the actual cancel button gets clicked. The median is around 21 days. That's the window Ebb is built to find — and it's long enough to do something useful with.

What Ebb is not looking at: NPS surveys (lagging, biased), exit surveys (lagging by definition), or self-reported satisfaction. These are useful for retros. They're useless for prevention.

Ready to see your at-risk customers?

Connect your Stripe account in early access and Ebb will score every subscriber by the next morning.