Sample data for churn prediction
Account histories with plan, seat and movement features plus churn labels — a ready training set for building and evaluating churn-prediction models.
Generate & download
Save / load scenario (stored only in this browser)
About this dataset
This is a free, reproducible SaaS / MRR dataset you can generate and download right here as CSV, Excel, JSON or SQL. It is built for churn prediction, feature engineering and classification tutorials — and because every field is correlated rather than random, the numbers actually hold together when you analyze them.
Accounts sign up across the last two years on weighted plan tiers, then face a plan-dependent churn hazard with chances of expansion and contraction each month — reproducing the real shape of a SaaS book (leaky low end, sticky enterprise) so retention math has signal.
Columns in this dataset
Schema for the SaaS / MRR export (the anomaly column appears only when labels are switched on):
| Column | Type | Description |
|---|---|---|
| month | date | First of the month the movement occurred. |
| account_id / account | int / text | The subscribing company. |
| movement | text | new, expansion, contraction, or churn. |
| plan | text | Starter / Pro / Business / Enterprise. |
| seats | integer | Active seats after the movement (0 on churn). |
| mrr | number | Account MRR after the movement. |
| mrr_delta | number | Change in MRR (negative for contraction/churn). |
| region / industry | text | Firmographic dimensions. |
| anomaly | 0/1 | Present with labels on; flags suspicious churn. |
Load it with pandas
import pandas as pd
df = pd.read_csv("saas_mrr.csv")
df.head()
Good for
Related sample datasets
FAQ
How big is this dataset?
Around 12,000 rows by default. Change the row count in the generator above and re-export — anything up to ~200k works in the browser.
What formats can I download?
CSV, Excel (.xlsx), JSON, and SQL (a CREATE TABLE plus INSERT statements). Pick whatever fits your workflow.
Does it include labels for modeling?
Yes — an anomaly column flags a small fraction of rows (fraud-like / outlier events), so you have ground truth for classification and anomaly detection.
Will I get the same file every time?
Yes. This page uses the fixed seed churn-pred, so the download is byte-identical on every machine. Clear the seed in the generator for fresh random data.
Can I get separate tables, messy data, or other formats?
Yes. Use Tables → Excel/SQL for a normalized multi-table export, switch on Messy / dirty data in Advanced options for nulls, typos and inconsistent dates, and choose CSV, Excel, JSON or SQL on any download.
Is the data real?
No — it is 100% synthetic, generated in your browser, with no real people or companies. Free to use commercially.