К содержанию
SemCue

Art Quest · Horror Cinema · MORPHEUS

Пакет неделиза 7 минут.

Три бренда, два филиала: CRM, брони, платежи, сайты и Авито. Раньше данные недели собирали вручную. Теперь это делает сервер. Каждый понедельник в 03:30 по Ташкенту он собирает пакет из 20 источников, проверяет полноту и запечатывает хешем. Выводы пишет языковая модель, все числа считает код.

Работает · три плановых понедельника подряд: 12, 19 и 26 октября 2026

Понедельник, 03:30 по Ташкенту

  1. Сбор20 источников
    • CRM полным обходом
    • брони и календарь
    • платежи и возвраты
    • Метрика и поиск
    • Авито и боты
  2. ПроверкаПолнота
    • 3 критичных: без них пакета нет
    • 17 дополнительных: сбой = PARTIAL, не ноль
  3. ПакетХеш SHA-256
    • неизменяемый снимок недели
    • в Drive файлы итогов и манифест
    • чтение обратно сверяет хеш
  4. 06:00Выводы
    • языковая модель читает пакет
    • числа уже посчитал код
  5. ИтогРуководитель
    • неделя к прошлой неделе и году
    • что просело
    • что проверить

03:30 → 03:37: первый плановый пакет готов за 7 минут

Понедельник, 03:30. Никто не нажимает кнопку

В 03:30 по Ташкенту на сервере срабатывает таймер. В Омске в этот момент 04:30, бизнес-неделя закрыта. Сервер забирает данные по двум филиалам и трем брендам и собирает из них пакет недели.

Первый плановый запуск прошел 12 октября. От старта до готового пакета прошло 7 минут: с 03:30 до 03:37. На следующий день проверили результат: пакет лежит в Google Drive, строка запуска записана в таблицу. 19 и 26 октября пакеты ушли в Drive так же, без ручного запуска: через 3–6 минут после старта таймера.

Раньше

  • Данные недели собирали вручную из разных систем
  • Ручная сборка недели 5–11 октября и 8 недель 13 октября: около 62 минут
  • Около половины этого времени ушло на поиск нужных данных

Теперь

  • Таймер собирает пакет в понедельник в 03:30
  • Пакет готов за 7 минут
  • Каждая неделя хранится как отдельный пакет с хешем
  • Сравнение с предыдущей неделей уже внутри пакета
  • Полный разбор недели 19–25 октября занял около 80 минут уже поверх готового пакета

Двадцать источников в одном пакете

В пакет входят 20 источников. Три из них критичные: полная выгрузка CRM, хранилище броней и календарь. Без любого из них пакет не выходит. Остальные 17 добавляют картину вокруг продаж.

Понедельник, 03:30 по Ташкенту

  1. Сбор20 источников
    • CRM полным обходом
    • брони и календарь
    • платежи и возвраты
    • Метрика и поиск
    • Авито и боты
  2. ПроверкаПолнота
    • 3 критичных: без них пакета нет
    • 17 дополнительных: сбой = PARTIAL, не ноль
  3. ПакетХеш SHA-256
    • неизменяемый снимок недели
    • в Drive файлы итогов и манифест
    • чтение обратно сверяет хеш
  4. 06:00Выводы
    • языковая модель читает пакет
    • числа уже посчитал код
  5. ИтогРуководитель
    • неделя к прошлой неделе и году
    • что просело
    • что проверить

03:30 → 03:37: первый плановый пакет готов за 7 минут

Путь недели от источников до руководителя.
  • Критичные · 3

    Продажи

    CRM забирается полным обходом, а не по последним изменениям. Рядом хранилище броней и календарь.

  • Дополнительные · 17

    Деньги

    Платежи и возвраты ЮKassa: сколько оплачено и сколько вернули за неделю.

  • Дополнительные · 17

    Сайты и поиск

    Метрика, расширенная Метрика, поисковая консоль, события сайта и ссылки с метками.

  • Дополнительные · 17

    Авито и боты

    Шесть потоков Авито: объявления, чаты, статистика, звонки, итоги аккаунта по дням, операции баланса. Плюс боты и реестр экспериментов.

Пропуск помечен, нули не рисуются

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

Каждый из 17 дополнительных источников получает метку покрытия: свежий или PARTIAL. PARTIAL значит «источник не ответил или его данные устарели, и это видно». Ноль на его месте не появляется. В готовом пакете записано, какие источники свежие, а какие нет.

  • Покрытие

    Метка вместо нуля

    Сбой дополнительного источника попадает в предупреждения и в карту покрытия. Критичный сбой останавливает пакет.

  • Печать

    Хеш SHA-256

    Готовый пакет получает контрольную сумму. При пересборке она повторяется. Файл в Drive читают обратно и сверяют сумму.

  • Доставка

    Только агрегаты

    В Drive уходит копия только из файлов белого списка и манифеста. Переписок, броней и идентификаторов клиентов в ней нет.

