Decision Optimization

Even the most accurate Machine Learning Pipelines are only useful if they’re driving real value for your organization. That’s why Cortex makes it easy to connect predictions directly to your business workflows in a variety of ways. In this guide, we’ll walk through one of those ways: dynamic decision-making via the JavaScript SDK’s low-latency Decision Module.

Note that this guide will serve as a general overview of the decision optimization functionality provided by the Decision Module. For more detailed information on how to implement the SDK, please visit the SDK documentation.

What is Decision Optimization?

Decision optimization allows our partners to dynamically determine in real-time which experience should be served to each user. In other words, the Decision Module chooses from a set of options and makes the decision that will optimize for some higher-level business objective (e.g. maximize likelihood of conversion, maximize net revenue, etc.). Common use cases for dynamic decisioning include next-best-action and next-best-offer.

Decision optimization is enabled in Cortex by the JavaScript SDK’s Decision Module. The JavaScript SDK provides a robust set of functionality for developers to interface with Cortex directly from the client-side. The Decision Module specifically contains all functionality needed to enable your team with high-performing decisions, made in real-time using both historical and in-session data. 

The decisions made by the SDK are based on underlying predictions generated by a Real-Time Future Events or Uplift pipeline. For example, a pipeline predicting the likelihood subscribing within 10 minutes of seeing a paywall can be used to optimize the decision around whether to show the paywall to a given user at a given time. In this example, the options that are being chosen from are (a) show paywall, or (b) don’t show paywall. 

The Decision SDK can also be used to optimize decisions which contain more than two options. For example, consider a set of modals, each designed to encourage a different user action (e.g. registration, subscription, social share, etc.). For each of these modal/action combos, a pipeline might be built to predict the likelihood of the action if each user were to be shown that modal. Based on these predicted likelihoods and the business value of each action (e.g. registration is worth $10, subscription is worth $100, etc.), the Decision Module can optimize the decision around which modal to show which users at which times.

When should I use the Decision SDK Module?

The Decision SDK Module is most useful for “online” use cases where your pipeline’s predictions are being used to make decisions on-demand and in real-time. These decisions can take one of two forms:

(1) “Which users should I target with this experience?”

  • Dynamically display a promotional banner ad to some users on the site
  • Dynamically offer a discount to some users on the site
  • Dynamically show a paywall to some users on the site

(2) “Which experience should I target toward this user?”

  • Dynamically determine which of a set of modals to show each user on the site
  • Dynamically determine which promotional banner to show each user on the site
  • Dynamically optimize the order and layout of content modules for each user on the site

How do I use the Decision Module?

For detailed reference about the functionality contained in Decision Module and how to implement the SDK, please see the Decision Module documentation at this link.

Related Links

Table of Contents