This repository contains a Shiny application that demonstrates the use of the customer churn model described in the Using Deep Learning With Keras To Predict Customer Churn blog post.
This repository is kept as a historical example of a Shiny application backed by a Keras customer churn model. It has not been actively maintained since 2019, so dependencies and deployment instructions may need updates before production use.
The application is deployed online at https://jjallaire.shinyapps.io/keras-customer-churn/.
To run the application locally, clone the repository then:
rmarkdown::run("customer_churn.Rmd")The shiny application has three tabs:
-
Customer Scorecard---Analyzes a single customer at a time. The keras model is used to return the probability of customer churn. The app then recommends three strategies to mitigate churn risk:
- Main Strategy - Incorporates tenure, contract type, key services, monthly charges to recommend offerings that reduce churn risk
- Commercial Strategy - Incorporates specific services that the customer may be interested in
- Financial Strategy - Incoporates payment method recommendations to reduce churn
-
Churn Facets---Analyzes aggregate churn by various features including type of contract, revenue, tenure and internet service. Drop-box filters are available to subset the data and drill into important customer segments.
-
Correlation Analysis---The correlation analysis shows the features that correlate to churn, which is important for a global perspective of understanding what affects churn.
Use the customer_churn.R script to train the model used by the application from scratch:
source("customer_churn.R")
