enumslab
Аналитика

Мониторинг

Показатели «Здоровья меню» iiko, которые считаются по расписанию и присылают уведомления на почту

Что это и зачем

«Мониторинг» — это каталог показателей (проверок), которые система регулярно считает по данным продаж iiko и присылает письмо, если что-то требует внимания. Вы один раз настраиваете показатель в понятной форме, а дальше он выполняется сам по заданному расписанию — без формул, SQL и ручных выгрузок.

В текущей версии модуль работает только с подключениями iiko и отслеживает «здоровье меню»: выявляет блюда, у которых либо слишком тонкая маржа при заметной выручке, либо скидки съедают слишком большую долю выручки. При каждом запуске показатель забирает один отчёт продаж (OLAP SALES, группировка по блюду), считает метрики по каждому блюду и формирует список рекомендаций.

Каждый показатель работает в «прямом» режиме: при срабатывании ИИ не вызывается — данные считаются кодом, а письмо отправляется только если есть что показать (есть хотя бы одна рекомендация). Это соответствует принципу платформы «максимум кода, минимум ИИ».

Где находится и как открыть

Раздел доступен в боковом меню в группе Аналитика → пункт Мониторинг. Пункт виден только на подключениях iiko и только пользователям с правом iiko_monitoring (см. блок «Права доступа»).

Перед работой выберите подключение iiko вверху интерфейса. Пока подключение не выбрано, на странице показывается подсказка «Выберите подключение iiko для настройки мониторинга», а кнопки «Новый показатель», «Политика меню» и поиск скрыты.

Что отслеживается (доступные проверки)

При создании показателя вы выбираете одну проверку (критерий) из каталога. Сейчас доступны две:

  • Тонкая маржа — высокая выручка, низкая маржа. Помечает блюдо, доля выручки которого не ниже порога «высокой выручки», а маржа при этом ниже целевой.
  • Перескидка — скидки выше порога. Помечает блюдо, у которого доля скидки от выручки превышает порог скидки (эрозия маржи).

Каталог рассчитан на расширение: будущие критерии (например, ABC-анализ) будут появляться отдельными карточками с пометкой скоро — выбрать их пока нельзя. На данный момент таких «будущих» карточек в каталоге нет — обе доступные проверки активны.

Что именно считается «низкой маржой», «высокой выручкой» и «перескидкой», задаётся не в самом показателе, а в общей «Политике меню» подключения. Значения по умолчанию: целевая маржа — 65%, порог скидки — 15%, порог высокой выручки — 1% от общей выручки. Те же пороги использует и виджет «Здоровье меню» на дашборде — данные нигде не противоречат друг другу.

Как создать показатель (по шагам)

  1. Нажмите + Новый показатель в правом верхнем углу.
  2. Шаг 1 — каталог. Выберите проверку: «Тонкая маржа» или «Перескидка». Карточки с пометкой «скоро» (когда появятся) недоступны для выбора.
  3. Шаг 2 — настройка. Заполните форму:
  • Название и Описание (описание необязательно). По умолчанию название подставляется по выбранному критерию.
  • Период данных — «Последние 7 дней», «Последние 30 дней», «Последние 90 дней» или «Вчера». Период скользящий: даты пересчитываются при каждом запуске.
  • Топ блюд по выручке — сколько блюд показывать в результате (по умолчанию 50, допустимо от 1 до 500).
  • Кому и Копия (CC) — адреса получателей письма. Можно подставить уже подтверждённые адреса подсказками-чипами. Минимум один получатель обязателен; адреса проверяются на корректность.
  • Тема и текст письма (раскрывающийся блок) — шаблоны с подстановками, например {{data.summary.flagged}}, {{data.summary.total_dishes}} и {{data.suggestions_text}}.
  • Расписание — «Ежедневно», «По будням (Пн-Пт)», «Раз в неделю (Пн)», «Раз в месяц (1-го)» или «Только вручную»; для всех расписаний, кроме ручного, задаётся время (часы и минуты с шагом 15 минут).
  • Важность — «Инфо», «Предупреждение» или «Критично» (метка для письма и истории).
  • Включить сразу после сохранения — флажок активности.
  1. Нажмите Создать. При создании из шага 2 можно вернуться в каталог кнопкой ← Назад.

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

Что видит пользователь в таблице показателей

Сохранённые показатели отображаются таблицей со столбцами:

  • Показатель — название и описание.
  • Тип — какой критерий отслеживается (например, «Тонкая маржа»; если критерий не определён — «Здоровье меню»).
  • Расписание — человекочитаемое расписание («Вручную», «Каждый день в 09:00» и т. п.).
  • Последний запуск — дата и время последнего выполнения со значком результата: успех, ошибка или пропущено.
  • Статус — «Активно» или «Остановлено».
  • Действия — иконки: Изменить, Запустить сейчас, Остановить/Включить, История, Удалить.

Над таблицей доступны поле Поиск... (по названию) и кнопка Политика меню.

