https://commons.wikimedia.org/wiki/File:Oxford_%2826330140057%29.jpg

Recently I’ve been quite a fan of LEON. This is because there are two deals going on at the same time.

  1. All items are discounted at 25 per cent.

  2. For every £30 spent, get a free meal valued at £10 (list price). (How much you spent is counted after the discount)

This begs the question: What is the total discount? Notice that the better the 1st deal is, the worse the 2nd deal gets—If all items were discounted at 100 per cent, you would never get a free meal from the 2nd deal. The net price of the free meal also decreases the higher the discount is.

Adjust the numbers below to get an answer. All discounts are rounded off.

How much is the discount?

25%

How much do you have to spend before you get a free meal?

£30

What’s the list price of the free meal?

£10

Total discount & (additive % difference from discount)

40% (+15%)

Total discount if only the second deal existed

25

The maths behind it

For every pound you spend, you get

\[\frac{1}{1-\text{discount}\%}\]

of value in list price in pounds from the 1st deal. You also get

\[\frac{\text{list price for free meal}}{\text{Spending required before free meal}}\]

of value in list price in pounds from the 2nd deal.

The total discount can then be computed by the following.

\[\text{Total discount}\% = 1 - \frac{\text{Total spent}}{\text{Total value in list price}}.\]

For example, let’s say the deals were

  1. All items are discounted at 50 percent.

  2. For every £20 spent, get a free meal valued at £10 (list price).

If we spent £20, we would get £40 of value in list price from the discount. We would also get £10 of value in list price from the 2nd deal. Hence the total discount is \(1-20/(40+10) = 60\%\).

Even more maths

A better way to phrase the 2nd deal is to use the effective discount it alone represents. If the only deal was “For every £S spent, get a free meal valued at £L (list price).”, then the discount is \(L/(S+L)\). Using \(d_2\) to denote the discount, we can calculate further that \(L/S = d_2/(1-d_2).\) Using \(d_1\) to denote the discount from the first deal and \(d\) to denote the total discount, we can express \(d\) in terms of \(d_1\) and \(d_2\):

\[d(d_1, d_2) = 1 - \frac{1}{\frac{1}{1-d_1} + \frac{d_2}{1-d_2}}.\]

We will assume that \(d_1, d_2 \in [0,1]\) for the rest of the article.

One can contrast this to a more typical double discount (where the second discount is applied to the price after the first discount has been applied). The total discount would be

\[d_{\text{mult}}(d_1, d_2)=1-(1-d_1)(1-d_2)\]

Yet another way to combine two discounts is

\[d_{\text{max}}(d_1, d_2) = \text{max}(d_1, d_2)\]

where only the best discount is applicable.

Note that for any discount \(f \in \{d, d_{\text{mean}}, d_{\text{max}}\}\), we have \(f(d_1, d_2) \geq d_1, d_2.\) The following boundary conditions also hold.

\[\begin{align*} f(d_1, 0) &= d_1, \\ f(0, d_2) &= d_2. \end{align*}\]

One can also check that

\[d_{\text{mult}} \geq d \geq d_{\text{max}}.\]