Дмитрий Анашкин

Данные лежат в разных системах: как собрать из них один отчёт

Опубликовано 13 сент. 2026 г.9 мин чтенияСредний
Данные лежат в разных системах: как собрать из них один отчёт
Плейбук
Данные лежат в разных системах
Дмитрий Анашкин · 9 мин
Чему вы научитесь
  • Почему автоматизацию отчёта начинают с эталона, а не с технического задания
  • Пять вопросов к каждому источнику данных до начала работы
  • Как собрать словарь соответствий между системой и отчётом
  • Где в готовой форме одно число живёт в двух местах
  • Порядок постановки задачи агенту по шагам
Средний
1просмотров

Коротко

Почему регулярный отчёт съедает день в неделю?

Знакомая картина: каждую неделю нужно собрать отчёт. Цифры посещаемости - из счётчика на сайте. Заявки - из базы. Данные партнёра - файлом на почте. Дальше всё это сводится в одну таблицу руками, и на это уходит рабочий день.

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

Я собирал такой контур для регулярной отчётности маркетингового агентства: три источника, недельная сетка, готовая книга-шаблон, куда пишутся значения. Расскажу, что там оказалось настоящей сложностью, потому что она не там, где её ждут.

Выгрузить данные - самая простая часть. Настоящая работа начинается, когда выясняется, что источники между собой не согласованы. И вот тут самое интересное: несогласованность видна не сразу, а на второй-третий период, когда отчёт уже сдали.

С чего начинать: эталон вместо технического задания

Это правило я выучил на живом проекте, и оно экономит недели.

Прежде чем поручать сборку агенту, возьми один период, который уже закрыт и сдан. Тот, где числа проверял человек и заказчик их принял. Это твой эталон.

Задача первой версии - не «собрать отчёт», а воспроизвести эталон. Полностью, до последней цифры. Совпало - логика верна, дальше можно считать новые периоды. Не совпало - у тебя на руках конкретное расхождение, и оно всегда указывает на реальную разницу в понимании данных.

На эталоне у меня всплыли обе ключевые ловушки проекта: несовпадение формулировок и путаница с метками источников. Без него они уехали бы в сданный отчёт и вернулись бы вопросом от заказчика.

Что делать, если эталона нет

Собери его руками. Один период, честно посчитанный человеком, - это день работы, который окупается на первой же автоматической сборке. Автоматизация без точки отсчёта проверяется только доверием, а доверие тут плохой инструмент.

Что спросить у каждого источника?

Списком, который стоит пройти до того, как писать первую строчку кода:

Что уточнитьПочему это важно
Способ доступа: выгрузка, база, ключ доступаот этого зависит, можно ли вообще автоматизировать
Часовой пояс и фильтрысчётчик может считать без роботов или со всеми, и цифры разойдутся
За период или нарастающим итогомвторая неделя в нарастающем файле - это не вторая неделя
Кто и в каком виде присылает файлчеловек в отпуске - и данные приходят в другом формате
Пускает ли источник с адреса, где идёт расчётбаза вполне может резать сторонние подключения

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

Проверять это надо запросом, а не устным подтверждением. Фраза «да, доступ есть» и живой ответ сервера - разные вещи, и расходятся они регулярно.

Если у нужной системы вообще нет программного доступа, это не тупик: подробно разбирал варианты в материале про то, как забрать данные, когда у площадки нет API.

Словарь соответствий: главная работа проекта

Вот место, где ломается большинство попыток.

В базе причины отказа записаны так, как их формулировал оператор. В отчёте у заказчика они названы своими словами. На моём проекте они не совпали ни одним словом. Ни одним - при том, что смысл был тот же самый.

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

Что должно быть в этом словаре:

  1. Полный список значений из источника

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

  2. Соответствие каждой строке отчёта

    Одно значение - одна строка. Не подходит ни к одной - заводи явную категорию «прочее», а не оставляй пустоту.

  3. Правило приоритета

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

  4. Что делать с незнакомым значением

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

Этот словарь - и есть та часть знания, которая раньше жила в голове человека, собиравшего отчёт. Автоматизация начинается с того, что ты её достаёшь и записываешь.

Где число живёт в двух местах

Отдельная ловушка готовых форм. Заказчик присылает книгу-шаблон, куда надо вписывать значения. Ты вписываешь число в нужную ячейку и радуешься. А это же число, оказывается, дублируется во втором листе, и туда оно не записалось.