Для выводов настроена языковая модель: в 06:00 по Ташкенту она читает готовый пакет. Считать ей нечего: все числа уже посчитал код. Автоматика берет пакет текущей полной недели по Омску. Если его нет или он конфликтует, она возвращает статус «не готово» и не подставляет прошлую неделю.

Что отчет нашел за одну неделю

Вот неделя с 19 по 25 октября. Отчет сравнил ее с предыдущей и с прошлым годом и указал, где что просело. Просадку филиала кинотеатра он связал со сбоем формы брони на iPhone.

Филиал кинотеатра: 14 мероприятий против 23. С 19 по 23 октября форма брони на сайте не отправлялась с iPhone. Самостоятельных броней с сайта 3 против 12. Исправлено 23 октября.

Из недельного отчета, 19–25 октября, сокращено
  • Итог недели

    27 мероприятий против 32

    За четыре недели 113 мероприятий: на 27% больше предыдущих четырех и на 12% больше, чем год назад. По сумме сделок в CRM плюс 16% к прошлому году.

  • ВКонтакте

    10 входящих против 64

    Входящие сообщения в сообществе ВКонтакте за неделю. Сделок с меткой бота 0 против 7. Отчет внес бота в список проверок недели.

  • Поиск

    Клики из Google: с 4 до 21

    Детская страница дня рождения получила новый заголовок. За 12 дней (10–21 октября против 18–29 сентября) клики из Google выросли с 4 до 21, позиция поднялась с 10 до 6.

  • Хэллоуин

    18 броней против 26 и больше

    На 26 октября – 2 ноября подтверждено 18 броней. Год назад к 26 октября на те же даты в CRM было не меньше 26, а по тем же дням недели не меньше 21.

  • 35обращенийпротив 50 неделей раньше
  • 25подтвержденопротив 35
  • 71%обращений доходит до подтвержденияпротив 70%
  • 27%отмен по дате мероприятия10 из 37; было 30%
Воронка недели 19–25 октября в сравнении с 12–18 октября.

Неделя на столах: какие вопросы закрывает отчет

Отчет разложен на девять разделов. У каждого раздела свой вопрос.

Неделя 19–25 октября на девяти столах

  1. Что сделаноЧто увидели клиенты и что мы пробуем?
  2. Воронка и брониСколько пришло, сколько подтвердили, где отмены? Как это выглядит против 8 и 4 недель и года назад?
  3. Сайты и поискОткуда визиты, какие страницы растут, какие падают, работает ли онлайн-бронь?
  4. Авито и площадкиЧто дали продвижение и агрегаторы?
  5. ДеньгиСколько наличных и безнала, какие платежи, каков прогноз кассы?
  6. АрендодателиКакие цифры и какое письмо подготовить? Черновик, отправляет человек.
  7. ГипотезыЧто из проверок созрело? 23 строки доски и 4 строки календаря.
  8. ВКонтактеЧто с рекламой и обращениями из ВКонтакте?
  9. Яндекс ВебмастерКак страницы сайтов выглядят в Яндексе и сходится ли это с Метрикой?
Девять разделов недельного отчета и вопросы, которые они закрывают.

Письма арендодателям отчет готовит как черновики. Отправляет их человек.

Снимок в 04:30 и свежий срез

Пакет собирается в 04:30 по Омску. Менеджеры закрывают сделки воскресенья позже. В первом пакете, за 5–11 октября, не хватило 8 завершенных сделок.

Мы добавили второй шаг. Итоговый отчет считается на свежем срезе, когда неделю закрыли. Отчет за 19–25 октября построен на CRM понедельника, 19:10 по Омску. К этому времени менеджеры закрыли все мероприятия недели.

Пакет дает основу недели за минуты. Свежий срез добавляет итог после закрытия сделок.

Как это делалось

От ручной сборки к таймеру

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

До первого боевого понедельника всю цепочку прогнали на защищенной копии базы. Источники читали по-настоящему, запись в Drive и таблицу имитировали. Все 12 фаз прошли за 98,6 секунды.

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

Для технических читателей

Устройство

Расписание
Таймер systemd по понедельникам в 03:30 по Ташкенту. Бизнес-недели считаются по Омску, доставка идет по Ташкенту.
Сборщик
Python. Три сервиса сбора пишут в базу под общим замком; недельный ждет его до 20 минут. Лимит сервиса 60 минут.
Покрытие
3 критичных источника блокируют пакет, 17 дополнительных получают статус FRESH или PARTIAL.
Пакет
Неизменяемый снимок недели и безопасная копия в Drive по белому списку: файлы агрегатов и манифест. Хеш SHA-256, чтение обратно со сверкой.
Выводы
Для выводов настроена языковая модель: в 06:00 она читает пакет текущей полной недели. Нет пакета или он конфликтует: автоматика возвращает статус «не готово».

Откуда цифры

Откуда сведения

Следующая система

Штаб: день руководителя на одном экране →

SemCue / Обсудим задачу

Что вы хотите изменить?

Расскажите о проекте и задаче. Даже если пока есть только идея.

Напишите нам в Telegram

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

Обсудить проект в Telegram
В разработкеСайт ещё дорабатывается: что-то может меняться.