Three Easy Steps to Automate Decisions using models from Watson Machine Learning

Greger Ottosson
IBM Data Science in Practice
5 min readJul 2, 2020
Photo by Volodymyr Hryshchenko on Unsplash

Using Machine Learning (ML) operationally isn’t always easy. If you’ve tried to integrate an ML model inside a business process or -decision, you know what I’m talking about. You may have already run into one or more of these common challenges:

  • Skills gaps between separate Data Science, IT and Business teams
  • Data quality and consistency across operational and analytical environments
  • Multiple ML libraries, tools and platforms — each with different requirements and behaviors

Case in point, I recently talked with a client — on the business side — who told me they are trying to work with five different data science teams within their organization. Each collaboration would entail different processes, data sources and tools being used. Sometimes multiple for a single team. They found it daunting to identify and validate models, invoke them correctly and interpret the predictions.

We’re starting to tackle these challenges for our clients by providing closer integration with ML platforms. With the June 2020 release of IBM Cloud Pak for Automation 20.0.2, we introduced a low-code integration of machine learning for operational decisions — within what we’re calling Automation Decisions Services (ADS). ADS is a component of Cloud Pak for Automation that enables business teams to use machine learning models in operational decisions.

Whether it’s for cross-sell/up-sell in retail, risk assessments in banking or fraud identification in insurance, business users can now include ML-based predictions alongside traditional business rules and business policies. The goal is to make it easier for business and data science teams to collaborate to use machine learning operationally with less reliance on IT.

This low-code experience for automating decisions using machine learning involves three easy steps:

  1. Discover an ML model: Browse available ML models, understand what they predict/classify, and select based on business need.

To make ML models available for operational use, the standard approach is to deploy them as a micro-service, accessible through a REST endpoint. This is often referred to as ‘Model Serving’ and within the IBM portfolio, it’s IBM Watson Machine Learning (WML) that provides this capability. In ADS, we allow access to ML models by connecting to WML (or other platforms), and configuring it as a “ML Provider”.

After this one-time setup, it’s possible to browse and select among the hosted models. ML Providers can be of different types, or represent different environments such as Dev, Test and Production. Each ML model can also have multiple versions or deployments. Taken together, this allows good flexibility to consume ML models from a variety of sources, but also good control of what model type and instance being used where.

Selection of ML Provider and Model within IBM Automation Decision Services

2. Connect to an ML model: Find required parameters for the ML model, supply it with data and interpret the response.

Like any other service, to return a prediction an ML model requires values for a set of input parameters (also known as ‘features’ or ‘variables’ in ML parlance). A well-behaved ML service will provide a schema describing the parameter names and their types, greatly simplifying the process. Alternatively, it can be constructed by hand or derived from an example invocation. Once the parameters are defined, we can do a test invocation, and subsequently validate what the ML models returns.

In ADS, this process is done entirely through a form-based wizard, requiring no coding or complex configuration.

Wizard for mapping ML model parameters and perform a test invocation

3. Use the ML model: Use the ML model when modeling a decision, combining predictions with rule-based policies.

Once an ML model is connected and tied to data, it can be used to make operational decisions. Often, several predictions are used in conjunction with business rules, and the decisions is “composed” together in a decision model. In the example below, the decision is whether to offer a special retention to a current customer who has a subscription. We use three ML models (purple “predictive” nodes) to make this decision as intelligently as possible:

  • how likely the customer is to cancel the subscription (churn score)
  • estimation of how much we stand to lose (lifetime value)
  • ranked list of possible remedies (offer recommendations)
ML-based predictions (purple nodes) in a Decision Model

To balance and convert those predictions into a specific retention action, we use business rules (inside the blue “decision” nodes). For example, the ML model might recommend promotions the customer is ineligible for, has already rejected, or are too expensive compared to the business value of retaining the customer. Business rules are used to filter out such offers and decide on a final retention action.

This decision model — ML models included — is fully executable, meaning it’s deployed operationally in ADS without any coding required. When a customer retention offer needs to be computed, the ML models are invoked through REST calls, and the resulting predictions evaluated to make the retention decision.

Conclusion

Machine Learning is becoming an integral part of business automation, both to improve internal operations and to make each customer touchpoint more meaningful. With Cloud Pak for Automation 20.0.2, we’re making it much easier to consume Machine Learning models for operational decisions. Designed for the technical business user, our low-code approach covers ML integration end-to-end.

Thanks to the ADS product team and Cheryl Wilson for feedback and edits on this post.

--

--