Возможности

  • Запуск вручную — кнопка «Запустить сейчас». Результат сообщается всплывающим уведомлением: «выполнено успешно», «пропущено (условие не выполнено)» или «завершилось с ошибкой». «Пропущено» означает, что нарушений не нашлось и письмо не отправлялось.
  • Включение/остановка — приостановленный показатель остаётся в списке (приглушён) и по расписанию не запускается.
  • История запусков — журнал прошлых выполнений с результатами (успех / пропущено / ошибка).
  • Удаление — с подтверждением.
  • Политика меню — кнопка открывает редактор порогов подключения: «Целевая маржа, %», «Порог скидки, %», «Порог высокой выручки, %» (значения 0–100). Пустое поле = используется значение по умолчанию; при наличии переопределений доступна кнопка «Сбросить к умолчаниям». Эти пороги общие для мониторинга и для виджета «Здоровье меню».
Переопределение порогов внутри отдельного показателя пока не реализовано — форма показывает текущие пороги «Политики меню» только для справки (пометка «Переопределение в правиле — скоро»). Чтобы изменить пороги, правьте «Политику меню».

Как это работает

Каждый показатель — это, по сути, обычное правило раздела «События»: одна запись с признаком menu_health (он хранится внутри настроек правила, отдельного столбца нет). Раздел «Мониторинг» показывает только такие записи, а «События» — все остальные, поэтому два раздела никогда не пересекаются. Хранилище общее, отдельной таблицы для мониторинга нет.

При запуске правило вызывает инструмент диагностики меню по продажам iiko (один отчёт OLAP SALES с группировкой по блюду), считает по каждому блюду маржу, долю скидки и долю выручки, помечает нарушителей и формирует текст рекомендаций. Срабатывает условие «suggestions не пусто»: письмо уходит только при наличии хотя бы одной рекомендации, иначе запуск завершается со статусом «пропущено». Период передаётся относительным («последние 30 дней» и т. п.) и разрешается в конкретные даты в момент запуска — окно всегда свежее. ИИ в этом пути не участвует (правило сохраняется с пустым «промптом»).

Получатели, указанные при сохранении показателя, автоматически добавляются в список одобренных адресов подключения, поэтому письма проходят проверку «одобренных получателей» без отдельной настройки.

Ограничения и текущее состояние

  • Модуль доступен только для iiko. Для систем 1С пункт «Мониторинг» не показывается.
  • Единственный тип проверок сейчас — «Здоровье меню» (критерии «Тонкая маржа» и «Перескидка»). Остальные критерии — в планах.
  • Действие при срабатывании — только отправка письма (e-mail); вложение Excel в этих показателях по умолчанию выключено.
  • Ограничение области по подразделению/категории на стороне iiko-отчёта пока не применяется: параметры принимаются и логируются, но фактическая фильтрация ожидает подтверждения имён полей iiko. Можно лишь ограничить набор блюд по названиям.
  • Запуск не сработает, если подключение iiko недоступно или подписка приостановлена/заблокирована (по истечении льготного периода) — такой запуск помечается как «пропущено».
  • На исполнение действует общий для правил лимит частоты — не более 100 запусков в час на подключение (защита от лавины запусков). Отдельный «тарифный» лимит «активных проверок в день» относится к инициативе тарификации модулей и в текущем коде на исполнении ещё не применяется — создание и запуск показателей счётчиком в день не ограничены; ограничивает только наличие права iiko_monitoring.
  • Кросс-периодный анализ трендов для 1С (выручка, концентрация контрагентов, сжатие маржи и т. п.) существует в коде как отдельный сервис «Радар» (radar_service.py), но он не подключён к разделу «Мониторинг» и здесь пользователю недоступен.

Права доступа

Доступ к разделу даёт право iiko_monitoring («Мониторинг (iiko)»). Оно входит в готовые наборы прав «Полный доступ» и «Аналитик» и выдаётся индивидуально при приглашении/редактировании пользователя (см. «Пользователи»). Это право предназначено для подключений типа iiko, и сам пункт меню виден только на таких подключениях.

Серверные операции мониторинга (список показателей, создание, изменение, запуск, переключение, история, чтение подсказок-адресов и чтение/правка «Политики меню») разрешены пользователям, у которых есть либо iiko_monitoring, либо events — так модуль остаётся самостоятельным, но существующие держатели права на «События» сохраняют полный доступ.

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

  • Почему пришло «пропущено», а не отчёт? Значит, по выбранным порогам ни одно блюдо не нарушило правил — рекомендаций нет, поэтому письмо не отправляется.
  • Как поменять, что считается «низкой маржой»? Откройте кнопку «Политика меню» и измените пороги — они применяются ко всем показателям этого подключения и к виджету «Здоровье меню».
  • Можно ли запустить проверку, не дожидаясь расписания? Да — кнопка «Запустить сейчас» в строке показателя.
  • Чем «Мониторинг» отличается от «Событий»? «Мониторинг» — это готовые аналитические показатели по меню iiko; «События» — произвольные правила по другим данным. Технически это одно хранилище правил, разделённое по типу записи.

На этой странице