ACKNOWELDGEMENT & DISCLAIMER



ACKNOWLDGEMENT


* The dashboard is for educational purpose only and it should be used for understanding the survival analysis technique. The outputs and analysis displayed in the flexdashboard should not strictly be considered for professional deicison making.


DISCLAIMER

* > Authors don’t bear any responsibility for any consequences emnating from the content covered in the dashboard, the web url and links.

What is Customer Churn?



Customer Churn occurs when customers of organization moves out gradually over the period of time for many reasons like dissatisfaction from product or service, better competitive offering, temporary degradation of services due to technical issues, not feeling the value of service against charges, death of customer, relocation of customer etc. Customer churn is also known as customer turnover or customer defection or loss of clients.

There are two types of customer churns— voluntary churn and involuntary churn.The voluntary churn is the exit of customer by his own decision. Involuntary churn is the exit of customer due to circumstances. When modeling the customer churn phenomenon, the analyst excludes the involuntry churns and keeps only voluntary churns into consideration as voluntary churns is the output of function of company customer relationship.

Customer churn modeling is very popular in financial services like banking and insurance, retailing, telecommunication, etc. Customer churn modeling is taken very seriously in telecommunication as customers can change their service provider without hiccups due to Mobile Number Portability (MNP). Similar scenario is emerging in health insurnce domain as government authority IRDA has allowed policy portability. Customer churn is also taken as indication of customer satisfaction. So understanding churn is very important to frame strategies of Customer Relationship Management (CRM).

Predicting customer churn can help companies to increase customer retention as it makes company proactive and company can fromulate more effective strategies to retain the customer. It can help companies to do more precise customized plans for retaining customers.

Not all customer churns are bad as many unprofitable customers leaves the company and it is good for the company. Such bad churns are called customer divestment of unprofitable customer.
Source: https://en.wikipedia.org/wiki/Customer_attrition

FURTHER READINGS

To know more about customer churn modeling, following research papers and articles are suggested—

Buckinx Wouter, Dirk Van den Poel (2005), “Customer Base Analysis: Partial Defection of Behaviorally-Loyal Clients in a Non-Contractual FMCG Retail Setting”, European Journal of Operational Research, 164 (1), 252–268.

Burez Jonathan, Dirk Van den Poel (2006), “CRM at a Pay-TV Company: Using Analytical Models to Reduce Customer Attrition by Targeted Marketing for Subscription Services,” Expert Systems with Applications, 32 (2), 277–288.

Prinzie Anita, Dirk Van den Poel (2005), “Incorporating sequential information into traditional classification models by using an element/position-sensitive SAM”, Decision Support Systems, 42 (2), 508–526.

Pohl Stefan (2007), Zeitraumbezogene Stornomodellierung in der Kraftfahrtversicherung, Zeitschrift für Versicherungswesen (ZfV), 59 (11), 361–368.

This flexdashboard is an attempt to address hte customer churn modeling with the help of survival analysis. Let’s begin, so click on next menu item on “MENU” tab.

Overview of Dataset

Row

Dataset Table

Variables in the Dataset

 [1] "customerID"       "gender"           "SeniorCitizen"    "Partner"         
 [5] "Dependents"       "tenure"           "PhoneService"     "MultipleLines"   
 [9] "InternetService"  "OnlineSecurity"   "OnlineBackup"     "DeviceProtection"
[13] "TechSupport"      "StreamingTV"      "StreamingMovies"  "Contract"        
[17] "PaperlessBilling" "PaymentMethod"    "MonthlyCharges"   "TotalCharges"    
[21] "Churn"           

Structure of the Dataset

