Ask Learn
Preview
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Update - the blog post has been moved to Dynamics 365 Community.
What happens when a product is covered by multiple discounts? It’s often referred as discount concurrency problem. Today, we’ll cover the case where none of them can be compounded on top of each other, in other words, you can apply only one discount on one product. The most common goal is to get the best deal for the customer.
Let’s elaborate with an example.
Best deals with various combination of products in a transaction.
Transaction setup | Best deal | Alternative | Comment |
2 keyboards | B1G1 free for $20 | Simple discount for $20*2*40% = $16 | |
2 mice | B1G1 free for $10 | Simple discount for $10*2*40% = $8 | |
1 keyboard, 1 mouse | Simple discount for $20*40%+$10*40%=$12 | B1G1 free for $10 | |
2 keyboard, 1 mouse | B1G1 free for 2 keyboards: $20, and simple discount for 1 mouse $4. Total $24 | Simple discount for all. $20*2*40%+$10*40%=$20 | We have more alternatives, e.g. B1G1 free for 1 keyboard and 1 mouse: $10, and simple discount for 1 keyboard: $8. Total $18 |
When the number of products is small and product quantities are low, we humans can figure it out easily. As the number of products, and/or product quantities increase, it’s not a trivial task to figure out the best combination that would give you the best deal.
In essence, it’s a multi-dimensional integer knapsack problem. Back to the same discount setup, but with more products. We have 5 basic discount applications:
Id | Basic discount application |
S1 | Simple discount for 1 keyboard of $8 |
S2 | Simple discount for 1 mouse of $4 |
MM1 | B1G1 for 2 keyboards of $20 |
MM2 | B1G1 for 2 mouse of $10 |
MM12 | B1G1 for 1 keyboard and 1 mouse of $10 |
Any deal would be constructed by a combination of zero or more of any of the 5 basic discount applications. In addition, we cannot break down the 5 basic discount applications further.
We will discuss the solutions in another post.
Ask Learn is an AI assistant that can answer questions, clarify concepts, and define terms using trusted Microsoft documentation.
Please sign in to use Ask Learn.
Sign in