Whether rules or optimization-based, there are two primary technology approaches for prescriptive analytics: packaged applications and optimization platforms.
A packaged application is a fully functional program developed by the vendor that requires an installation or subscription plus configuration, but no additional coding. The answers provided can be either rules or optimization- based. Some configuration can be required, such as choosing which components or modules are installed. Sometimes, you can customize parts of packaged applications to meet specific requirements.
Software companies with packaged applications in the prescriptive analytics marketplace sell targeted solutions focused on well-defined business areas. The vendor has decided ahead of time what problem you want to solve, what data you need, what reports you want to see, and so on. Llamasoft’s Supply Chain Guru, which focuses on network optimization and JDA’s Manufacturing Planning solutions, are two such examples.
An optimization platform is used to create applications and requires customization. Most platforms still run in Windows or Linux and require a license. Whereas a packaged application might be marketed explicitly for inventory management, an optimization platform can allow you the ability to create your own applications for inventory, capacity, demand, and various other uses.
Platform software can require you to create the math. Advanced Interactive Multidimensional Modeling System (AIMMS) and IBM’s CPLEX Optimization Studio are two such programs. Other software, such as River Logic’s Enterprise Optimizer, have a drag and drop visual user interface, where you draw a picture to define the problem.
Both optimization-based packaged applications and platforms rely on highly specialized algorithms, called optimization solvers, to find answers. IBM’s CPLEX, Gurobi, and FICO’s Xpress are examples of market leading solvers. In a packaged application, the use of a solver might not be visible in the user interface. For this reason, we include the discussion of solvers below with optimization platforms, since all platforms must interact with solvers explicitly.
The figure below highlights the difference between the two approaches. The two boxes on the left comprise some of the vendors who sell optimization modeling platforms and solvers. The box on the right lists a few primary business-related subject areas served by packaged application software.
Figure 3. Optimization solvers, platforms and applications (Gartner, 2017)
As you read the following pages, keep in mind that modeling platforms and solvers are used to create applications, whereas the packaged applications are programs where the software vendors have already done most of the work for you. The best choice for you depends on many criteria. In the following pages, we explore in-depth the fundamental differences as well as provide examples, pros, and cons of each option.
PACKAGED APPLICATIONS
DEFINING A PACKAGED PRESCRIPTIVE ANALYTICS APPLICATION
Upon seeing a packaged application, you should be able to quickly and easily understand what the product is (i.e., which problem does it solve), how you would use it, and what kind of output analysis you should expect.
Since the prescriptive analytics market for packaged applications is relatively new, most are cloud-based. Major advantages of software-as-a-service (SaaS) or platform-as-a-service (PaaS), include only paying for the hardware and software that you consume and having the software installed and maintained by the vendor. Typically, customers have immediate access to the latest release. Implementation time from kickoff to user acceptance should be measurable in days or weeks, not months or years.
Most knowledge transfer from a vendor or consultant to your organization should occur through established training programs, either in an online knowledge base, within the product itself or in a classroom. Ideally, there are example models and other documentation that resemble your company’s issues.
Only a “reasonable” amount of configuration, integration, training, and support should be necessary to start. Configuration can include setting up user accounts and defining master data. Integration can also include using vendor provided templates and doing whatever work is necessary to upload data files.
Some applications allow for direct connections to other data sources needed for data input (i.e., ETL using Microsoft SSIS) and to other programs dependent on the output for analysis (e.g., BI tools like Microsoft Power BI). This can be an issue if your organization doesn’t allow data outside your company’s firewall.
If it appears to require a high degree of customization, including writing math equations, it probably does not meet the definition of a packaged application. A packaged application using optimization will never require a user to write math. Consequently, vendors of packaged applications will rarely make their proprietary code available to customers. Sometimes, potential customers decide that they don’t like the “black box” aspect of packaged software, but it can work quite well because each customer directly benefits from all other customer’s experience.
PACKAGED SOLUTIONS ON THE MARKET TODAY
This list includes applications identified as meeting the criteria for packaged applications. We cannot guarantee; however, that is always true. What can appear as a relatively simple packaged application might require a substantial amount of effort to get working.
As for costs, most packaged technologies, especially web-based, require subscriptions to access the software. This is usually done per user or by the enterprise with each user’s access to features determined by the type of role they are assigned. Subscription fees can range from several hundred dollars per month, per user to millions of dollars per year, per enterprise license.
Most web-based packaged applications to date are focused on consumer packaged goods and retailers, which is primarily due to companies having the necessary data and the real need to optimize their complete customer acquisition and retention strategy and operations:
Table 4. Typical Packaged Solutions
VENDOR |
DESCRIPTION |
WEBSITE |
Angoss |
Marketing optimization |
www.angoss.com |
JDA |
Solutions for manufacturing, retail and service industries |
www.jda.com |
Llamasoft |
Network optimization |
www.llamasoft.com |
Manthan |
Customer analytics solution |
www.manthan.com |
Profitect |
Retail solutions |
www.profitect..com |
River Logic |
A Microsoft Azure-based platform for building prescriptive analytics applications without writing code |
www.riverlogic.com |
Rockwell Automation |
Prescriptive maintenance solutions |
www.rockwellautomation.com |
Zilliant |
Pricing optimization |
www.zilliant.com |
PROS
- Good for well-defined problems — e.g., airline pricing
- Good for large industries with many companies — e.g., retail
- SaaS (web) based applications don’t require installation; can get up and running within hours or days, not weeks or months
- No requirement to write math equations (math embedded in the application)
- Limited need for company IT resources
- Easier collaboration
CONS
- Fewer applications exist for smaller industries
- Fewer applications exist for complex problems
- Might not perfectly meet your requirements
- Can be difficult to understand how the answer was found
- Must rely on the software vendor to fix bugs and add critical enhancements
OPTIMIZATION PLATFORMS
Optimization platforms consist of two types of software: modeling platforms and solvers. A modeling environment is a software used to write the mathematics needed to define the problem. This step can either be done by coding in a language or with a drag and drop user interface. Solvers are specialized software programs designed to provide an exact solution.
DEFINING A MODELING PLATFORM
A modeling platform software is used to define problems. It can require writing math equations or use a drag and drop visual interface. Program names typically contain words like developer, modeler, studio, toolbox, or similar variations of those. Most modeling software requires installation on computers running Windows or Linux operating systems. Licenses are frequently required, which can be tied to a specific user, machine, or for use by an organization. Established around 30 years ago, there are approximately 50 such products on the market today.
DEFINING A SOLVER
An optimization solver is a software designed to solve problems using one or more exact algorithms. Problems defined in a modeling environment are combined with data and then input to a solver. The solver then uses various techniques to arrive at an answer. The quality of the solution is highly dependent on problem definition, data quality, and the user’s willingness to allow the solver to find the best possible answer.
MODELING PLATFORMS AND SOLVERS ON THE MARKET TODAY
The costs of modeling software and commercial solvers vary greatly. Algebraic modeling software can range from free for trial/academic use to hundreds of thousands of dollars for enterprise licenses.commercial solvers can range from a few hundred dollars per machine on the low end; to millions of dollars per year for unlimited use across a large enterprise.
We have grouped all vendors into a single list, including free/open source and proprietary. Some vendors sell only modeling environments, some sell only commercial solvers, and some sell both:
Table 5. Typical Optimization Platforms
Scroll to see the full table
VENDOR |
DESCRIPTION |
WEBSITE |
Advanced Interactive Multidimensional Modeling System (AIMMS) |
Modeling language and development environment. Includes limited dashboard building capabilities |
www.aimms.com |
A Mathematical Programming Language (AMPL) |
Algebraic modeling language and development environment |
www.ampl.com |
Computational Infrastructure for Operations Research (COINOR) |
A popular open source software |
www.coin-or.org |
FICO Xpress Optimization Suite |
Modeling development environment and solver |
www.fico.com |
Frontline |
Solver for Excel. Widely used by students. Extensions for industrial- sized problems |
www.solver.com |
General Algebraic Modeling System (GAMS) |
Modeling system for mathematical programming problems |
www.gams.com |
Gurobi |
Solver, with integration with many modeling languages |
www.gurobi.com |
IBM CPLEX Optimization Studio |
Algebraic modeling language and development environment and solver |
www.ibm.com |
LINDO |
Algebraic modeling language and development environment. The “What’s Best!” Excel add-in uses LINDO |
www.lindo.com |
Mathematica |
One of the early pioneers of symbolic computational mathematics |
www.mathematica.com |
MATLAB |
Optimization toolbox includes many algorithms and techniques |
www.mathworks.com |
MOSEK |
Solver for large scale problems |
www.mosek.com |
OptaPlanner from RedHat |
A heuristics based open source constraint solver |
www.optaplanner.org |
River Logic |
Code-free, drag-and-drop modeling environment |
www.riverlogic.com |
Statistical Analysis System (SAS) |
High-performance optimization modeling environment |
www.sas.com |
PROS
- Good for highly customized solutions
- Good for highly specialized companies
- Good for difficult to solve problems
- Good for companies with IT policies that require everything behind the company’s firewall
- Mature technology—most vendors have been in existence 20 to 30+ years
CONS
- Can require an OR expert to write math
- Most platforms don’t have end-user interfaces. You must build your own
- Commercial solver market has relatively few good choices
THINGS TO CONSIDER WHEN PURCHASING
The technology needs to support and enhance the organization’s ability to maximize attainment of the objectives while minimizing the risk. It is, therefore, important to articulate the needs not only for the first use case, but also more broadly to support a longer-term vision for how prescriptive analytics will support Planning and Decision Making needs. The key areas that should be considered include Modeling, User Interface, Data Management, and Architecture.
MODELING
This section guides you on whether to use a modeling platform or a packaged application (which has a hard-coded model inside) and helps you understand what the platform/packaged application needs to support. Here are some questions that may help make the best determination:
QUESTIONS TO CONSIDER
Can the problem be expressed in the platform or application?
Pay close attention to the key constraints that must be respected to get a feasible/optimal outcome — especially if the solution requires ratios, blending, financial ratios, special ordered sets, or conditional minimums
Does the technology have the flexibility to support future changes in the business?
Can it add new constraints and objectives? Pay close attention to the key constraints that must be respected to get a feasible/optimal outcome — especially if the solution requires ratios, blending, financial ratios, special ordered sets, or conditional minimums.
How well does the technology support financials as both inputs and outputs?
Make sure the financial modeling includes the managerial side (i.e., financials modeled as incurred by the business, like fixed costs, variable cost/ unit, variable cost/hour, variable cost/customer, base revenue, revenue associated with discounts, etc.). Make sure it is also expressed in financial accounting terms, as many of the organization’s constraints and targets are reflected through P&L, Cash Flow statement, etc. (think of working capital, debt to equity ratios, net income as an objective, etc.)
How easy/fast is it for personnel to learn, configure and deploy models? Is it a visual, drag-and drop language or do you need to write/ manage thousands of equations? Does it require an Operations Research Ph.D. or can an astute business analyst handle it?
Note that it is customary these days for prescriptive analytics technology to embed expert knowledge and be configurable in days/weeks by a business analyst. Try to avoid the situation where you become dependent on an expert modeler who is the only person able to edit/manage a “black box” model that contains thousands of equations
Is error checking included out of the box, or does it need to be added in?
Think of variable definitions, data gaps, material balances, financial auditing, etc. This can add significant work — as many as four to eight weeks — to the development of even a medium complexity model
USER INTERFACE (UI)
In 99% of the cases, there is more than one person who can/should interact with and benefit from the prescriptive analytics model. These users are normally business people who have multiple tasks and cannot devote too much time to using a “raw” model. Therefore, there is a need for them to interact with the model through an interface. Below are some key considerations for the interface:
IS IT INTUITIVE AND EASY TO LEARN?
- Does it support entering information and visualizing inputs? Think of identifying exceptions, spotting outliers, and entering information at different levels of aggregation (for example at an SKU/product/brand level).
- Can a user define, configure, and run optimization scenarios? Beyond simply running a scenario (say from the web), does it enable the right level of scenario management and collaboration? This may include running scenarios in private, sharing scenarios with colleagues, managing parent/child relationships, and simulating multiple scenarios.
- Are the reports capable of supporting the right visualization? Do they have a filtering capability? Can end users edit the reports? Can it be exported into Microsoft Office?
- Is the UI configurable or does it require programming to deploy?
DATA MANAGEMENT
The prescriptive analytics model usually requires a significant amount of data, some of which needs to be cleaned up and approved before use. Key areas of focus include:
- Does the platform have tools to bring data in? Can it transform the data for use? Can it run checks to identify missing data?
- Does it support a proper workflow, where data comes in, a user reviews/edits it, another user approves it, etc.?
- Is the data available for use by other applications? Does the solution have APIs?
ARCHITECTURE
While IT professionals likely have an extensive list of checks, here we focus primarily on applying a business lens. As such, you might consider the following questions:
Is the offering Cloud-based? And what would I need to install on premises, if anything occurs? If Cloud based, you would save time to install, require less knowledge to manage and reduce the hardware requirements. Plus — if the application is truly elastic — you will have more scalability. On the converse, make sure the vendor has set up the proper security levels.
Where will the data be stored? Is it in a standard database such as Microsoft’s Structured Query Language (SQL) Server, or does the vendor have a proprietary database that may create a longer-term dependency and risk? If the data is very sensitive, does the vendor support a hybrid model where the data can reside on-premises yet the organization can still benefit from Cloud-based features such as scalability and user interfaces?
CONFIGURE OR OUTSOURCE?
The value from prescriptive analytics can be transformational, so delaying the initiative due to lack of resources may create too large an opportunity cost for the organization. The good news is that service providers (i.e., consultants) are increasingly investing in prescriptive analytics capabilities and they are a great source of talent to get an initiative launched.
The key considerations include personnel availability, skills, knowledge, cost, and risk. While personnel availability is straightforward, skills and knowledge are not always so. If you have a service provider with deep knowledge in Prescriptive, it may be better to have them help you even if over time you transition the project to internal resources. This approach may be more costly, but it can greatly enhance the knowledge in your organization while reducing the risk. Some service providers will also take “at risk” contracts where their upside is completely aligned with yours — this is a great way to maximize the return on that critical first project.
Finally, consider analytics as a service offering from service providers. These services may include just the development and management of the models or can also include configuring, maintaining, and even running the full application. Service providers have deep expertise in making these systems work. Nevertheless, make sure that you have an opportunity to learn and that you can bring the capability into your organization at the right time.
CONFIGURE YOUR OWN
PROS
- You can get exactly what you want
- Answer performance and result can be highly tuned
- Your organization retains the knowledge
- You work directly with software vendors, who often have specialized knowledge to help you get up and running fastest — remember their interest is in your adopting and getting value from the software
CONS
- Requires a software subscription, although now with cloud vendors, there is a limited need for IT resources and installation
- You might need to hire someone with specialized modeling skills depending on the software you choose
- It may take you time to find the resources if they aren’t already in your organization
OUTSOURCE
PROS
- You can get exactly what you want — depending on the service provider, it may require some education on the use case.
- A good service provider brings knowledge and best practices in the space.
- Your organization won’t need to hire the expertise directly, so you can potentially move faster.
- Service providers are good at change management to help you adopt and receive value from the initiative.
- You can onboard the resources from the service provider when you are ready to do so.
CONS
- You become reliant on another company’s expertise
- Despite claims of confidentiality and internal “Chinese walls,” there is a chance your unique knowledge will become part of industry best practices over time.
- It may cost you more than using internal resources.