'data.frame':   7043 obs. of  21 variables:
 $ customerID      : chr  "7590-VHVEG" "5575-GNVDE" "3668-QPYBK" "7795-CFOCW" ...
 $ gender          : chr  "Female" "Male" "Male" "Male" ...
 $ SeniorCitizen   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ Partner         : chr  "Yes" "No" "No" "No" ...
 $ Dependents      : chr  "No" "No" "No" "No" ...
 $ tenure          : int  1 34 2 45 2 8 22 10 28 62 ...
 $ PhoneService    : chr  "No" "Yes" "Yes" "No" ...
 $ MultipleLines   : chr  "No phone service" "No" "No" "No phone service" ...
 $ InternetService : chr  "DSL" "DSL" "DSL" "DSL" ...
 $ OnlineSecurity  : chr  "No" "Yes" "Yes" "Yes" ...
 $ OnlineBackup    : chr  "Yes" "No" "Yes" "No" ...
 $ DeviceProtection: chr  "No" "Yes" "No" "Yes" ...
 $ TechSupport     : chr  "No" "No" "No" "Yes" ...
 $ StreamingTV     : chr  "No" "No" "No" "No" ...
 $ StreamingMovies : chr  "No" "No" "No" "No" ...
 $ Contract        : chr  "Month-to-month" "One year" "Month-to-month" "One year" ...
 $ PaperlessBilling: chr  "Yes" "No" "Yes" "No" ...
 $ PaymentMethod   : chr  "Electronic check" "Mailed check" "Mailed check" "Bank transfer (automatic)" ...
 $ MonthlyCharges  : num  29.9 57 53.9 42.3 70.7 ...
 $ TotalCharges    : num  29.9 1889.5 108.2 1840.8 151.7 ...
 $ Churn           : chr  "No" "No" "Yes" "No" ...
NULL

Summary Statistics of the Dataset

  customerID           gender          SeniorCitizen      Partner         
 Length:7043        Length:7043        Min.   :0.0000   Length:7043       
 Class :character   Class :character   1st Qu.:0.0000   Class :character  
 Mode  :character   Mode  :character   Median :0.0000   Mode  :character  
                                       Mean   :0.1621                     
                                       3rd Qu.:0.0000                     
                                       Max.   :1.0000                     
                                                                          
  Dependents            tenure      PhoneService       MultipleLines     
 Length:7043        Min.   : 0.00   Length:7043        Length:7043       
 Class :character   1st Qu.: 9.00   Class :character   Class :character  
 Mode  :character   Median :29.00   Mode  :character   Mode  :character  
                    Mean   :32.37                                        
                    3rd Qu.:55.00                                        
                    Max.   :72.00                                        
                                                                         
 InternetService    OnlineSecurity     OnlineBackup       DeviceProtection  
 Length:7043        Length:7043        Length:7043        Length:7043       
 Class :character   Class :character   Class :character   Class :character  
 Mode  :character   Mode  :character   Mode  :character   Mode  :character  
                                                                            
                                                                            
                                                                            
                                                                            
 TechSupport        StreamingTV        StreamingMovies      Contract        
 Length:7043        Length:7043        Length:7043        Length:7043       
 Class :character   Class :character   Class :character   Class :character  
 Mode  :character   Mode  :character   Mode  :character   Mode  :character  
                                                                            
                                                                            
                                                                            
                                                                            
 PaperlessBilling   PaymentMethod      MonthlyCharges    TotalCharges   
 Length:7043        Length:7043        Min.   : 18.25   Min.   :  18.8  
 Class :character   Class :character   1st Qu.: 35.50   1st Qu.: 401.4  
 Mode  :character   Mode  :character   Median : 70.35   Median :1397.5  
                                       Mean   : 64.76   Mean   :2283.3  
                                       3rd Qu.: 89.85   3rd Qu.:3794.7  
                                       Max.   :118.75   Max.   :8684.8  
                                                        NA's   :11      
    Churn          
 Length:7043       
 Class :character  
 Mode  :character  
                   
                   
                   
                   

Data Manipulation

Row

Data Manipulation

# Removing NAs 

churn=na.omit(churn)

# Removing CustomerID variable

churn$customerID=NULL

# Changing Gender into factor variable

