Data Sense в действии: как прошёл хакатон лаборатории СберИндекс

Data Sense в действии: как прошёл хакатон лаборатории СберИндекс

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

Идея провести конкурс родилась у нашей команды во время подготовки июньского хакатона СберИндекса по муниципальной статистике Data→Sense. Мы тогда получили почти 200 заявок — желающих было столько, что штаб-квартира Сбера на Кутузовском просто не смогла вместить всех.

Привет! Меня зовут Маша Хомутова, я дата-сторителлер команды СберИндекса и один из менторов того самого хакатона. Ниже расскажу, как всё прошло, над чем работали участники и какие проекты нас удивили.

Почему муниципалитеты?

Если коротко, у нас было три драйвера:

  • Решения в экономической политике принимаются, в основном, на федеральном уровне, но именно на местном уровне происходит «столкновение» с жизнью – с предприятиями, дорогами, школами, рынками. На уровне районов, округов, муниципалитетов можно увидеть последствия инфраструктурных изменений, мер поддержки, природных катастроф (наводнения, пожары), уловить важные паттерны до того, как они скроются в агрегированных цифрах.
  • Раньше такие данные были просто недоступны.У Росстата есть и законодательное ограничение по сбору информации в высокой детализации, и фактическое — нет инструментов, моделей, данных, методологии. Других качественных источников с муниципальной статистикой крайне мало. СберИндекс впервые предоставил данные по потреблению на уровне 2000+ районов, по сути это результаты наших моделей на детальных транзакционных данных (но не про бизнес Сбера, а про экономику в целом).
  • Команды будут работать над AI-агентами, историями, инфографикой и панелями мониторинга как мостами между статистикой и практическими решениями. Например, применять AI-агентов не для автоматизации процессов в широком смысле, а для поиска инсайтов и управленческих решений.

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

Мы уверены: именно на муниципальном уровне нужны свежие инструменты анализа и визуализации. Хакатон стал нашим способом вовлечь людей, превратить «пассивные цифры» в реальные сервисы и продукты, которые работают на местах.

Почему Хакатон

Для нас определяющими были три фактора:

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


Нам пришло 85 заявок от команд (это 178 участников), из которых мы отобрали 16 (54 участника) для состязания в трех номинациях.

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

С какими данными работали команды

Датасеты СберИндекса:

  • Ежемесячные безналичные потребительские расходы жителей муниципалитетов за 2023–2024 годы с разбивкой по категориям: продовольствие, здоровье, общественное питание, транспорт и маркетплейсы. Это не просто просто транзакционные данные клиентов Сбербанка, в них с помощью алгоритмов и моделей сделана поправка на демографическую структуру населения в локации и учитывается активность клиента.
  • Индекс доступности рынков на 2024 год — это рассчитанный показатель, который количественно оценивает, насколько выгодное экономико-географическом положение у муниципалитета с точки зрения близости к крупным потребительским рынкам (здесь учитываются транспортная связанность территорий, размеры соседних рынков, плотность населения и др.).

Посмотреть метаданные и скачать датасет можно по ссылке.

Дополнительные данные

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

Data Sense в действии: как прошёл хакатон лаборатории СберИндекс

Какие задачи решали команды: разбираем лучшие кейсы

Мы разделили хакатон на три направления — дата-журналистские исследования, создание сервисов на основе данных и визуализация данных и инфографика. Каждое требовало своих навыков: от аналитики и дизайна до продумывания архитектуры решений. Участники могли выбрать одну задачу в рамках направления.

«Чаще всего ребята спрашивали о структуре и специфике показателей и уточняли, как корректно интерпретировать результаты. Один из самых любопытных вопросов был про оценку “эффект живописности” с помощью регрессионного анализа — команда рассчитывала индекс того, насколько живописная местность на основе геоданных. Было интересно наблюдать, как участники постепенно выстраивали свои гипотезы и находили собственные пути к решению»

Эдуард Пономарев, исследователь СберИндекса и ментор на хакатоне

Дата-журналистские исследования

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

Победил проект «Передача муниципалитетов и укрупнение территорий» команды «Номерные»

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

  • Муниципалитеты, в которых доходы жителей которых значительно отличаются от соседних территорий. Например, доходы в Приморском районе в Санкт-Петербурге (в нем находится Лахта-Центр) практически в 4 раза выше, чем в соседних районах.
  • Муниципалитеты с высоким превосходством доходов над расходами, например, Надым, Иннополис, несколько районов на Камчатке и в Санкт-Петербурге. Как правило, дисбаланс связан с тем, что на таких территориях люди только работают, но не проживают. Такие высокодоходные кластеры могут выступить в роли нового рынка для соседей и стать драйверами роста.
  • Слабые и сильные пространственные связи между муниципалитетами. Нашлись как территории внутри одного региона, которые слабо связаны с соседями (Заинский, Мензеленский МО в Татарстане), так и территории из различных регионов, обладающие сильной пространственной корреляцией (районы на границе Псковской и Новгородской областей).

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

Отдельно я запомнила проект «32oldschool». Команда рассчитала индекс пейзажности Тверской области — по рельефу, близости водоёмов и объектам культурного наследия. Самое интересное — экономическая активность оказалась выше в менее «живописных» зонах. Этот неожиданный результат отлично показал, как можно соединять статистику и геоаналитику с реальными историями территорий.

Визуализация данных и инфографика

В этой номинации нужно было превратить сухие таблицы в выразительные образы и представить результаты в виде интерактивной визуализации или статичной инфографики.

Победила команда «Адис-Абеба» с проектом «Consoomer» — это интерактивный дашборд, где визуализирована структура потребительских расходов муниципальных образований России.

