# How to Predict Customer Churn From a Spreadsheet

Canonical: https://yourcloudblog.com/blog/predict-customer-churn-from-a-spreadsheet/
Published: 2026-10-15
Author: YourCloudGroup · Publisher: YourCloudGroup · Category: AI for Business
Tags: customer churn, churn rate, churn prediction, customer retention, predictive analytics

> Customer churn is the share of customers who leave. A model trained on your customer history ranks who is most likely to leave next. A measured example: $42,000 against $11,000 on 1,408 held-back customers.

**Short answer:** Churn prediction ranks current customers by how likely they are to leave, using a model trained on past customers who stayed or left. On 1,408 held-back customers from the IBM Telco sample, the top 10% the model flagged churned at 72% against a 25% average, and retention offers to the top-ranked half were worth about $42,000 net against $11,000 for offering everyone.
**Customer churn** is when a customer stops buying from you — cancels a subscription, closes an account, or simply does not come back. **Churn rate** is the share of customers who leave in a given period:

> churn rate = customers lost during the period ÷ customers at the start of the period

**Churn prediction** goes one step further: it uses your history of customers who stayed or left to estimate which *current* customers are most likely to leave next, so retention effort goes to them first.

**Measured example:** on 1,408 customers held back from training in the IBM Telco sample, the 10% the model ranked most at risk churned at **72%**, against **25%** across all customers — almost three times as likely. Making a retention offer to the top-ranked half was worth about **$42,000** net, against **$11,000** for making it to everyone, using the placeholder costs below.

## What your spreadsheet needs

One row per customer, and one column saying whether that customer left (yes/no) during the period you care about. The other columns describe the customer **as they were before** they left or stayed, for example:

- how long they have been a customer (tenure);
- what they buy and how much they pay each month;
- contract or plan type, and how they pay;
- recent usage, support contacts or complaints — if recorded before the outcome.

Leave out anything recorded *because* the customer left: cancellation reasons, final-bill flags, "sent to win-back" markers. Those columns give the answer away in historical data and are empty when you need a prediction. This is [target leakage](https://yourcloudblog.com/blog/what-is-target-leakage/), and it is the most common reason churn models look excellent in testing and fail in use. Customer IDs should go too: they let a model memorise records instead of learning patterns.

## A measured example: 7,043 telecom customers

### What we measured

- **Data:** the IBM Telco Customer Churn sample — 7,043 customers, of whom 26.5% churned. Each row has the customer's tenure, services, contract type, payment method and charges.
- **Test design:** 20% of customers (1,408) were held back before any model was trained; every result below comes from them.
- **Model:** [YourCloudGroup Model Manager](https://yourcloudblog.com/model-manager/) ran its twelve-variant model tournament; a random forest won, with a ranking quality (AUC) of **0.83**.
- **Leakage check:** the customer ID was excluded automatically; no other column was flagged.
- **Placeholder costs:** a retention offer costs **$60**; it keeps **30%** of customers who would otherwise leave; a kept customer is worth **12 months of their bill**.

### How much each strategy earned on the held-back customers

| Customers who get the offer | Ranked by the model | Picked at random |
|---|---:|---:|
| Top 5% | $11,564 | $554 |
| Top 10% | $20,748 | $1,115 |
| Top 20% | $30,610 | $2,230 |
| Top 30% | $38,305 | $3,338 |
| Top 50% | **$41,906** | $5,568 |
| Top 75% | $30,907 | $8,352 |
| Everyone | $11,136 | $11,136 |

![Profit curve for telecom retention: net value by share of customers offered a deal, model ranking against random, peaking near $42,000 at the top 50% and falling to $11,000 when everyone gets the offer](https://yourcloudblog.com/blog/predict-customer-churn-from-a-spreadsheet/roi_1_profit_telco_light.webp)

*Net value by share of customers offered a deal, on 1,408 held-back customers.*

### What the result means

The value peaks when roughly the top half of the ranked list gets the offer. Below that point, each extra offer goes to someone with a real chance of leaving; beyond it, offers increasingly go to customers who were staying anyway, and the $60 cost outweighs the saving. Offering everyone still makes money in this example, but less than a third of what the ranking makes.

### What the result does not show

The costs are placeholders: with a cheaper offer, the best cut-off moves further down the list; with a more expensive one, it moves up. The data is a public sample, not your customers. The top 20% of the list churned at 2.4 times the average rate — just short of the 2.5× target set before the test — so the model is useful but not spectacular. And because the dataset has no dates, the timing of each customer's departure could not be checked; the certificate records that as "not assessed" rather than assuming it.

## How to predict churn in practice

1. **Export one row per customer** with a left/stayed column for a fixed period (for example, "cancelled within 90 days").
2. **Remove post-churn columns** and identifiers, and have someone who knows the data confirm the list.
3. **Train on most of the history and test on a held-back part** — never judge a model on customers it learned from ([held-out evaluation](https://yourcloudblog.com/blog/what-is-held-out-model-evaluation/)).
4. **Judge the ranking, not the accuracy.** With 25% churn, a model that says "nobody leaves" is 75% accurate and useless; look at how many leavers sit at the top of the list, or at [balanced accuracy](https://yourcloudblog.com/blog/balanced-accuracy-vs-accuracy/).
5. **Put your own costs on it** and pick the cut-off where value peaks.
6. **Score current customers each month** and act on the top of the list; re-check the model as new outcomes arrive.

## How YourCloudGroup Model Manager does it

[YourCloudGroup Model Manager](https://yourcloudblog.com/model-manager/) runs these steps from a CSV or spreadsheet in a browser, on a dedicated server: it seals a held-back test set, screens columns for leakage and identifiers, compares twelve model variants on the same test, and issues a [certificate](https://yourcloudblog.com/blog/what-it-means-to-certify-a-machine-learning-model/) stating what was proven and what was not. Trained models can score new customer lists on a schedule. See the [full set of business trials](https://yourcloudblog.com/blog/predictions-from-business-spreadsheets/) for the method and the other two cases.

## Takeaway

Churn prediction is a ranking problem: the question is not "will this customer leave?" but "who should we talk to first?". With a few thousand past customers and an honest test, a model can concentrate leavers at the top of the list — in this example, almost three times the average rate — and your own costs decide how far down the list to go.

## Sources

- IBM, Telco Customer Churn sample dataset.
- YourCloudGroup blind-set trials, 30 September 2026: [Predictions from business spreadsheets](https://yourcloudblog.com/blog/predictions-from-business-spreadsheets/).
