How to do prescriptive analysis in rapidminer
zain
New Altair Community Member
After doing predictive analysis in rapidminer now I know which customers will churn or not. Now for the customers who are going to churn, I want to know how I can suggest the best course of actions for the company to stop the churns of the customers? How can this be done in rapid miner?
Thank you
Thank you
0
Best Answer
-
@zain,
have a look at this blog post: https://towardsdatascience.com/going-prescriptive-the-real-super-power-of-data-science-66ebb79fb89c .
I explain here the concept of it and also give examples (including processes).
The two operators here are: Prescriptive Analytics and Prescriptive Optimization.
BR,
Martin1
Answers
-
2
-
Prescriptive Analytics is useful for understanding what inputs maximize your desired output (perhaps given a subset of defined inputs).
However, that might not be the same as your question, which is what actions should be taken. Do you have some set of possible actions that are quantified in terms of their outcomes?2 -
Hi @zain: This is the big question, and can be discussed on many levels! If I am understanding your question correctly, you would like to know how you can use RapidMiner to help your company use what was learned from your model to retain customers. As mschmitz says above, there are operators in RapidMiner that can help you, like "Prescriptive Analytics" or "Explain Predictions". "Explain Predictions" outputs a heat map (from the outbound "Viz" port) that assigns a numerical importance to each attribute within a row of data that can help you understand what role each attribute plays (or does not play) in arriving at the prediction for each data row.
If you were to export the prediction example set and "importance" values from the "Explain Predictions" operator and JOIN the two data sets together in a database or in Excel, you could create an interactive heat map (either in Excel or in a visualisation tool like Tableau where you can color cells in the view by the value of the "Importance" field and filter the data interactively by customer type or other dimensional values) that helps you see which values in which fields tend to support a "churn" prediction, and which values of which fields tend to support a "no churn" prediction and the associated probabilities. A parallel chart (you can make one in RapidMiner or in a viz tool like Tableau if you export the data to Excel or a database) is another good way to see the divergence of values for one or more attributes towards the "churn" or "no churn" prediction (if you color the parallel chart by your label field).
Last but not least, in RapidMiner classification projects predictions are driven by probabilities (see the "Set threshold" and "Apply Threshold" operators). By default, if your model thinks that the probability of churning is 50% or higher, it will predict "churn" - and if the probability not to churn is 50% or higher, the model will predict "Active". This implies that it could be useful to consider classifying model predictions as follows (based on probabilities): "high churn risk". "medium churn risk", "low churn risk" , "toss up" (when probabilities for churning or staying active are near 50%), "likely to remain active", and "very likely to remain active", which leads to the next point.
As Telcontar120 mentioned, understanding predictions and how to drive action from findings is not just a RapidMiner subject. It can also be very helpful to have ways of prioritising your predictions (knowing which customers to focus on first) and assigning a cost to the actions you take to keep a given customer, and a positive value to your company for keeping a given customer - because it could be that you may not have enough time, people, or budget to try and keep most of or every customer the model thinks is at risk for churning from churning. Again, you could use the "churn" or "no churn" probabilities (or more nuanced prediction classifications like "high churn risk", etc. mentioned above) to help your company prioritise which customers will be focused on in which order, and how much effort should be made to keep a customer - and again - these are factors that can be given a dollar value if your company wants to - which can help your company get an overview of how much money is made or time is saved by using a predictive model.
This implies that you need to have reporting processes in place from the start that can quickly get your predictions to the people within your company who are responsible for negotiating with customers in a format these people are comfortable using. It is at this point where many companies fall short - they haven't put the workflows in place to act on model predictions as part of the predictive model development process - with the result that the findings are not used in the longer term, and the project is considered to be "interesting" but not truly successful and the budget for the next fiscal year provides no support for continuing the project. There are instances where some people in a company are resistant to relying on a predictive model (that's a whole other subject), which underscores the importance of predictions being as explainable as possible within well designed and executed reporting workflows.
It is also possible that (depending on your business and the type of customers you have) the data you used to create your model and the probabilities for "churn" or "no churn" your model produces may not totally explain why a client churns or does not churn - or said another way - where a client is at risk for churning, or likely to remain active. It could be a good idea to further code your data after clients at risk to churn have been contacted by your company to how close a client actually was to churning when contacted, and the final factors that drove the decision to churn or not churn as some decisions are not made on the basis of the data that drove the model alone. It can be useful to focus some extra effort on clients with higher probabilities to remain active, because they could mention certain factors that would be important to know. After several cycles of using your model, other factors (the sales rep, the nature of retention offers made, what clients like and don't etc.) may come into focus which could be used by your models to assign more accurate probabilities to individual predictions in the future.
Again, (in my opinion) the biggest risk from using predictive models (assuming the model has been developed correctly) doesn't have to do with the tool that made the model, is that companies invest in developing predictive models (which can initially be time consuming and expensive) without putting the business processes in place to drive actions based on model outputs - which translates to getting the right data to the right people at the right time in a format they understand and are comfortable using. I Hope this has been helpful, and best wishes, Michael Martin
1 -
@zain in simple:
Yes it can. Use "Explain Predictions" or "Prescriptive Analysis".
What @M_Martin is saying is that you should combine this technique with other ones (that involve other people in the decision, not something RapidMiner can do alone) to decide how valuable are the churning customers and if it's worth retaining them, e.g. a churning customer worth 2000 USD each month is more valuable than a churning customer worth 50 USD every two months, so you shouldn't spend 200 USD monthly on keeping the latter but you do want to keep the former. Segmenting your customers is key and provides better revenue.
All the best,
Rodrigo.-2 -
Hi again @zain - As per Rodrigo's and my posts above, you can use "Explain Predictions". "Prescriptive Analysis" (read the documentation carefully as "Prescriptive Analysis" works differently than "Explain Predictions") could also help you communicate your model findings to your business colleagues .
You could also try looking at your data using a Paralell Chart or an Andrews Curve (two of RapidMiner's available chart types). If you colour the chart data by your "churn / no churn" data field,. this might help you see which data fields seem to indicate a "churn" or a "no churn". What i was trying to say in my first post is that it can also be helpful to segment your customers and talk to your colleagues in order to determine priorities as to which types of customers have the highest priority for action, because the real value of your model will not only be what it predicts - your model will be really considered by be valuable if your organisation is able to use the model outputs to really make a difference. Good luck and best wishes, Michel Martin1 -
Hi @zain: Parallel Charts and Andrews Curves are not operators, they're chart types - please see the attached screen shot - you'll see what I mean - Parallel Charts and Andrews Curves are among the available chart types. RapidMiner can also be used to design more advanced charts - there's a manual in the documentation area of the web site. Best wishes, Michael Martin0
-
Hi @zain: I'm not aware of any specific tutorials about the Prescriptive Analytics operator over and above the tutorial example that would be included in the Help System. Bear in mind that the Prescriptive Analytics operator works very differently than the Explain Predictions operator as you would see if you were to use RapidMiner Auto Model on a sample data set that comes with RapidMiner or your own data as Auto Model processes commonly include both operators (Prescriptive Analytics contributes to the what the Model Simulator operator outputs - so it would be helpful to also check out the documentation of the Model Simulator operator).
Explain Predictions looks at every row in your example set and tries to measure the importance of each attribute in arriving at the predicted outcome, based on the Algorithm type and the attributes in your data. These "Importance" measures can be captured using the Imp output port. Depending on the algorithm type and data fields, these "importance" values will vary with the same data set.
Prescriptive Analytics generates what it thinks would be "prototypical values" (and outputs these values in a single row of data) for each attribute in your data set based on input from you. For example: say your predicting customer churn. If you wanted to see the values for each field (i.e. attribute) in your data that when taken together would result in a 90% probability of customers churning (the 90% confidence for churn is the input from you), the Prescriptive Analytics operator would generate those values. You could then compare the "prototypical values" for each attribute or combinations of attributes with values for those attributes in your data. Hope this helps, and best wishes, Michael Martin0 -
Hi @zain: I should have also mentioned the Deviation chart type - which can be a little easier to interpret than a Parallel Chart. See https://community.rapidminer.com/discussion/50395/deviation-chart-and-its-interpretation/p1 - which explains how to interpret a Deviation Chart. Best wishes, Michael Martin0
-
@M_Martin I used the model simulator operator and then I used the optimization button on the bottom left...the optimization button documentation says it will prescribe or indicate which best course of action is suitable to stop churning. I am using telco customer churn data and I optimized it for "No" class as I want action which stops churning and below is the output I got.But I am facing difficulties in understanding the outcome. Can you guide me here as what is beign prescribed to me here what actions I shall take?Thank you0
-
In this case, it suggests that the best thing you can do in the example provided is to reduce the total charges (this is the factor that is showing a large contribution contradicting the "No Churn" outcome.
As I had mentioned before, there is a difference between understanding why a certain prediction is occurring and in evaluating the possible actions that could be taken. They of course may be related, but they are not identical. Do you have a set of possible retention actions that could be taken? Can you quantify those outcomes? If so you might be able to build a kind of action tree based on what the relevant prediction factors are.0 -
@Telcontar120 it means this is not only the job of rapidminer to prescribe best course of action hence it has given a hint on the area which should be improved to stop churn and the company team should sit together with me on how we can reduce the charges.I mean no software can tell you need to give this package to customers?0
-
@zain,
have a look at this blog post: https://towardsdatascience.com/going-prescriptive-the-real-super-power-of-data-science-66ebb79fb89c .
I explain here the concept of it and also give examples (including processes).
The two operators here are: Prescriptive Analytics and Prescriptive Optimization.
BR,
Martin1