churn$gender=as.factor(churn$gender)

# Changing SeniorCitizen into factor variable

churn$SeniorCitizen=as.factor(churn$SeniorCitizen)

# Changing Partner into factor variable

churn$Partner=as.factor(churn$Partner)

# Changing Dependents into factor variable

churn$Dependents=as.factor(churn$Dependents)

# Changing Churn into integer variable

churn$tenure=as.integer(churn$tenure)

# Changing phoneServices into factor variable

churn$PhoneService=as.factor(churn$PhoneService)

# Changing multipleLines into factor variable

churn$MultipleLines=as.factor(churn$MultipleLines)

# Changing InternetService to factor variable

churn$InternetService=as.factor(churn$InternetService)

# Changing OnlineSecurity  to factor variable

churn$OnlineSecurity=as.factor(churn$OnlineSecurity)

# Changing OnlineBackup to factor variable

churn$OnlineBackup=as.factor(churn$OnlineBackup)

# Changing DeviceProtection to factor variable

churn$DeviceProtection=as.factor(churn$DeviceProtection)

# Changing TechSupport to factor variable

churn$TechSupport=as.factor(churn$TechSupport)

# Changing StreamingTV  to factor variable

churn$StreamingTV=as.factor(churn$StreamingTV)

# Changing StreamingMovies to factor variable

churn$StreamingMovies=as.factor(churn$StreamingMovies)

# Changing Contract  to factor variable

churn$Contract=as.factor(churn$Contract)

# Changing PaperlessBilling to factor variable

churn$PaperlessBilling=as.factor(churn$PaperlessBilling)

# Changing PaymentMethod to factor variable

churn$PaymentMethod=as.factor(churn$PaymentMethod)

# Changing Churn to factor variable

churn$Churn=as.factor(churn$Churn)

Hypotheses Testing

Row

Hypothesis Testing (two-Sample t-test) with Numeric Variables –tenure, MonthlyCharge and TotalCharges


    Two Sample t-test

data:  tenure by Churn
t = 31.741, df = 7030, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 18.45603 20.88572
sample estimates:
 mean in group No mean in group Yes 
         37.65001          17.97913 

    Two Sample t-test

data:  MonthlyCharges by Churn
t = -16.48, df = 7030, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -14.69625 -11.57160
sample estimates:
 mean in group No mean in group Yes 
         61.30741          74.44133 

    Two Sample t-test

data:  TotalCharges by Churn
t = 17.069, df = 7030, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
  905.9968 1141.0993
sample estimates:
 mean in group No mean in group Yes 
         2555.344          1531.796 

Hypothesis Testing (Chi Square test) with factor Variables


    Pearson's Chi-squared test with Yates' continuity correction

data:  table(factor_churn$Churn, factor_churn$gender)
X-squared = 0.47545, df = 1, p-value = 0.4905

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(factor_churn$Churn, factor_churn$SeniorCitizen)
X-squared = 158.44, df = 1, p-value < 2.2e-16

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(factor_churn$Churn, factor_churn$Partner)
X-squared = 157.5, df = 1, p-value < 2.2e-16

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(factor_churn$Churn, factor_churn$Dependents)
X-squared = 186.32, df = 1, p-value < 2.2e-16

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(factor_churn$Churn, factor_churn$PhoneService)
X-squared = 0.87373, df = 1, p-value = 0.3499

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$MultipleLines)
X-squared = 11.272, df = 2, p-value = 0.003568

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$InternetService)
X-squared = 728.7, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$OnlineSecurity)
X-squared = 846.68, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$OnlineBackup)
X-squared = 599.18, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$DeviceProtection)
X-squared = 555.88, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$TechSupport)
X-squared = 824.93, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$StreamingTV)
X-squared = 372.46, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$StreamingMovies)
X-squared = 374.27, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$Contract)
X-squared = 1179.5, df = 2, p-value < 2.2e-16

    Pearson's Chi-squared test with Yates' continuity correction

