# Unit price comparison calculator

> Unit price calculator: compare up to four pack sizes by price per kg, litre, 100 g, ounce or item to see which is cheapest and by how much.

Interactive version: https://www.calcopenly.com/everyday/unit-price-comparison-calculator
Subject: Everyday calculators

Unit price is the price divided by the size, after every pack is converted to the same unit: per kg or litre, per 100 g or 100 mL, per ounce or fluid ounce, or per item for goods sold by count. For the same product, the pack with the lowest unit price is the cheapest, and the saving is measured against the dearest pack.

With the defaults, 500 g for 3.49 costs 6.98 per kg and 1 kg for 5.99 costs 5.99 per kg, so the larger pack is 14.18% cheaper per kilogram. Packs can be entered in different units: grams, kilograms, ounces and pounds are converted with 1 oz = 28.349523125 g exactly.

Only packs sold by the same kind of measure can be compared, since weight cannot be turned into volume without the product's density. A lower unit price saves money only if you use the larger pack before it spoils.

## Inputs

- **Items to compare** (options: 2, 3, 4)
- **Compare price** (options: Per kg / L, Per 100 g / 100 mL, Per oz / fl oz)
- **Item 1 price**
- **Item 1 size**
- **Item 1 unit** (options: g, kg, oz, lb, mL, L, fl oz (US), gal (US), items)
- **Item 2 price**
- **Item 2 size**
- **Item 2 unit** (options: g, kg, oz, lb, mL, L, fl oz (US), gal (US), items)
- **Item 3 price**
- **Item 3 size**
- **Item 3 unit** (options: g, kg, oz, lb, mL, L, fl oz (US), gal (US), items)
- **Item 4 price**
- **Item 4 size**
- **Item 4 unit** (options: g, kg, oz, lb, mL, L, fl oz (US), gal (US), items)

## Results

- Lowest unit price — main result
- Cheapest
- Unit
- Saving against the dearest
- Item 1 unit price
- Item 2 unit price
- Item 3 unit price
- Item 4 unit price

## Formula

$$
\begin{gathered}\text{unit price} = \frac{\text{price}}{\text{size}} \\ \text{saving} = \frac{u_{\max} - u_{\min}}{u_{\max}} \times 100\end{gathered}
$$

## Worked examples

### 500 g for 3.49 against 1 kg for 5.99

- Items to compare: 2
- Compare price: Per kg / L
- Item 1 price: 3.49
- Item 1 size: 500
- Item 1 unit: g
- Item 2 price: 5.99
- Item 2 size: 1
- Item 2 unit: kg
- **Item 1 unit price: 6.980 per kg**
- **Item 2 unit price: 5.990 per kg**
- **Cheapest: Item 2**
- **Saving against the dearest: 14.18%**
- Checked against: Python decimal: 3.49/0.5 = 6.98 per kg; (6.98 − 5.99)/6.98 = 14.18%

### Per ounce, mixing grams and kilograms

- Items to compare: 2
- Compare price: Per oz / fl oz
- Item 1 price: 3.49
- Item 1 size: 500
- Item 1 unit: g
- Item 2 price: 5.99
- Item 2 size: 1
- Item 2 unit: kg
- **Item 1 unit price: 0.198 per oz**
- **Item 2 unit price: 0.170 per oz**
- Checked against: Python decimal with 1 oz = 28.349523125 g (NIST): 3.49/(500/28.349523125)

### 16 oz for 4.50 against 500 g for 3.20

- Items to compare: 2
- Compare price: Per kg / L
- Item 1 price: 4.50
- Item 1 size: 16
- Item 1 unit: oz
- Item 2 price: 3.20
- Item 2 size: 500
- Item 2 unit: g
- **Item 1 unit price: 9.921 per kg**
- **Item 2 unit price: 6.400 per kg**
- **Cheapest: Item 2**
- **Saving against the dearest: 35.49%**
- Checked against: Python decimal: 4.50/(16 × 0.028349523125 kg) = 9.92080…

### Eggs: 12 for 3.00 against 30 for 6.90

- Items to compare: 2
- Compare price: Per kg / L
- Item 1 price: 3.00
- Item 1 size: 12
- Item 1 unit: items
- Item 2 price: 6.90
- Item 2 size: 30
- Item 2 unit: items
- **Lowest unit price: 0.230 per item**
- **Item 1 unit price: 0.250 per item**
- **Item 2 unit price: 0.230 per item**
- **Saving against the dearest: 8.00%**
- Checked against: Hand calculation: 3/12 = 0.25, 6.90/30 = 0.23; 0.02/0.25 = 8%

### Same unit price is a tie

- Items to compare: 2
- Compare price: Per kg / L
- Item 1 price: 2
- Item 1 size: 1
- Item 1 unit: L
- Item 2 price: 1
- Item 2 size: 500
- Item 2 unit: mL
- **Cheapest: Item 1 and Item 2 (tie)**
- **Saving against the dearest: 0.00%**
- Checked against: Hand calculation: both cost 2 per litre

## Questions

### How do you calculate unit price?

Divide the price by the quantity in the unit you want to compare. A 500 g pack at 3.49 is 3.49 ÷ 0.5 = 6.98 per kg, or 3.49 ÷ 5 = 0.698 per 100 g. Convert every pack to the same unit first; setting a price per ounce against a price per 100 g gives the wrong answer.

### Is the bigger pack always cheaper per unit?

No. Promotions on small sizes and multipacks can reverse the usual bulk discount, so check the unit price each time. In the eggs example, 30 for 6.90 is 0.23 an egg against 0.25 for a dozen at 3.00, an 8% saving; a half-price offer on the dozen would make it the better buy at 0.125 an egg.

### What units do shelf labels use for unit prices?

In the US, the Uniform Unit Pricing Regulation in NIST Handbook 130, which states can adopt, requires stores that show unit prices to use one unit for every size of a product: per kilogram, 100 g, pound or ounce for goods sold by weight; per litre, 100 mL, gallon, quart, pint or fluid ounce for liquids; per item for counted goods. EU Directive 98/6/EC sets the unit price, including VAT, per kilogram, litre, metre, square metre or cubic metre.

### How many grams are in an ounce?

28.349523125 grams exactly, because the avoirdupois ounce is 1/16 of the international pound of 0.45359237 kg; NIST SP 811 lists the factor. A US fluid ounce measures volume, 29.5735295625 mL, so a price per ounce and a price per fluid ounce can only be compared if you know the product's density.

### How accurate is the unit price comparison calculator?

Accuracy depends on your inputs and the method's assumptions. Decimal arithmetic uses 50 significant digits, but estimates, numerical methods and source data can be less precise; the displayed rounding does not remove those limits. It is checked against 5 worked examples whose answers come from independent sources; for example, “500 g for 3.49 against 1 kg for 5.99” is checked against Python decimal: 3.49/0.5 = 6.98 per kg; (6.98 − 5.99)/6.98 = 14.18%.

### Where does the method come from?

NIST Handbook 130 — Uniform Unit Pricing Regulation; NIST SP 811 — exact conversion factors (1 oz = 28.349523125 g).

## Sources

- [NIST Handbook 130 — Uniform Unit Pricing Regulation](https://www.nist.gov/pml/owm/nist-handbook-130-current-edition)
- [NIST SP 811 — exact conversion factors (1 oz = 28.349523125 g)](https://www.nist.gov/pml/special-publication-811)
