Дата-журналистика — это направление журналистики, в котором для создания статей и материалов используются количественные данные. Например, данные о заболеваемости ВИЧ, частота встречаемости слов в романе или контракты госзакупок. На основе данных журналисты выявляют закономерности и не видимые на первый взгляд проблемы, а результаты публикуют в виде расследований, статей, мультимедийных проектов или визуализаций. В «Системном Блоке» этому посвящена целая рубрика «Инфографика», из которой можно узнать о том, как бездомность сокращает жизнь, как политические события влияют на книжный рынок и сколько в российских школах учителей-мужчин.
Этапы создания дата-журналистского исследования: выбор темы, постановка вопроса и выработка гипотез, поиск и подготовка данных, проверка выдвинутых гипотез, визуализация, подготовка текста.
При выборе темы журналист отталкивается от интереса читателя либо от запроса издания, в котором будет опубликован материал. Проще всего узнать интересы целевой группы — изучить социологические опросы, обратить внимание на потенциально популярные, виральные или острые темы, провести анализ поисковых запросов.
Бывают случаи, когда текст рождается из данных, то есть мы видим аномальное значение или большой рост показателя и пишем об этом. Например, в 2024 году число призывников, проходящих альтернативную гражданскую службу, рекордно выросло. В подобных случаях мы пишем об аномалии и ищем экспертов, которые могут объяснить это. Но сами данные нам не раскроют причину, только покажут явление.
Борис Ги, дата-журналист
Когда тема сформулирована, можно выдвинуть несколько гипотез, которые вы будете проверять впоследствии.
Гипотеза — это предположение, которое формулируется перед началом исследования и которое подтверждается или опровергается эмпирически по ходу работы. Гипотеза описывается формально, она включает в себя возможный ответ на вопрос, раскрывающий тему исследования. Часто требуется перепроверять и корректировать идеи, поэтому не нужно бояться выдвигать новые гипотезы.
Например, в исследовании «Системного Блока» про призыв в Великую Отечественную войну была сформулирована гипотеза о том, что доля населения, призванная в армию из разных республик, была примерно одинаковой. Но в процессе анализа эта гипотеза не подтвердилась. В то же время у исследователей были вопросы, на которые они хотели получить ответ (например, как повлияли на призыв сталинские ограничения на призыв некоторых народов на фронт). Иногда не гипотезы, а именно исследовательские вопросы задают направление работы: например, как повлияли на статистику негласные запреты на призыв в отношении некоторых народов СССР.
Еще направление работы могут подсказать сами данные. Но что делать, когда данные только предстоит найти в соответствии с выбранной темой и гипотезами?
Получить данные можно разными способами. Например:
Главное при выборе источников данных — убедиться, что они отражают предмет исследования. Если вы пользуетесь готовыми датасетами, важно понимать, кем и как они получены, и что именно описывают данные. Вопросы о том, кто собрал данные, когда, где, при каких обстоятельствах и с какой целью, позволяют полноценно понять их специфику, дают возможность избежать неверных трактовок. Журналист должен найти верную методологию расчета или форму статистического наблюдения.
В качестве примера можно рассмотреть такой показатель, как статистика абортов. На ЕМИСС есть показатель «Число прерываний беременности» (их два, первый собирает Росстат, второй — Минздрав). Нужно взять первый, поскольку Росстат включает и негосударственные клиники. На первый взгляд, эти данные можно интерпретировать как число «искусственных» абортов, то есть случаев, когда женщина приходит в больницу и прерывает беременность. Для проверки нужно открыть форму 1-здрав (можно найти по ссылке в паспорте показателя). Раздел формы называется немного иначе — «Сведения о беременности с абортивным исходом», а в общее число входят как медицинские, так и самопроизвольные аборты (т.е. выкидыши).
Иногда необходимо возобновлять отбор данных, так как ход работы показывает, что на основе имеющихся невозможно сделать выводы, что они нерепрезентативны. У данных могут быть ограничения, незаметные на первый взгляд. О них можно узнать от экспертов, профильных специалистов или из литературы, но не из самой формы. Например, официальные данные по ожирению занижены, поскольку ожирение часто идет сопутствующим, а не основным, заболеванием и не попадает в статистическую карточку, которую заполняют в больнице.
После того, как данные найдены, переходим к их подготовке для дальнейшего изучения. Очистка данных, или препроцессинг, — один из обязательных этапов, поскольку готовых машиночитаемых данных практически не бывает.
Некоторые открытые данные приходится конвертировать в нужный формат, так как расширение, в котором они опубликованы (например, .pdf), не позволяет считывать хранящуюся в них информацию корректно. Конвертируют данные в машиночитаемый формат (например, XLSX, CSV и т. д.) с помощью библиотек python или другого языка, онлайн инструментов и т. п., а в самых простых случаях с помощью копирования и вставки.
После конвертации данные проверяются на ошибки и чистятся вручную. Это можно сделать с помощью, например, табличных операторов: подсчитать суммы по регионам и сравнить их с данными, которые есть (строчка «Россия» должна совпадать с суммой по регионам); унифицировать названия показателей, регионов; проверить опечатки (вместо запятой может быть точка или запятая может быть в неправильном месте) и т. д.
Обработка большого объема информации (проверка на наличие ошибок, удаление или замена пропусков и дублей) занимает немало времени, но это обязательно условие для того, чтобы получить «чистый» датасет. Важно, чтобы полученная таблица была единой (а не несколько разных таблиц на одном листе, как часто бывает в Excel).
В исследовании «Системного Блока» о призыве в Великую Отечественную войну работа с данными началась с предварительного анализа. У исследователей были оцифрованные архивные карточки о военных потерях, госпиталях, военно-пересыльных пунктах и многом другом. Один из авторов исследования, Илья Воронцов, объяснил, что после просмотра данных они решили остановиться на военно-пересыльных пунктах, так как эти данные были наиболее понятны по сравнению с другими.
Считать число Михаилов на фронте можно, но бессмысленно. Считать деревни, в которых проживали призывники тоже было нецелесообразно: много опечаток, одинаковых названий для разных мест и, главное, пропусков. В итоге мы взяли даты и места призыва на фронт.
Илья Воронцов, один из авторов исследования о призыве, сотрудник ИОГен РАН
После подготовки данных у авторов получились таблицы такого формата:
Это пример машиночитаемой таблицы без объединенных ячеек, декоративных элементов или пропусков. По строкам в ней расположены объекты, а по столбцам — их характеристики.
После подготовительной части исследования дата-журналист приступает к поиску ответов на исследовательские вопросы и проверке выдвинутых гипотез. Поставленные гипотезы надо перевести на формальный язык: что и как надо измерять, чтобы проверить гипотезу, что будет считаться её подтверждением или опровержением. Это обязательно нужно сделать до начала расчетов, иначе есть риск влияния полученного результата на выводы. В процессе работы полезно изучить разные срезы данных. Например, можно подсчитать среднее значение, медиану или моду, а также проанализировать выбросы. Стоит посмотреть и на конкретные примеры данных. Это может привести к уточнению гипотез и появлению новых.
Например, при работе «Системного Блока» над исследованием о призыве выяснилось, что в данных место призыва порой указывалось с административно-территориальным делением. Чтобы посмотреть, откуда и в какое время призывались люди, был сделан простой фильтр на регулярных выражениях. Таким образом удалось вычленить месяцы призыва и места — республики, области, края и прочие крупные регионы.
def normalize_place(place)
place
.sub(/\b(([УГРОКП]?|Обл|Респ|УО)ВК) /i, '\1, ')
.sub(/\b(ССР|АССР|АО|НО) /, '\1, ')
.sub(/\b(область|обл\.?|край|уезд|губ\.?|воеводство|воев\.?|волость|вол\.?) /, '\1, ')
end
def tokenize(place)
place.split(',').map(&:strip).reject(&:empty?).uniq.sort
end
def is_republic(str)
str.match(/\b(ССР|АССР|АО|НО|Германия|Австрия|Польша|Болгария)\b/i)
end
def is_subrepublic(str)
false # fake function
end
def is_oblast(str)
str.match(/\b(область|обл\.?|край|уезд|губ\.?|воеводство|воев\.?|волость|вол\.?|Восточная Пруссия)\b/i)
end
В ходе работы исследователи искали таблицы переписи, по которым можно было бы нормировать уровень призыва на размер региона. Так как регионов получилось слишком много, они были укрупнены до уровня союзных республик. Для этого число призванных делили на население республики, а потом умножали на тысячу, чтобы получить число призванных (но только учтенных в БД) на 1000 человек.
Также была предпринята попытка заполнить как можно больше пропусков в данных. Например, плохо заполненные карточки, в которых не был указан месяц призыва, а только год, распределяли между разными месяцами года в тех же пропорциях, что и хорошо заполненные карточки того же региона.
Чтобы проанализировать динамику процесса призыва, исследователи разбили данные по возрастам призывников, а также посмотрели, почему в каких-то регионах резко росло или падало число призывов в определенные годы. Это позволило обнаружить несколько факторов, влияющих на призыв: крупные территориальные изменения, приказы о призыве, ограничения на службу для лиц некоторых национальностей, трудовая мобилизация и прочее.
Многие сюжеты, которые развивались во время исследования, не попали в итоговый материал, потому что их не удавалось «докрутить» и статистически подтвердить. Например, это случаи, когда призывники родились в одной республике, но были призваны в другой, а также вопросы, касающиеся военно-учетных специальностей, рангов призывников, разницы в призыве на военную службу мужчин и женщин. Такой подход показывает, что зачастую приходится развивать несколько идей, чтобы получить хотя бы один достойный публикации результат.
Создание законченной журналистской истории является целью всех предшествующих этапов. Материал должен собрать всю фактуру, данные, визуализацию, полученные выводы. По формату это может быть:
Итогом исследования может стать сложная интерактивная визуализация (например, граф) или карта, в таком случае текст помогает объяснить найденные связи и закономерности. Порой текст почти не нужен, к примеру, когда не требуется дополнительно пояснять результаты, так как они сполна раскрыты при помощи графиков и их интерфейса.
Получив результат анализа данных, можно переходить к визуализации. Инструментами визуализации могут быть графики, карты или схемы. Они помогают читателю увидеть, к чему вы пришли, и убедить его в достоверности ваших выводов. В этом материале «Системного Блока» подробно рассказывается о разных видах визуализации.
В процессе анализа данных строится много черновых визуализаций. Они могут быть некрасивыми и перегруженными. Главное, что они позволяют лучше понять, что есть в данных и чего в них нет.
Вот примеры черновых визуализаций, которые создавались во время работы над нашим исследованием школьного литературного канона.
Во время работы над материалом дата-журналисты используют инструменты для сбора, очистки, анализа и визуализации данных. В большинстве своем они бесплатные, или бесплатной версии программы достаточно для работы даже небольшой команды. Также нередко дата-журналисты учатся программировать, так как с помощью кода некоторые задачи решаются быстрее.
Иногда данные нельзя скачать в виде готовых файлов. При этом видно, что данные есть, например, каталог онлайн-магазина или решения суда из ГАС «Правосудие». Такие данные можно спарсить, написав код на Python. Некоторые сайты предоставляют API для более легкого доступа к данным и чтобы сайт не перегружали запросами.
Данные с простых сайтов можно собирать с помощью плагинов для браузера. Тогда вам не потребуется программирование. Например, можно использовать WebScraper. Существуют также плагины для захвата таблиц с сайта, например, Table Capture, которые часто используют в простых случаях.
Если вы не умеете программировать, можно использовать любую доступную вам нейросеть, чтобы написать код для скрейпинга.
Подходит для первичного анализа данных, можно убрать дубликаты, посмотреть число пропусков, а с помощью сводных таблиц сгруппировать данные по нужным категориям. Также можно построить первые графики. Минусы: не откроет большие файлы.
Подойдет, когда есть много однотипных строк, например, адресов (Санкт-Петербург, Санкт Петербург, Петербург, Ст. Петербург и т. п.), которые нужно привести к одному виду.
Программы для текстового анализа, которые позволяют не только исследовать тексты количественно, но и визуализировать результаты. Инструкции по их использованию можно прочитать здесь, здесь и здесь.
Пригодится, если вы работаете с сетевыми данными, например, пользователями социальной сети. Можно визуализировать граф, выделить главные узлы — участников сети. О том, как это сделать, можно прочитать в нашем материале.
едактор кода. Даже если вы сами не пишите код, вполне возможно, что вам пришлют его коллеги и скажут «просто запустить». В редакторе кода это будет сделать проще. Jupyter Notebook позволяет запускать код пошагово и сразу видеть результаты. Google Colab его онлайн аналог, преимущество последнего — вы можете задействовать мощности виртуальной машины, если вам не хватает своей.
Python — универсальный язык, с помощью которого можно собирать данные, чистить, анализировать и визуализировать. R чаще используют исследователи.
ChatGPT пишет код, в том числе и для скрейпинга сайтов, очистки и анализа данных, визуализации и вообще для всего, что попросишь и что реализуемо на языках программирования. Подсказки модели часто эффективнее, чем поиск по Stackoverflow. Натренированная модель сможет отредактировать ваш текст, исправить опечатки и ошибки, убрать лишнее. С поиском данных модели пока справляются не очень хорошо.
Можно использовать его или аналогичные системы для анализа, рабочих визуализаций, даже очистки данных и расчетов.
Онлайн-инструмент для создания графиков и карт. Есть шаблоны для всех основных типов графиков, много можно кастомизировать с помощью подписей и верстки в них. Можно выгрузить график как SVG и довести его до идеала в редакторе. Готовые графики можно легко встроить на сайт.
Еще один онлайн-инструмент. Как и в DW, есть шаблоны, здесь их даже больше. В отличие от Datawrapper, дает больше возможностей для интерактивных форматов. Визуализации в Flourish можно объединить в одну историю и встроить на сайт единым слайдшоу. Минусы: не работает без VPN в России.
Конструктор визуализаций, подходит для создания черновых заготовок графиков.
Графический редактор, в котором ваши визуализации можно довести до финального вида, если вам не хватает функциональности готовых инструментов. Также можно использовать другие редакторы: Abobe Photoshop, Adobe Illustrator, Krita, InkSpace и пр.
Для работы с картами, на случай, если не получается сделать карту в Datawrapper.
Нодовый редактор, позволяет делать сложные визуализации и анимировать их.
Конструктор сайтов, на котором вы можете создать страницу своего материала и с помощью блоков собрать на ней текст и графики.
Если вы уже положили ваш код в гит-репозиторий, то там же можно сверстать ваш материал.
Если вы планируете полноценную работу редакции и постоянный выпуск материалов, можно посмотреть в сторону различных CMS. Самой популярной остается WordPress, к ней можно найти множество шаблонов и плагинов, которые решают основные задачи при создании сайта (настройка аналитики, оптимизация контента и пр).
«Как российские регионы борются с ВИЧ и где ситуация хуже всего: рейтинг “Если быть точным”». Авторы исследуют борьбу с ВИЧ в России и составляют рейтинг наиболее и наименее благополучных регионов.
«От Слоновой до Мухинской: животные в названиях российских улиц». Исследование на материале данных Яндекс.Карт об особенностях упоминаний животных в названиях российских улиц.
«В погоне за “Оскаром”». Проект РИА Новостей о фильмах, которые созданы с целью получить «Оскар» за самые престижные номинации фестиваля.
«Как месяц рождения влияет на успехи в спорте». Материал Т—Ж об эффекте относительного возраста — феномене, при котором дети, рождённые в начале года, могут иметь преимущество в спорте по сравнению с одногодками, рождёнными позже позже.
У «Системного Блока» тоже есть примеры дата-исследований.
«Классное чтение: школьная программа по литературе от Октябрьской революции до ЕГЭ». Исследование состава программ по литературе с 1919 по 2022 годы.
«Миссия России, деградация Европы: какие патриотические фильмы заказывает Минкульт РФ». Материал рассказывает, о чем снимают патриотические фильмы, какое финансирование от Минкульта они получают и как окупаются в прокате.
«Восток, пираты и митрополит: что происходит на книжном рынке». Анализ состояния книжного рынка в 2023 году: самые продаваемые книги и самые издаваемые авторы.
«Замкнутый круг: в каких городах России не строят метро, но обещают». Исследование перспектив и темпов строительства метро в российских городах.
«9988 слов о последнем десятилетии». Текстовый анализ того, как новый учебник истории для 11 класса рассказывает о современных событиях.
Представляем подборку образовательных программ в российских вузах, где можно обучаться дата-журналистике.
Авторы: Полина Налобина, Дарья Половникова
Редактор: Системный Блокъ
Иллюстрации: Евгения Родикова, София Лекомцева
Эксперты: Борис Ги, Илья Воронцов, Ксения Тихомирова
Куратор проекта: Илья Булгаков