data:  table(factor_churn$Churn, factor_churn$PaperlessBilling)
X-squared = 256.87, df = 1, p-value < 2.2e-16

    Pearson's Chi-squared test

data:  table(factor_churn$Churn, factor_churn$PaymentMethod)
X-squared = 645.43, df = 3, p-value < 2.2e-16

Interpretation of Hypotheses Tests



two-Independent Sample t-Tests : Interpretations

There were three two-independent samples t-tests were conducted between Churn variable and tenure, MonthlyCharges, TotalCharges.

The hypothesis test between churn and tenure fails to accept the null hypothsis. There is significant difference between the mean tenure of No Churn customers and Churn customers. Churn customers have mean tenure 17.98 in comparison to mean tenure (37.65) of Non Churn customers. This gives us the hint that customers who have tenure less or equal to 17.98 is more likely to churn.

The hypothesis test between churn and MonthlyCharges fails to accept the null hypothsis. There is significant difference between the mean MonthlyCharges of No Churn customers and Churn customers. Churn customers have mean MonthlyCharges 74.44 in comparison to mean tenure 61.31 of Non Churn customers. This gives us the hint that customers who have MonthlyCharges more or equal to 74.44 is more likely to churn.

The hypothesis test between churn and TotalCharges fails to accept the null hypothsis. There is significant difference between the mean tenure of No Churn customers and Churn customers. Churn customers have mean TotalCharges 1531.80 in comparison to mean TotalCharges 2555.34 of Non Churn customers. This gives us the hint that customers who have tenure less or equal to 17 is more likely to churn.

Chi Square Tests : Interpretations

There were 19 Chi Square tests were conducted between Churn variable and gender, SeniorCitizen, Partner, Dependents, PhoneService, MultipleLines,Internet Services, OnlineSecurity, OnlineBackup,DeviceProtection, TechSupport,StreamingTV, StreamingMovies, COntract, PaperlessBilling, PaymentMethod. All these variables are factor variables hence t test can’t be applied.

The Chi-Square tests of Churn with gender and PhoneService variables fail to reject the null hypotheses. Therefore, gender of subscriber and whether subcriber uses phoneService or not, decision of churn by customer does not depend on both.

The Chi-Square tests of Churn with SeniorCitizen, Partner, Dependents, MultipleLines, InternetService, OnlineSecurity, OnlineBackup, DeviceProtection, TechSupport, StreamingTV, StreamingMovies, COntract, PaperlessBilling and PaymentMethod fail to accept the null hypotheses. Therefore, all thse variables have impact on decision of churn by the subscribers.

Survival Analysis: Explainer

Row

WHAT IS SURVIVAL ANALYSIS
Survival Analysis is a branch of statistics for analyzing the expected duration of time until one or more events happen, such as death in biological organisms and failure in mechanical systems.

This topic is called reliability theory or reliability analysis in engineering, duration analysis or duration modelling in economics, and event history analysis in sociology. Survival analysis attempts to answer questions such as: what is the proportion of a population which will survive past a certain time? Of those that survive, at what rate will they die or fail? Can multiple causes of death or failure be taken into account? How do particular circumstances or characteristics increase or decrease the probability of survival?

More generally, survival analysis involves the modelling of time to event data; in this context, death or failure is considered an “event” in the survival analysis literature – traditionally only a single event occurs for each subject, after which the organism or mechanism is dead or broken. Recurring event or repeated event models relax that assumption. The study of recurring events is relevant in systems reliability, and in many areas of social sciences and medical research. Survival Analysis can also be used in non traditional fields like predicting the employee attrition, predicting the customer churn, predictive maintenance, earthquake prediction and many other.

The case study in focus is understanding Customer Churn based on Survival Analysis Techniques. In this flexdashbaord, we are going to use Kaplan Meier Model and Random Forest Model.

Survival Analysis: Customer Churn

Row

Kaplan Meier Model