«Во время хакатона мы решили не усложнять архитектуру и сосредоточиться на том, чтобы как можно быстрее получить работающий прототип: собрали бессерверное одностраничное приложение на Vite, выложили его на GitHub Pages, а GeoJSON-датасет разместили в репозитории как ассеты»

— поделились ребята из «Адис-Абеба»

В качестве объектов картографирования выбрали муниципалитеты Москвы и Подмосковья, а для визуализации — среднемесячные расходы за 2024 год. От демонстрации данных за весь период наблюдения отказались, так как границы муниципалитетов менялись, и данные было бы сложно сопоставить в короткий срок (проблему изменчивости границ уже разбирал мой коллега Артём, подробнее об это тут)

Чтобы интерфейс показывал и динамику, и пространственное распределение, объединяя относительные и абсолютные значения, использовали MapLibre и Chart.js — при клике на муниципалитет на карте статистика по нему выводилась в инфографической панели. Данные по потребительским расходам команда обработала и собрала в GeoJSON-файл почти со ста колонками: помесячные значения и среднемесячные итоги.

«Изначально мы планировали хранить в geojson только картографируемые величины, а статистику по месяцам доставать по клику из sqlite через FastAPI или Flask, но в итоге вынесли обработку кликов на фронт в целях экономии времени»

— также поделились участники команды.

После победы ребята занялись масштабированием и доработкой проекта:

  • перенесли проект с GitHub Pages на виртуальную машину в Yandex Cloud и опубликовали его на consumapper.ru
  • добавили бэкенд на Flask с базой PostgreSQL и тайлинговым сервером Martin для обработки картографических данных, настроили кэширование векторных тайлов через nginx
  • статичный GeoJSON заменили на векторные тайлы по всей России
  • сделали диаграммы интерактивными, добавили бенчмарки для сравнения районов
  • для большей гибкости отказались от Chart.js в пользу Three.js и D3.js.
  • интегрировали данные о населении: высота трёхмерных полигонов отражает плотность населения, рассчитанную на основе сеточных данных ВШЭ
  • добавили переключение режимов расчёта — можно смотреть как абсолютные, так и процентные значения категорий, а также данные брутто или по паритету покупательной способности.

Мы несколько раз созванивались с командой, чтобы обсудить их доработки, обменятся опытом и наметить точки дальнейшего сотрудничества. Consoomer — отличный пример того, как хакатон может работать катализатором. Участники не просто собрали прототип, а превратили его в полноценный сервис.

Еще мне очень понравилась инфографика команды «Муромские зори». Это постер с 20 крупнейшими агломерациями страны. Там сравнивались плотность населения, расходы и расстояние до центра агломерации. Очень лаконично, но емко и визуально привлекательно. Этот проект не стал победителем, но был отмечен членами жюри.

Создание сервисов на основе данных

Третий трек — самый технологичный. Команды создавали инструменты, которые делают статистику понятной и интерактивной: от аналитических панелей до AI-помощников.

Мы ориентировали команды на использование инструментов с открытым кодом и отечественных решений — чтобы их проекты были воспроизводимыми и устойчивыми к ограничениям доступа. Это направление стало самым технологически насыщенным.

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

Самый качественный и проработанный проект представила команда «FCS Vibes» — агента, который формулирует SQL-запросы по описанию на естественном языке, находит нужные данные, анализирует их на аномалии и тренды, а потом формирует короткий текстовый отчёт. Система построена на базе GigaChat и использует мультиагентный подход. Каждый агент отвечает за свой этап:

· agent0_coordinator: определяет, нужно ли задействовать задействования детектор аномалий и трендов; · agent1_rephraser: преобразует пользовательский промпт в формализованную версию; · agent2_planner: создаёт план выполнения на основе формализованного запроса (с RAG-контекстом); · agent3_sql_generator: создаёт SQL-запрос на основе плана (с RAG- контекстом); · agent_sql_validator: проверяет SQL-запрос на валидность и соответствие плану; · agent_sql_fixer: исправляет SQL-запрос, если валидация провалилась; · agent_anomaly_detector: анализирует результаты SQL на выбросы/аномалии; · agent_rag_retriever: ищет похожие прошлые запросы в базе знаний для ускорения или улучшения обработки.

Запрос пользователя сначала проходит через RAG агента, он определяет, был ли такой же запрос в прошлом с успешным ответом. Если в прошлом запрашивалось то же самое, то бот достает
успешный ответ из базы данных, пропуская необходимость новых генераций. Если агент считает, что есть похожие запросы, то он может добавить пару запрос-ответ в контекст для следующих агентов для улучшения качества. В противном случае он ничего не делает и пропускает запрос нулевому агенту.

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

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

Data Sense в действии: как прошёл хакатон лаборатории СберИндекс

Итоги и планы

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

«Хакатон короткий — нужно быстро принимать решения и проверять гипотезы. У многих команд были сильные идеи, но буквально не хватало пары часов, чтобы довести проекты до блестящего результата»

Эдуард Пономарев, исследователь СберИндекса и ментор на хакатоне

Мне, как ментору, было заметно: скиллы в работе с данными у ребят отличные, а вот насмотренности и опыта в датавизе и инфографике порой не хватало. А ведь именно визуализация и сторителлинг превращают статистику в понятный инструмент.

Поэтому мы решили сделать продолжение — онлайн-конкурс “Муниципальный код”, где у участников будет больше времени и простора для экспериментов и проработки визуального представления.

В конкурсе две номинации — дата-истории и визуализация данных и инфографика. Формат с AI-помощниками мы решили пока отложить — это отдельная история, требующая другого темпа и подхода.

В следующем году хотим повторить офлайн-хакатон — уже на новых датасетах, которые успеет собрать команда исследователей!

10
1
10 комментариев