retailscikit-learn/churn-predictionchurntelcoclassificationtabularibmscikit-learnml-benchmarkcustomer-analytics

IBM Telco Customer Churn — Synthetic Sample

Free

Open dataset

Sample structure: 100 / 100
3 download links issued
Seller: DataBazaar
Sign up to download

Already have an account? Log in

Agent? Connect your account →

Category
Retail
Records
7,043 rows
Format
PARQUET
Update Frequency
Not documented
Collection Method
uploaded
PII
No flagged field names; not a privacy audit
File Size
~0.24 MB
Download links issued
3

Source, license and coverage

Supplier documentation. These claims are separate from the automated sample score. A listing edit date is not a data freshness date.

License
cc-by-4.0
Source / creator
scikit-learn/churn-prediction
Collection method
The data was synthesized by IBM as a sample/teaching dataset modeling a fictional telecom provider's customer base. Each row encodes a customer's demographic profile, the bundle of services they subscribe to, contract and billing characteristics, and whether they churned in the most recent month. The scikit-learn mirror provides the data as-is in CSV form with no additional transformation beyond hosting on the Hub.
Coverage start
Not documented
Coverage end
Not documented
Data last updated
Not documented
Update schedule
Not documented

Source documentation ↗

License terms ↗

This is a synthetic/fictional dataset and does not reflect real customer behavior at any actual telecom; patterns learned here may not transfer to production churn modeling. TotalCharges contains a small number of blank strings for zero-tenure customers that need cleaning before numeric use. The dataset is heavily reused in tutorials and Kaggle competitions, so it is effectively memorized by many pretrained models — leakage risk is high if used to evaluate LLMs on tabular reasoning. No timestamp metadata, no geographic detail. Source does not document additional gaps; buyers should validate empirically.

Sample structure score: 100 / 100

This automated check describes the inspected sample, not factual accuracy, legal rights, representativeness, or the quality of the entire dataset. It is not a customer rating.

Assessed 10 sample records (JSON) on 2026-10-09. All records in the provided sample were checked.

CheckPointsEvidence
Populated cells50 / 50210 of 210 top-level cells contain a value. Null, absent and blank values count as missing; zero and false count as populated.
Consistent value types30 / 30210 of 210 populated cells match their column's most common observed type. Types are inferred, not checked against real-world truth.
Consistent record shape20 / 2010 of 10 records have the expected fields. CSV/TSV use the header width; JSON uses the union of observed keys.
Field-level findings and improvements

Check missing cells and mixed types below. Document intentional missing values or mixed types in your field descriptions. Do not fill legitimate unknowns with invented values just to increase this score.

FieldMissing cellsMost common typeOther populated types
customerID0 / 10string0 / 10
gender0 / 10string0 / 10
SeniorCitizen0 / 10number0 / 10
Partner0 / 10string0 / 10
Dependents0 / 10string0 / 10
tenure0 / 10number0 / 10
PhoneService0 / 10string0 / 10
MultipleLines0 / 10string0 / 10
InternetService0 / 10string0 / 10
OnlineSecurity0 / 10string0 / 10
OnlineBackup0 / 10string0 / 10
DeviceProtection0 / 10string0 / 10
TechSupport0 / 10string0 / 10
StreamingTV0 / 10string0 / 10
StreamingMovies0 / 10string0 / 10
Contract0 / 10string0 / 10
PaperlessBilling0 / 10string0 / 10
PaymentMethod0 / 10string0 / 10
MonthlyCharges0 / 10number0 / 10
TotalCharges0 / 10number0 / 10
Churn0 / 10string0 / 10
How the score is calculated, its limitations, and how to correct an assessment →

About this data

Fictional telecom customers with demographics, service subscriptions, billing and churn labels. IBM sample data for teaching and classification experiments; it does not describe actual customer behavior.

Retrieve with your agent or Python

Create an account and configure DATABAZAAR_API_KEY. This example retrieves free or already purchased data; it never makes a purchase. For a multi-file dataset, choose a file index from the manifest.

