Аналитическая платформа для ресторанов с ML-прогнозом выручки
IT-компания из ресторанной отрасли (под NDA)
Мультитенантная BI-платформа для ресторанов: продажи, food cost, KDS-аналитика, ML-прогноз выручки. Десятки миллионов строк данных. Смотреть кейс →
Тиражируемая аналитическая платформа для ресторанной отрасли (заказчик под NDA). Данные касс и складской системы стекаются в ClickHouse и превращаются в витрины и дашборды: продажи, food cost, меню-инжиниринг, кухня (KDS), ML-прогноз выручки. Модульная архитектура, мультитенантная изоляция на row policies ClickHouse, десятки миллионов строк данных. От ТЗ до продакшена — 3 месяца.
Что реализовано.
Хранилище raw → marts
ClickHouse: raw-слой с CDC-версионированием, справочники, витрины и view. Сотни объектов под миграциями.
Дашборды
Здоровье бизнеса, продажи, food cost, ABC/XYZ, KDS, ML-прогноз, меню-инжиниринг. Чарты на ECharts.
ML-прогноз выручки
Prophet + SARIMAX, горизонт 7–30 дней, детект аномалий с уровнями critical/warning/info.
Мультитенантность
Row policies в ClickHouse + JWT-изоляция на бэкенде. Каждый клиент видит только свои рестораны.
Food cost и меню
Теоретическая vs фактическая себестоимость, меню-инжиниринг (Stars/Dogs), анализ корзины.
Дайджесты и алерты
Ежедневный email-дайджест с KPI и Telegram-бот с алертами по отклонениям.
Kubernetes-развёртывание
Helm-чарты для 6 сервисов, GitLab CI/CD, секреты в HashiCorp Vault.
Ключевые сценарии.
Пользовательские сценарии и потоки данных
Путь данных
От кассы до дашборда — не более 15 минут.
Онбординг тенанта
Подключение нового клиента платформы за 4–8 часов.
ML-прогноз
Ежедневный пересчёт прогноза и аномалий.
Роли и интерфейсы.
Владелец сети
Сводный health score, выручка, план-факт по всем ресторанам
Управляющий рестораном
Продажи, food cost, меню-инжиниринг, KDS своего объекта
Шеф/технолог
Себестоимость блюд, отклонения теории от факта, стоп-листы
Администратор платформы
Тенанты, лицензии, тарифы, мониторинг ETL
Технологический стек.
- .NET 10 LTS
- Minimal APIs
- JWT
- Serilog
- ClickHouse
- PostgreSQL 17
- Redis
- версионируемые миграции
- React 19
- Next.js 16
- Ant Design 6
- ECharts
- Python 3.12
- Prophet
- SARIMAX
- детект аномалий
- Kubernetes
- Helm
- GitLab CI/CD
- HashiCorp Vault
- OpenSearch
Объём кода.
Безопасность
- Row policies в ClickHouse — изоляция тенантов на уровне СУБД
- JWT-аутентификация, tenant_id только из токена
- Лицензирование на уровне отдельных ресторанов (restrictive policies)
- Секреты в HashiCorp Vault с LDAP-интеграцией
- Централизованные логи в OpenSearch
AI-функции
- Прогноз выручки на 7–30 дней (Prophet, российские праздники и сезонность)
- Автоматический fallback Prophet → SARIMAX → скользящее среднее
- Детект аномалий выручки: IQR + Z-score + доверительный интервал
- Health score ресторана по доступным источникам данных
Проблема
Заказчику нужен был собственный аналитический продукт для сетей ресторанов, который можно тиражировать без ручной настройки под каждого клиента.
Данные разбросаны по кассовой системе (MSSQL) и складской системе (HTTP API) — единой картины «выручка → себестоимость → прибыль» не существовало.
Рестораторам нужны не выгрузки, а ответы: какой food cost, какие блюда убыточны, что будет с выручкой через две недели.
Каждый клиент платформы должен видеть только свои данные — при этом все живут в одном хранилище.
Решение
Модульная платформа: ETL-коннекторы, хранилище, алгоритмы, дашборды, KDS-аналитика, план-факт, email-дайджест, Telegram-бот, мультитенантность, ML-прогноз, портал управления.
Трёхслойное хранилище ClickHouse: raw с версионированием → справочники → витрины и view. Сотни объектов хранилища, эволюция строго через миграции.
Аналитические алгоритмы: ABC/XYZ, меню-инжиниринг, food cost (теория vs факт), like-for-like, анализ корзины, health score, KDS-метрики, прогноз.
ML-прогноз выручки — Prophet с российскими праздниками и сезонностью, fallback на SARIMAX; детект аномалий по IQR, Z-score и доверительному интервалу.
Мультитенантность в 3 слоя: JWT с tenant_id на бэкенде, row policies в ClickHouse, per-user настройки подключения для BI-инструментов.
Портал на React 19 / Next.js 16 / Ant Design 6 — дашборды на ECharts, конструктор отчётов, управление тарифами и лицензиями.
ETL на .NET 10 — синхронизация каждые 5–15 минут, watermark-инкременты, адаптивный чанкинг.
Результаты
- Платформа сдана за 3 месяца — от ТЗ до продакшена в Kubernetes.
- Десятки миллионов строк данных в ClickHouse: годы истории заказов, чеков и записей кухни.
- Онбординг нового клиента-тенанта — 4–8 часов вместо отдельного внедрения.
- Данные в дашбордах отстают от касс не более чем на 15 минут.
- ML-прогноз на тестовых рядах уложился в требуемую точность с многократным запасом.
Вот представьте…
История одного запроса
Вы работаете с сотнями ресторанов. Клиенты спрашивают: «А аналитика где? Конкуренты дают дашборды». Внутри — терабайты данных о заказах. Снаружи — Excel-выгрузки, которые никто не открывает.
Нанять команду на год? Купить готовую BI и год её дорабатывать? А ещё каждый клиент должен видеть только своё — значит, либо 100 отдельных инсталляций, либо одна, но с железной изоляцией.
Одна модульная платформа. Данные кассы и склада сами стекаются в ClickHouse, row policies режут их по клиентам. Управляющий открывает дашборд: food cost по каждому блюду, прогноз выручки на две недели, аномалии подсвечены.
Подключение нового ресторанного холдинга — 4–8 часов, а не новый проект внедрения. Платформа стала тиражируемым продуктом заказчика: аналитика продаётся как сервис.
Глоссарий AI-терминов
Ключевые понятия для понимания проекта
GEO-оптимизация
GEOОптимизация контента для AI-поисковиков (ChatGPT, Perplexity, Claude).
AI-агенты
AI-AGENTSАвтономные AI-системы, выполняющие задачи самостоятельно без контроля человека.
E-E-A-T
EEATКритерии Google: опыт, экспертиза, авторитетность, надёжность. Важны для SEO и GEO.
LLM (Large Language Model)
LLMНейросеть для понимания и генерации текста (GPT-5, Claude, Gemini).
RAG (Retrieval-Augmented Generation)
RAGТехнология для работы AI с вашими данными: документами, базами знаний.
Промпт (Prompt)
PROMPTТекстовая инструкция для AI. Качество промпта = качество результата.
MVP (Minimum Viable Product)
MVPМинимальная версия продукта для проверки гипотезы на пользователях.
Технологический стек
TECH-STACKНабор технологий проекта: языки, фреймворки, базы данных, облако.
Интеграция
INTEGRATIONСвязывание AI с системами компании: CRM, ERP, 1C, мессенджеры.
Развёртывание (Deployment)
DEPLOYMENTЗапуск решения в production с мониторингом и масштабированием.
Частые вопросы.
Три слоя защиты: бэкенд берёт tenant_id только из JWT-токена, в ClickHouse работают row policies с фильтром по tenant_id, а для BI-инструментов используются per-user настройки подключения. Утечка данных между тенантами исключена на уровне СУБД.
Аналитические запросы по десяткам миллионов строк истории заказов требуют колоночного хранения. ClickHouse отдаёт агрегаты по миллионам чеков за доли секунды. PostgreSQL при этом остаётся для метаданных: тенанты, пользователи, нормативы, планы.
Основная модель — Prophet с российскими праздниками и недельной/годовой сезонностью. Если точность падает (MAPE ≥ 15%), система автоматически переключается на SARIMAX, затем на скользящее среднее. Прогноз строится на 7, 14 или 30 дней и записывается в витрину.
3 месяца от ТЗ до продакшена. В объём вошли ETL-коннекторы, хранилище, дашборды, ML-прогноз, Telegram-бот, email-дайджест и портал управления. Детали проекта раскрываем ограниченно — заказчик под NDA.
Обсудим вашу задачу
Расскажите о вашей задаче — обсудим, как мы можем помочь. Рекомендации предоставляем по запросу.