Promotion purchase condition model

A promotion has conditions and rewards. When the conditions of the promotion are satisfied, the corresponding rewards are calculated and applied to an order. A promotion has many types of conditions associated with it.

Primarily, there are 5 different types:
  • Schedule conditions that limit the promotion such that it is applicable only within a certain period of time.
  • Targeting conditions that restrict the application of a promotion to a subset of customers.
  • A promotion code condition that requires customers to enter a correct code before the promotion can be applied.
  • An application limit constraint that limits the number of times a promotion can be applied to an order, to a customer, or overall.
  • A purchase condition that requires the customer to have purchased a certain combination of products or spent a certain amount on a certain combination of products.
When all of the conditions are satisfied, the rewards are calculated and applied.

The first four condition types can be considered preconditions. They are the constraints a customer must satisfy before the purchase condition is even evaluated. They generally have a simple model and are easy to implement. This document focuses on the last type of condition, the purchase condition.

Common patterns for purchase conditions and rewards

The following list of 10 promotion examples illustrates common patterns for purchase conditions and rewards that may apply to your store:
  1. Buy one to three bottles of water and get 10% off, buy four to six bottles and get 20% off, buy seven or more and get 30% off.
  2. Get 10% off the first three bottles of water, 20% off the next three, and 30% off any additional water bottles purchased.
  3. Buy three bottles of water for $20.
  4. Buy a water cooler and one bottle of water for $129.
  5. Buy a water cooler, and then buy up to four bottles of water at 50% off.
  6. Buy three three-gallon or five-gallon water bottles and get 10% off.
  7. Buy three water bottles of the same size (either three-gallon or five-gallon), and get 10% off.
  8. Buy a water cooler and a five-gallon water bottle, and get 10% off the water cooler and get the water bottle for $1.
  9. Buy a water cooler and a water bottle for $129 or get free shipping.
  10. Buy a water cooler and a water bottle for $129 and get free shipping.
  11. Buy a water cooler and a water bottle valued at $150 or more, and get free shipping.
  12. Spend $100-$200 on water bottles and get 10% off; spend $200-$300 and get 20% off; spend $300 and get 30% off.

Observations on modeling different purchase condition and reward patterns

Consider promotion examples 1 and 2:
  • Buy one to three bottles of water and get 10% off, buy four to six bottles and get 20% off, buy seven or more and get 30% off.
  • Get 10% off the first three bottles of water, 20% off the next three, and 30% off any additional water bottles purchased.
This is typically what a cashier would do at the check out counter:
  1. Find all water bottles in an order.
  2. Based on the quantity, determine which range the quantity falls in.
  3. Apply the adjustments associated with that range to the water bottles.
Here is a more abstract description of the preceding process:
  1. Identify purchase patterns targeted by a promotion (one single water bottle is a purchase pattern targeted by the promotion; this pattern may occur multiple times in an order).
  2. Based on the number of times a pattern occurs, determine the distribution (one-three, four-six, or seven or more).
  3. Based on the distribution, calculate the rewards associated with that range (10%, 20%, or 30% off).
Observation 1
The evaluation of whether a promotion is applicable to an order can be broken down into the following process:
  1. pattern recognition
  2. quantity distribution
  3. reward calculation
Observation 2
A purchase pattern is typically defined by specifying some selection criteria, such as "any water bottle."

The difference between promotions 1 and 2 is in the way that the quantity distribution is handled. If you buy X number of water bottles, depending on where X falls, in promotion 1, each of the water bottles is discounted the same way, whereas in promotion 2, they will be divided into tiers and discounted differently. We call the first type of distribution a volume-based distribution, and the second type a tiered distribution.

Observation 3
The quantity distribution is either volume-based or tiered.

In promotions 1 and 2, the purchase pattern is made up of one single item, namely, a bottle of water. This may not always be the case. For example, in promotion 3, "Buy three bottles of water for $20," each unit of three bottles of water is the targeted purchase pattern.

Observation 4
There is usually a quantity requirement associated with the selection criteria. If a match of a purchase pattern is to be present in an order, both the selection criteria and the quantity requirement need to be satisfied.

In promotions 1 through 3, the promotion always targets a single type of item in the patterns, namely, a water bottle. In promotion 4, "Buy a water cooler and one bottle of water for $129," the targeted pattern is a combination of a water cooler and a water bottle. This leads to the next observation.

Observation 5
If each combination of a selection criteria and a quantity requirement is considered as a single constraint of a purchase pattern, a purchase pattern may be defined through multiple such constraints.

Consider promotion 5, "Buy a water cooler, take up to four bottles of water at 50%." In this case, if a customer buys one water cooler and one bottle of water, the purchase pattern is a match. If a customer buys one water cooler and two bottles of water, the purchase pattern is also a match. In fact if the customer buys one water cooler and anywhere between one and four bottles of water, the pattern is always a match.

