Evally
Support & ops

Churn risk detector

Spot the customers who are about to leave while there's still time to save them.

Reads a customer's messages for the signals that come before a cancellation: stated intent to leave, a competitor named, doubt about the price, problems that keep coming back, and the champion moving on. Route the critical ones to someone who can act today.

Try it live

Real calls to Jev. Pick an example or paste your own.

Examples
196
30
No verdict yet

Pick an example or paste your own input, then run it.

Under the hood

Every question and rule, in the open. Fork it to change any of them.

What it asks

Reads message and account, then asks 6 questions in one call.

  1. Q1Wants to cancelYes / no

    Does the customer say they want to cancel, downgrade or not renew?

  2. Q2Mentions a competitorYes / no

    Does the customer mention a competitor or an alternative they're considering?

  3. Q3FrustrationScore

    How does the customer feel?

    1. 0Happy
    2. 1Neutral
    3. 2Frustrated
    4. 3Angry
  4. Q4Doubts the valueYes / no

    Does the customer question whether the product is worth the price?

  5. Q5Unresolved problemYes / no

    Does the customer say a problem has gone unresolved, or that they've asked about it before?

  6. Q6Champion leftYes / no

    Does the message say the main user or champion has left or changed roles?

How it decides

Rules run in code, top to bottom. The first one that matches gives the verdict.

  1. 1
    If Wants to cancel ≥ 0.75Save nowreview
  2. 2
    If Churn risk ≥ 55Save nowreview
  3. 3
    If Churn risk ≥ 30At risk
  4. ·
    DefaultHealthy
Churn risk

A 0-100 score weighted from Wants to cancel ×3, Mentions a competitor ×2, Frustration ×1.5, Doubts the value ×2, Unresolved problem ×1.5, Champion left ×1.5.

Call it from your code

Every template runs as-is with an API key, no setup: POST /api/v1/judges/churn-risk-detector/run.

curl -X POST https://tryevally.com/api/v1/judges/churn-risk-detector/run \  -H "Authorization: Bearer $EVALLY_API_KEY" \  -H "Content-Type: application/json" \  -d '{  "input": {    "message": "Honestly the sync issue is still happening, I reported it in March too. We'\''re paying $2k a month and half the team has gone back to spreadsheets. Our new VP is asking why we don'\''t just use Notion.",    "account": "Annual plan, renews in 6 weeks"  }}'

More in Support & ops