Talk about confusion. As always, history first.
In the beginning, we have three concurrency modes and a discount must use one: Exclusive, Best price and Compounded. The concurrency mode essentially controlled discount concurrency. In other words, the concurrency mode is the concurrency control.
How concurrency mode worked in the beginning
Exclusive first: all exclusive discounts compete and the algorithm figures out the best deal.
Best price and compounded later with remaining quantities, i.e. original quantities less quantities applied for exclusive discounts. Best price discounts compete against each other, in addition, compounded discounts compounding together competes with best price discounts.
The basic of how concurrency mode works hasn’t been changed, but
We have gradually added more controls since
In the following order
Move threshold discounts out of non-threshold discounts competition.
We process non-threshold discounts as before. After that, we process threshold discounts.
For each of non-threshold discounts and threshold discounts, we split it up even further: group discounts by priority, and process each priority group from highest priority to lowest.
For each of non-threshold discounts and threshold discounts, no compound across priority.
Compounded threshold discounts can compound on top of compounded non-threshold discounts, regardless of priority.
New concurrency control model: best price within priority and compound across.
This is a new interpretation of priority via configuration.