Data analysis project · R + D3

Why do telco customers leave?

Exploratory analysis and a predictive model of customer churn across customers of a California telecom company. The goal: understand which profiles cancel the service and flag who is at risk before they go.

Churn rate

customers churned

Total customers

Average tenure

Average CLTV

Customer lifetime value

01 · Overview

One in four customers churned

Churners are mostly new customers: their median tenure is , versus for active customers. They also pay more per month (median vs. ).

Customers by status

Count and share of total

Tenure and monthly charges by status

Box = middle 50% · line = median · whiskers = 1.5 × IQR

ActiveChurned

02 · Contract and billing

Month-to-month contracts are the strongest signal

of month-to-month customers churned; on two-year contracts, only . Electronic check payments () and fiber optic internet () also concentrate churn.

Churn rate by contract type

% of customers who churned

Churn rate by payment method

% of customers who churned

Churn rate by internet service

% of customers who churned

Monthly charges vs. tenure

Each dot is a customer

ActiveChurned

03 · Add-on services

No support or security add-ons, more churn

Among internet customers without tech support, churn reaches ; with support it drops to . Customers without internet barely churn at all ().

Churn rate by add-on service

Same scale across all four panels for easy comparison

04 · Demographics

Seniors and customers without family ties churn more

Senior citizens churn at , customers without a partner at , and those without dependents at . Gender, on the other hand, makes no difference.

Churn rate by demographic profile

Same scale across all four panels for easy comparison

05 · Churn reasons

Competitors and customer service lead the list

Competitor-related reasons combined (better offers, speed, data, devices) account for of churn. The attitude of support staff is the single most cited reason.

Reasons given by churned customers

Number of customers · churned in total

06 · Predictive model

A logistic regression catches 8 out of 10 churners

Trained on 75% of the data and evaluated on customers the model never saw. It uses a threshold of (Youden's index) instead of 0.5, to prioritize catching customers who leave.

AUC

Area under the ROC curve

Sensitivity

Churners detected

Specificity

Active customers correctly classified

Precision

Alerts that are real churners

ROC curve (test set)

Orange dot = chosen operating threshold

Variables with a significant effect

Coefficients (log-odds), p < 0.05

Raises riskLowers risk

Confusion matrix (test set)

Model prediction vs. what actually happened

07 · Putting it to use

Active customers ranked by risk

The model assigns each active customer a churn probability. are above the threshold and would be candidates for a retention campaign.

Customer IDContractInternetPayment methodTenureMonthly chargesChurn prob.Risk

Methodology

How it was built

Data and cleaning

A dataset of 7,043 customers and 33 variables. Constant columns (country, state) were dropped, and blank total charges for brand-new customers were handled.

No data leakage

The churn score, CLTV and churn reason (which only exists for customers who already left) were excluded from the model, along with identifiers and fine-grained geography.

Modeling

Stratified 75/25 split and 5-fold cross-validation with caret. It was benchmarked against a Random Forest; logistic regression was chosen for interpretability, with similar performance.