**More details available on our FAQ.**

## What Is The Difference Between SPSS And ILOG ?
Sure, I would have preferred a more generic title, such as
- What is the difference between predictive analytics and prescriptive analytics?
- What is the right decision management technology I need?
- What is the difference between SPSS and ILOG?
Truth is that this is the question people ask us when they understand that analytics may help them, The other questions above assume some knowledge of analytics and decision management, which isn't widely spread as of today. Let's look at the question again. To understand it, we need to look at what SPSS and ILOG mean in IBM product portfolio. SPSS and ILOG are the names of two companies IBM acquired few years ago. Together ILOG and SPSS products cover three analytics technologies. -
**Predictive analytics**. This is mostly what SPSS products are about. Predictive analytics can be defined in many ways, but here is a try. It is the application of advanced mathematics techniques such s statistics or machine learning to predict missing data. For instance, one could derive trends from historical sales level data, then could predict future sales level using these trends. Let me add that SPSS portfolio is quite broad, and I won't cover it all here. I'll focus on how SPSS supports decision making. -
**Business Rules.**This was a major part of ILOG Portfolio. Business rules are used to automate repeatable decisions. For instance, a chief marketing officer for a retailer may decide to have a promotion campaign with rules like: offer 5% rebate if a customer cart is over $100. Another rule could be to offer a 5% rebate for a second copy of a product already in the cart. This technology is now available in the IBM Operational Decision Manager product. -
**Mathematical optimization.**This was another major part of ILOG Portfolio. It is sometime called*prescriptive analytics*, or*operations research*, depending on the context. It can be defined as the use of advanced mathematical technology such as linear programming to make better decisions. It is now offered through our ILOG CPLEX Optimization Studio, and ILOG ODM Enterprise products.
Let's go back to the original question. One way to answer it is to explain the technologies used. Believe me, they are quite different in nature and experts in these can explain how they differ. This is good to know, but irrelevant here. People don't care much about how we might derive the solution to their problem. They care about the solution itself, how effective it is, how easily it can be implement, and things like cost and delays. Therefore we need a way to differentiate business rules, predictive analytics and optimization in non technical terms.
A first attempt at differentiating various analytics technologies is to describe their main use cases. For instance, here is a picture we often use, based on
Competing on Analytics, Davenport and Harris, 2007.I like it and I don't like it. I like it because it explains clearly who does what. I also like it because it values optimization more than the rest (it pleases my ego at least). I dislike it because it implies that optimization can only be used once you've used predictive analytics. We've got enough applications running to know this is not mandatory.
Anyway, it is clear from the above that predictive analytics is used to make predictions whereas optimization is used for making decisions. The former is about understanding how things work, the latter is about acting to change course of action. That's different. I could stop here and claim we're done.
So, we're left with three technologies that can be used to make decisions, predictive analytics, business rules, and optimization. Can we differentiate them according to the kind of decision they can make? I've given it some thoughts, and here is a try at differentiating optimization from the rest. I'm interested by feedback on it, please comment or contact me if you disagree or have suggestions.
In a nutshell, decision management (business rules and/or predictive analytics) are great when you can make decisions one at a time. For instance, in a fraud detection application, you can look at each credit card transaction one by one, and decide for each of them if it is likely to be fraudulent or not. Another example involves looking at a customer base one customer at a time, and decide if it worth proposing a promotion to keep the customer happy. A third example is to apply rebate and promotion offers to a given cart, without looking at other carts. The point is that each decision is independent from other decisions in all these cases. A given decision does not depend on the choice you made in previous decisions.
Optimization is great when you have to make a large number of decisions at once, because these decisions interact with each others. For instance, when you compute the schedule for a plant operations, you need to make a series of decision for each manufacturing activity that must be performed, including its starting time, end time, workers assigned to it, machines used for it, etc. These decisions interact in complex ways because of physical constraints, for instance that a given worker can only work on one activity at a time, similarly a machine can only perform one activity at a time. There may be precedence constraints, saying that an activity A is a prerequisite for activity B, etc. Making decisions one at a time, like dispatching activities to machines one by one without looking at the big picture can lead to very poor utilization rate of the plant resources, see for instance my Optimization And Simulation Are Not The Same entry.
Therefore, consider optimization when you need to make a large number of decisions at the same time because they interact; and consider decision management technologies (business rules or analytical) when decisions can be made one at a time. Let's use an everyday life example to make it concrete. Assume you go on vacation with your family to a place you've never been before (for instance the French Riviera where I am lucky enough to live). You will be using your car because of all the things the family wants to bring. How will you decide your itinerary? If we look at it from a decision making point of view, you need to make a decision at each cross road: will you go straight, turn left, or turn right? (yes, I know there are more complex cases here, I'm a driver too from time to time)
How will you make the decisions? Will you decide cross road after cross road, using some previous driving knowledge? Or will you make all decisions at once? I bet you'll start by looking at a map in order to draw a path from your home to the vacation resort. If you think about it, drawing that path amounts to making a bunch of decisions, one for each of the cross roads on the path. It makes sense to make them at once, because these decisions have value only if they define a path from origin to destination. It is almost impossible to evaluate whether a single decision is right or wrong without looking at the full path (or absence thereof). It is also very unlikely you can build a set of rules, or a predictive model that tells you which way to go at each cross road and that would work for all possible trips you ever want to make. Whereas the optimization approach, which is to select the shortest path between origin or destination, is generic and can be applied without modification whatever the origin/destination pair. Moreover, we can play with it, by changing the definition of "shortest". We could be looking for the shortest mileage. or for the shortest driving time (fastest way), or the less expensive (avoiding highway tolls). The point here is that all decisions must be made before we can judge the result. There is no point making any of the decisions in isolation as it would not contribute to a solution of the problem.
I hope this example shows the value and scope of optimization. Let me say it again:
consider using optimization technology when you have a large number of interacting decisions to make. Note that all these decision technologies can be used together as well. For instance decision management techniques could be used to select the best commercial action for each customer, one at a time, then optimization could be used to select which ones among these actions we can execute given various constraints we have (eg budget, limited number of agents, etc). I elaborated on this in my Decision Optimization entry.
[Added on Feb 1]
Paul Rubin rightfully commented that predictive analytics is often used as an input to optimization. This is true, and it is a quite common pattern in combining these two analytics technologies. I gave some examples in this blog entry. and I'm pretty sure that the forthcoming INFORMS Analytics Conference will provide some more great examples.
Another comment was that prescriptive analytics can be much more than optimization. True as well, and the above example shows how predictive analytics can play a role. I also wrote "the above picture does not cover analytics applied to streaming data (video, sound, text feeds). " For such streaming data optimization may not be the right tool. However, I still haven't seen any examples where large sets of interacting decisions are made simultaneously without using some optimization technology, alone or in combination with other analytics techniques. |