Skip to content
FileMyLove

Discounts: is 20% off plus another 10% really 30%?

The sale-price formula, why stacked discounts don’t add up, a table of common stacks, what buy-one-get-one is worth, and Thailand’s price-display rules.

By FileMyLove team4 min read

A sign saying “20% off, plus an extra 10%” looks like 30% off, but that’s not what you pay. Here is the discount formula, a table of common stacked discounts, and the Thai price-display rules worth knowing as a shopper.

In short

  • Sale price = full price × (1 − discount% ÷ 100)
  • Stacked discounts: the second is taken from the already reduced price, so the total is less than the two percentages added together.
  • The discount calculator handles percentage discounts, two stacked discounts and discounts in baht.

The formula

OpenStax’s Contemporary Mathematics gives:

discount = percent discount × original price sale price = original price − discount = original price × (1 − percent discount)

Example: a 999-baht shirt at 15% off

  • Discount = 999 × 15 ÷ 100 = 149.85 baht
  • Sale price = 999 − 149.85 = 849.15 baht

For a discount in baht, just subtract: 1,590 baht less 200 baht is 1,390 baht.

Why stacked discounts don’t add up

OpenStax explains that with successive discounts you apply the first, then take the second from the discounted price.

Final price = full price × (1 − d1 ÷ 100) × (1 − d2 ÷ 100)

Example: 1,000 baht, 20% off, then another 10% off

  1. First discount, 20%: 1,000 → 800 baht
  2. Second discount, 10% of 800 = 80 baht: 800 → 720 baht
  3. You save 280 baht in total, a real discount of 28%, not 30%

The order doesn’t matter because it’s multiplication: 10% first and then 20% also gives 720 baht.

Common stacks

Sign says Added together Real discount
10% + 10% 20% 19%
20% + 10% 30% 28%
30% + 30% 60% 51%
50% + 20% 70% 60%
50% + 50% 100% 75%

The real discount is 1 − (1 − d1) × (1 − d2), from the formula above.

Buy one get one free, and half-price second items

These offers can be turned into a discount per item (our own arithmetic, not from a source):

Offer You pay for You get Average discount per item
Buy 1 get 1 free 1 item 2 items 50%
Buy 2 get 1 free 2 items 3 items about 33.33%
Second item 50% off 1.5 items 2 items 25%

They only save money if you actually need every item.

Rounding

Our calculator works at full precision and rounds to satang once, at the end. Some shops round at each step or to whole baht, so what you pay may differ slightly. If VAT is added separately, continue with the VAT calculator; to find what percentage a price dropped by, use the percentage calculator.

Thai price-display rules

In shops: Central Committee on Prices of Goods and Services notice No. 73 of 2569 exists so consumers can compare prices before they buy.

  • Prices must be shown on or near the goods, including Arabic numerals, clearly and easy to read.
  • Other charges must be shown clearly and in full, alongside the price.
  • The displayed price must match the price charged, though selling for less than the displayed price is allowed.

Online shops: notice No. 72 of 2569 requires prices and product details to be shown clearly and in full, with other charges such as shipping shown alongside the product price.

As far as we read both notices, neither requires a sale sign to show the original price or the discount percentage.

Penalty: section 40 of the Prices of Goods and Services Act B.E. 2542 sets a fine of up to 10,000 baht for not displaying prices or not following the rules. The Act on the Conversion of Criminal Fines to Administrative Fines B.E. 2565 later turned this Act’s fine-only offences into administrative-fine offences.

Misleading discount adverts: section 22 of the Consumer Protection Act B.E. 2522 bans advertising that is false, exaggerated or misleading about the essentials of a product, and the Act’s definition of advertising media includes signs. The OCPB’s advertising guidelines say that on signs, text giving extra conditions, such as the small print behind an asterisk, must be clearly readable against the background and at least a third of the size of the largest lettering, and that an advert means what consumers understand it to mean, not what the seller intended.

If something is wrong

  • Price doesn’t match the label, or no price is shown: call the Department of Internal Trade on 1569.
  • Misleading advertising: call the Office of the Consumer Protection Board (OCPB) on 1166.

Keep the receipt and take a photo of the price label as evidence.

Note

This article is based on OpenStax’s Contemporary Mathematics (read on 25 September 2026) and on the notices and Acts published on the Department of Internal Trade and OCPB websites (read on 30 September 2026). The stacked-discount and offer tables are worked out from the formulas. This is general information, not legal advice.