© Tillypad, 2004-2024
© Tillypad, 2004-2024
В системе Tillypad можно применять различные программы лояльности клиентов, в том числе с предоставлением скидок.
В программах лояльности можно устанавливать скидки и наценки. Они применяются абсолютно одинаково. Наценку можно представить как отрицательную скидку, поэтому дальше, в основном, говорится о скидках. Только там, где это требуется, приводится уточнение про наценки.
Скидки рассчитываются отдельно для каждого элемента заказа, а затем результаты суммируются. Расчет сумм скидок производится по правилам, заданным в типе программы лояльности. Округление сумм скидок проводится также для каждого элемента заказа отдельно и заранее заданным способом.
Способ округления определяется параметром Режим округления скидки, а точность округления (количество знаков после запятой) – параметром Точность округления при продаже. Каждый из этих параметров можно задать либо для конкретного подразделения, либо для всех подразделений – в системных настройках сегмента.
Выбор режима округления скидок проводится из фиксированного списка значений:
«Математический» – округление суммы скидки (или наценки) по обычным правилам.
«В пользу предприятия» – округление суммы скидки всегда в меньшую сторону (а наценки – в большую).
«В пользу гостя» – округление суммы скидки всегда в большую сторону (а наценки – в меньшую).
«Комбинированный в пользу предприятия» – при округлении суммы скидки на элемент используется накопленная погрешность при предыдущих округлениях. Итоговая корректировка уменьшит скидку (или увеличит наценку).
При расчете для комбинированного режима используются понятия:
точное значение скидки – значение скидки у элемента заказа до округления,
округленное значение скидки – значение скидки у элемента заказа после округления,
накопленная погрешность – разность точного и округленного значения скидки + предыдущая накопленная погрешность. В начале вычислений накопленная погрешность = 0.
Последовательность расчета для каждого элемента заказа:
Применение округления (в меньшую или большую сторону – в соответствии с комбинированным режимом) к значению (точное значение скидки + накопленная погрешность). В результате получено округленно значение скидки.
Корректировка накопленной погрешности = накопленная погрешность + точное значение скидки – округленно значение скидки.
Переход к расчету для следующего элемента заказа.
«Комбинированный в пользу гостя» – при округлении суммы скидки на элемент используется накопленная погрешность при предыдущих округлениях. Итоговая корректировка увеличит скидку (или уменьшит наценку).
В приведенных примерах показано, как округляются числа в каждом из этих режимов:
1. Математический 0.173 = 0.17 0.178 = 0.18 2. В пользу предприятия: 0.173 = 0.18 0.178 = 0.18 3. В пользу гостя: 0.173 = 0.17 0.178 = 0.17 4. Комбинированный в пользу предприятия: 0.333 = 0.33 0.333 = 0.34 (+0.003) 0.333 = 0.33 _____________________ 1.00 5. Комбинированный в пользу гостя: 0.333 = 0.34 0.333 = 0.33 (-0.003) 0.333 = 0.34 _____________________ 1.01
Рассмотрим режимы округления скидок на примере.
Допустим, в заказ включено два элемента по цене 100 руб.
и 200 руб.
, к которым применяется скидка 3,7%
. При этом рассчитанная сумма скидки для них составляет 3,7 руб.
и 7,4 руб.
, соответственно. Без округления величин общая сумма скидки в заказе составляет 3,7 + 7,4 = 11,1 руб. А сумма по гостевому счету составит 100 + 200 - 11,1 = 288,9 руб.
Пусть в системных настройках установлена точность округления при продаже, равная 0
(округление до целых значений, то есть до рублей).
С учетом выбора режима округления скидок можно получить следующие результаты:
«Математический» – по правилам математики: для первого элемента заказа сумма скидки 3,7 руб.
будет округлена до 4 руб.
, а для второго 7,4 руб.
будет округлена до 7 руб.
Общая сумма скидки для заказа составит 4 + 7 = 11 руб. Сумма по счету будет равна 300 - 11 = 289 руб.
«В пользу предприятия» – в меньшую сторону: для первого элемента заказа сумма скидки 3,7 руб.
будет округлена до 3 руб.
, а для второго 7,4 руб.
будет округлена до 7 руб.
Общая сумма скидки для заказа составит 3 + 7 = 10 руб. Сумма по счету будет равна 300 - 10 = 290 руб.
«В пользу гостя» – в большую сторону: для первого элемента заказа сумма скидки 3,7 руб.
будет округлена до 4 руб.
, а для второго - 7,4 руб.
будет округлена до 8 руб.
Общая сумма скидки для заказа составит 4 + 8 = 12 руб. Сумма по счету будет равна 300 - 12 = 288 руб.
«Комбинированный в пользу предприятия» – в меньшую сторону с учетом накопленной погрешности.
Округление скидки в меньшую сторону: для первого элемента заказа точное значение скидки 3,7 руб.
, накопленная погрешность 0 руб.
, 3,7 + 0 = 3,7 руб., округленно значение скидки 3 руб.
Корректировка накопленной погрешности: 3,7 - 3 + 0 = 0,7 руб. Для второго элемента точное значение скидки 7,4 руб.
, добавляем накопленную погрешность c учетом корректировки: 7,4 + 0,7 = 8,1, получаем округленно значение 8 руб.
Корректировка накопленной погрешности: 7,4 - 8 + 0,7 = 0,1 руб.
Общая сумма округленной скидки для заказа составит 3 + 8 = 11 руб. Сумма по счету будет равна 300 - 11 = 289 руб.
«Комбинированный в пользу гостя» – в большую сторону с учетом накопленной погрешности.
Округление скидки в большую сторону: для первого элемента заказа точное значение скидки 3,7 руб.
, накопленная погрешность 0 руб.
, 3,7 + 0 = 3,7 руб., округленно значение скидки 4 руб.
Корректировка накопленной погрешности: 3,7 - 4 + 0 = 0,3 руб. Для второго элемента точное значение скидки 7,4 руб.
, добавляем накопленную погрешность c учетом корректировки: 7,4 - 0,3 = 7,1, получаем округленно значение 8 руб.
Корректировка накопленной погрешности: 7,4 - 8 - 0,3 = -0,9 руб.
Общая сумма округленной скидки для заказа составит 4 + 8 = 12 руб. Сумма по счету будет равна 300 - 12 = 288 руб.