Introduced in version 8.6, globally optimized strategies (GOS) are a new type of decision strategies that focus on providing the best performance at runtime. Strategies created by using Next-Best-Action Designer support GOS out of the box, but you can also configure other strategies to benefit from the performance improvements that GOS provides.
Globally optimized strategies are defined as top-level decision strategies in a data flow,
that is, the first strategy that the data flow calls during the decisioning process.
When a globally optimized strategy runs, it brings several types of decisioning artifacts into a single program and executes them all together. Because rules are executed together rather than called one by one, overall strategy execution performance is greatly increased.
Use GOS when you want to improve the performance of your decisioning strategies that are referenced from a data flow.
Globally optimized strategies cannot be used as sub-strategies, in proposition filter conditions, or as target for the Check decision strategies for optimizations update tool.
Supported rule types
GOS can import and execute the following rule types:
- Proposition Filter rules
- When rules, if used in a proposition filter
- Strategies, if used as a sub-strategy on the strategy canvas, or in a proposition filter
- Decision tables, if supported by SSA.
Supported strategy components
Strategy optimization is done on the component level. The following strategy components can be optimized:
- External sub-strategy
- Embedded sub-strategy
- Decision table
- Data join
- Set property
- Filter (including expression and proposition filters)
- Group by
- Creating globally optimized strategies
Create a globally optimized strategy by referencing an existing strategy that you want to optimize.
- Frequently asked questions about globally optimized strategies
See the following topics for additional information, tips and tricks, and best practices.
- Optimizing strategies with allow list functions
When a globally optimized strategy cannot be optimized because its component or components contain expressions with unsupported functions, you can add the functions to the pyAllowlistFunction data transform or change the strategy logic to contain only supported functions.