Call: survfit(formula = Surv(time, status) ~ 1, data = churn)

 time n.risk n.event P((s0)) P(Yes)
    1   7032     380   0.946 0.0540
    2   6419     123   0.928 0.0722
    3   6181      94   0.914 0.0863
    4   5981      83   0.901 0.0990
    5   5805      64   0.891 0.1089
    6   5672      40   0.885 0.1152
    7   5562      51   0.877 0.1233
    8   5431      42   0.870 0.1301
    9   5308      46   0.862 0.1376
   10   5189      45   0.855 0.1451
   11   5073      31   0.850 0.1503
   12   4974      38   0.843 0.1568
   13   4857      38   0.837 0.1634
   14   4748      24   0.832 0.1676
   15   4672      37   0.826 0.1742
   16   4573      28   0.821 0.1793
   17   4493      26   0.816 0.1840
   18   4406      24   0.812 0.1885
   19   4309      19   0.808 0.1920
   20   4236      18   0.805 0.1955
   21   4165      17   0.801 0.1988
   22   4102      27   0.796 0.2040
   23   4012      13   0.793 0.2066
   24   3927      23   0.789 0.2113
   25   3833      23   0.784 0.2160
   26   3754      15   0.781 0.2191
   27   3675      13   0.778 0.2219
   28   3603      12   0.776 0.2245
   29   3546      15   0.772 0.2278
   30   3474      16   0.769 0.2313
   31   3402      16   0.765 0.2349
   32   3337      19   0.761 0.2393
   33   3268      14   0.757 0.2426
   34   3204      12   0.755 0.2454
   35   3139      15   0.751 0.2490
   36   3051      10   0.749 0.2515
   37   3001      15   0.745 0.2552
   38   2936      13   0.742 0.2585
   39   2877      14   0.738 0.2621
   40   2821      13   0.734 0.2655
   41   2757      14   0.731 0.2692
   42   2687      14   0.727 0.2730
   43   2622      15   0.723 0.2772
   44   2557       6   0.721 0.2789
   45   2506       6   0.719 0.2806
   46   2445      12   0.716 0.2842
   47   2371      14   0.712 0.2884
   48   2303       9   0.709 0.2912
   49   2239      15   0.704 0.2959
   50   2173      10   0.701 0.2991
   51   2105       8   0.698 0.3018
   52   2037       8   0.695 0.3046
   53   1957      14   0.690 0.3095
   54   1887      13   0.686 0.3143
   55   1819       9   0.682 0.3177
   56   1755      10   0.678 0.3216
   57   1675       8   0.675 0.3248
   58   1610      11   0.671 0.3294
   59   1543       8   0.667 0.3329
   60   1483       6   0.664 0.3356
   61   1407       8   0.661 0.3394
   62   1331       5   0.658 0.3419
   63   1261       4   0.656 0.3439
   64   1189       4   0.654 0.3462
   65   1109       9   0.649 0.3515
   66   1033      13   0.640 0.3596
   67    944      10   0.634 0.3664
   68    846       9   0.627 0.3731
   69    746       8   0.620 0.3799
   70    651      11   0.610 0.3903
   71    532       6   0.603 0.3972
   72    362       6   0.593 0.4072

KM Model Plot

KM Model With Gender

Call: survfit(formula = Surv(time, status) ~ gender, data = churn)

                       n nevent   rmean*
gender=Female, (s0) 3483      0 54.08731
gender=Male, (s0)   3549      0 54.89988
gender=Female, Yes  3483    939 17.91269
gender=Male, Yes    3549    930 17.10012
   *mean time in state, restricted (max time = 72 )

KM Model Plot with Gender

KM Model With SeniorCitizen

Call: survfit(formula = Surv(time, status) ~ SeniorCitizen, data = churn)

                         n nevent   rmean*
