Апселло

Спроектировали и разработали SaaS-платформу для управления лояльностью и повторными продажами

Программы, клиентская база, заказы, бонусные операции и аналитика их экономического эффекта — в одном продукте.

Роль
Продукт целиком
Статус
Работающий MVP
Стек
Angular · C# · PostgreSQL

От исследования предметной области до работающего MVP закрыли весь продуктовый цикл

Продукт начинался не с технического задания, а с проблемы рынка.

Отрасль
Рестораны, ритейл, e-commerce
Тип продукта
SaaS · CRM · программы лояльности
Формат
Собственный цифровой продукт
Статус
Работающий MVP
Роль ИНТЕХ
Продукт целиком
Поддержка
Фонд содействия инновациям, «Студенческий стартап»
  1. Рынок и бизнес-анализ

    Изучили, как программы лояльности работают в ресторанах и локальном ритейле, и разобрали цикл заказа: начисления, списания, акции, возвраты, корректировки.

    Описанные процессы и показатели
  2. Архитектура SaaS

    Определили сущности, роли, разделение данных между организациями и то, как контуры продукта пользуются общей моделью.

    Модель данных и роли
  3. Интерфейсы и разработка

    Спроектировали дашборд, конструктор, клиентскую базу и кабинет; собрали frontend на Angular и бизнес-логику на C# поверх PostgreSQL.

    Работающий MVP
  4. Аналитика и интеграции

    Разработали систему показателей стоимости и результата программы и слой, который принимает данные внешних систем через API и webhook.

    Дашборд эффекта и API

Бонусы и скидки работают только тогда, когда бизнес понимает их реальный эффект

Заказы лежат в кассе, клиенты — в CRM, бонусы — в отдельном сервисе. Бизнес видит количество начисленных бонусов и не видит, окупились ли они.

  • Клиенты не возвращаются
  • Скидки съедают маржу
  • Данные живут в разных системах
  • Эффект нечем измерить

Связали весь цикл лояльности — от правила начисления до финансового результата

Апселло проектировался не как ещё один бонусный модуль: программа, заказ, операция, клиент и эффект живут в одной системе.

  1. Программа

    Правила начисления, списания и совместимости, заданные компанией.

  2. Заказ

    Приходит из кассы, CRM или интернет-магазина через API и webhook.

  3. Бонусная операция

    Расчёт по условиям программы и отдельная запись в истории.

  4. Клиент

    Профиль, баланс, история покупок и участие в программах.

  5. Эффект

    Стоимость лояльности рядом с дополнительной выручкой и средним чеком.

Что формализовали до разработки

  • Компания
  • Программа лояльности
  • Клиент
  • Заказ
  • Товар или категория
  • Бонусная операция
  • Правило начисления
  • Правило списания
  • Экономический результат

Одна SaaS-платформа связала программы, клиентов, заказы и аналитику

Контуры работают с общей моделью данных, поэтому бизнес-логика не дублируется.

  • Программы и бонусы

    Конструктор механик лояльности, правила начисления и списания, товарные акции и совместимость программ.

    • Кэшбэк
    • Пороги
    • Скидки
    • Товарные акции
    • Частичная оплата бонусами
  • Клиенты и заказы

    Единая клиентская база, история покупок, бонусные операции и личный кабинет покупателя.

    • Профиль
    • История заказов
    • Баланс
    • Сегменты
    • Кабинет клиента
  • Аналитика и интеграции

    Дашборд эффективности, метрики поведения клиентов и подключение внешних систем через API.

    • Дашборд
    • LTV
    • Повторные покупки
    • REST API
    • Webhook

Конструктор позволяет запускать разные механики без отдельной разработки каждой программы

Кэшбэк, пороговые уровни, скидки, условия для товаров и категорий, частичная оплата бонусами — всё это настройка, а не отдельная разработка.

Пороговый кэшбэк за две минуты

Уровни задаются парой чисел. Тем же конструктором собираются скидка на категорию, повышенный кэшбэк на сезонный ассортимент и оплата бонусами с собственным курсом и лимитом.

1%
при заказе от 1 000 ₽
3%
при заказе от 5 000 ₽
5%
при заказе от 10 000 ₽
Редактирование программы лояльности: тип программы, статус и пороги кэшбэка
Конструктор программы: тип механики, статус и пороги кэшбэка

Заказ проходит через платформу и превращается в бонусную операцию, профиль клиента и цифру в аналитике

