Перейти к основному содержимому
BI, Big Data, AI, Enterprise

Аналитическая платформа для ресторанов с ML-прогнозом выручки

IT-компания из ресторанной отрасли (под NDA)

Мультитенантная BI-платформа для ресторанов: продажи, food cost, KDS-аналитика, ML-прогноз выручки. Десятки миллионов строк данных. Смотреть кейс →

БольшойВ работеКлиентский AI
3 месяца
.NET 10ClickHouse 26PostgreSQL 17React 19Next.js 16Ant Design 6Python 3.12ProphetKubernetesHelm
О проекте

Тиражируемая аналитическая платформа для ресторанной отрасли (заказчик под NDA). Данные касс и складской системы стекаются в ClickHouse и превращаются в витрины и дашборды: продажи, food cost, меню-инжиниринг, кухня (KDS), ML-прогноз выручки. Модульная архитектура, мультитенантная изоляция на row policies ClickHouse, десятки миллионов строк данных. От ТЗ до продакшена — 3 месяца.

152K+строк кода
3 мес.до продакшена
15 минзадержка данных
4–8 чонбординг клиента
Функциональность

Что реализовано.

Хранилище 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 минут.

Касса/склад
ETL .NET
raw (версии)
dim/marts
views
Дашборд

Онбординг тенанта

Подключение нового клиента платформы за 4–8 часов.

Регистрация тенанта
Подключение источников
Первичная загрузка
Row policies
Проверка витрин
Доступ клиенту

ML-прогноз

Ежедневный пересчёт прогноза и аномалий.

История ≥ 90 дней
Prophet
Проверка MAPE
Fallback SARIMAX
Запись в витрину
Дашборд и алерты
Архитектура

Роли и интерфейсы.

Владелец сети

Сводный health score, выручка, план-факт по всем ресторанам

Управляющий рестораном

Продажи, food cost, меню-инжиниринг, KDS своего объекта

Шеф/технолог

Себестоимость блюд, отклонения теории от факта, стоп-листы

Администратор платформы

Тенанты, лицензии, тарифы, мониторинг ETL

Технологии

Технологический стек.

Backend
  • .NET 10 LTS
  • Minimal APIs
  • JWT
  • Serilog
Данные
  • ClickHouse
  • PostgreSQL 17
  • Redis
  • версионируемые миграции
Frontend
  • React 19
  • Next.js 16
  • Ant Design 6
  • ECharts
ML
  • Python 3.12
  • Prophet
  • SARIMAX
  • детект аномалий
Инфраструктура
  • Kubernetes
  • Helm
  • GitLab CI/CD
  • HashiCorp Vault
  • OpenSearch
Метрики

Объём кода.

~152K
строк кода
62,7K
TypeScript/React
51,9K
SQL (хранилище)
37,7K
C# (.NET)

Безопасность

  • 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-прогноз на тестовых рядах уложился в требуемую точность с многократным запасом.
Сторителлинг

Вот представьте…

История одного запроса

1
Совещание у заказчика

Вы работаете с сотнями ресторанов. Клиенты спрашивают: «А аналитика где? Конкуренты дают дашборды». Внутри — терабайты данных о заказах. Снаружи — Excel-выгрузки, которые никто не открывает.

2
Классический путь

Нанять команду на год? Купить готовую BI и год её дорабатывать? А ещё каждый клиент должен видеть только своё — значит, либо 100 отдельных инсталляций, либо одна, но с железной изоляцией.

3
Три месяца спустя

Одна модульная платформа. Данные кассы и склада сами стекаются в ClickHouse, row policies режут их по клиентам. Управляющий открывает дашборд: food cost по каждому блюду, прогноз выручки на две недели, аномалии подсвечены.

4
Новый клиент = полдня

Подключение нового ресторанного холдинга — 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 с мониторингом и масштабированием.

FAQ

Частые вопросы.

Три слоя защиты: бэкенд берёт 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.

Нужен похожий проект?

Обсудим вашу задачу

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

Автор материала
Сергей Цветков
Основатель «ДИДЖИТАЛ-ПРО ТЕХ» (Digital-Pro Tech)
20 лет в IT и бизнесе. 150+ проектов по внедрению AI и BI. Практический опыт, а не теория.
Опубликовано: 28 февраля 2026
Обновлено: 15 марта 2026