Champion Challenger for Flows
  • 18 Oct 2021
  • 3 Minutes to read
  • Dark
    Light
  This documentation version is deprecated, please click here for the latest version.

Champion Challenger for Flows

  • Dark
    Light

Overview

Champion Challenger is a selection type available to the Run Flow step and the Rule step for testing logic to achieve the most optimized performance and results.

Automating this process removes potential biases held against the challenging processes while also encouraging experimentation to produce the most accurate, optimal solution. Unnecessary risks are reduced, and informed decisions are made.

Example use cases may include:

  • Comparing routes to a destination for the quickest drive
  • Comparing deals against another to determine which encourages the most new sales
  • Preventing churn by testing multiple retention solutions for the most effective strategy
  • Automating machine learning based on predictive modelling generated from Champion/Challenger results
  • ...and many more!

This document discusses this selection type within a Run Flow step.


Champion Challenger

The current solution, aka the Champion, evaluates itself against alternative solutions aka the Challengers. If a Challenger manages to outperform the Champion, it then becomes the new Champion. To setup the selection type, all involved Flows must contain the exact same Input(s) and Output(s) in addition to a parent Flow utilizing the Champion/Challenger selection type. 

Experiencing a null error?
Please double check that all inputs and outputs for the Champion/Challenger Flows match exactly including capitalization and punctuation. By default, the Champions inputs and outputs are displayed on the Run Flow step.

Unlike the Rule Champion Challenger, this selection type in Flow does not provide various Output types instead requiring a Challenger Percentage. This value determines how often the Challenger will run. In the case of an A/B Output challenger, this setting is determined by the user. In the case of an Output Champion/Challenger, the frequency is an equal amount. 



Example Champion Challenger Flow

In the following example, two Flows will attempt to sort a user-defined string input into either "Office", "Tech", or "Other" categories while also recording price for a sample inventory sorting build. Both Flows accomplish the same goal but with different logic.

The Inputs for both Flows are "Initial Price" and "Item Name". The Outputs are "Item Type" and "Total Price". The Challenger Percentage Value is set to 90 to nearly guarantee the Challenger Flow runs for this demonstration.










For this example, both Flows will enter the following inputs: "50" for Initial Price and "Chairs" for Item Name.

Champion Flow

This Champion Flow uses a Form to elicit the Initial Price and Item Name inputs and multiple Statement Rule steps and Create Data steps to sort the Item into a category. A Popup step at the end of the Flow confirms that the Champion Flow was run during testing.


The following Rule configuration details the Rules for Sort Office Items and Sort Tech Items respectively.

Challenger Flow

This Challenger Flow uses a Truth table to determine the category of the Item from the Form. For testing purposes, this Flow includes a Popup step to determine which Flow was ran during debugging. 


The Truth Table below shows the logic for evaluating the Item.



Champion Challenger Flow Configuration

Once the Designer has constructed Flows to test against one another, the following process explains how to configure the Run Sub Flow step for Champion/Challenger testing.

  1. In a Parent Flow, add a Run Sub Flow Step. For this example, this parent Flow is named "Versus Flow". 
  2. Navigate to the Toolbox tab, and drag and drop a Run Sub Flow step into the workspace.
  3. Click the step to configure its Properties
  4. Under Advanced, select Champion/Challenger from the Selection Type dropdown menu. 
  5. Pick a Target then the Challenger.
  6. Define the Challenger Percentage.


Below is a table that describes the Input needed.

Input NameDescription
TargetThis is the Champion Flow: the original Flow used in the process.
ChallengerThis is the Challenger Flow that has the changes that are being tested.
Challenger PercentageThis value determines how often the Challenger Flow will run.

After following the steps above, the screenshot below demonstrates how the example configuration will look to the Designer once complete. 




Debugging

  1. In the Flow Designer for the parent Flow, select Debug from the orange Action Bar towards the top of the screen.
  2. Select FULL.
  3. When the Form appears, enter "Chairs" for Item Name and "10" for Initial Price. Hit Submit.
  4. Upon submission, a popup will appear at the top-right of the screen naming which Flow was chosen to run. Given the percentage, this will likely be the Challenger Flow.



Downloadable Example

The following zip file contains the Decisions Elements (Flows, Rules, etc) used to create the above example. Feel free to download and import this project into your Decisions instance for further study.

Please Note: The examples attached were developed to be instruction, and were not developed as officially supported components. For more information or to engage our service team to develop fully supported, production quality solutions, please contact: services@decisions.com



Was this article helpful?