SeniorCitizen=0, (s0) 5890      0 56.09665
SeniorCitizen=1, (s0) 1142      0 47.35506
SeniorCitizen=0, Yes  5890   1393 15.90335
SeniorCitizen=1, Yes  1142    476 24.64494
   *mean time in state, restricted (max time = 72 )

KM Model Plot with SeniorCitizen

KM Model With Partner

Call: survfit(formula = Surv(time, status) ~ Partner, data = churn)

                     n nevent   rmean*
Partner=No, (s0)  3639      0 46.95026
Partner=Yes, (s0) 3393      0 61.31063
Partner=No, Yes   3639   1200 25.04974
Partner=Yes, Yes  3393    669 10.68937
   *mean time in state, restricted (max time = 72 )

KM Model Plot with Partner

KM Model With Dependents

Call: survfit(formula = Surv(time, status) ~ Dependents, data = churn)

                        n nevent    rmean*
Dependents=No, (s0)  4933      0 50.879968
Dependents=Yes, (s0) 2099      0 62.526506
Dependents=No, Yes   4933   1543 21.120032
Dependents=Yes, Yes  2099    326  9.473494
   *mean time in state, restricted (max time = 72 )

KM Model Plot with Dependents

KM Model With PhoneService

Call: survfit(formula = Surv(time, status) ~ PhoneService, data = churn)

                          n nevent   rmean*
PhoneService=No, (s0)   680      0 55.14895
PhoneService=Yes, (s0) 6352      0 54.42484
PhoneService=No, Yes    680    170 16.85105
PhoneService=Yes, Yes  6352   1699 17.57516
   *mean time in state, restricted (max time = 72 )

KM Model Plot with PhoneService

KM Model With MultipleLines

Call: survfit(formula = Surv(time, status) ~ MultipleLines, data = churn)

                                        n nevent   rmean*
MultipleLines=No, (s0)               3385      0 52.60421
MultipleLines=No phone service, (s0)  680      0 55.14895
MultipleLines=Yes, (s0)              2967      0 56.89605
MultipleLines=No, Yes                3385    849 19.39579
MultipleLines=No phone service, Yes   680    170 16.85105
MultipleLines=Yes, Yes               2967    850 15.10395
   *mean time in state, restricted (max time = 72 )

KM Model Plot with MultipleLines

KM Model With InternetService

Call: survfit(formula = Surv(time, status) ~ InternetService, data = churn)

                                     n nevent    rmean*
InternetService=DSL, (s0)         2416      0 58.905253
InternetService=Fiber optic, (s0) 3096      0 47.040035
InternetService=No, (s0)          1520      0 66.459816
InternetService=DSL, Yes          2416    459 13.094747
InternetService=Fiber optic, Yes  3096   1297 24.959965
InternetService=No, Yes           1520    113  5.540184
   *mean time in state, restricted (max time = 72 )

KM Model Plot with InternetService

KM Model With Job OnlineSecurity

Call: survfit(formula = Surv(time, status) ~ OnlineSecurity, data = churn)

                                            n nevent    rmean*
OnlineSecurity=No, (s0)                  3497      0 43.460187
OnlineSecurity=No internet service, (s0) 1520      0 66.459816
OnlineSecurity=Yes, (s0)                 2015      0 64.459709
OnlineSecurity=No, Yes                   3497   1461 28.539813
OnlineSecurity=No internet service, Yes  1520    113  5.540184
OnlineSecurity=Yes, Yes                  2015    295  7.540291
   *mean time in state, restricted (max time = 72 )

KM Model Plot with OnlineSecurity

KM Model With OnlineBackup

Call: survfit(formula = Surv(time, status) ~ OnlineBackup, data = churn)

                                          n nevent    rmean*
OnlineBackup=No, (s0)                  3087      0 43.074966
OnlineBackup=No internet service, (s0) 1520      0 66.459816
OnlineBackup=Yes, (s0)                 2425      0 61.335045
OnlineBackup=No, Yes                   3087   1233 28.925034
OnlineBackup=No internet service, Yes  1520    113  5.540184
OnlineBackup=Yes, Yes                  2425    523 10.664955
   *mean time in state, restricted (max time = 72 )

