# Open source churn prediction with the reason and the next step attached

> Churn prediction scores accounts on usage, support and billing signals, so a team acts before a renewal is lost. A score alone changes nothing until someone knows who to call.

URL: https://churnpredictionguide.com/

**The open-source CompanyOS**

`Session: Daily churn-risk scan · 06:00`

```yaml
triggers:
  - slug: daily-churn-scan
    on:
      cron: "0 0 6 * * *"
    run:
      agent: churn-risk
```

Source: https://kortix.com/use-cases/churn-risk

Hand it an outcome; agents plan the work, run it on their own computers at any hour, get it checked by a separate agent and a change request, and learn from it.

[Try Kortix](https://kortix.com) · [Compare the tools](https://churnpredictionguide.com/#compare)

Self-host on your own network · Read-only into Postgres, Plain and Stripe · Rules as files you review

## Three things a churn system hands back

Each card is work a churn system can put in a customer team's hands this week.

### Daily triage: One list, every account with a reason

Each morning the scan ranks the accounts that combine several signals and posts them where customer success already works.

What the team sees: `Slack post · 06:00`

| Account | Signals | Next step |
| --- | --- | --- |
| Acme | Usage down 34%, support escalated, renewal in 30 days | Renewal call this week |
| Northwind | Failed payment, usage flat | Billing check by Thursday |
| Globex | Usage down 22%, one unresolved thread | Check in with the admin |

The Slack post is the one output of a run: a ranked table with a reason and a next step per account. The setup's example run reads "Flagged 8 accounts. 2 are highest risk: usage down 34% in 30 days, an escalated support thread, and a renewal in the next 30 days. For both, the suggested next step is a renewal conversation this week." Example output, not a customer result.

### Renewals: The accounts inside the renewal window

Thirty days out, the same signals are read again, so the list a CSM takes into the call is current on usage, open threads and payment state.

What the team sees: `Slack post · renewal window`

| Account | Renews in | Note |
| --- | --- | --- |
| Umbrella | 21 days | Usage trend and open threads listed |
| Initech | 9 days | Renewal call booked |

Example content of the same post, not a customer list.

### Rule review: Which signals fired before the churn

Once a month, the scan lists the accounts that churned and the signals that fired in the weeks before, so the rules get tuned instead of guessed at.

What the team sees: `Review post · once a month`

- Usage down 20% or more: 6 of 9 churned accounts
- Unresolved support thread: 5 of 9
- Failed payment before churn: 4 of 9
- Renewal inside 30 days: 7 of 9

Example figures from one monthly review, asked for in the session and posted as one message.

## What each tool hands back

Five tools that score accounts before they leave; Kortix is our pick, and the only one whose scoring rules you can read.

| | Kortix (recommended) | Pecan AI | ChurnZero | Gainsight | Pendo |
| --- | --- | --- | --- | --- | --- |
| Open source | Yes, open source | No open-source option published | No open-source option published | No open-source option published | No open-source option published |
| Where it runs | Kortix Cloud, your VPC, or your own on-prem network | Vendor-hosted; special deployment on request | Vendor-hosted; no self-host option published | Vendor-hosted; no self-host option published | Vendor-hosted; no self-host option published |
| What it reads | Usage, support and billing from Postgres, Plain and Stripe, read-only | Historical event-level data in a Snowflake or BigQuery warehouse | The account and renewal data inside its customer-success platform | The account data inside its customer-success platform | Product usage in your app and the tools it connects to |
| What it hands back | A ranked list in Slack, each account's reason and next step | Predictions pushed into a CRM such as Salesforce | ChurnScores, a Renewal Hub and machine-learning risk factors | Health Scorecards in both its plans | Pendo Predict, an add-on with custom prediction volume |
| Price | Free plan: 500 credits a month, 1 project | Three plans, no price stated; a quote comes with a demo | No price listed; every path runs through a demo request | Two plans, Essentials and Enterprise, priced on request | Base, Core and Ultimate by monthly active count; prices are quoted |

Rival cells state only what each vendor publishes on its own pages, read in November 2026: Pecan AI [pricing](https://www.pecan.ai/pricing/), ChurnZero [renewals](https://churnzero.com/customer-success-software/forecast-renewals-predict-churn/), Gainsight [pricing](https://www.gainsight.com/pricing/) and Pendo [pricing](https://www.pendo.io/pricing/).

## The scoring rules are files you can read

A churn score you cannot audit is a churn score you cannot tune.

Kortix is the open-source CompanyOS: your agents, their skills, your company memory, and every connector in one git repo you own, with the agents working on real cloud computers. The churn-signals skill in the repo holds the rules the scan applies: usage declining at 20% or more against the prior 30 days, an account dormant after 14 days with almost no activity, cancellation language counting as escalated, a renewal inside 30 days. The agent file, the skill and the daily cron arrive together as a change request you review before the first run. When a threshold is wrong, the edit arrives the same way and a person approves it before the next 06:00 run.

Access runs one way. The connectors into Postgres, Plain and Stripe are read-only, and the single output is the Slack post. Connector credentials are brokered server-side and never enter the machine. Run it on Kortix Cloud, in your VPC, or on your own on-prem network. Self-host is free.

[Read the docs](https://kortix.com/docs)

## Churn prediction questions

What the terms mean, and what a rate hides.

### What is meant by churn prediction?

Churn prediction is the work of estimating which accounts will cancel or fail to renew, from signals such as falling usage, rising support friction and failed payments, so the team can act before the account leaves. It ends in a decision about who to call.

### What's a good churn rate?

There is no single number. A rate that is healthy for a two-year enterprise contract is alarming on a monthly self-serve plan, so the benchmark worth using is your own past quarters. A rate that climbs two quarters running is the signal to look.

### What does 10% churn mean?

It means one in ten accounts left in the period measured, usually a month or a year. Measured monthly, 10% compounds: about seven in ten of the starting accounts are gone within a year.

## Run the scan on the systems you already have.

One agent, one daily cron, one post with a reason and a next step for each account.

[Try Kortix](https://kortix.com)

Free is $0 with 500 credits per month, every feature and 1 project, on the user's own provider keys or ChatGPT subscription · Self-host is free
