Promotion Proration Logic
Without proration, the promotion is calculated once at the end. With proration, the promotion is calculated proportionately for each line item. Proration helps when processing completed orders, such as a product return.
The following examples demonstrate how proration works on various product and order discounts.
Prorating an Order Discount
For this example, the promotion is 15% off orders over $100.
Product | Quantity | Base Price | Discount | Prorated Price Adjustment |
---|---|---|---|---|
SKU1 | 1 | $60.00 | ||
15% off orders over $100 (proration) | β$9.00 | |||
SKU2 | 1 | $50.00 | ||
15% off orders over $100 (proration) | β$7.50 | |||
Subtotal | $110.00 | |||
15% off orders over $100 (net) | β$16.50 | |||
Total | $93.50 |
Prorating an Order Discount with an Additional Product Promotion.
For this example, promotion-1 is $10 off SKU1 and promotion-2 is 15% off orders over $100.
Product | Quantity | Base Price | Discount | Prorated Price Adjustment |
---|---|---|---|---|
SKU1 | 1 | $60.00 | ||
$10 off SKU1 | β$10.00 | β$10.00 | ||
15% off orders over $100 (proration) | -$7.50 | |||
SKU2 | 1 | $50.00 | ||
15% off orders over $100 (proration) | β$7.50 | |||
Subtotal | $100.00 | |||
15% off orders over $100 (net) | β$15.00 | |||
Total | $85.00 |
Prorating an Order Discount with an Excluded Product
For this example, the promotion is 15% off orders over $100, with SKU3 excluded from the promotion.
Product | Quantity | Base Price | Discount | Prorated Price Adjustment |
---|---|---|---|---|
SKU1 | 1 | $60.00 | ||
15% off orders over $100, excluding SKU3 (proration) | β$9.00 | |||
SKU2 | 1 | $50.00 | ||
15% off orders over $100, excluding SKU3 (proration) | β$7.50 | |||
SKU3 | 1 | $40.00 | ||
15% off orders over $100, excluding SKU3 (proration) | ||||
Subtotal | $150.00 | |||
15% off orders over $100, excluding SKU3 (net) | β$16.50 | |||
Total | $133.50 |
Prorating a Product Discount with a Fixed Amount
For this example, the promotion is Buy SKU1, SKU2, and SKU3 for $22.00.
As with order-based promotions, total-fixed promotions are prorated across multiple products to spread the weight of the discount across the products using a step algorithm. Discounts are calculated based on the total price and total discount price. To avoid losing precision because of rounding, the discount amount and the ultimate cost of the products are recalculated after applying the promotion to each product.
The discount for the first product is calculated using the equation P*(-D)/T where P=Product price, D=Discount remaining, and T=Total cost. Then the discount is then calculated for the next product, using that product's price and the discount remaining after the first calculation. This process repeats for all products until the final product, when the remaining discount is subtracted from the final product's cost.
Product | Quantity | Base Price | Discount | Prorated Discount Calculation | Prorated Price Adjustment |
---|---|---|---|---|---|
SKU1 | 1 | $13.00 | |||
All products for $22.00 (prorated) | (13 * (-16)) / 38 | β$5.47 | |||
SKU2 | 1 | $13.00 | |||
All products for $22.00 (prorated) | (13 * (-10.53))/25 | β$5.48 | |||
SKU3 | 1 | $12.00 | |||
All products for $22.00 (prorated) | NA (remaining discount is subtracted from the cost) | β$.5.05 | |||
Subtotal | $38.00 | ||||
All products for $22.00 (net) | β$16.00 | ||||
Total | $22.00 |
Prorating a Product Discount with Buy-X-Get-Y and an additional Order Discount.
For this example, the product promotion is Buy one item and get a cheaper item for free. The order promotion is 10% off your order.
In the Buy-X-Get-Y promotion, the customer sees SKU1 as discounted and SKU2 as free. However, with proration, the cost of the free item, $10.99, is divided among each product. SKU1's cost decreases by $7.81 to $19.19 and SKU2's cost decreases by $3.18 to $7.81. The products are then discounted further by the order promotionβSKU1's cost decreases to $17.27 and SKU2's cost decreases to $7.03. When processing a return for SKU2, the customer receives $7.03 back instead of $0.00.
Product | Quantity | Base Price | Discount | Prorated Price Adjustment (Product Promotion) | Prorated Price Adjustment (Product and Order Promotions) |
---|---|---|---|---|---|
SKU1 | 1 | $27.00 | |||
Buy one item and get a cheaper item for free (prorated) | β$7.81 | β$7.81 | |||
10% off your order (prorated) | β$1.92 | ||||
SKU2 | 1 | $10.99 | |||
Buy one item and get a cheaper item for free (net) | β$10.99 | ||||
Buy one item and get a cheaper item for free (prorated) | β$3.18 | β$3.18 | |||
10% off your order (prorated) | β$0.78 | ||||
SKU3 | 1 | $24.00 | |||
10% off your order (prorated) | β$2.40 | ||||
Subtotal | $51.00 | ||||
10% off your order (net) | β$5.10 | β$5.10 | |||
Total | $45.90 |
Prorating a Fixed Price with a Percent-Off Product Promotion.
For this example, the promotions are Buy 3 for A Fixed Price of $10.00 and Buy 1, Get 20% off. The fixed price promotion is calculated first, based on its campaign assignment rank, reducing the price of each product. The percent-off promotion then takes 20% off the new prices.
In this example, the percent-off promotion can seem incorrect, because 20% of $10.00 is $2.00 and not $2.01. However, the promotion is following standard promotion logic, because percent-off product promotions apply to individual line items. The percent-off product promotion rounds on a line item basis, which causes the additional penny at the end. To round at the total level, use a percent-off order promotion.
Product | Quantity | Base Price | Discount | Prorated Price Adjustment (Product Promotion) | Promotional Price |
---|---|---|---|---|---|
SKU1 | 1 | $4.00 | $3.33 | ||
Buy 3 products for a fixed price of $10.00 | β$.67 | ||||
Buy 1 product and get 20% off | β$.666 (rounded to β$.67) | $2.66 | |||
SKU2 | 1 | $4.00 | $3.33 | ||
Buy 3 products for a fixed price of $10.00 | β$.67 | ||||
Buy 1 product and get 20% off | β$.666 (rounded to β$.67) | $2.66 | |||
SKU3 | 1 | $4.00 | |||
Buy 3 products for a fixed price of $10.00 | β$.66 | $3.34 | |||
Buy 1 product and get 20% off | β$.668 (rounded to β$.67) | $2.68 | |||
Subtotal | $12.00 | β$2.01 | β$2.00 | $7.99 | |
Total | β$4.01 | $7.99 |