The Arbitration strategy is responsible for setting up the attributes that will be used in the final priority calculation (P * C * V * L). These settings are managed within Next-Best-Action Designer and saved into decision data rules (DDRs). These DDRs are imported via the various Realtime Controls sub-strategies in the strategy, and filters are used to obtain individual setting values for some of these.
A high-level view of the strategy is shown first, and then each section will be described in more detail.
The strategy first sets the FinalPropensity property to be based on the action or treatment propensity, or a fixed value of 1 if propensities are not being used. Then the strategy sets the business value. By default, the action-level business value is used. Modify the Calculate Value Extension point strategy to change this.
After that, if the Business levers are enabled, the strategy determines business purpose weighting, first at the issue level and then the group level. These weightings are both added to the action weight, divided by 100 and then added to 1, so a total weighting of 55 sets a final weighting of 1.55.
The strategy then applies context weighting by looking at the Container and Event payloads and searching for matching Key and Value pairs for each issue and group. If a match is found, the weighting is added to the weight for the specified issue and group. This weighting is also divided by 100 and then added to 1, so a total weighting of 55 sets a final weighting of 1.55.
The next step is to calculate Q & A (question and answer) related context – if any. By default, there is none, but it can be added via the QnAContextWeightingExt extension point.
Then the ApplyInfluencers strategy is invoked to apply any upweighting required by the action influencer contact policy configuration.
After the properties are calculated and adjusted based on the settings configured in Next-Best-Action Designer, the Prioritization formula Switch determines which formula to use to calculate the Priority based on the ExcludeLeversForPrioritization setting. Note that this feature is only used during simulation and is not user configurable.
If false, the standard formula is used:
Priority = .FinalPropensity * .ContextWeight * .Value *
Otherwise Weight is omitted and the alternate formula is used:
Priority = .FinalPropensity * .ContextWeight * .Value
Then all actions and treatments are prioritized based on Priority in descending order.