Введение — суть задачи
К нашей команде обратился отдел SEO нашего агентства с необычным запросом. Специалистам отдела постоянно приходится вручную проверять сотни сайтов клиентов на предмет количества страниц в индексе, количество визитов людей и роботов.
Вручную это делается достаточно долго из-за количества клиентов и их сайтов. Нужно заходить в Яндекс Вебмастер и Яндекс Метрику, переключаться между клиентами, формировать и анализировать отчеты. Поэтому нас попросили автоматизировать этот процесс.
Конкретный запрос был в том, чтобы была возможность быстро находить аномалии в данных:
- Резкие рост или падение количества страниц в индексе
- Резкое снижение количества визитов
- Резкое повышение количества визитов роботов
Результат 1 — Telegram-бот
Результатом стало создание нами Telegram-бота, который умеет делать следующее. Каждый день в 8 утра бот присылает в чат данные:
- О доменах, по которым было зафиксировано падение или рост количества страниц более, чем на 10%.
- О доменах, по которым было зафиксировано падение количества визитов более, чем на 20%
- О доменах, по которым был зафиксирован рост визитов роботов более, чем на 20%
Все эти показатели фиксируются относительно:
- Предыдущего дня
- Аналогичного дня 7 дней назад
- Если сегодня первое число месяца — первого числа предыдущего месяца
Оповещения от бота в чате выглядят следующим образом. Если аномалия была зафиксирована, то присылается сообщение о самом факте аномалии, и затем — таблица с конкретными данными:



Если аномалия не находится — никакого оповещения не приходит.
Результат 2 — Интерактивный дашборд
Помимо оповещений в Telegram-чат, мы создали дашборд, который содержит анализируемые данные и по-разному их визуализирует. Он позволяет смотреть всю статистику в одном месте, прослеживать динамику и сравнения.
Ниже вы можете видеть некоторые элементы дашборда:
В начале расположены таблицы, в которых показываются:
- Дата
- Количество страниц в индексе
- Количество страниц в индексе 1 и 7 дней назад от даты
- Разница в % количества страниц относительно 1 и 7 дней назад
Значения процентного изменения окрашиваются в разные цвета в зависимости от направления изменения (в минус или в плюс) и того, попадает ли размер изменения в аномальное окно.

Ниже расположены графики динамики:
- График сверху — динамика количества страниц в индексе по дням.
- График снизу — каждая пара столбцов это сравнение в динамики количества страниц в индексе в определенную дату и 7 дней назад.

Также здесь расположены графики процентного изменения. Если столбец смотрит вниз от шкалы X, значит изменение было отрицательным. Если вверх — положительным. Размер столбце — это непосредственно размер изменения.

Немного о реализации и технической стороне
Для того, чтобы можно было выполнить задачу, нам в первую очередь нужны данные, с которыми можно работать.
В StreamMyData есть коннекторы к обеим системам — Яндекс Вебмастеру и Яндекс Метрике. С их помощью мы извлекаем и регулярно обновляем сырые данные о визитах и индексации по всем необходимым доменам, и складываем их в базу данных.
Затем мы написали дополнительный код в инфраструктуре StreamMyData, который каждый день агрегирует сырые данные и ищет аномалии по заданным критериям. Если такие данные находятся, то они передаются в Телеграмм-бота.
Заключение
Результат выполнения задачи автоматизирует рутинные процессы экономит большое количество трудочасов специалистов.
Он не является полноценной заменой сервисов, но позволяет оперативно выявить необычные всплески данных и среагировать на них.