Understanding Arbitration Plans
The arbitration plan is the arbiter when multiple price rules match the transaction. It decides the order in which the price rules are applied to the transaction base price. For price rules that match on the same criteria, you can define the arbitration plan to break those ties and tell the system which rule to apply first. You can also use the arbitration plan to filter the price rules that can be applied to the transaction. The definition of the arbitration plan nodes and the placement of the decision nodes determine the filtering power of the arbitration plan. To verify that the arbitration plan is performing as you expect, use the pricing simulator to test the arbitration plan and price rules.
Placement of certain price action types in the arbitration tree will not affect the order in which the adjustment is applied to the transaction, but it may affect the Stop Processing Here option defined on the price rule. These price action types are:
Adjustments are always summed and applied after all other adjustments are made.
Total Order Discounts/Total Order Surcharge.
Adjustments are always summed and applied to the total order value after all other line level adjustments are made.
Arbitration Plan Use for Non-recurring and Recurring Price Rules
The same arbitration plan is used to support the arbitration of both non-recurring and recurring price rules for PeopleSoft Enterprise CRM. It means that there can be multiple price rules matching the conditions of an order capture transaction, and these price rules can be blend of non-recurring and recurring ones.
The arbitration plan does not differentiate non-recurring price rules from recurring ones in times of arbitration. In the case where two price rules (for example, one for non-recurring charges and one for recurring charges) that serve the same purpose (for example, a discount to product XYZ) are returned for an order capture transaction, one or both price rules may apply depending upon the options specified in the decision selected for the associated node. Suppose that the default arbitration plan for the Order Capture transaction has a node called Discounts for arbitrating discount price rules and its last subnode is a decision arbitration type with the value Highest Discount First. Assume that an order with the purchase of product 10000 is matched by these two price rules:
Price rule for non-recurring price to offer discount of 5 percent for product 10000.
Price rule for recurring price to offer discount of 10 percent for product 10000.
Based on the arbitration decision type (Highest Discount First), rule #2 with 10 percent discount will be applied first. The pricing engine applies rule #1 subsequently if the decision arbitration type is set up to apply more than one price rule adjustment. Now, if either price rule is set to be mutually exclusive, the pricing engine applies the mutually exclusive rule to the corresponding order price and ignores that other one.
The arbitration plan component provides a robust architecture that supports the setup of arbitration plans with a wide range of complexity. A company with only discount-specific price rules may simply need a plan that makes a decision to apply a price rule with the highest discount; for a company that has a short list of price rules with different actions, a multi-node arbitration plan addressing all the involved price rule actions would be necessary. Here are several sample arbitration plans that address simple and some of the more complex scenarios.
Arbitration Plan 1: Apply Discounts Only
This is an example of a basic arbitration plan, which uses essentially one node to determine how all price rules with conditions that match the transaction are sorted. In this example, the arbitration plan uses the Highest Discount First decision to rank all matching price rules for a transaction. The value in the Apply Only field suggests that only the first price rule with the highest discount value would be applied, and there will be no more pricing adjustments afterwards.
This arbitration plan is applicable to situations where you are certain that price rules are defined for only discounts (no price overrides or giveaways).
Arbitration Plan 2: Apply Surcharge Rules Before Discount Rules
This sample arbitration plan applies to situations that involve price rules of these two action types, surcharge and discount.
In this example, the system selects all price rules with conditions that match the transaction and sorts them first by surcharges and then by discounts. If there are multiple surcharges, the first two rules with the lowest surcharge values are applied. After all the surcharges are applied, the first two discount rule with the are highest discount values are applied. Pricing adjustments stop after all discounts are applied.
You can use the arbitration plan as a filter to apply certain price rules to a transaction and not others. Although some price rules might match the transaction according to the conditions of the price rule, you can define the arbitration plan to bypass some price rules. This example is also a filter because it applies only surcharges and discounts to the transaction. If giveaway or price override price rules that match the transaction are defined, they are not applied when using this arbitration plan.
Arbitration Plan 3: Apply Price Override, Surcharge, Discount and Giveaway Rules
This example continues the previous example and shows an arbitration plan applying various (price override, surcharge, discount and giveaway price rules):
In this example, the system selects all price rules with conditions that match the transaction and sorts them first by price overrides, followed by surcharges, discounts and lastly giveaways/product adds. If there are multiple price overrides, the first n number of price rules (specified in the Apply Only field) with the lowest price override values are applied. After all the price overrides are applied, matching surcharge price rules are applied, followed by eligible discount and giveaway rules.
Arbitration Plan 4: Apply Filters in Rules
Any arbitration plan that does not have a decision point at the top level of the tree is a filter. Wherever you place the decision node in the tree is where you tell the pricing engine you don't care to further differentiate the price rules, just apply whatever rules match the transaction at that point in the order of the decision.
For example, you want to define an arbitration plan that selects only discount price rules that match certain fields on a transaction. In this case, you define the order in which those matching price rules are applied to the transaction. In this example, let's say you want to match price rules defined only by sold-to customer, product, and region ID. Once the system finds the matching price rules:
First apply those rules that match all three criteria.
Then apply the rules that match only the product.
Lastly apply any discounts that are defined for our favorite customers.
This arbitration plan considers only discount price rules that are defined by sold-to customer, product, and region; product; or sold-to customer only. It applies the formulas for those price rules in that order. If there is a tie within a node, that is, there are two price rules defined for the product ID, the system sorts those two rules and applies the highest discount first.
In the event where two rules match the same node in the tree, the system finds the next node that is used for each rule until a different node is used by each rule or a decision point is reached. When searching for the node, if the rule does not match a top-level node, it skips any child node and evaluates the next node, which is at the same level or a level higher as the node that is evaluated last. If the rule does not match any node in the tree and there is no final decision point defined at the top level of the tree, the rule is ignored. Every node that is used to break a tie ends in a decision.
You can create price rules without an arbitration plan, but the system does not apply the price rules unless you create an arbitration plan.
Note: The tree node is similar to a sequence used in previous releases. The node is represented as a sequence in the tree.
Important! For more examples on supported basic and complex arbitration plan setup, please refer to PeopleSoft FSCM Enterprise Pricer.
Rounding in Arbitration Plans
The arbitration plan, by default, rounds adjustments and prices to a decimal point of 4, or by currency. However, you might want the arbitration plan to round the net price only or the net price and each adjustment before the adjustment is applied, using specific rounding criteria that you define. Enterprise Pricer enables you to define rounding rules that are referenced on the arbitration plan. These rules define how Enterprise Pricer rounds the net price and adjustments during the arbitration process.
Many companies use a break structure for rounding rules, which allows them to get significant additional margin. For example:
If the unit price is less than USD 0.10, round to three decimal points.
If the unit price is less than USD 1.00, round to two decimal points.
If the unit price is less than USD 100, round to one decimal points.
If the unit price is greater than USD 100, round to zero decimal points.
You can specify whether to round each adjustment before it is applied, or only round the net price after all the adjustments are applied, or both, or none.
Note: The rounding rule and rounding flag on the price rule always overrides the rounding rule and rounding flag specified on the arbitration plan. For example, if the rounding value on the arbitration plan is set to use rounding rule 3 which rounds everything to three decimal points, but the price rule rounding flag is set to None, the price and adjustments are not rounded when the price rule is used. The rounding rule and flag defined on the arbitration plan are ignored and the rounding rule specified on the price rule is used. If the arbitration plan and the price rule both do not specify a rounding rule, then the application default rounding is applied. In the case of PeopleSoft CRM, default rounding is by currency.
The Rounding Rule and Rounding Flag fields appear on the Arbitration page only if they are defined.