Skip to main content
Inside Maestra’s promotion arbitration, you can choose how promotions in a group interact with each other: sequential application, incompatibility, or maximum benefit. This article walks through how the maximum benefit logic works, with worked examples.

How maximum benefit works

1

Top-down evaluation

The system evaluates promotions in the group from top to bottom.
2

Individual calculation

First, it calculates each promotion in the group independently of the others.
3

One promotion per order line

Within a maximum-benefit group, only one promotion can apply to any given order line.
4

Combination check

The system then walks the group again from top to bottom, taking each promotion that was already applied and trying to apply other promotions from the same group to any remaining free order lines.
5

Pick the best in-group discount

It compares the results of promotions applied individually with the results of combined applications, and picks the largest discount available in the group.
6

Inter-group calculation

If the maximum-benefit group contains subgroups, the system runs an inter-group calculation. It takes the winning combination from each group and checks whether it can stack any promotion from groups below it on top.
7

Final winner

From all combinations it has tried, the system selects the one that gives the customer the largest discount.

Walkthrough with discount promotions

Suppose the project has a maximum-benefit group called “Fall promotions”. The group contains a promotion “Seasonal apparel discount” (1% off all fall apparel and footwear) and two maximum-benefit subgroups:
  • “Discounts for expecting moms”
  • “Discounts for loyal customers”
1. The “Discounts for expecting moms” subgroup contains:
  • “Jumper discounts” — 20% off all maternity jumpers.
  • “Warm clothing discounts” — 1% off all fall apparel and footwear.
2. The “Discounts for loyal customers” subgroup contains:
  • “Fall apparel discounts” — 1% off all apparel and footwear.
  • “Footwear discounts” — 20% off all footwear.

Example 1: Maximum benefit

The customer wants to buy a maternity jumper for 40andapairofsneakersfor40 and a pair of sneakers for 60.

1) Discounts in the “Discounts for expecting moms” group

First, “Jumper discount” applies — it sits at the top of the group and applies only to the jumper. It produces a discount of $8: 0.2 × 40. Next, “Warm clothing discount” applies to both items. It produces a discount of $1: 0.01 × (40 + 60) = 1. Then the system builds combinations from top to bottom. It looks at “Jumper discount”, notes that this discount only landed on the $40 jumper, and tries to apply “Warm clothing discount” to check whether the second promotion can discount the second order line (the sneakers), since no discount has been applied to that line yet. The combined discount works out to: 0.2 × 40 (first promotion) + 0.01 × 60 (second promotion) = $8 + $0.60 = $8.60. The system then tries to combine the warm clothing discount with anything else, but since nothing sits below it in the group, the in-group calculation ends there. The winner inside “Discounts for expecting moms” is the combination of the jumper discount and the warm clothing discount — a total discount of $8.60.

2) Discounts in the “Discounts for loyal customers” group

First, the fall apparel discount applies. It hits both products and produces a discount of $1: 0.01 × (40 + 60) = 1. Next, the footwear discount is calculated. It applies only to the sneakers and produces a discount of $12: 0.2 × 60 = 12. Then the fall apparel discount tries to combine with anything else in the group, but it can’t — it has already applied to every line in the order. The footwear discount sits at the bottom of its group, so it also has nothing to combine with. The winner inside “Discounts for loyal customers” is the footwear discount, which gives the largest discount of $12.

3) Discount outside the groups

The system calculates the “Seasonal apparel discount” that lives outside the subgroups and gets a discount of $1: 0.01 × (40 + 60) = 1.

4) Inter-group calculation

The system takes the winning combination from the first group and checks whether it can be combined with anything from the groups below it. But because the winning combination ($8.60) has already been applied to both lines, there’s nothing left to combine with. Next, the system takes the winning footwear discount from the second group ($12). It only landed on the footwear, so it can be combined with something from the groups below. The system finds the seasonal discount below, applies it to the free line (the jumper), and gets a combined discount of 0.01 × 40 + 0.2 × 60 = $12.40. The bottom-most promotion outside the groups has nothing to combine with — it’s the last one. In total, the candidates are:
  • $8.60 from the first group’s discounts (jumper + footwear).
  • $12 from the second group’s discount (footwear).
  • $1 from the discount outside the groups (jumper + footwear).
  • $12.40 from the second group’s discount combined with the discount outside the groups.
The footwear discount combined with the seasonal discount outside the groups remains the best option, so the customer receives a $12.40 discount.

Example 2: Reordering promotions in a group

Now imagine that when configuring the loyalty program, the promotions inside the “Discounts for loyal customers” group are swapped — the footwear discount now sits above the fall apparel discount. What discount does the customer get? The customer wants to buy a maternity jumper for 40andapairofsneakersfor40 and a pair of sneakers for 60.

1) Discounts in the “Discounts for expecting moms” group

The calculation stays exactly the same — the combination with a discount of $8.60 wins.

2) Discounts in the “Discounts for loyal customers” group

First, “Footwear discounts” applies to the sneakers and gives a discount of $12. Next, the fall apparel discount is calculated and produces $1. After that, the top promotion in the group (the 20% footwear discount) tries to combine with something else in the group, and it combines with the fall apparel discount, which now sits below it. The combined discount works out to 0.2 × 60 + 0.01 × 40 = $12.40. The winner inside “Discounts for loyal customers” is the combination producing $12.40.

3) Discount outside the groups

The discount outside the groups stays the same — the seasonal promotion gives a discount of $1.

4) Inter-group calculation

For “Discounts for expecting moms”, everything stays the same: the winning combination can’t be grouped with anything else, and the discount stays at $8.60. In “Discounts for loyal customers”, the winning combination also can’t be grouped with anything, because every line is taken. The discount outside the groups can’t be grouped with anything either, since it sits at the very bottom. That leaves three discounts to choose from: 8.60,8.60**, **12.40, and $1. The combination of discounts from “Discounts for loyal customers” totaling $12.40 wins.

Example 3: Sequential application

Let’s also see what happens if the top-level parent group uses sequential application instead of maximum benefit. The customer wants to buy a maternity jumper for 40andapairofsneakersfor40 and a pair of sneakers for 60.

1) Discounts in the “Discounts for expecting moms” group

The calculation inside “Discounts for expecting moms” stays exactly the same — the combination with a discount of $8.60 wins, since it sits at the very top. Because the parent group now uses sequential application, the winning combination from the first, topmost group applies to the order first. So 40 × 0.8 = $32 (20% off via the first promotion) and 60 × 0.99 = $59.40 (1% off via the second promotion). Subsequent calculations operate on these post-discount product prices.

2) Discounts in the “Discounts for loyal customers” group

The calculation inside “Discounts for loyal customers” stays the same — the combination of the footwear discount and the fall apparel discount wins. After they apply, subsequent discounts are calculated from 0.8 × 59.40 = $47.52 for the footwear (20% off via the first promotion) and 0.99 × 32 = $31.68 for the jumper (1% off via the second promotion).

3) Discount outside the groups

Because this is sequential application, the seasonal discount that sits outside the maximum-benefit subgroups applies to the remaining totals. We apply a 1% discount to the sum of the product prices after the discounts from the two previous groups. The amount due is (47.52 + 31.68) × 0.99 = $78.41.
Promotion order inside a group has a direct impact on the final discount a customer receives. When configuring loyalty programs in Maestra, review the order of promotions inside each maximum-benefit group carefully — swapping two promotions can change which combination wins.