Download the Python example
python3 retrieve-dataset.py a8a16366-0d9b-489f-a1cc-d848559e8ac8 --output dataset.bin
Full supplier documentation
## Overview A tabular customer churn prediction dataset from a fictional telecommunications company, originally published as part of IBM Sample Datasets and redistributed by scikit-learn on Hugging Face. Each row represents a single customer, with attributes covering demographics, subscribed services, account tenure, billing, and a binary churn label indicating whether the customer left within the last month. Size is in the 1K–10K row range (commonly ~7,043 rows, 21 columns) in CSV format. The dataset is static (snapshot from IBM's sample data, mirrored 2022). ## Schema - customerID — string — unique customer identifier - gender — string — Male / Female - SeniorCitizen — int — 1 if senior citizen, else 0 - Partner — string — Yes / No - Dependents — string — Yes / No - tenure — int — months the customer has stayed with the company - PhoneService — string — Yes / No - InternetService — string — DSL / Fiber optic / No - Contract — string — Month-to-month / One year / Two year - MonthlyCharges — float — current monthly charge in USD - TotalCharges — float — total amount charged over tenure - Churn — string — Yes / No (target variable) - +9 more columns covering OnlineSecurity, OnlineBackup, DeviceProtection, TechSupport, StreamingTV, StreamingMovies, MultipleLines, PaperlessBilling, PaymentMethod ## Sources - Hugging Face: https://huggingface.co/datasets/scikit-learn/churn-prediction — license: CC-BY-4.0 - Originally derived from IBM Sample Data Sets (Telco Customer Churn) ## Methodology The data was synthesized by IBM as a sample/teaching dataset modeling a fictional telecom provider's customer base. Each row encodes a customer's demographic profile, the bundle of services they subscribe to, contract and billing characteristics, and whether they churned in the most recent month. The scikit-learn mirror provides the data as-is in CSV form with no additional transformation beyond hosting on the Hub. ## Known gaps & limitations This is a synthetic/fictional dataset and does not reflect real customer behavior at any actual telecom; patterns learned here may not transfer to production churn modeling. TotalCharges contains a small number of blank strings for zero-tenure customers that need cleaning before numeric use. The dataset is heavily reused in tutorials and Kaggle competitions, so it is effectively memorized by many pretrained models — leakage risk is high if used to evaluate LLMs on tabular reasoning. No timestamp metadata, no geographic detail. Source does not document additional gaps; buyers should validate empirically. ## Intended use & out-of-scope - IS for: classification tutorials, baseline ML benchmarks, feature engineering practice, agent-driven EDA / AutoML demos, RAG over tabular data examples, teaching churn modeling workflows. - NOT for: real-world telco decision-making, evaluating LLMs on unseen tabular tasks (high contamination risk), or fairness audits of real protected populations (data is fictional). Original supplier listing: Telco Customer Churn Prediction (IBM Sample) Classic IBM telco customer churn dataset (~7K rows) with demographics, service subscriptions, account info, and churn label. Tabular CSV, ideal for ML classification tutorials, benchmarks, and agent-driven feature engineering.

Schema

NameTypeDescription
customerIDVARCHARUnique alphanumeric customer identifier.
genderVARCHARCustomer gender: Male or Female.
SeniorCitizenBIGINTBinary flag: 1 if senior citizen (65+), 0 otherwise.
PartnerVARCHARWhether customer has a partner: Yes or No.
DependentsVARCHARWhether customer has dependents: Yes or No.
tenureBIGINTNumber of months customer has been with the company.
PhoneServiceVARCHARWhether customer subscribes to phone service: Yes or No.
MultipleLinesVARCHARPhone line status: Yes, No, or No phone service.
InternetServiceVARCHARInternet service type: DSL, Fiber optic, or No.
OnlineSecurityVARCHAROnline security add-on subscription: Yes, No, or No internet service.
OnlineBackupVARCHAROnline backup add-on subscription: Yes, No, or No internet service.
DeviceProtectionVARCHARDevice protection add-on subscription: Yes, No, or No internet service.
TechSupportVARCHARTechnical support add-on subscription: Yes, No, or No internet service.
StreamingTVVARCHARStreaming TV add-on subscription: Yes, No, or No internet service.
StreamingMoviesVARCHARStreaming movies add-on subscription: Yes, No, or No internet service.
ContractVARCHARContract term type: Month-to-month, One year, or Two year.
PaperlessBillingVARCHARWhether customer uses paperless billing: Yes or No.
PaymentMethodVARCHARPayment method: Electronic check, Mailed check, Bank transfer (automatic), or Credit card (automatic).
MonthlyChargesDOUBLECurrent monthly charge in USD.
TotalChargesVARCHARTotal cumulative charges in USD over customer tenure.
ChurnVARCHARWhether customer churned within the last month: Yes or No.

Sample Data

Preview a sample of the data before downloading.

Public sample only. Sign in to retrieve the full dataset, including free datasets.

For AI Agents

Via MCP Server
# 1. Add to your agent's MCP config (claude_desktop_config.json or similar):
{
  "mcpServers": {
    "databazaar": { "command": "npx", "args": ["databazaar-mcp"] }
  }
}

# 2. Your agent can then call:
search_datasets({ query: "IBM Telco Customer Churn — Syn" })
// Found: a8a16366-0d9b-489f-a1cc-d848559e8ac8
get_download_url({ dataset_id: "a8a16366-0d9b-489f-a1cc-d848559e8ac8" })  // free — sign in with MCP OAuth first
Via REST API
# Free dataset — sign in or use your account API key:
curl https://api.databazaar.io/datasets/a8a16366-0d9b-489f-a1cc-d848559e8ac8/download-url -H "Authorization: Bearer $DATABAZAAR_API_KEY"