Дальше происходит худшее из возможного: отчёт уходит, и расхождение внутри одного документа находит заказчик.

Что с этим делать:

  • Найди все места, где живёт одно значение. До первой автоматической сборки, а не после.
  • Заведи проверку на совпадение. После записи расчёт сам сверяет пары чисел и ругается, если они разошлись.
  • Не трогай формулы. В чужой книге часть ячеек - расчётные. Записал в них значение - сломал документ, и заметно это станет через период.
  • Помечай, какие листы неприкосновенны. Иногда правило звучит буквально так: пишем ровно одну ячейку, остальное не трогаем даже по форматированию.

Проверка «сходятся ли числа между собой» - это тот же принцип приёмки, о котором писал в материале про проверку работы ИИ-агента без технического бэкграунда. Машина проверяет то, что человек проверял бы глазами и однажды пропустил.

Периоды: список дат вместо правила

Случай из практики. Отчётность идёт по неделям. Первая неделя сдана, всё сходится. После этого заказчик переопределяет границы следующих периодов: у него поменялись условия акции.

Если границы зашиты правилом «прибавляй семь дней», расчёт продолжит считать по-старому и выдаст красивые числа за неправильный отрезок. Ошибка, которую по документу не видно: цифры выглядят нормально, подпись выглядит нормально, а внутри они за разные периоды.

Правило, которое я держу с тех пор: даты живут в одном месте, отдельным списком, и подписи в отчёте сверяются с ним на каждом прогоне. Заодно - явный ответ на вопрос, включается ли последний день в период. Это тот случай, где неопределённость стоит одного дня продаж в цифрах.

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

Как поставить эту задачу агенту?

Порядок, который работает:

  1. Опиши источники словами. Что откуда берётся, в каких единицах, за какой период. Это и есть половина задачи.
  2. Дай эталон. Файл с числами, которые должны получиться. Прямо скажи: результат должен совпасть с ним полностью.
  3. Двигайся по одному источнику. Первый подключён и сверен - берём второй. Так место поломки всегда очевидно.
  4. Отдельным шагом - запись в форму. Расчёт и запись в чужую книгу - разные задачи, и вторая ломает документы чаще.
  5. Попроси отчёт о расхождениях. Не «всё сошлось», а таблица: где сошлось, где нет и на сколько.

Агент хорошо справляется с этой работой при одном условии: у него есть, с чем сверяться. Без эталона он тоже выдаст результат - уверенный и правдоподобный, и проверить его будет нечем.

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

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

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

Главный вывод

Главное, что стоит запомнить: технически данные собираются легко. Разваливается всё на том, что источники говорят на разных языках, и переводчика между ними никто не записал.

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

Посмотри на свой регулярный отчёт. Если завтра его будет собирать другой человек, какие договорённости он не сможет угадать?

Источники

Отправь другу или себе в избранное в Telegram, чтобы не потерять.

Поделиться в Telegram
Было полезно?
Автор
Дмитрий Анашкин
Практик-интегратор ИИ в бизнес

Основатель NeuroDA и SMAIPL. Корпоративные воркшопы по ИИ, внедрение AI в бизнес-процессы.

Похожие гайды

Второй мозг команды, а не одного человека

Накопленный контекст переносится технически легко: это текстовые файлы. Ломается смысл - в личной папке смешаны правила компании и привычки автора. Разбираю, как разделить слои, зачем общему файлу владелец с правом удалять и как передать контекст новому человеку за час.

8 мин

Учёт денег: когда таблица перестаёт справляться

Файл с расходами ломается не от количества строк, а когда от него ждут двух ответов сразу: сколько денег на счетах и сколько из них компания заработала. Разбираю пять признаков перерастания, блоки собственного контура учёта и почему точка ввода данных должна быть одна.

8 мин

Прежде чем строить: проверь, что этого ещё нет

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

8 мин

Запись встречи превращается в задачи: что заказывать нейросети

Сервис записал встречу, выдал расшифровку, файл лёг в папку и там живёт. Разбираю, какие три результата надо вынимать из записи, почему «сделай краткое содержание» даёт бесполезный пересказ и что делать с записями, которые нельзя отправлять наружу.

7 мин

Связанные понятия