Ответ negatifv в «Сколько палочек?»4
Ох, ребята, подержите моё пиво...
Работал я 12 лет в провайдере местечковом, региональном. С биллингом и тарификацией приходилось выкручиваться самим, плюс учитывая прихоти "отдела маркетинга".
Вкратце (в крации) - это большая боль. Теперь подробнее.
* Изначально работали по схеме: 1 число каждого месяца - расчетное. То есть каждый тарифный план - Х рублей в месяц. Абоненты подключившиеся (к примеру) в середине месяца вносят при подключении половину суммы, которой им хватит на 15-16 дней, дальше не позднее 1 числа они вносят полную сумму, биллинг проглатывает их деньги 1 числа, и начинается новый цикл.
При всех плюсах прозрачности данной схемы здесь есть было 2 существенных недостатка:
1. Первый минус: при наступлении первого числа каждого месяца, при количестве абонентов переваливших за два десятка, биллинг стал задыхаться. Нужно все 20 тысяч учеток в одном моменте пересчитать, начислить долги, навесить нужные правила для IP политик, дикий одномоментный всплеск нагрузки на всю систему в целом, и если где-то пошло не так - то на утро просто тьма и крики, восстановление баз, обратный переучет, и вот это всё.
2. Второй минус: люди которые закидывали на депозит больше чем положено, но не в размере больше чем 2 абонентских плат генерили негатив: "У меня абонентская плата 300 рублей, у меня на момент списания в прошлом месяце было 500, в следующем месяце не хватило 100, почему заблокировали, мои кровные 200 лежат у вас на счету, а я не получаю услугу!"
* Фигура вторая. Переходим к гибким списаниям посуточно, оставляя фразу "Х рублей в месяц"
Перенастраиваем биллинг на расчет новых тарифов ежесуточно, убиваем двух зайцев:
1. Снижается нагрузка на расчёт абонентской платы, все платежи размазываются по всем дням месяца. Каждые сутки биллинг обрабатывает 1/30 (1/31, 1/28) часть клиентов, что гораздо малонапряжнее для всей системы в целом.
2. Появляется гибкость платежей, заплатив 500 рублей без сдачи ты работаешь не 1 месяц, а месяц и 20 дней, плати как удобно, хули не радоваться.
А теперь черная сторона - 28, 29, 30, 31.
Клиенты подключившиеся в последних числах месяца, которые привыкли вносить оплату до 26 числа, в феврале будут заблокированы уже 25-го, по причине того, что абонентская плата за сутки различается: за каждый день разных календарных месяцев абонентская плата выглядит в системе по разному. 300 рублей в месяц. В январе это 9,67 рубля в день, а в феврале не високосного года это целых 10,7!
Что на практике? 250 рублей лежало 1 января на счёте - 26 января всё работало. 250 рублей лежало 1 февраля - 26 января ЗАБЛОКИРОВАЛИ! СПИЗДИЛИ! ХАПУГИ, МОШЕННИКИ, ТЛЕН!!!111
Было очень много скандалов на эту тему, решали с каждым абонентом индивидуально. С кем прокатывало просто сессия в калькулятор, кто-то доходил до Роспотребнадзора и судов.
Эпилог.
Вся система маркетинговой подачи ежемесячных регулярных услуг постоянно страдает от тарификации "Х рублей в месяц", поскольку каждый месяц в году содержит разное количество дней. "И нет его черной души покоя".
Самым идеальным было бы продавать услуги под прайсом "Х рублей в сутки", но граждане получают З/П именно за месяц, несмотря на количество дней, и планируют бюджет именно исходя из временного промежутка МЕСЯЦ.
Какой-то долбоёб придумал Григорианский календарь, а теперь нам с ним заморачиваться :)