A few days ago I read a post by Jean Francois Puget, a former boss of mine at ILOG, entitled What is the difference between SPSS and ILOG. The post aimed to explain the difference between SPSS, IBM’s product for Predictive Analytics, and ILOG, IBM’s product for Prescriptive Analytics. In reality, neither SPSS nor ILOG are products, but rather companies that IBM acquired more or less at the same time to support the BAO (Business Analytics and Optimization) concept, a current hot topic. Many other companies, such as SAS and FICO, have followed similar paths, although from different starting points.
After reading Puget’s post, I decided to write this one, where I will try to explain the difference between Predictive and Prescriptive Analytics and, within the latter, the difference between a System based on Business Rules and one based on Optimization.
As asserted by Jean Francois in his post, Predictive Analytics is the application of advanced mathematical techniques, such as statistics or machine learning to predict missing data. So Predictive Analytics answers the following questions:
- Given a historical sequence of product sales, how much can I expect to sell of this product in the next 15 days?
- Given a customer base with their purchasing history, can I calculate the characteristics which are relevant for clients in order to predict what items will interest them?
- Based on data history of repairs I’ve had to make on my machines, can I find relations that help me predict the breakdowns that will happen in the short term?
- Based on the history of non-payments in my customer base, can I infer characteristics that will help me identify which ones, even if they haven’t defaulted, are more likely to do so?
In general, and as Jean François said, we can answer questions such as: “Based on the information available, can I infer information I don’t have?”
Now then, and aside from mere curiosity, what do we need this information for? The answer is simple: this information is necessary to support subsequent decision-making:
- The sales forecast of a product is used, among other things, to be able to calculate product restocking orders.
- A client’s propensity to buy certain items can be used to calculate what campaigns it is best to launch for this client.
- It is interesting to predict the breakdowns that will take place in my machines to conduct preventive maintenance at the best time.
- A client’s propensity to default is important when considering whether to give them credit.
At times, this decision can be made manually. That is, a human being can analyse all the information available (including predictive data), and make the right decision. But this process is increasingly complicated: the amount of information is greater, the information itself is ever more complex, and the demands for quality and urgency for decision-making are ever higher.
Prescriptive Analytics is the part of analytics devoted to automation of decision-making, based primarily on two essential disciplines:
Even though these are two disciplines with the same goal, their form and content are very different, and I think it is important to understand how they differ.
After working closely with both for years, I’ve come to the conclusion that the best way of knowing when to apply each one is to look, not so much at the nature of the decision to be made, but at the process followed to make that decision.
Business Rule Management Systems
Many times this decision-making process is systematic. That is, given certain input data (age, gender, years of driver’s licence, etc.,) the decision to be made is known exactly (price of car insurance).
It is important to note here that the fact the process is systematic does not necessarily mean it is simple. The Business Rules involved in this process can be very complex, and they can be a part of complex decision flows. However, in any case, both these rules and the flow are known beforehand.
Business Rule Management Systems allow implementing these decision policies in a simple manner, and many of them allow doing so even in natural language. In the example of the car insurance price, one of these rules could be as follows:
If the age of the insured is under 25 then add €100 to annual base premium
There could be multiple Business Rules defined to take different actions before different conditions, and they could be located in different points of the decision flow. But what matters in the process is that these rules and locations are known beforehand.
Clearly, in this example, the rule that increases car insurance by €100 for drivers under the age of 25 comes from a prior statistical analysis that attributes these people a higher risk of accidents.
Other times, the decision process is not systematic. The decision to be made is within a context defined by a series of restrictions. These restrictions set the conditions for a decision to be valid, but there are many valid decisions in that same context.
Normally, when making these decisions, there is an implicit way of assessing the quality of a decision compared to another one, a target function that allows distinguishing between a better valid solution and another solution that is also valid, but not as good.
Let’s look at the example of a problem for distributing goods from a warehouse to a shop. The person in charge of making this decision knows what goods have to be supplied. Also, he has several lorries to do so, each one with different characteristics. He also knows, for example, that refrigerated foods must travel in a refrigerated lorry, while non-refrigerated foods can be carried in another type of lorry. He knows the traffic regulations, and which streets certain lorries cannot go through. All of this information defines the context (restrictions) of the problem.
There are many ways of doing the distribution in this context. To make a decision, a criterion to assess them is needed, to decide which one is better. Among these criteria is using less fuel, doing it in the least time possible, or over the shortest distance. Who knows? What is certain is that there is one or several criteria (target function) that allow distinguishing when a possible decision is better than another.
Mathematical Optimization is a set of techniques and algorithms that allow representing context (restrictions) to be taken into account when making this type of decisions, and which specialise in the search for the best decisions within this context, according to the criteria of goodness defined.
There are many techniques that support decision-making. Among the most sophisticated are those included in Predictive and Prescriptive Analytics.
Predictive Analytics is the application of advanced mathematical techniques, such as statistics or machine learning to predict missing data. It provides very valuable information to support decision-making, although it does not automate decision-making itself.
Prescriptive Analytics is in charge of automating decision-making, either through the use of Business Rule Management Systems, when the decision process is systematic, or with Mathematical Optimization algorithms when it is not. It is enormously helpful in the decision process, improving operating efficiency of the companies using it, and differentiating them from their competitors in today’s changing and competitive market.