Баланс есть, истории нет
Баллы хранятся одной цифрой в карточке клиента. Когда клиент спорит о начислении, доказать или опровергнуть нечего: операций не сохранилось.
Выберите тему — соберём контекст
Строим программу, где у каждого балла есть история и основание: начисление, списание, сгорание, сторно. Клиент видит свой баланс, маркетинг — сегменты, а финансы — обязательства по баллам.
Или сразу: +7 (962) 368-39-51 Telegram
Проблемы начинаются не на этапе идеи, а на втором-третьем месяце работы, когда начислений становятся десятки тысяч.
Баллы хранятся одной цифрой в карточке клиента. Когда клиент спорит о начислении, доказать или опровергнуть нечего: операций не сохранилось.
Правила сгорания описаны размыто, обращения «где мои баллы» уходят в поддержку, и каждый такой разговор заканчивается ручным начислением в подарок.
Один человек создаёт десять аккаунтов, чтобы получить приветственные баллы, или оформляет брони и отменяет их, сохраняя начисление. Без правил пересчёта потери растут незаметно.
Банк, страховая или авиакомпания присылают реестр операций, его кто-то разбирает в таблице. Ошибки, задержки и взаимные претензии по недоначисленным баллам.
Статус «Платина» отличается только цветом карточки: привилегии либо не автоматизированы, либо неочевидны. Клиент не понимает, зачем стремиться к следующему уровню.
Баллы копятся, но не используются: клиент не знает, на что их потратить, а коммуникации приходят всем одинаковые. Нет сегментации и нет поводов вернуться.
Ядро, уровни, партнёрские интеграции и аналитика — четыре независимых блока, которые можно внедрять по очереди.
Единый реестр операций с баллами: сколько, за что, когда и на каком основании начислено или списано.
То, что клиент видит и ради чего возвращается: понятный статус, реальная выгода и повод для следующей покупки.
Программа растёт за счёт партнёров: банки, страховые, авиакомпании, отели, сервисы аренды.
Управление программой: видеть её экономику и вовремя замечать злоупотребления.
Сначала экономика и правила, потом код. Программа без просчитанной стоимости балла превращается в неуправляемое обязательство.
Считаем стоимость балла, целевую долю выкупа, влияние на маржу. Формулируем правила начисления, списания и сгорания так, чтобы они были однозначными и проверяемыми.
Реализуем ledger операций, правила начисления, уровни и личный кабинет с балансом и историей. Подключаем события из системы бронирования.
Подключаем партнёрские реестры и обмен баллами, настраиваем сегменты, триггерные рассылки и напоминания о сгорании.
Переносим историю из старой программы с сохранением сроков сгорания, прогоняем сверку балансов и запускаем публичные правила программы.
Разница принципиальная. Таблица хранит текущий баланс: у клиента 4 320 баллов, и больше ничего неизвестно. Ledger хранит последовательность операций, из которой баланс вычисляется: начисление за бронь, списание на скидку, сгорание части баллов, сторно за возврат билета. Баланс — это результат, а не источник данных.
Практическая ценность такого подхода видна в первых же спорных ситуациях. Поддержка открывает историю операций и отвечает клиенту за минуту вместо недели переписки с разработчиком. Финансы видят, сколько баллов было начислено и сколько выкуплено, то есть понимают размер обязательств. Маркетинг анализирует, какие акции реально приносят повторные покупки, а не только начисления.
Сгорание — самая конфликтная часть программы. Проблемы начинаются там, где правила описаны общими словами: «баллы действуют ограниченное время» или «компания вправе изменять условия». Клиент узнаёт о сгорании, когда уже потерял баллы, и воспринимает это как обман.
Мы строим программу так, чтобы правила были проверяемыми: конкретный срок жизни баллов, порядок списания при частичном использовании (обычно первыми уходят баллы с ближайшим сроком), предварительные уведомления за 30 и 7 дней, понятный экран с датой сгорания в личном кабинете. Изменения условий применяются только к новым начислениям, а не задним числом — это снижает и репутационные, и юридические риски.
Три самых частых схемы: массовая регистрация аккаунтов ради приветственных баллов, бронирование с последующей отменой после начисления и перекуп агентских аккаунтов для накопления на одном клиенте. Все три обнаруживаются не в момент операции, а по поведенческим признакам.
Мы закладываем в ядро набор проверок: привязка начислений к подтверждённым поездкам, а не к оформлению брони; отложенное начисление до завершения поездки; лимиты на операции в сутки и на объём начислений с одного устройства; автоматическое сторно при возврате; ручной разбор для аномалий. Правила антифрода описываются заранее вместе с процедурой, по которой поддержка общается с клиентом в спорной ситуации.
Да, миграция — стандартная часть проекта. Мы переносим балансы с сохранением сроков сгорания: для каждого клиента формируем начальную операцию с датой истечения, чтобы после перехода никто не потерял баллы раньше времени или, наоборот, не получил их бессрочно. Перед запуском обязательно проводится сверка: сумма балансов до и после миграции должна совпадать до балла.
Ядро работает как отдельный сервис с API: сайт, приложение, касса агента и система бронирования обращаются к нему за балансом и операциями. Это позволяет показывать баллы одинаково во всех каналах и не дублировать правила начисления. Все операции проходят с ключом идемпотентности, поэтому повторный запрос из канала не приведёт к двойному начислению.
Считаем три вещи: стоимость балла (какую скидку вы реально даёте при списании), ожидаемую долю выкупа баллов и рост повторных покупок у участников против неучастников. На этих числах видно, окупается ли повышенное начисление. Обычно на этапе проектирования мы предлагаем две-три конфигурации механики с разной стоимостью и показываем, при каком поведении клиентов каждая из них выходит в плюс.
Ядро с правилами начисления, уровнями и личным кабинетом занимает от двух до трёх месяцев. Полный запуск с партнёрскими интеграциями, обменом баллов, сегментацией, триггерными коммуникациями и миграцией старой базы — от четырёх до шести месяцев. Если программа запускается с нуля без миграции и партнёров, первый релиз можно получить примерно за десять недель.
Смежные задачи, которые обычно решаются в одном проекте с этой.
Опишите, как вы сейчас считаете баллы и что хотите изменить, — предложим механику и оценим стоимость внедрения.
Cookie и аналитика
Мы используем необходимые cookie для работы сайта и форм. Аналитические cookie (Яндекс.Метрика, включая запись сессий) подключаем только с вашего согласия — от него можно отказаться. Подробнее: Политика использования cookie и обработка персональных данных.