Три вопроса, один калькулятор
Почти любая задача с процентами — одна из трёх:
- X% от Y — скидка, налог, чаевые, комиссия.
- X — сколько % от Y — доля, конверсия, степень готовности.
- Изменение с X на Y — рост, повышение цены, падение трафика.
Формулы у них разные, и их постоянно путают, поэтому здесь у каждой свой режим, а не одно поле, которое пытается угадать.
Ловушка обратимости
Процентные изменения не отменяют друг друга, потому что каждое считается от своей базы. Скидка 20% и последующая наценка 20% не возвращают исходную цену — вы окажетесь на 4% ниже. Показатель «во сколько раз» в режиме изменения нужен именно для этого: он даёт множитель, а множители как раз перемножаются корректно.
Проценты против процентных пунктов
Конверсия, выросшая с 2% до 3%, поднялась на один процентный пункт и на пятьдесят процентов. Назвать второе, не уточнив этого, — стандартный способ выдать маленькое изменение за большое. Сравниваете два процента — говорите о пунктах; сравниваете две величины — о процентах.
Вопросы
Почему рост на 50% и следующее падение на 50% не возвращают исходное?+
Потому что каждый процент берётся от своей базы. 100 растёт на 50% до 150; 50% от 150 — это 75, и вы оказываетесь на 75, а не на 100. Чтобы отменить рост на 50%, нужно падение на 33,3%. Это самая частая ошибка с процентами в ценообразовании и в отчётах.
Чем процент отличается от процентного пункта?+
Если ставка изменилась с 4% до 6%, это рост на два процентных пункта и рост на 50 процентов. Оба утверждения верны и означают разное. Пункты используют при сравнении двух процентов, проценты — при сравнении двух величин.
Можно вводить дробные и отрицательные числа?+
Да. Дроби работают во всех полях, а режим изменения корректно обрабатывает отрицательное начальное значение: оно сравнивается по модулю, поэтому переход с −200 на −100 читается как улучшение на 50%, а не как бессмыслица.
Почему при делении на ноль стоит прочерк?+
Вопрос «какую долю число составляет от нуля» ответа не имеет, поэтому выводится прочерк, а не Infinity или NaN. Процентное изменение от нуля тоже не определено: любой рост из ничего в процентах бесконечен.