Observation 6
The quantity requirement contained in the definition of a purchase pattern can be either a single value or a range.

Consider promotions 6 and 7. While both promotions target three- and five-gallon water bottles, and the quantity requirement is the same (three), promotion 7 requires that all of the water bottles must be of the same size (homogeneous) whereas promotion 6 does not (heterogeneous). Two three-gallon water bottles and one five-gallon water bottle would have satisfied promotion 6, but not promotion 7. Another way to look at this difference is to distinguish these two by the level at which the selection criteria are joined by a logical "or." In promotion 6, the "or" is at a lower level: 3 three- or five-gallon water bottles, while in promotion 7, the "or" is at a higher level: three three-gallon or three five-gallon water bottles.

Observation 7
When the selection criteria conveys a logical "or" semantic, and the quantity requirement indicates that a list is expected, the list may be either homogeneous or heterogeneous.

Promotion 8, "Buy a water cooler and a five-gallon water bottle, and get 10% off the water cooler and get the water bottle for $1," reveals that the targeted purchase pattern is a water cooler and a water bottle, while the rewards are different for the water cooler and the water bottle.

Observation 8
Rewards to different items in a target purchase pattern can be different.

Promotion 9, "Buy a water cooler and a water bottle for $129 or get free shipping," presents a choice of either free shipping or a fixed price for the item.

Observation 9
Rewards for a purchase pattern can be presented as a choice of multiple options.

In promotion 10, "Buy a water cooler and a water bottle for $129 and get free shipping," if the customer has purchased both a water cooler and a bottle of water, they get the package for $129 and the free shipping.

Observation 10
Multiple rewards can be applied to items in a purchase pattern.

Assume a customer has purchased two water coolers and two water bottles. One water cooler is an entry version priced at $69 and a water bottle priced at $10; the second is a deluxe water cooler priced at $169 and a water bottle priced at $20. If we apply promotion 11, "Buy a water cooler and a water bottle valued at $150 dollars or more, and get free shipping," to this order, two patterns of "1 cooler and 1 bottle" are identified; however, only the deluxe cooler and water bottle is eligible for the promotion.

Observation 11
A filter on matched purchase patterns is required in the some cases to narrow the matched purchase patterns to the ones targeted by a promotion.

Compare promotion 1 and 12. Notice that they target the same pattern: a water bottle. Both promotions have three ranges and the same reward associated with each range. The difference is that in promotion 1, a range is defined based on the number of water bottles purchased, while in promotion 12, the range is defined based on spending thresholds. This leads to our last observation.

Observation 12
The quantity distribution, as mentioned in the three-step promotion evaluation process, could exceed the distribution of quantity. It could be based on either quantity (or to be more precise, the number of matches for a purchase pattern in the order) or spending. Similarly, a spending threshold distribution can be volume-based or tiered. Henceforth, the generic term "distribution" refers to both a quantity distribution and a spending distribution.

Examples of purchase conditions and rewards

The following two promotion examples illustrate purchase conditions and rewards.

Promotion 1
Buy between one and ten t-shirts and get 10% off, buy between eleven and one thousand t-shirts and get 20% off, buy more than one thousand and get 30% off. This is an example of volume-based pricing. This is a category-level promotion that applies a volume-based quantity distribution.
Consider a scenario in which a customer checks out with the following items in their shopping cart:
  • 10 red XL t-shirts
  • 5 green M t-shirts
  • 4 white M t-shirts
  • 10 pairs of sneakers
In this case, the result of the scenario is that a 20% discount is applied to each of the 19 t-shirts.
Promotion 2
Buy two or more items from this list of products–t-shirts, pens, or glasses–for 20% off and get free shipping for Club members.
When this promotion is created, the target condition is set to target Club members. Therefore, the promotion engine only has to evaluate the following promotion definition: Buy 2 or more items from this list of products–t-shirts, pens, or glasses–for 20% off and get free shipping.
Scenario 1
Consider a scenario in which a customer checks out with the following items in their shopping cart:
  • 1 red XL t-shirt
In this case, the purchase condition is not met, so the promotion is not applied to the order.
Scenario 2
Consider a scenario in which a customer checks out with the following items in their shopping cart:
  • 1 red XL t-shirt
  • 2 wine glasses
  • 1 fountain pen
In this case, the purchase condition is met, and each of the items is discounted by 20%.

Conclusion

The activity of evaluating promotions consists of matching patterns in the current order and calculating the corresponding rewards.

The activity of creating promotions consists of configuring the various building blocks (filter, pattern filter, weighted range, reward, adjustment, distribution) and assembling them together.