As a business analyst and strategist, I’ll try to figure out why customers are switching to other telecom services in California, USA. Also, provide meaningful recommendations on how to reduce this churn phenomenon in a competitive market.
In the analysis process, I’ve tried to discover significant insights the data tells us through EDA (Elaborative Data Analysis). Also, there were many factors(variables) with these factors, I’ve tried to identify significant factors that are most likely to be the reason for customer churn.
The data is publicly available on kaggle.com. The first dataset contains user data and churn reasons, while the second dataset contains population size for each zipcode. The data sets consist of character, integer, numerical, and factor type variables.
The two datasets are merged so that analysis can be performed on aggregated data.
#Importing dataset and merging
telecom_customer_churn <- read.csv("C:/Users/Ankur/Downloads/Google/Mobile Customer Churn/telecom_customer_churn.csv")
telecom_zipcode_population <- read.csv("C:/Users/Ankur/Downloads/Google/Mobile Customer Churn/telecom_zipcode_population.csv")
mergedf <- merge(telecom_customer_churn, telecom_zipcode_population, by = "Zip.Code")| Zip.Code | Customer.ID | Gender | Age | Married | Number.of.Dependents | City | Latitude | Longitude | Number.of.Referrals | Tenure.in.Months | Offer | Phone.Service | Avg.Monthly.Long.Distance.Charges | Multiple.Lines | Internet.Service | Internet.Type | Avg.Monthly.GB.Download | Online.Security | Online.Backup | Device.Protection.Plan | Premium.Tech.Support | Streaming.TV | Streaming.Movies | Streaming.Music | Unlimited.Data | Contract | Paperless.Billing | Payment.Method | Monthly.Charge | Total.Charges | Total.Refunds | Total.Extra.Data.Charges | Total.Long.Distance.Charges | Total.Revenue | Customer.Status | Churn.Category | Churn.Reason | Population |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 90001 | 7590-VHVEG | Female | 36 | Yes | 0 | Los Angeles | 33.97362 | -118.249 | 0 | 1 | Offer E | No | NA | Yes | DSL | 10 | No | Yes | No | No | No | No | No | Yes | Month-to-Month | Yes | Bank Withdrawal | 29.85 | 29.85 | 0 | 0 | 0.00 | 29.85 | Joined | 54492 | |||
| 90001 | 3307-TLCUD | Male | 36 | Yes | 0 | Los Angeles | 33.97362 | -118.249 | 1 | 17 | None | No | NA | Yes | Cable | 10 | Yes | No | Yes | No | No | No | No | Yes | Month-to-Month | No | Mailed Check | 34.40 | 592.75 | 0 | 0 | 0.00 | 592.75 | Stayed | 54492 | |||
| 90001 | 0136-IFMYD | Male | 71 | Yes | 0 | Los Angeles | 33.97362 | -118.249 | 1 | 69 | None | Yes | 18.41 | Yes | Yes | Fiber Optic | 17 | No | Yes | Yes | Yes | Yes | Yes | No | Yes | Two Year | Yes | Bank Withdrawal | 109.95 | 7634.25 | 0 | 0 | 1270.29 | 8904.54 | Stayed | 54492 | ||
| 90001 | 3217-FZDMN | Female | 66 | No | 0 | Los Angeles | 33.97362 | -118.249 | 0 | 8 | Offer E | Yes | 5.21 | No | Yes | Fiber Optic | 8 | No | No | Yes | No | Yes | Yes | No | Yes | Month-to-Month | Yes | Credit Card | 94.45 | 742.95 | 0 | 0 | 41.68 | 784.63 | Churned | Competitor | Competitor had better devices | 54492 |
| 90002 | 6625-FLENO | Male | 31 | Yes | 0 | Los Angeles | 33.94926 | -118.247 | 9 | 58 | None | Yes | 18.68 | No | No | NA | Two Year | No | Credit Card | -4.00 | 1185.95 | 0 | 0 | 1083.44 | 2269.39 | Stayed | 44586 | |||||||||||
| 90002 | 5575-GNVDE | Male | 46 | No | 0 | Los Angeles | 33.94926 | -118.247 | 0 | 34 | None | Yes | 17.09 | No | Yes | DSL | 16 | Yes | No | Yes | No | No | No | No | Yes | One Year | No | Mailed Check | 56.95 | 1889.50 | 0 | 0 | 581.06 | 2470.56 | Stayed | 44586 |
## Zip.Code Customer.ID Gender Age Married
## Min. :90001 0002-ORFBO: 1 Female:3488 Min. :19.00 No :3641
## 1st Qu.:92101 0003-MKNFE: 1 Male :3555 1st Qu.:32.00 Yes:3402
## Median :93518 0004-TLHLJ: 1 Median :46.00
## Mean :93486 0011-IGKFF: 1 Mean :46.51
## 3rd Qu.:95329 0013-EXCHZ: 1 3rd Qu.:60.00
## Max. :96150 0013-MHZWF: 1 Max. :80.00
## (Other) :7037
## Number.of.Dependents City Latitude Longitude
## Min. :0.0000 Los Angeles : 293 Min. :32.56 Min. :-124.3
## 1st Qu.:0.0000 San Diego : 285 1st Qu.:33.99 1st Qu.:-121.8
## Median :0.0000 San Jose : 112 Median :36.21 Median :-119.6
## Mean :0.4687 Sacramento : 108 Mean :36.20 Mean :-119.8
## 3rd Qu.:0.0000 San Francisco: 104 3rd Qu.:38.16 3rd Qu.:-118.0
## Max. :9.0000 Fresno : 61 Max. :41.96 Max. :-114.2
## (Other) :6080
## Number.of.Referrals Tenure.in.Months Offer Phone.Service
## Min. : 0.000 Min. : 1.00 None :3877 No : 682
## 1st Qu.: 0.000 1st Qu.: 9.00 Offer A: 520 Yes:6361
## Median : 0.000 Median :29.00 Offer B: 824
## Mean : 1.952 Mean :32.39 Offer C: 415
## 3rd Qu.: 3.000 3rd Qu.:55.00 Offer D: 602
## Max. :11.000 Max. :72.00 Offer E: 805
##
## Avg.Monthly.Long.Distance.Charges Multiple.Lines Internet.Service
## Min. : 1.01 : 682 No :1526
## 1st Qu.:13.05 No :3390 Yes:5517
## Median :25.69 Yes:2971
## Mean :25.42
## 3rd Qu.:37.68
## Max. :49.99
## NA's :682
## Internet.Type Avg.Monthly.GB.Download Online.Security Online.Backup
## :1526 Min. : 2.00 :1526 :1526
## Cable : 830 1st Qu.:13.00 No :3498 No :3088
## DSL :1652 Median :21.00 Yes:2019 Yes:2429
## Fiber Optic:3035 Mean :26.19
## 3rd Qu.:30.00
## Max. :85.00
## NA's :1526
## Device.Protection.Plan Premium.Tech.Support Streaming.TV Streaming.Movies
## :1526 :1526 :1526 :1526
## No :3095 No :3473 No :2810 No :2785
## Yes:2422 Yes:2044 Yes:2707 Yes:2732
##
##
##
##
## Streaming.Music Unlimited.Data Contract Paperless.Billing
## :1526 :1526 Month-to-Month:3610 No :2872
## No :3029 No : 772 One Year :1550 Yes:4171
## Yes:2488 Yes:4745 Two Year :1883
##
##
##
##
## Payment.Method Monthly.Charge Total.Charges Total.Refunds
## Bank Withdrawal:3909 Min. :-10.00 Min. : 18.8 Min. : 0.000
## Credit Card :2749 1st Qu.: 30.40 1st Qu.: 400.1 1st Qu.: 0.000
## Mailed Check : 385 Median : 70.05 Median :1394.5 Median : 0.000
## Mean : 63.60 Mean :2280.4 Mean : 1.962
## 3rd Qu.: 89.75 3rd Qu.:3786.6 3rd Qu.: 0.000
## Max. :118.75 Max. :8684.8 Max. :49.790
##
## Total.Extra.Data.Charges Total.Long.Distance.Charges Total.Revenue
## Min. : 0.000 Min. : 0.00 Min. : 21.36
## 1st Qu.: 0.000 1st Qu.: 70.55 1st Qu.: 605.61
## Median : 0.000 Median : 401.44 Median : 2108.64
## Mean : 6.861 Mean : 749.10 Mean : 3034.38
## 3rd Qu.: 0.000 3rd Qu.:1191.10 3rd Qu.: 4801.15
## Max. :150.000 Max. :3564.72 Max. :11979.34
##
## Customer.Status Churn.Category Churn.Reason
## Churned:1869 :5174 :5174
## Joined : 454 Attitude : 314 Competitor had better devices: 313
## Stayed :4720 Competitor : 841 Competitor made better offer : 311
## Dissatisfaction: 321 Attitude of support person : 220
## Other : 182 Don't know : 130
## Price : 211 Competitor offered more data : 117
## (Other) : 778
## Population
## Min. : 11
## 1st Qu.: 2344
## Median : 17554
## Mean : 22140
## 3rd Qu.: 36125
## Max. :105285
##
## 'data.frame': 7043 obs. of 39 variables:
## $ Zip.Code : int 90001 90001 90001 90001 90002 90002 90002 90002 90003 90003 ...
## $ Customer.ID : Factor w/ 7043 levels "0002-ORFBO","0003-MKNFE",..: 5376 2308 86 2253 4701 3963 3129 3634 38 6795 ...
## $ Gender : Factor w/ 2 levels "Female","Male": 1 2 2 1 2 2 2 2 1 1 ...
## $ Age : int 36 36 71 66 31 46 56 68 60 49 ...
## $ Married : Factor w/ 2 levels "No","Yes": 2 2 2 1 2 1 1 1 2 2 ...
## $ Number.of.Dependents : int 0 0 0 0 0 0 0 0 0 3 ...
## $ City : Factor w/ 1106 levels "Acampo","Acton",..: 555 555 555 555 555 555 555 555 555 555 ...
## $ Latitude : num 34 34 34 34 33.9 ...
## $ Longitude : num -118 -118 -118 -118 -118 ...
## $ Number.of.Referrals : int 0 1 1 0 9 0 0 0 4 2 ...
## $ Tenure.in.Months : int 1 17 69 8 58 34 13 38 59 3 ...
## $ Offer : Factor w/ 6 levels "None","Offer A",..: 6 1 1 6 1 1 1 1 3 1 ...
## $ Phone.Service : Factor w/ 2 levels "No","Yes": 1 1 2 2 2 2 2 2 2 2 ...
## $ Avg.Monthly.Long.Distance.Charges: num NA NA 18.41 5.21 18.68 ...
## $ Multiple.Lines : Factor w/ 3 levels "","No","Yes": 1 1 3 2 2 2 2 3 3 2 ...
## $ Internet.Service : Factor w/ 2 levels "No","Yes": 2 2 2 2 1 2 1 2 2 2 ...
## $ Internet.Type : Factor w/ 4 levels "","Cable","DSL",..: 3 2 4 4 1 3 1 4 4 4 ...
## $ Avg.Monthly.GB.Download : int 10 10 17 8 NA 16 NA 13 14 22 ...
## $ Online.Security : Factor w/ 3 levels "","No","Yes": 2 3 2 2 1 3 1 2 3 2 ...
## $ Online.Backup : Factor w/ 3 levels "","No","Yes": 3 2 3 2 1 2 1 2 3 3 ...
## $ Device.Protection.Plan : Factor w/ 3 levels "","No","Yes": 2 3 3 3 1 3 1 2 2 2 ...
## $ Premium.Tech.Support : Factor w/ 3 levels "","No","Yes": 2 2 3 2 1 2 1 2 2 3 ...
## $ Streaming.TV : Factor w/ 3 levels "","No","Yes": 2 2 3 3 1 2 1 3 3 2 ...
## $ Streaming.Movies : Factor w/ 3 levels "","No","Yes": 2 2 3 3 1 2 1 3 2 2 ...
## $ Streaming.Music : Factor w/ 3 levels "","No","Yes": 2 2 2 2 1 2 1 2 2 2 ...
## $ Unlimited.Data : Factor w/ 3 levels "","No","Yes": 3 3 3 3 1 3 1 3 3 3 ...
## $ Contract : Factor w/ 3 levels "Month-to-Month",..: 1 1 3 1 3 2 1 3 1 1 ...
## $ Paperless.Billing : Factor w/ 2 levels "No","Yes": 2 1 2 2 1 1 2 1 2 2 ...
## $ Payment.Method : Factor w/ 3 levels "Bank Withdrawal",..: 1 3 1 2 2 3 1 1 1 1 ...
## $ Monthly.Charge : num 29.9 34.4 110 94.5 -4 ...
## $ Total.Charges : num 29.9 592.8 7634.2 743 1186 ...
## $ Total.Refunds : num 0 0 0 0 0 ...
## $ Total.Extra.Data.Charges : int 0 0 0 0 0 0 0 0 0 0 ...
## $ Total.Long.Distance.Charges : num 0 0 1270.3 41.7 1083.4 ...
## $ Total.Revenue : num 29.9 592.8 8904.5 784.6 2269.4 ...
## $ Customer.Status : Factor w/ 3 levels "Churned","Joined",..: 2 3 3 1 3 3 3 3 3 2 ...
## $ Churn.Category : Factor w/ 6 levels "","Attitude",..: 1 1 1 3 1 1 1 1 1 1 ...
## $ Churn.Reason : Factor w/ 21 levels "","Attitude of service provider",..: 1 1 1 4 1 1 1 1 1 1 ...
## $ Population : int 54492 54492 54492 54492 44586 44586 44586 44586 58198 58198 ...
There are 3 map view tabs. Each observation information can be retrieved by clicking on each point(observation) on the map.