Introduction and problem statement
Here at Incentro, we love innovation. It drives people to push forward, be creative, and improve the future. For this reason, when UiPath announced their HyperHack which incentivized usage of their new innovative features, we jumped on the opportunity to participate.
Our submission focused on preventing customer churn in the telecom sector. The telecom industry is one of the major industries dealing with customer churn. Studies show that the cost of acquiring a new customer is far higher than maintaining an existing one, both in terms of time as well as money. Therefore, it can be concluded that process improvements are desirable both in terms of efficiency and quality.
Currently, the process of preventing customer churn is mainly done on a reactive basis. More explicitly, only customers who are canceling their subscription, either due to their contract ending or because they are transferring to a different telecom company, are contacted by a customer service agent. At this point in time, the probability that the damage has already been done is quite high. Stopping the customer from churning is now difficult and expensive.
To achieve a fitting solution to this problem, we created an automation that makes good use of UiPath AI Center as well as Action Center. Additionally, since this was not a project for any real-world client, we devised our own business logic. As such, this logic is a simplified version of what you would see in a real-world case. That said, we made sure that our solution could translate easily into a real-world scenario when the opportunity arises.
A schema of the to-be process flow is shown below. Here, the orange processes indicate processes to be automated. Blue processes indicate necessary human actions. To summarize, the flow indicates that our robot should try to predict whether any given customer is likely to churn. This is done using an out-of-the-box machine learning (ML) model provided by AI Center. If churn is likely, the robot should send the customer a personalized discount offer via email, await their response, and update their contract accordingly. Whenever the churn prediction doesn’t have a sufficiently high confidence level, the task is delegated to a human representative using Action Center. They can then review the data manually and make a decision on whether or not to send the customer a discount offer.
In AI Center, we used a retrainable pre-built ML model (TPOTXGBoostClassification) to train the ML model for predicting churn. Broadly speaking, this model is made to recognize and learn patterns within a dataset. Specifically, the model will try to detect patterns that have some sort of predictive value regarding the target that the model needs to predict.
For example, an ML model that tries to classify fruit will initially have no understanding of what an orange is. However, after training on a dataset for orange classification, one of the patterns it will likely have learned is that an orange should be . . . colored orange!
Similarly, the ML model we’ll train here should learn how to recognize certain patterns within the data that may indicate when a customer is likely to churn in the near future. To train the ML model, we used a relevant open-sourced dataset from Kaggle. We pre-processed the dataset in Python and split the dataset into a training set and a test set. After training the model, it scored an accuracy of about 80%.
After deploying the trained model as an ML skill in AI Center, it becomes available for use in UiPath Studio. By using the ML Skill activity in UiPath, we could have a robot pass customer data through the trained ML model to predict whether or not a customer is likely to churn.
Whenever the confidence level was above a certain threshold, the robot would then proceed to send a personalized email offer to the customer. For demo purposes, our robot didn’t wait for the customer’s response as this was out of scope for our demo. Rather, we modeled their response as a 50/50 probability of accepting the offer. We mocked up these responses by using the UiPath email automation capabilities to have the robot send dummy customer responses to the robot’s inbox. Then, after opening and registering the customer’s response, the robot would take further action corresponding to the customer’s response to the offer.
Finally, a process needs to be in place for cases where the ML model is not confident in its prediction. After all, we shouldn’t want to accidentally send discount offers to customers that are actually unlikely to churn. Therefore, uncertain situations should be handled by a human representative. To enable this, we used the Create Form Task activity in Studio to send a form to Action Center which includes all of the data needed to decide whether the customer is likely to churn. The image below shows what this form looks like within Action Center. From here, a human representative could review this data and make their decision. Based on this decision, the robot can carry on as usual. By using this human-in-the-loop approach, we were able to utilize the ML model while keeping the amount of erroneous discount offers sent to a minimum.
By proactively detecting possible churn and automating the corresponding business logic we can identify three major advantages:
- 1. We enable a much more proactive and efficient approach that allows a company to always be on top of potential churners throughout their entire customer database.
- 2. The automation frees employees up from doing boring and repetitive tasks.
- 3. By freeing employees up, they can instead focus on more enjoyable, qualitative, work such as providing better personal service to existing customers.
Though we don’t have access to any real-world metrics about the labor costs of churn prevention, we do know for sure that it’s a difficult and costly task. Our solution tackles both of these factors. The difficulty of churn prediction is alleviated by the AI Center ML model, while savings can be significant by saving costs associated with churning customers, and avoiding revenue loss from them.
This video contains a full walkthrough of the automation and its context. We show the robot working its magic at 4:37 into the video. However, please note that the Action Center integration was done after making this video. As such, the human-in-the-loop integration is not shown in this video.
We personally very much enjoyed unleashing our creativity for this hackathon event. It was a blast to try and combine a multitude of UiPath products to work in tandem with each other, and will surely participate in the next hackathons to come from UiPath!
We hope that sharing this project with the UiPath Community will nudge readers to also try their hand at working with AI Center and/or Action Center to elevate their automations to the next level. We’d also like to thank and congratulate all other hackathon participants for their great contributions, as they show a glimpse of what the future of robotic process automation (RPA) has in store for us.
Finally, if you’d like to reach out to us in any way, shape or form, you can do so via firstname.lastname@example.org. If you’re interested in implementing RPA solutions within your own company, especially within the Netherlands, we’re happy to help you out! Let’s embrace change!
Aram van Meurs is a RPA Consultant at Incentro.