If you’re using a rule-based repricing strategy, business rules come in handy to help set minimum and maximum prices. This strategy is best if your goal is price driven (not specific to the buy box), you need to leverage excluding certain competitors, or if you’re using the multi-ASIN functionality. Let’s get started!
This is the lowest price that you want to sell your item for. The repricers require you to set AT LEAST ONE repricing limit. You may map your minimum price to a specific attribute or you may choose to calculate your minimum price within a business rule based upon your product cost, regular retail price or other factors.
This is the price that you want to sell your items at if you do not have any competition. This will most likely be the same price as it is listed in your store. Merchants often map this to their Buy-It-Now price or Retail price fields.
For the purpose of this article, we will assume the retail price ($itemretailprice) is mapped to the Maximum Price field. The Minimum Price field will be calculated by a business rule.
Many times these rules will be simple. If you would like the minimum price set to retail price – 20%, the rule to calculate the minimum price would be:
$itemretailprice * .8
In this case, if the retail price is $10, the repricer would set the price on the marketplace from $8 to $10, depending on the current prices used by other sellers.
You may be working with a supplier that imposes a minimum advertised price (MAP). These items need logic to ensure that the calculated price is not below MAP if the SKU has one. An attribute called “MapPrice” is created to hold the supplier’s MAP. The max function can be used to select the greater of the calculated price or MAP:
MAX($itemretailprice * .8, $mapprice)
Conceptually, this rule would work well. However, unexpected results may be seen if MapPrice is blank. The max function requires the inputs to be numeric. Logic can be added to use the value zero if MapPrice is blank:
MAX($itemretailprice * .8, IF(ISBLANK($mapprice),0, $mapprice))
The minimum (or maximum) price calculation can be based on any attribute. The calculation may change depending on the brand, manufacturer, seller cost, or any other attribute.
The business rules can also be more complex. If you’re testing for multiple conditions, the SELECTCASE function can be used, which allows for the calculations to be based on different attributes. For example:
SELECTCASE (ISBLANK($itemretailprice),$sellercost * 1.15,
$itembrand=”Nike”,$itemretailprice * .9,
$itemweight>5,$itemretailprice * .05,
$itemretailprice * .8)
The conditions are checked in order and the equation corresponding to the first condition that evaluates “true” will be used. If all the conditions in this rule evaluate to “false,” the default is “$itemretailprice * .8”
The business rules used on the repricers can be as complex as needed. However, as a general rule of thumb, business rules should be kept as simple as possible. Business rules add to processing times, and more rule complexity will correlate to more processing time. Making rules with more complex functions also means that the likelihood of making a mistake increases. It’s important to have an understanding of how to troubleshoot business rules so that you’re not left frustrated staring at your business rule editor!
If you want to learn more about business rules, feel free to explore more about business rules in the ChannelAdvisor Community or check out the other posts our support team has written on business rules. If you’re struggling with a rule, you can always open a case with support to assist you.