Prescriptive analytics is the mathematics-based approach that allows planners to ask the most important question "what should we do to meet and exceed our goals?" It is being adopted by nearly every industry and businesses as diverse as hospitals, airlines, and casinos. Everything from marketing to route planning can be optimized, and companies who do so often realize up to 5% higher revenue, 10% lower capital use, and 30% more accurate financial forecasts.
The purpose of adopting prescriptive analytics is for planners to ask the critical what-if questions. In order to understand, validate and ultimately implement answers resulting from such questions, prescriptive analytics normally requires the use of mathematical models. Think of such a model as a proxy for the actual business process or financial decisions being considered.
Many, maybe even most, models that are used to analyze business issues use optimization techniques, such as linear (LP) and mixed integer programming (MIP). Simulation is then necessary to iterate the model many times, each time slightly changing some inputs that represent different conditions--e.g., product prices, exchange rates, equipment failure risk, etc.
Monte Carlo simulation has been a popular technique to assess risk and returns since it was first envisioned nearly 70 years ago. Its use with optimization-based modeling has grown rapidly in the last two decades. Once a model has been established, applying it requires randomly generating values as inputs for matrix coefficients or bounds prior to each solve. These values must be defined as belonging to a given distribution with parameters like standard deviation, mean, etc., and that normally must fall within a certain range.
Some business problems require a narrowly defined set of randomly generated variables, while other problems have many such requirements. Ideally, to enable proper model construction, the software used to perform this code-free approach should be based on a fifth-generation programming language. To analyze solutions over a wide range of constraints and coefficients within a short timeframe, the chosen software should be able to randomize the following data types:
The process of randomly generating input values, solving a model and then saving the solution can be repeated hundreds, even thousands of times. At the end of the simulation exercise, the results of all scenarios are summarized and ranked according to some criteria — e.g., net profit, ROI, sales revenue or volume, etc.
Typically, a scripting language or intelligent user interface will enable the planner to automate this process. Most modern computers have the capacity to do this work, but inputting poorly formulated values will generate inaccurate results. Care must be taken to ensure that the formulation is correct.
Traditional scenario-based planning helps to minimize risk, but not all corporate scenarios are quite so predictable. Today, different methods are being used to find the best solution for all considered scenarios.
One of these methods is stochastic programming, which simulates the outcomes of any number of inter-dependent decisions. It shares some common traits with Monte Carlo simulation; each scenario consists of one or more randomly generated input values. But whereas Monte Carlo simulation is typically used to generate a wide range of possible solutions for the same set of simultaneous decisions, stochastic programming is also like a Bayesian network, where the outcome of one set of unknown decisions can act as inputs into a set of future, unknown decisions. In stochastic programming, these are considered multiple stages.
In the business world, these types of problems occur everyday, everywhere, including merger or acquisition opportunities, opening a new warehouse, creating a new product, selling into a new market, and so on. A "yes" decision can cause ripple effects that other future decisions must account for, even if a "yes" decision today is less than certain.
The most commonly applied stochastic model is a one or two-stage linear program. Non-linear models are less adaptive because they can only compare two solutions using a specific data set. Linear programming’s ability to assume more than one scenario allows the planner to apply it to a huge number of problems with increasing accuracy. Robust optimization and simulation optimization are two alternatives that can handle a large number of randomly assessed scenarios.
Some advanced models have become sophisticated in recent years, where each new scenario's solutions differ from the best found scenario, tracking models are designed to penalize any solution below a stated target level. It’s this capacity to adapt to a variety of complexity levels that makes stochastic simulation adaptive to an array of different applications.
Stochastic modeling and prescriptive analytics work hand in hand. Although some of the techniques have been around for many years, prescriptive analytics as a concept is relatively new and particularly powerful in corporate scenarios. In addition to optimization, techniques like custom algorithms, machine learning, and business rules can be applied against data sets like big and transactional data. For this reason, they can be used in a huge number of use cases including:
Prescriptive analytics methods require careful planning and work to implement effectively. They should be viewed as part of a company's decision-making "journey" and not the "destination". Done properly, and when an organization is committed to making it part of their planning process, answers provided will continue to become more accurate over time. The more data that's available, the more a company learns, the more precise their problem solving becomes and the greater the chance of their goals being met.
Editor’s Note: This post was originally published September 28th, 2015 and revised September 30th, 2018.