Today telecommunications’ landscape is highly competitive. So keeping customers satisfied and loyal should pose a top priority for companies such as Regork Telecom. If the CEO of Regork Telecom devotes interest in understanding and addressing the issue of customer churn, where customers switch to competitors, they can positively see how it directly impacts the company’s revenue and market standing as opposed to seeing a decrease in customer retention if tactics are not taken to work against customers leaving.
To resolve the growing challenge of customer churn, we can take advantage of data analytics and take a closer look into the underlying factors that drive customer behavior within Regork Telecom’s customer base. Within our analysis we based our findings on the provided customer_retention.csv which alone shared with us various customer attributes, service usage patterns, and contract specifics that were fundamental in the exploratory data analysis and machine/predictive learning we generated. By using advanced analytical techniques like data mining and data visualization, we were able to uncover patterns and predictors of customer relationships.
Our proposed solution is implementing a full-scale approach to strengthen customer retention efforts. In addition to offering customer incentives such as loyalty programs, discounts, and seasonal promotions, Regork Telecom can adopt tailored communication strategies, proactive customer service initiatives, and targeted marketing campaigns. With the improved communication, crafted to resonate with individual customer preferences, it will cultivate a sense of partnership and deepen customer engagement. Proactive customer service, with the quick issue resolution and consistent outreach to address potential concerns, demonstrates our commitment to customer satisfaction and loyalty. Additionally, targeted marketing efforts and leveraging data insights to deliver relevant and timely offers, can further enhance customer satisfaction and loyalty. By integrating these strategies with the insights derived from our analysis, the CEO can develop a comprehensive retention strategy that not only significantly reduces churn risk but also builds stronger customer relationships and drives sustainable revenue growth now and for the future.
library(tidymodels)
library(tidyverse)
library(baguette)
library(vip)
library(pdp)
library(kernlab)
library(ggplot2)
df <- read.csv("/Users/jeenapatel/Desktop/BANA 4080/customer_retention.csv")
df <- mutate(df, Status = factor(Status))
df <- na.omit(df)
library(ggplot2)
ggplot(df, aes(x = MonthlyCharges, y = TotalCharges)) +
geom_point(color = "lightblue") + # Scatter plot
geom_smooth(method = "lm", se = FALSE, color = "black") +
ggtitle("Relationship between Monthly Charges and Total Charges") +
labs(x = "Monthly Charges", y = "Total Charges")
Each data point signifies a customer, with the trend line illustrating a pronounced positive correlation. This pattern suggests that as monthly charges increase, so does the cumulative total, underscoring a direct and escalating financial commitment among customers with higher monthly fees.
ggplot(df, aes(MonthlyCharges)) +
geom_freqpoly(color = "orange", fill = "yellow") +
facet_wrap(~Status)
The insights gleaned from this plot indicate a clear trend: customers are significantly more inclined to remain with Regork when their monthly charges amount to less than $25. This trend suggests a strong correlation between affordability and customer retention. It’s reasonable to infer that individuals with lower monthly bills find it more convenient to stick with Regork rather than undergo the hassle of switching to another provider. This underscores the significance of pricing in fostering customer loyalty. To maintain this loyalty, Regork should focus on providing competitive rates and exceptional service to ensure continued satisfaction among its customer base.
ggplot(df, aes(Tenure)) +
geom_bar(color = "black", fill = "purple") +
facet_wrap(~Status)
The visualization illustrates a notable trend: customers with month-to-month contracts exhibit a higher likelihood of churning. This observation is rational, considering that such customers are more prone to scrutinize their monthly bills and lack a binding commitment to the company. This presents an opportune area for Regork to explore further. Going deeper into the reasons behind this churn result, can provide valuable insights for enhancing customer retention strategies. By addressing the specific needs and concerns of customers on month-to-month contracts, Regork can potentially mitigate churn rates and foster stronger, more enduring relationships with its clientele.
set.seed(123)
logistic_split <- initial_split(df, prop = 0.7, strata = Status)
logistic_train <- training(logistic_split)
logistic_test <- testing(logistic_split)
set.seed(123)
logistic_kfolds <- vfold_cv(logistic_train, v = 5, strata = Status)
logistic_model <- logistic_reg() %>%
fit_resamples(Status ~ ., logistic_kfolds)
logistic_metrics <- collect_metrics(logistic_model)
logistic_metrics
## # A tibble: 2 × 6
## .metric .estimator mean n std_err .config
## <chr> <chr> <dbl> <int> <dbl> <chr>
## 1 accuracy binary 0.787 1 NA Preprocessor1_Model1
## 2 roc_auc binary 0.836 1 NA Preprocessor1_Model1
Based on this analysis, it’s evident that the logistic regression model demonstrates strong performance in terms of both accuracy and mean AUC.
set.seed(123)
retention_recipe <- recipe(Status ~ ., data = logistic_train) %>%
step_normalize(all_numeric_predictors()) %>%
step_dummy(all_nominal_predictors())
dt_mod <- decision_tree(mode = "classification") %>%
set_engine("rpart")
dt_fit <- workflow() %>%
add_recipe(retention_recipe) %>%
add_model(dt_mod) %>%
fit(data = logistic_train)
dt_results <- fit_resamples(dt_fit, resamples = logistic_kfolds)
collect_metrics(dt_results)
## # A tibble: 2 × 6
## .metric .estimator mean n std_err .config
## <chr> <chr> <dbl> <int> <dbl> <chr>
## 1 accuracy binary 0.788 5 0.00399 Preprocessor1_Model1
## 2 roc_auc binary 0.710 5 0.00529 Preprocessor1_Model1
set.seed(123)
rf_split <- initial_split(df, prop = 0.7, strata = Status)
rf_train <- training(rf_split)
rf_test <- testing(rf_split)
rf_recipe <- recipe(Status ~ ., data = rf_train)
rf_mod <- rand_forest(mode = "classification") %>%
set_engine("ranger")
set.seed(123)
rf_kfold <- vfold_cv(rf_train, v = 5)
results <- fit_resamples(rf_mod, rf_recipe, rf_kfold)
collect_metrics(results)
## # A tibble: 2 × 6
## .metric .estimator mean n std_err .config
## <chr> <chr> <dbl> <int> <dbl> <chr>
## 1 accuracy binary 0.797 5 0.00643 Preprocessor1_Model1
## 2 roc_auc binary 0.837 5 0.0104 Preprocessor1_Model1
For our next model, we chose to employ a random forest, expecting that hyperparameter tuning would improve accuracy. However, the resulting AUC of 0.835 was slightly lower than that of our logistic regression model.
set.seed(123)
mars_split <- initial_split(df, prop = .7, strata = Status)
mars_train <- training(mars_split)
mars_test <- testing(mars_split)
mars_recipe <- recipe(Status ~ ., data = mars_train)
set.seed(123)
mars_kfolds <- vfold_cv(mars_train, v = 5, strata = "Status")
mars_mod <- mars(num_terms = tune(), prod_degree = tune()) %>%
set_mode("classification")
mars_grid <- grid_regular(num_terms(range = c(1,30)), prod_degree(), levels = 50)
mars_wf <- workflow() %>% add_recipe(mars_recipe) %>% add_model(mars_mod)
mars_results <- mars_wf %>% tune_grid(resamples = mars_kfolds, grid = mars_grid)
mars_results %>% collect_metrics() %>% filter(.metric == "roc_auc") %>%
arrange(desc(mean))
## # A tibble: 60 × 8
## num_terms prod_degree .metric .estimator mean n std_err .config
## <int> <int> <chr> <chr> <dbl> <int> <dbl> <chr>
## 1 20 1 roc_auc binary 0.850 5 0.00486 Preprocessor1_M…
## 2 19 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 3 21 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 4 22 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 5 23 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 6 24 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 7 25 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 8 26 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 9 27 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## 10 28 1 roc_auc binary 0.849 5 0.00486 Preprocessor1_M…
## # ℹ 50 more rows
The MARS model stands out as the most accurate among the models, as indicated by the mean AUC.
The findings shows two key aspects which shape customer loyalty at Regork; Monthly payments and contract types. Customers who pay lower monthly bills, particularly those less than $25 a month, show the strongest retention of services. Moreover, customers with monthly contracts show the high probability of canceling their subscriptions. Therefore, the longer-term contract customers tend to stay longer. Regork should work on the optimization of price offerings, reviewing if the rates correspond to the service standards they offer. Therefore, they should put more efforts to pay attention at learning and addressing the needs of customers who are on the monthly contract. This will help make their loyalty towards your services or product.
If Regork does not act to address its customer turn-over, the firm could reduced income flow every month. Compared to higher-tier customers on contracts with a longer term, Regork is able to retain low-tier customers that pay lower monthly rates, as well as ones on a month-to-month plan, which prevent churn and, therefore, the loss of revenue.
To generate sticking customers, Regork may come up with loyalty programs or special discounts on monthly charges for customers who have been with the company for a while or have the bill set at a low level. Persuading customers to remain loyal to Regork by providing them with targeted deals or offering bundles could be another incentive to remain loyal to Regork compared to other stores.
The analysis highlights the importance of pricing flexibility and contract flexibility in relationship management and increasing customer retention. In order to overcome these findings, enabling a customer pricing policies and engagement programs is something we recommend. Through offering genuinely competitive rates and encouraging perks, Regork can increase the buyer’s satisfaction and make customer retention even more successful. Along with that, Regork should also aim to enhance interactions and relationship of their customers on short-term contracts by offering help and support so that they will stay loyal and will have long-time association with our brand in future.
The main limitation of this is the fact that the analysis only focuses on customer retention, pricing and contract type as predictors of churn. In order to complement the analysis of external factors, we need to consider other aspects such as market trends, changes in consumer preferences and competition. This will give Regork a more detailed picture of churn drivers. Moreover, Regork can do customer surveys or qualitative research and gain more detailed information about what their customers think of Regork and what they are concerned about. Through the integrated monitoring and analysis of churn data, Regork will be able to update and improve its retention strategies continually.