Кассир и покупатель никакой сложности не видят. Внутри проходят отбор программ, разрешение конфликтов, расчёт и запись операции.

  1. Компания задаёт правила

    У каждой программы свой тип, статус, условия и показатели того, во что она обошлась.

    • Тип и статус у каждой программы
    • Стоимость программы на виду
    Список программ лояльности в Апселло: базовый кэшбэк, бонусы за категорию, пороговые бонусы и акция ко дню рождения
  2. Каталог приходит из учётной системы

    Товары и категории синхронизируются сами — на них настраиваются акции и повышенный кэшбэк.

    • Синхронизация без ручного ввода
    • Условия на категорию товаров
    Товары и категории, синхронизированные из внешней системы учёта
  3. Заказ попадает в платформу

    Оплаченный заказ приходит через API или webhook и связывается с конкретным клиентом.

    • Приём через API и webhook
    • Привязка к клиенту по заказу
    История заказов с начисленными и списанными бонусами по каждому заказу
  4. Платформа считает операцию

    По составу заказа и условиям программ рассчитываются скидка и начисление.

    • Расчёт по составу покупки
    • Разрешение пересекающихся правил
    Раскрытый заказ: состав покупки, цены и рассчитанное начисление бонусов
  5. Клиент собирается из покупок

    Профиль накапливает заказы, выручку, средний чек, частоту и бонусный баланс.

    • Показатели считаются из истории
    • Баланс складывается из операций
    Клиентская база: количество заказов, общая сумма, бонусный баланс и дата последнего заказа

Самая сложная часть продукта — правильно применить несколько пересекающихся правил

Если одновременно действуют кэшбэк, товарная акция и скидка, результат зависит от порядка их применения. Мы описали этот порядок явно.

  1. Состав заказаТовары, категории, сумма и точка приводятся к модели платформы
  2. Отбор программПороги, ограничения по товарам, срок действия и статус оплаты
  3. Разрешение конфликтовПриоритет и совместимость решают, какие механики доживут до расчёта
  4. РасчётСкидка и начисление считаются один раз по отобранным правилам
  5. ОперацияРезультат сохраняется отдельной записью с причиной и связанным заказом

Три режима совместимости программ

Работают одновременно

Механики складываются осознанно: так собирают товарную акцию поверх базового кэшбэка.

Когда берут
Акция должна усилить постоянную программу
Риск без правила
Скидки суммируются случайно и съедают маржу

Исключают друг друга

Программы помечены несовместимыми, и вторая к тому же заказу не применяется.

Когда берут
Две выгоды на один заказ давать нельзя
Что решает
Порядок отбора: применяется первая подошедшая

Имеют приоритет

Одна программа объявлена эксклюзивной и отменяет остальные условия заказа.

Когда берут
Специальное предложение важнее обычных механик
Что решает
Явно заданный приоритет, а не порядок создания

Любое изменение бонусного баланса можно восстановить и объяснить

Заказ отменяют, товар возвращают, начисление правят вручную — поэтому баланс складывается из операций, а не хранится числом.

Шесть типов операций

  • Начисление
  • Списание
  • Компенсация
  • Возврат бонусов
  • Отмена операции
  • Ручная корректировка

В каждой записи — сумма, причина, связанный заказ и дата. У бизнеса остаётся история, которую можно показать клиенту.

Карточка клиента: денежные показатели, бонусная информация и форма ручного начисления с указанием причины
Карточка клиента: показатели, баланс и ручное изменение с обязательной причиной

Собрали два интерфейса поверх одной модели: рабочую зону бизнеса и кабинет покупателя

Бизнесу не приходится объяснять каждую операцию вручную, а покупатель понимает, откуда взялся его баланс.

Рабочая зона бизнеса

Компания настраивает механику под свою экономику и видит, во что она обходится.

  • Конструктор программ и товарных акций
  • Клиентская база с выручкой, средним чеком и LTV
  • История заказов со стоимостью лояльности
  • Ручные начисления и корректировки с указанием причины
  • Дашборд эффективности и настройки интеграций
Клиентская база: количество заказов, общая сумма, бонусный баланс и дата последнего заказа

Личный кабинет клиента

Покупатель сам понимает, откуда взялся его баланс и как им воспользоваться.

  • Текущий баланс и курс бонусов
  • Доступный лимит списания
  • Действующие программы и их условия
  • Полная история начислений и списаний
  • Причина каждой операции и связанный заказ

Апселло

Мои бонусы

1 250бонусов

