Ценник описывает упаковку, а не количество внутри. Цена единицы создаёт общую базу: цена упаковки делится на полное количество. Единица измерения должна оставаться рядом с числом на каждом шаге.

Делите цену на итоговое количество

Для пакета за 4,50 € весом 500 граммов сначала получите 0,5 килограмма, затем разделите 4,50 € на 0,5. Результат — 9,00 €/кг. Пакет 1 кг за 8,00 € выгоднее, хотя его ценник выше.

Рассчитывайте среднюю цену единицы по итогам

Для нескольких покупок одного совместимого товара сложите все цены и разделите на итоговое количество: средняя цена единицы = общая стоимость ÷ общее количество. Если две единицы вместе стоят 6 €, а ещё три — 12 €, взвешенная средняя равна 18 € ÷ 5 = 3,60 € за единицу. Простое среднее ставок, (3 € + 4 €) ÷ 2 = 3,50 €, неверно, потому что в группах разное количество. Перед объединением итогов сохраняйте одну валюту и совместимые единицы измерения.

Приводите только совместимые величины

Граммы, килограммы, унции и фунты описывают вес и приводятся к килограмму. Миллилитры и литры описывают объём. Вес нельзя сравнивать с объёмом без достоверной плотности, поэтому категории должны оставаться раздельными.

Сравнивайте до округления

Две отображаемые цены могут выглядеть как 0,03 € за штуку, хотя внутренние значения DECIMAL128 различаются. Нормализуйте и ранжируйте внутренние значения, затем округляйте цену до шести знаков, а процент — до двух. Также одинаково учитывайте налоги, залоги и условия акций.