Customer Churn: Segmentation Dashboard

7,043 Telco customers. Click chips to filter by contract, tenure and payment method: every KPI and bar recomputes live in your browser, straight from the same rows the SQL model reads.

Dashboard details

Contract Month-to-month One year Two year
Tenure 0-6 mo 7-12 mo 13-24 mo 25-48 mo 49+ mo
Payment Electronic check Bank transfer Credit card Mailed check
Customers in view
Churn rate
Active MRR
Revenue at risk
Already lost (churned)
Churn rate (bar, 0–100%) Revenue at risk (label, $/mo)

By Contract (Tenure + Payment filters apply)

By Tenure (Contract + Payment filters apply)

By Payment Method (Contract + Tenure filters apply)

Key takeaways

  • Month-to-month contracts are the single biggest lever: 42.71% churn versus 11.27% (one year) and 2.83% (two year); 83% of the $70,281/mo at risk across all three contract types sits in this one segment.
  • The highest churn rate isn't the highest dollar risk. 0-6 month customers churn fastest (52.94%) but rank only 4th by exposure; 25-48 month customers, at a much lower 20.39% rate, rank 2nd because their active base is 2.5× larger. Ranking by rate alone would misdirect the budget.
  • Electronic check is a payment-method outlier: 45.29% churn, 2.4-3.0× every other method, worth $43,504/mo of revenue at risk on its own, more than the other three methods combined.
  • The highest-risk addressable segment: month-to-month + first six months + electronic check: 680 customers, 67.65% churn, $9,063/mo at risk (top row of the table below).
  • Realized loss vs. projected risk are kept separate on purpose: $139,131/mo has already left with churned customers historically; $84,118/mo is the projected exposure still sitting on the active book today. Conflating the two would either understate today's risk or overstate historical damage.

All 39 micro-segments (contract × tenure × payment, min. 30 customers, click any column header to sort)

ContractTenurePayment CustomersChurnRevenue at risk

Sourced from marts.segment_micro, gated by HAVING count(*) >= 30 so no row rests on a handful of customers. Sorted by revenue at risk by default; not filter-reactive, this is the complete, unfiltered set.