KM Model Plot with OnlineBackup

KM Model With DeviceProtection

Call: survfit(formula = Surv(time, status) ~ DeviceProtection, data = churn)

                                              n nevent    rmean*
DeviceProtection=No, (s0)                  3094      0 43.521016
DeviceProtection=No internet service, (s0) 1520      0 66.459816
DeviceProtection=Yes, (s0)                 2418      0 60.694521
DeviceProtection=No, Yes                   3094   1211 28.478984
DeviceProtection=No internet service, Yes  1520    113  5.540184
DeviceProtection=Yes, Yes                  2418    545 11.305479
   *mean time in state, restricted (max time = 72 )

KM Model Plot with WorkLifeBalance

Random Forest Model for Multivariate Analysis

Computing permutation importance.. Progress: 15%. Estimated remaining time: 3 minutes, 1 seconds.
Computing permutation importance.. Progress: 31%. Estimated remaining time: 2 minutes, 25 seconds.
Computing permutation importance.. Progress: 47%. Estimated remaining time: 1 minute, 48 seconds.
Computing permutation importance.. Progress: 62%. Estimated remaining time: 1 minute, 15 seconds.
Computing permutation importance.. Progress: 78%. Estimated remaining time: 44 seconds.
Computing permutation importance.. Progress: 94%. Estimated remaining time: 12 seconds.
Ranger result

Call:
 ranger::ranger(Surv(time, status) ~ gender + SeniorCitizen +      Partner + Dependents + PhoneService + MultipleLines + InternetService +      OnlineSecurity + OnlineBackup + DeviceProtection + TechSupport +      StreamingTV + StreamingMovies + Contract + PaperlessBilling +      PaymentMethod + MonthlyCharges + TotalCharges, mtry = 4,      importance = "permutation", splitrule = "extratrees", data = churn) 

Type:                             Survival 
Number of trees:                  500 
Sample size:                      7032 
Number of independent variables:  18 
Mtry:                             4 
Target node size:                 3 
Variable importance mode:         permutation 
Splitrule:                        extratrees 
Number of unique death times:     72 
Number of random splits:          1 
OOB prediction error (1-C):       0.1174041 

Random Forest Model Plot

Variable Importance for Customer Churn Modeling

                 importance
TotalCharges         0.1177
Contract             0.0963
InternetService      0.0310
OnlineSecurity       0.0252
TechSupport          0.0218
OnlineBackup         0.0161
MonthlyCharges       0.0146
PaymentMethod        0.0095
Partner              0.0092
DeviceProtection     0.0092
StreamingTV          0.0063
StreamingMovies      0.0060
MultipleLines        0.0049
Dependents           0.0043
PaperlessBilling     0.0039
PhoneService         0.0016
gender               0.0000
SeniorCitizen       -0.0002

Cutpoint on Numerical variable-TotalCharges

             cutpoint statistic
TotalCharges  5711.05  34.91383
$TotalCharges

About Us

DASHBOARD PREPARED BY (CONTACT FOR MACHINE LEARNING TRAINING, COACHING , CONSULTING & Complete Analysis of this case study)

* Dr AMITA SHARMA Post Doc from Erasmus University, Rotterdam, the Netherlands Assistant Professor Institute of Agri Business Management, Swami Keshwanand Rajasthan Agricultural University, Bikaner (Raj),India Blog: www.thinkingai.in

* ARUN KUMAR SHARMA Machine Learning Enthusiast 13 Years of Financial Services Marketing Exp Blogger, Writer and Machine Learning Consutlant Certified Business Analytics Professional Certified in Predictive Analytics, Indian Institute of Mnamagement,IIMx Bangalore Certified in Macroeconomic Forecasting, International Monetary Fund(IMFx) Certified in Text Analytics, openSAP Email: Tel:9468567418