Data Sense в действии: как прошёл хакатон лаборатории СберИндекс
14 ноября завершился приём работ на первый конкурс СберИндекса по дата-историям и визуализации данных «Муниципальный код». Мы приглашали аналитиков, исследователей, дизайнеров, инфографов рассказать истории о муниципалитетах страны через цифры, графики и карты.
Идея провести конкурс родилась у нашей команды во время подготовки июньского хакатона СберИндекса по муниципальной статистике Data→Sense. Мы тогда получили почти 200 заявок — желающих было столько, что штаб-квартира Сбера на Кутузовском просто не смогла вместить всех.
Привет! Меня зовут Маша Хомутова, я дата-сторителлер команды СберИндекса и один из менторов того самого хакатона. Ниже расскажу, как всё прошло, над чем работали участники и какие проекты нас удивили.
Почему муниципалитеты?
Если коротко, у нас было три драйвера:
- Решения в экономической политике принимаются, в основном, на федеральном уровне, но именно на местном уровне происходит «столкновение» с жизнью – с предприятиями, дорогами, школами, рынками. На уровне районов, округов, муниципалитетов можно увидеть последствия инфраструктурных изменений, мер поддержки, природных катастроф (наводнения, пожары), уловить важные паттерны до того, как они скроются в агрегированных цифрах.
- Раньше такие данные были просто недоступны.У Росстата есть и законодательное ограничение по сбору информации в высокой детализации, и фактическое — нет инструментов, моделей, данных, методологии. Других качественных источников с муниципальной статистикой крайне мало. СберИндекс впервые предоставил данные по потреблению на уровне 2000+ районов, по сути это результаты наших моделей на детальных транзакционных данных (но не про бизнес Сбера, а про экономику в целом).
- Команды будут работать над AI-агентами, историями, инфографикой и панелями мониторинга как мостами между статистикой и практическими решениями. Например, применять AI-агентов не для автоматизации процессов в широком смысле, а для поиска инсайтов и управленческих решений.
Экономическая статистика часто кажется скучной — таблицы, PDF-отчёты. Но на самом деле она рассказывает о людях, их привычках и особенностях среды, и может стать инструментом трансформации городской среды.
Мы уверены: именно на муниципальном уровне нужны свежие инструменты анализа и визуализации. Хакатон стал нашим способом вовлечь людей, превратить «пассивные цифры» в реальные сервисы и продукты, которые работают на местах.
Почему Хакатон
Для нас определяющими были три фактора:
- низкий порог входа: не нужно быть профессиональным статистиком, чтобы начать, и в команду можно собрать людей с разным уровнем компетенций;
- формат быстрых экспериментов: идеи проверяются за день-два, и сразу становится видно, какие гипотезы жизнеспособны;
социальный катализатор: участники из разных сфер объединяются вокруг городских проблем и находят новые и нетривиальные способы их решать через данные.
Нам пришло 85 заявок от команд (это 178 участников), из которых мы отобрали 16 (54 участника) для состязания в трех номинациях.
В Лаборатории мы постоянно копаемся в цифрах: я — чтобы рассказать интересные находки широкой аудитории, исследователи — чтобы разработать экспериментальные показатели и новые модели. На хакатоне нам хотелось взглянуть на эти данные под другим углом — поддержать проекты, которые не просто анализируют цифры, а помогают увидеть, как территории развиваются и меняются на самом деле.
С какими данными работали команды
Датасеты СберИндекса:
- Ежемесячные безналичные потребительские расходы жителей муниципалитетов за 2023–2024 годы с разбивкой по категориям: продовольствие, здоровье, общественное питание, транспорт и маркетплейсы. Это не просто просто транзакционные данные клиентов Сбербанка, в них с помощью алгоритмов и моделей сделана поправка на демографическую структуру населения в локации и учитывается активность клиента.
- Индекс доступности рынков на 2024 год — это рассчитанный показатель, который количественно оценивает, насколько выгодное экономико-географическом положение у муниципалитета с точки зрения близости к крупным потребительским рынкам (здесь учитываются транспортная связанность территорий, размеры соседних рынков, плотность населения и др.).
Посмотреть метаданные и скачать датасет можно по ссылке.
Дополнительные данные
К основным датасетам мы добавили обработанный набор открытых данных Росстата по населению, миграции, зарплатам и автодорожным связям между муниципалитетами. А менторы в процессе хакатона делились дополнительными источниками по муниципалитетам и городам России. Среди них были:
- Публичный реестр инфраструктуры связи и телерадиовещания РФ
- Сведения об инфраструктуре магистральных каналов связи с привязкой к городам
- Гайд по работе с Российской базой бухгалтерской отчетности от Института проблем правоприменения
- ДомКлик
- База данных ВЭБ Индекс по 218 городам России
- Единое Хранилище Данных Москвы
- Показатели жилищного строительства Дом.рф
Какие задачи решали команды: разбираем лучшие кейсы
Мы разделили хакатон на три направления — дата-журналистские исследования, создание сервисов на основе данных и визуализация данных и инфографика. Каждое требовало своих навыков: от аналитики и дизайна до продумывания архитектуры решений. Участники могли выбрать одну задачу в рамках направления.
«Чаще всего ребята спрашивали о структуре и специфике показателей и уточняли, как корректно интерпретировать результаты. Один из самых любопытных вопросов был про оценку “эффект живописности” с помощью регрессионного анализа — команда рассчитывала индекс того, насколько живописная местность на основе геоданных. Было интересно наблюдать, как участники постепенно выстраивали свои гипотезы и находили собственные пути к решению»
Дата-журналистские исследования
В этом треке команды соединяли исследовательский подход, работу с гипотезами, визуализацию данных и сторителлинг.
Победил проект «Передача муниципалитетов и укрупнение территорий» команды «Номерные»
Ребята исследовали, может ли изменение административных границ влиять на благосостояние регионов: с помощью инструментов геоаналитики и данных о потреблении и доходах нашли территории-доноры роста, «аномальные» кластеры доходов и слабые связи между соседями. За время хакатона ребята выявили предпосылки таких трансформаций.
- Муниципалитеты, в которых доходы жителей которых значительно отличаются от соседних территорий. Например, доходы в Приморском районе в Санкт-Петербурге (в нем находится Лахта-Центр) практически в 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 и использует мультиагентный подход. Каждый агент отвечает за свой этап:
Запрос пользователя сначала проходит через RAG агента, он определяет, был ли такой же запрос в прошлом с успешным ответом. Если в прошлом запрашивалось то же самое, то бот достает
успешный ответ из базы данных, пропуская необходимость новых генераций. Если агент считает, что есть похожие запросы, то он может добавить пару запрос-ответ в контекст для следующих агентов для улучшения качества. В противном случае он ничего не делает и пропускает запрос нулевому агенту.
Получился рабочий прототип умного помощника, который может серьёзно ускорить аналитику данных и автоматизировать многие типовые запросы. После хакатона ребята обернули проект в Docker и довели до рабочего прототипа.
Для нас это был отличный пример того, как AI можно использовать не “ради AI”, а как интерфейс между статистикой и действиями.
Итоги и планы
Главным ограничением хакатона стало время. Команды хорошо справлялись с анализом, но не в каждом кейсе удалось перейти к визуализации и оформить результаты в законченную историю.
«Хакатон короткий — нужно быстро принимать решения и проверять гипотезы. У многих команд были сильные идеи, но буквально не хватало пары часов, чтобы довести проекты до блестящего результата»
Мне, как ментору, было заметно: скиллы в работе с данными у ребят отличные, а вот насмотренности и опыта в датавизе и инфографике порой не хватало. А ведь именно визуализация и сторителлинг превращают статистику в понятный инструмент.
Поэтому мы решили сделать продолжение — онлайн-конкурс “Муниципальный код”, где у участников будет больше времени и простора для экспериментов и проработки визуального представления.
В конкурсе две номинации — дата-истории и визуализация данных и инфографика. Формат с AI-помощниками мы решили пока отложить — это отдельная история, требующая другого темпа и подхода.
В следующем году хотим повторить офлайн-хакатон — уже на новых датасетах, которые успеет собрать команда исследователей!