Transparent calculation rules
Methodology
Which Deal’s Better performs deterministic calculations from the values you enter. It does not retrieve prices, judge product quality, or predict future prices. This page documents the actual formulas and the limits that matter when reading a result.
Unit price and multipacks
For one package, unit price is price divided by Amount in Unit. A 12-ounce product at $3.60 costs $0.30 per ounce. For a multipack, total amount is the number of items multiplied by the Amount in Unit for one item.
Normalized amount = items in pack × Amount in Unit × conversion factor
Unit price = price ÷ normalized amount
A $12 four-pack of 500 mL bottles contains 2,000 mL, producing an underlying price of $0.006 per mL. Enter the price for the whole multipack; do not multiply a total amount a second time.
Compatible units and conversions
Ounces and pounds share a weight group (1 lb = 16 oz); grams and kilograms share another (1 kg = 1,000 g). U.S. and metric weight are deliberately not bridged automatically. Supported volume units share a milliliter base, including U.S. fluid ounces and liters. Weight ounces and fluid ounces are different and cannot be compared.
- 1 fluid ounce
- 29.5735295625 mL
- 1 cup
- 236.5882365 mL
- 1 pint
- 473.176473 mL
- 1 quart
- 946.352946 mL
- 1 gallon
- 3785.411784 mL
- 1 milliliter
- 1 mL
- 1 liter
- 1000 mL
Count labels have a factor of one, but judgment is still required: one roll is not necessarily equivalent to one sheet, and two bottles may hold different volumes. U.S. and metric length are separate groups, and no width, area, concentration, or product density is inferred.
Ranking, savings, and ties
The lowest unrounded normalized unit price wins. Results stay in entry order while the winning card is highlighted. The advantage compares the winner with the next-lowest price, not the most expensive deal.
Advantage = (next-lowest − lowest) ÷ next-lowest × 100
A very small relative tolerance—one billionth of the lowest price, or machine epsilon when larger—treats floating-point equivalents as ties. Displayed unit prices round upward to the next cent, while ranking uses full precision. Two displayed prices can therefore look alike while one is marginally lower underneath.
Coupons and discounts
The discount comparator starts with regular price × packages. An optional sale price replaces the regular per-package price before the coupon. A percentage coupon reduces the sale total by that percentage; a fixed coupon subtracts once from the entire offer, never below zero.
For example, 20% off $30 produces a $24 final price and $6 saved. A $5-off coupon produces $25 and $5 saved. For a $20 purchase, however, 20% saves $4, so $5 off is better. Effective item price is final total divided by packages × items per package.
Buy X Get Y promotions
The promotion group size is Buy quantity + Get quantity. Complete groups are the requested quantity divided by that group size, rounded down. Any remainder is purchased at full price rather than receiving a partial promotion.
Checkout total = full-price items × item price + discounted items × discounted price
For Buy 2 Get 1 Free, five requested items contain one complete group of three and two full-price remainder items. At $8 each, four items are paid and one is free, producing a $32 checkout total and a $6.40 effective price per item. Percentage discounts apply only to the Get items in each complete group.
When comparison quantities match, checkout-total and effective-price rankings describe the same value. When quantities differ, the calculator reports the lower checkout total and lower effective price separately and does not describe the raw checkout difference as savings.
Household usage estimates
A completed period must span at least one full day. Daily usage equals amount used divided by elapsed days; weekly usage is that value multiplied by seven. Days per unit is the inverse of daily usage. Cost per day is recorded purchase cost divided by elapsed days.
For repeated records with the same case-insensitive item name and exact unit, the tracker uses a weighted rate:
Historical usage per day = total amount across completed periods ÷ total elapsed days
This gives longer periods appropriate weight. It is still a history, not a guarantee of future use.
Local processing and limitations
Calculator values are processed in the browser. Compare Deals uses session storage only for the optional handoff to the Usage Tracker; the tracker uses local storage for records you choose to save. Those item details are not sent to our server. Contact form submissions and separately configured site analytics or advertising are different services described in the privacy policy.
Use the tools to expose the arithmetic, then consider product suitability, restrictions, storage, shelf life, and cash available. Worked situations are collected on the shopping examples page.