Все проекты

Мониторинг экономических данных

Автоматизированная система мониторинга и аналитики экономических данных из разрозненных внешних источников

Бэкенд аналитического продукта, сделанный под ключ: от discovery и проработки показателей через автоматизированный сбор с сайтов и разбор Excel-выгрузок до расчётов, REST API и 4 лет поддержки в production. Данные приходят из 7 внешних источников, у большинства из которых нет API.

7
внешних источников данных
≈50
показателей и срезов
4×/месяц
автоматическое обновление
4 года
в production
Мониторинг экономических данных

Контекст

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

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

Исходные данные были распределены между 7 внешними источниками, включая сайты различных организаций и регулярно публикуемые Excel-выгрузки. У большинства источников не было API.

За что отвечали мы

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

1

Исследование

  • Discovery и бизнес-анализ
  • Состав показателей и аналитических срезов
  • Проверка и обсуждение предоставленных методик расчёта
2

Разработка

  • Архитектура бэкенда
  • Автоматизированный сбор данных с внешних сайтов
  • Обработка и разбор Excel-выгрузок
  • Нормализация и агрегация данных
  • Расчётная логика
  • REST API для фронтенда
3

Запуск

  • Помощь с развёртыванием
4

Поддержка

  • Дальнейшая поддержка и развитие системы

Решение

Видимая часть продукта: графики и дашборды на сайте клиента. За ними работает pipeline, который превращает разрозненные внешние данные в рассчитанные показатели.

  • Автоматизированный сбор данных через Selenium для источников без API
  • Отдельный модуль разбирает Excel-выгрузки со сложной структурой: находит нужные таблицы, строки и показатели
  • Нормализация всех входящих данных к единой внутренней структуре
  • Агрегация по всем 7 источникам и расчёт около 50 показателей и представлений
  • Результаты хранятся в PostgreSQL и отдаются фронтенду через REST API
  • Полный цикл обновления выполняется автоматически 4 раза в месяц
  • Новые показатели и отчёты добавляются по мере развития продукта

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

Скриншоты

Результат

Система стала основой данных публичного аналитического продукта клиента.

  • Автоматизирован сбор данных из 7 внешних источников
  • Обрабатываются и веб-источники, и Excel-выгрузки
  • Рассчитывается около 50 показателей и аналитических представлений
  • Единый бэкенд для сбора, нормализации, агрегации и расчётов
  • REST API для интеграции с фронтендом
  • Данные обновляются автоматически 4 раза в месяц
  • Новые показатели и отчёты добавляются по мере развития аналитического продукта

Сроки

Первая рабочая версия системы была разработана примерно за 1,5 месяца.

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

Технологии

JavaSpring BootSeleniumPostgreSQLApache POI

Бэкенд полностью на стороне NekaSoft: сбор, разбор, нормализация, расчёты и REST API. Фронтенд делала отдельная команда, методология расчётов была предоставлена специалистами клиента, NekaSoft участвовал в её проверке.

Данные, которые нужны вашему продукту, разбросаны по источникам, не рассчитанным на интеграцию?