FinDaS AI

Example readout · invented company

How to tell if a churn model works: an example readout

A churn model works if, on recent months it never saw, it ranks the customers who go on to leave above those who stay, and beats a simple rule you could run without it. The readout you receive when the model is handed over says by how much, whether its scores can be read as probabilities, and what to do with the list. Below is one for an invented company: over its 6 test months, the tenth of customers the model scored highest held 36% of those who left, and on the same number of calls, the model’s list reached 263 leavers to the simple rule’s 169.

The example · invented company

Churn model readout, test months April to September 2026

The company is an invented subscription software company on three plans at flat monthly prices, Starter at €29, Growth at €99 and Scale at €299, with 4,492 paying customers and €342,458 of monthly revenue at the end of September 2026. Customers left at 5.0% a month on Starter, 2.4% on Growth and 1.5% on Scale. Its customer history, 8,189 customers over 24 months, is synthetic: drawn customer by customer when this page is built. Every figure about the company in the readout is computed from it.

Leavers in the top tenth

36%

360 of the 997 customers who left from April to September 2026 were in the tenth the model scored highest. Invented company.

Same calls as the simple rule

263 to 169

Leavers reached by calling the model’s highest scores, about 268 customers a month, against the customers the rule “no login for 30 days” flags. Invented company.

Ranking on unseen months

74 in 100

Pairs of one customer who left and one who stayed, in which the model scored the leaver higher. A coin scores 50. Invented company.

Leavers per signal

338

2,700 leavers in the training months, over the 8 signals tried. The floor is 10. Invented company.

Recommendation. We recommend putting the model live and calling the top tenth of its scores each month, about 437 customers. On months it never saw, it reached 1.6 times the simple rule’s leavers on the same number of calls, and its scores matched the share who left. The recommendation holds for customers, plans and prices like those in the history; the triggers for a refit are under “When to refit”.

Is there enough history?

A churn model learns from the customers who left, so the count that matters is leavers per signal tried. The training months, October 2024 to March 2026, hold 2,700 leavers, and we tried 8 signals: days with a login, seats in use, support tickets, failed payments, the Growth plan, the Scale plan, tenure and seats on the account. That is 338 leavers per signal. A 1996 simulation study of logistic regression, the model used here, found no major problems from 10 events per variable, and a 2014 one found that logistic regression ranked cases stably from about 20 to 50 events per predictor; both simulated medical outcomes, not churn. This history clears both figures several times over. How the count works, and what to do below it, is on churn prediction.

How well it ranks customers

Pick one customer who left in the test months and one who stayed: the model gave the leaver the higher score in 74 pairs of 100. A coin scores 50, and the simple rule 56. On the training months the figure is 74, so the model ranks the months it never saw about as well as those it learned from.

Ranked each month, the top tenth of scores, about 437 customers, left at 13.7% a month against 3.8% for all customers: 3.6 times the average.

Against a simple rule

The rule “no login for 30 days” needs no model. Over the 6 test months it flagged 1,610 customers, about 268 a month, and 169 of them left. Calling the model’s highest scores instead, the same number each month, reaches 263 leavers: 1.6 times as many for the same calls. A model that cannot beat the rule is not worth running; this one beats it in every three-month stretch of the test.

Are the scores right?

Each score is the model’s probability that the customer leaves in the next month. In every tenth of scores, the predicted rate is within 1.0 percentage points of the share that left, and across the 6 months the model expected 980 leavers where 997 left. So the scores read as probabilities: a list’s scores add up to the leavers to expect from it.

Leaving rate in the next month, by tenth of the model’s scores (1 is the highest), April to September 2026

ActualPredicted by the modelDashed line: all customers’ average.
Invented company, synthetic data. Each test month’s customers are ranked by score and split into ten equal groups; the groups are then pooled over the 6 months.
The same data as a table
Leaving in the next month by tenth of scores, April to September 2026 (invented company). A customer is counted once in each month they were scored.
Tenth of scoresScoresLeftPredicted rateActual rateShare of leavers
1 (highest)2,62136012.8%13.7%36%
22,6201626.5%6.2%16%
32,6201234.6%4.7%12%
42,619893.5%3.4%9%
52,617692.8%2.6%7%
62,621522.2%2.0%5%
72,619471.8%1.8%5%
82,620521.4%2.0%5%
92,620321.1%1.2%3%
10 (lowest)2,615110.7%0.4%1%
All26,1929973.7%3.8%

What drives the scores

Each row compares two values of one signal for a typical customer, the other signals held at that customer’s values: on Starter, 8 seats on the account, 20 months since joining, a login on 17 days of the month, 75% of seats in use, no support tickets and no failed payments.

