ChurnaheadSign in

Signals and the risk score

Last updated 1 November 2026

Churnahead scores every paying customer with a small set of rules. Each rule checks one fact in your billing data and adds points when it holds. The points add up to a score capped at 100. A score of 50 or more is high risk, 25 or more is medium, and below that is low. Every rule that fires appears on the account as a reason in plain English, so nobody has to trust a number they can’t explain.

The billing signals

These need nothing but your billing provider.

Signal Points Fires when
Cancellation scheduled 50 The subscription is set to cancel at the end of the period. If the customer gave a reason or feedback in the Stripe Customer Portal, the reason quotes it.
Payment failed 40 An open invoice has failed attempts in the last 60 days, the subscription is past due, or Stripe marks the customer delinquent.
Card expiring 30 or 20 The card on a subscription that will renew has expired (30), or expires within 45 days (20).
Downgrade 25 The last renewal invoice was more than 10% lower than the one before, within the last 60 days.
Refund or dispute 45 or 25 The customer disputed a charge in the last 180 days (45), or was refunded in the last 90 (25).
Trial ending 35 The trial ends within 7 days and there is no payment method on the subscription or the customer.
Discount ending 25 or 15 A recurring coupon ends within 45 days and takes 25% or more off the price (25), or less (15).
Renewal soon 15 or 8 An annual plan renews within 30 days (15) or 60 days (8).
New customer 10 Less than 90 days since the first subscription.
Tenure cliff 15 A monthly plan is within 30 days of, or inside, the month of tenure when most of this workspace’s customers have cancelled. Learned from your own history after each sync, and off until there is a clear cliff.

The usage signals

These need product usage events. They wait for four weeks of events per account before they score anything.

Signal Points Fires when
Usage stopped 30 No product event for 21 days or more.
Usage drop 20 Events in the last 14 days are half or less of the 14 days before, from at least 20.
Feature dropped 15 An event used in at least 3 of the 4 weeks before the last 14 days has not happened once since.

Why these rules

Each one is a thing that, in the history of real subscription businesses, precedes a cancellation often enough to be worth a look, and each one is already recorded by your billing provider. There is no model to train, no black box, and nothing to install in your product. The trade-off is that a rule can only see what billing sees: a customer who stops logging in but keeps paying is invisible to the billing rules, which is why the usage signals exist.

Checking the rules on your own data

After every sync the rules are replayed over your last twelve months of churn. For each rule you see how many of the customers who left it flagged, and how early. See the backtest. Card expiry history isn’t in Stripe, so that rule is reported as not measurable rather than as a miss.

Changing the rules

  • Mute any built-in rule that doesn’t fit your business, under Settings.
  • Write your own in the Rule lab. A rule has a name, 5 to 50 points and up to six conditions on what the account pays per month, seats, months as a customer, discount as a share of list price, failed invoices in the last 90 days, the plan, or the billing period. While you edit, it is replayed on your last twelve months: the churns it would have caught and how early, the accounts it flagged that were still paying 90 days later, and the accounts it matches today. A workspace keeps up to 20 rules.

Where the score goes

The score, level and firing rules are recorded once a day per account and kept for 400 days, so the account page can chart the last 90 days against the medium and high lines and list the day each rule started or stopped. The at-risk list’s Getting worse view sorts accounts by how much the score rose since a week ago. An account that moves from low or medium to high gets its own alert.