IBM Telco Customer Churn — Synthetic Sample
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
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.
| Check | Points | Evidence |
|---|---|---|
| Populated cells | 50 / 50 | 210 of 210 top-level cells contain a value. Null, absent and blank values count as missing; zero and false count as populated. |
| Consistent value types | 30 / 30 | 210 of 210 populated cells match their column's most common observed type. Types are inferred, not checked against real-world truth. |
| Consistent record shape | 20 / 20 | 10 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.
| Field | Missing cells | Most common type | Other populated types |
|---|---|---|---|
| customerID | 0 / 10 | string | 0 / 10 |
| gender | 0 / 10 | string | 0 / 10 |
| SeniorCitizen | 0 / 10 | number | 0 / 10 |
| Partner | 0 / 10 | string | 0 / 10 |
| Dependents | 0 / 10 | string | 0 / 10 |
| tenure | 0 / 10 | number | 0 / 10 |
| PhoneService | 0 / 10 | string | 0 / 10 |
| MultipleLines | 0 / 10 | string | 0 / 10 |
| InternetService | 0 / 10 | string | 0 / 10 |
| OnlineSecurity | 0 / 10 | string | 0 / 10 |
| OnlineBackup | 0 / 10 | string | 0 / 10 |
| DeviceProtection | 0 / 10 | string | 0 / 10 |
| TechSupport | 0 / 10 | string | 0 / 10 |
| StreamingTV | 0 / 10 | string | 0 / 10 |
| StreamingMovies | 0 / 10 | string | 0 / 10 |
| Contract | 0 / 10 | string | 0 / 10 |
| PaperlessBilling | 0 / 10 | string | 0 / 10 |
| PaymentMethod | 0 / 10 | string | 0 / 10 |
| MonthlyCharges | 0 / 10 | number | 0 / 10 |
| TotalCharges | 0 / 10 | number | 0 / 10 |
| Churn | 0 / 10 | string | 0 / 10 |
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 examplepython3 retrieve-dataset.py a8a16366-0d9b-489f-a1cc-d848559e8ac8 --output dataset.bin
Full supplier documentation
Schema
| Name | Type | Description |
|---|---|---|
| customerID | VARCHAR | Unique alphanumeric customer identifier. |
| gender | VARCHAR | Customer gender: Male or Female. |
| SeniorCitizen | BIGINT | Binary flag: 1 if senior citizen (65+), 0 otherwise. |
| Partner | VARCHAR | Whether customer has a partner: Yes or No. |
| Dependents | VARCHAR | Whether customer has dependents: Yes or No. |
| tenure | BIGINT | Number of months customer has been with the company. |
| PhoneService | VARCHAR | Whether customer subscribes to phone service: Yes or No. |
| MultipleLines | VARCHAR | Phone line status: Yes, No, or No phone service. |
| InternetService | VARCHAR | Internet service type: DSL, Fiber optic, or No. |
| OnlineSecurity | VARCHAR | Online security add-on subscription: Yes, No, or No internet service. |
| OnlineBackup | VARCHAR | Online backup add-on subscription: Yes, No, or No internet service. |
| DeviceProtection | VARCHAR | Device protection add-on subscription: Yes, No, or No internet service. |
| TechSupport | VARCHAR | Technical support add-on subscription: Yes, No, or No internet service. |
| StreamingTV | VARCHAR | Streaming TV add-on subscription: Yes, No, or No internet service. |
| StreamingMovies | VARCHAR | Streaming movies add-on subscription: Yes, No, or No internet service. |
| Contract | VARCHAR | Contract term type: Month-to-month, One year, or Two year. |
| PaperlessBilling | VARCHAR | Whether customer uses paperless billing: Yes or No. |
| PaymentMethod | VARCHAR | Payment method: Electronic check, Mailed check, Bank transfer (automatic), or Credit card (automatic). |
| MonthlyCharges | DOUBLE | Current monthly charge in USD. |
| TotalCharges | VARCHAR | Total cumulative charges in USD over customer tenure. |
| Churn | VARCHAR | Whether 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
# 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# 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"