Chances are, you have been a “smart shopper” at least once and have bought items on sale at a discounted price. Have you ever ordered an item online that was on sale or had a “Buy One, Get One” type of deal? Regardless of the deal, you’ve just received your product at a discounted price. What you don’t see, is all of the work going on behind the scenes to ensure you are paying the right, discounted price for your item.
Whether you are placing an order online, in the store, or over the phone, a robust promotion engine is required to evaluate any promotions tied to a certain item. Promotions can be systematically stored in an Order Management System (OMS) or can be calculated by a 3rd party promotion engine. Each time an item is added to the shopping cart, a promotion engine will recalculate the order to determine every eligible discount the customer will receive. This can be incredibly complex when there are hundreds of different items and order based promotions offered to the customer.
Let’s take a further look at the types of promotions.
Line Level Promotions: Line level promotions are tied to individual items on an order. Some examples of these include a “Buy-One, Get-One” (BOGO) discount or Sale Items (25% off all Jeans). These are specifically tied to items in the promotion engine.
Order Level Promotions: Order level promotions are tied to the overall order. Some of the more popular examples of these include Free Shipping or a Free Gift, which usually require a dollar amount to receive. Both are applied at the order level and take the overall order total into account.
Each time a change is made to the order, the promotion engine must recalculate all discounts at the order and line level. For instance, if a “Free shipping over $100” discount is being offered and you build your shopping cart to $110, the promotion would be applied. However, if you remove an item and the order total drops to $90, the discount should be removed from the order.
In the case of the 3rd party promotion engine, messaging is sent between the OMS and the 3rd party engine to calculate and receive discount amounts on any order changes. The rules to determine discounts can be stored in either system. Most times, items can only have one discount applied to them. Companies often give the customer the best discount in this case for that particular item/order.
Another form of discount is a coupon code. These are tied to a specific discount amount, but still need to be evaluated by some promotion engine. The evaluation should check the validity of the coupon code and also determine how it can be applied to the order. If there are other order and line level promotions on the order already, how does a coupon code affect the order? All of this logic should be build inside the promotion engine so that it knows how to properly price the order.
As you can see, there are plenty of factors that go into determining the right price for an order or item when promotions and coupons are involved. For complex orders, it is important that a promotion engine be robust enough to give the right discount to the customer. Sales, discounts, promotions, and coupons are all ways of increasing customer sales. A poor experience in calculating a discount can directly lead to a loss of sales.
If you are interested in learning more about promotion engines and how they interact with an Order Management System, reach out to us at Bricz (www.bricz.com).
Contributors: Kevin Quigley