Курс
1 бонус = 1 ₽
Лимит списания
до 30% заказа

Действующие программы

  • Базовый кэшбэк1–5% от суммы заказа

История операций

  • Заказ №1248Кэшбэк 3%+ 96
  • Оплата заказаСписание бонусами− 200
  • КомпенсацияВозврат позиции+ 150
Схема экрана: снимка кабинета в материалах кейса нет

Общая модель: программа, заказ, клиент и бонусная операция

Дашборд показывает не количество бонусов, а экономику программы

Вопрос не «сколько бонусов мы начислили», а «что бизнес получил взамен».

Дашборд эффективности: выручка, клиенты, средний чек, заказы на клиента, LTV и чистый эффект программы
  • Плитка «Чистый эффект» на дашборде Апселло
    Чистый эффект

    Дополнительная выручка за вычетом стоимости скидок и начисленных бонусов.

  • Плитка «Заказов на клиента» на дашборде Апселло
    Заказов на клиента

    Показатель повторных покупок: ради него программа и запускается.

  • График роста выручки на дашборде Апселло
    Динамика выручки

    Изменение показателей за выбранный период, а не одна цифра за всё время.

Backend объединяет iiko, кассы, CRM и интернет-магазины в единую модель данных

Фронтенд не обращается к внешним системам напрямую: данные приходят в backend, там проверяются и приводятся к единой модели. Новый источник подключается без правки логики платформы.

  1. Извне приходит

    • Клиенты
    • Заказы
    • Статус оплаты
    • Товары
    • Категории
    • Сумма заказа
    • Состав покупки
    • Торговая точка
  2. Апселло приводит к своей модели

    Клиенты, товары, категории и заказы разной структуры складываются в единые сущности, общие для всех подключённых компаний.

  3. Обратно уходит результат

    Бонусная операция, обновлённый профиль клиента и показатели программы возвращаются в интерфейсы и в аналитику.

Архитектуру сразу строили как SaaS для многих компаний, а не как систему для одного клиента

Каждая организация получает свои программы, базу, заказы, настройки и аналитику, а внутри компании — несколько торговых точек.

Новый клиент подключается настройкой, а не разработкой.

  • Компания

    свои программы, база и настройки

  • Точка

    несколько адресов внутри компании

  • Роль

    разграничение доступа в организации

  • Подключение

    без отдельного развёртывания

Что можно добавить, не пересобирая ядро

  • Автоматическая сегментация
  • Персональные предложения
  • Триггерные сценарии
  • Уровни лояльности
  • Реферальные механики
  • Автоматические рекомендации
  • Расширенная BI-аналитика
  • Коммуникации с клиентами

В результате получили полноценный SaaS-продукт

Не демонстрационный интерфейс, а продукт с бизнес-логикой, интеграциями и аналитикой.

Что создано за проект

  • Конструктор программБонусные и скидочные механики с условиями, приоритетом и совместимостью.
  • Пороговый кэшбэкУровни начисления в зависимости от суммы заказа.
  • Товарные акцииПравила для отдельных товаров и категорий каталога.
  • Правила списанияКурс бонуса, лимит оплаты, срок действия и исключения.
  • Клиентская базаПрофиль, показатели поведения и участие в программах.
  • История заказовЗаказы, связанные с клиентами, программами и операциями.
  • Бонусные операцииПолная история изменений баланса с причиной и связанным заказом.
  • Кабинет клиентаБаланс, правила и история операций на стороне покупателя.
  • Дашборд эффективностиСтоимость лояльности рядом с выручкой, чеком и повторными покупками.
  • API для интеграцийREST и webhook для касс, CRM, CMS и интернет-магазинов.
  • МультитенантностьНесколько компаний и торговых точек в одной платформе.

К нам можно прийти со сложной бизнес-логикой, а не с готовым техническим заданием

ИНТЕХ

Проектируем продуктыот модели данных до аналитики.

Будем на связи

Нужен SaaS-продукт со сложной бизнес-логикой?

Берём на себя исследование предметной области, бизнес-анализ, архитектуру, UX/UI, frontend, backend, интеграции и систему показателей.

Файлы (необязательно)

До 3 файлов, до 10 МБ каждый — документы, таблицы, изображения, архив.

Ответим в течение рабочего дня. На первой встрече разберём задачу и предложим следующий шаг.

Заявка отправлена

Спасибо! Мы получили вашу заявку — менеджер свяжется с вами в ближайшее время.