What each signal does to the chance of leaving next month, for a typical customer (invented company)
SignalComparedLeaving next monthTimes as likely
Failed paymentsone against none7.8% against 2.3%3.4
Tenure3 months against 3 years4.5% against 1.8%2.4
Support ticketsthree against none5.4% against 2.3%2.4
Days with a loginnone against 15 days5.6% against 2.5%2.2
Plan: ScaleStarter against Scale2.3% against 1.3%1.8
Seats in usehalf against all of them3.0% against 1.7%1.8
Plan: GrowthStarter against Growth2.3% against 1.8%1.3
Seats on the account3 against 302.2% against 2.4%0.9

Failed payments carry the most: one in a month makes leaving the next month 3.4 times as likely. Seats on the account carry almost nothing: a 3-seat account and a 30-seat one leave at about the same rate. They still count among the signals tried. The effects are associations in the history, not proof of cause: whether getting a customer to log in more keeps them is a question for a test, not for this model.

What the list is worth

Over the 6 test months, calling the top tenth each month reaches 360 leavers, who pay €11,630 a month between them. If a call keeps 1 in 5 of the leavers it reaches, the calls keep about 72 customers and €2,326 of monthly revenue. The rule’s list, on the same assumption, keeps about 34 customers and €1,436.

The 1 in 5 is an assumption, not a finding. Not priced here: what the calls cost. What a lasting cut in churn is worth over two years is the question of our revenue forecast demo, on the same invented company.

What the model is good for, and what it is not

The model is good for two things:

  • choosing whom to contact first each month, by the chance of leaving in the next month;
  • the number of leavers to expect next month, from the sum of the scores.

It is not built for these:

  • why a given customer leaves: the scores rank risk, and the effects are associations;
  • leaving further ahead than a month: the model was fitted and tested on next-month leaving only;
  • customers, plans or prices the history does not hold, such as a new plan or a price change;
  • whether a call keeps anyone: that needs the comparison under “What to do with the list”.

What to do with the list

We recommend this routine each month:

  1. Score every paying customer on the month’s data, at the end of the month.
  2. Call the top tenth, about 437 customers. Send customers with a failed payment to billing first, since a card update fixes a failed payment and a retention offer does not.
  3. Leave a random part of the list uncalled, and compare its leaving with the called customers’ two months on. Without that comparison, what the calls keep stays an assumption, like the 1 in 5 under “What the list is worth”.
  4. Count each month’s leavers against the sum of the scores; the refit triggers read that count.

When to refit

We recommend refitting the model when any of these happens:

  • Over three months, the model’s list reaches no more leavers than the rule on the same number of calls.
  • Over three months, the leavers fall outside the range the scores expect. For July to September 2026, the model expected 498: a count below 455 or above 541 is more than chance would explain, at two standard deviations. Every three-month stretch of the test fell inside its range.
  • The business changes in a way the history does not hold: a price change, a new plan, or a change in how logins or seats are counted.
  • A year has passed since the last fit. The refit reads the latest 24 months, so the training months keep a full year of seasons.

Checks and sign-off

Sign-off. Putting a model live is a decision you act on, so it carries the analytics director’s sign-off. The monthly re-scoring after that is a routine refresh: it carries its checks and no new signature. This readout is an example on an invented company and is never signed.

What carries a sign-off

The decision the readout supports

The analytics director signs every output you will act on, such as a model going live. This decision is an example on the invented company and is never signed, so its stamp stays at “Sign-off pending”.

Decision · example

Put the model live, and call its top tenth each month?

Score the paying customers at the end of each month and call the top tenth, about 437 customers, with a random part of the list left uncalled to measure what the calls keep. In the test months, that list reached 360 leavers; at 1 in 5 kept, about 72 customers and €2,326 of monthly revenue. Not priced here: what the calls cost, and whether a call keeps 1 in 5.

How a churn model is built and priced

Monthly revenue kept

€2,326

From six months of calls to the top tenth, if a call keeps 1 in 5 of the 360 leavers it reached. Invented company.

Sign-off pending · Analytics director

On your data

What you receive with a churn model

The same readout, on your own customer history instead of an invented company’s.

What it reads. A customer list with start dates, and end dates for those who left; billing and plan history; product usage and support tickets, where you record them. How many leavers a model needs is on churn prediction, and where the data goes is on data handling.

How it is built. AI agents rebuild your customer history month by month, fit the model and draft the readout. Scripts, not AI, check its numbers and claims, and before the model goes live a panel of three reviewer agents and a judge reviews it. Then the analytics director signs it.

What arrives. A readout like this one: a memo of up to two pages, with its tables as an appendix. Then the scored customer list, as a file or a monthly report, and the method note listing the checks that ran. The model and its readout are one sprint, from €12k, fixed before work starts; the monthly re-scoring runs on an async retainer, from €8k a month.

Not covered. Calling your customers or running the retention programme, and installing anything on your systems. The model ranks who to call; what a call keeps is measured by your own comparison.

How many leavers the list reaches at the number of calls your team can make, against the simple rule’s, is in the who-to-call demo, on the same invented company.

Start here

Want this readout on your own customers?

Up to thirty minutes on your churn question, then a fixed proposal.

Book a free call