Под катом вы найдёте расшифровку лекции Андрея karmatsky. Он долгое время руководил службой дизайна геоинформационных сервисов Яндекса, а затем основал компанию Urbica, которая занимается анализом и обработкой городских данных. Андрей рассказывает о примерах того, как подход, ориентированный на данные, помогает улучшать городские сервисы.
Большая часть слайдов — тоже под катом.
Я Андрей Кармацкий, я руковожу компанией Urbica. Компания изначально задумывалась как студия по визуализации данных, но поняли, что работа с данными нужна не для того, чтобы делать красивые картинки.
Я не нашел удачного перевода этого слова. Если кто-то хорошо знает английский, то «tinkering» — что-то связанное с паянием, починением примусов, ведь чтобы получить красивую картинку для слайдов, нужно делать очень много разных хитрых хаков, экспериментов с данными. Даже сейчас модно говорить про машинное обучение. В конечном счете все сходится к тому, что нужно подбирать параметры и найти какую-то модель. В целом, кажется, мы здесь очень схожи. Я ловлю себя на том, что обычно наша команда постоянно этим занимается, так что мы находимся в экспериментально-прикладном инженерном процессе, где что-то варится-варится-варится, делается, и вдруг что-то получается.
Я хочу поделиться историей, которая меня очень вдохновляет. Она то есть из прошлого, из конца XIX века. Был такой замечательный промышленник Чарльз Бут. Если кто-то не слышал про карту бедности Лондона, то я вкратце перескажу его историю. Бут, будучи достаточно успешным предпринимателем, решил попробовать решить проблему в стране, в Англии, в конце XIX века. Что он сделал?
Он собрал команду, которая занимались исследованием городской среды. Его ассистенты ходили по городу на протяжении 17 лет со специальными блокнотами, куда записывали свои наблюдения. Они жили в семьях, интервьюировали людей, пытались понять, как город живет, какие у него проблемы, какие трудности именно в разрезе решения проблемы бедности.
В конечном счете Бут опубликовал две карты с интервалом в 10 лет. Все данные, которые они собирали в своих блокнотах и записях, они картировали. Эта карта показывает параметр, который сейчас называется «уровень дохода населения». Ранее никто этим не занимался. Они собрали карту, в которой очень хорошо видно, что черные домики — это бедные горожане, а красные — зажиточный, богатый слой населения. И он очень наглядно, доступно показал, насколько общество расслоено, насколько они соседствуют. Вы же понимаете, что конец XIX века — это не так классно. Во-первых, это индустриализация, это эпоха паровых машин, копоть, грязь, а во-вторых — антисанитария. Соседство разных слоев населения — это и обострённая криминогенная обстановка, и вообще некоторое здоровье общества. Так что если кто-то знает и хочет детально посмотреть, «карта бедности Лондона» — одна из основополагающих, по крайней мере вдохновляющих меня историй, потому что после нее, например, в парламенте произошли ряд существенных изменений законодательства. В том числе введение пенсии по старости непосредственно приписывают череде событий, которые проистекали из этого исследования.
Занимаясь данными, я пришел к одной мысли… Это не аксиома, потому что я написал два слова и фоном запустил картинку с заказом такси, чтобы не было так скучно. Потому что это просто визуализация. Но самое важное, что когда мы занимаемся какими-то проектами с данными, у нас всегда есть два суперважных ингредиента. Чтобы что-то получилось, нужно задать себе вопрос: какую проблему мы хотим решить, зачем мы это делаем, что должно получиться в итоге? Судя по куче вопросов к предыдущему докладчику, всегда возникают вопросы про данные: «А где данные? Что нужно исследовать?». И мы всегда наблюдаем две или три ситуации. Идеальная ситуация — когда у нас есть и хорошая задача, и хорошие данные, которые структурированы. Например, данные мобильных операторов. Они сложены в CSV, все суперздорово. Мы все это можем скашеварить и получить какой-то ответ.
Другая ситуация — когда, например, у нас есть только проблема и нет данных. Третья ситуация связана с фоновым слайдом. Это когда «У нас есть классные данные. Давайте что-нибудь покрутим, и будет прикольно». И получаются классные, но бесполезные визуализации.
Когда данных много и когда они хорошо структурированы… Вы прекрасно знаете, поскольку многие из вас работают с данными, что можно легко перейти к стадии, когда вы можете наблюдать паттерны. Например, взяв хорошо структурированный набор данных о велопоездках в Нью-Йорке — есть открытые данные о велопрокатах и загруженности станций, — мы можем видеть паттерны и узнать, например, куда люди ездят или как балансируют велосипеды. Мой коллега после перерыва детально расскажет про московский «Велобайк», потому что там всё не так очевидно и нет такого существенного набора данных, позволяющего увидеть паттерны, и задача становится в разы интереснее.
Тем не менее, наш эксперимент с открытыми данными по Нью-Йорку говорит в том числе примерно о том, о чем говорил Егор: что есть ряд станций и если, например, взять и положить данные о загруженности станции в среднем в течение дня по будням и как-то разбить их на кучки, то мы увидим три совершенно четких паттерна. Одни станции наполнены велосипедами утром, пустеют днем, а другие работают наоборот. О чем это говорит?
Это не что иное, как трудовая маятниковая миграция.
Люди, живя, например, на каком-нибудь Ист-Сайде и работая в центре Манхэттена, берут велосипед и перемещаются на работу. Это очень хорошо видно, и такие паттерны легко проследить, когда у нас данных много и они хорошо структурированы. Мы очень легко перешли к стадии, когда мы можем взять какой-то сет данных и легко увидеть паттерны. Дальше уже некоторый простор для творчества с этими данными.
Что же делать, когда, например, данных у нас нет? Гораздо интереснее об этом поговорить, правда? Или, например, самое простое — взять данные и пойти их купить. Правда? У вас есть много денег, вы идёте, покупаете данные. Если вы не знаете, где купить данные, то находите того, кто знает. Он берет свой процент, находит данные или собирает, структурирует и т. д.
В нашем скромном опыте было участие в таком проекте… Если кто-то знает, в прошлом году был открытый конкурс на реконструкцию советских кинотеатров. Один из застройщиков купил у города 39 московских старых кинотеатров, построенных в 1960-х годах, и взял на себя некоторые обязательства на тему того, чтобы не превращать их в торговые центры, а сделать какую-то социально значимую функцию. То есть нужно было сделать эти точки непосредственно в районах, поскольку они все разбросаны по городу, более полезными — кроме торговых центров. Понятно, что здесь задача в коммерческом успехе, но еще нужно было реализовать некоторую социальную функцию. И вот этот застройщик объявил конкурс на тему «Давайте что-нибудь придумаем». Мы помогали одной из конкурсных команд «Aventica» и Nowadays Office обработать данные и предложить какое-то функциональное наполнение. Что в данном случае стоит рассматривать? Если совсем упростить, то условия очень близки к геомаркетинговой задаче. Если кто-то слышал про геомаркетинг, про развитие сети, то что нам нужно сделать? Нам нужно понять спрос в какой-то конкретной локации. То есть речь идет либо о данных БТИ, либо, например, о количестве жителей по данным мобильных операторов. В этом случае мы посчитали просто по реформе ЖКХ — вы знаете, есть открытый сет данных, можно просто, зная среднее количество человек на одно домохозяйство, каким-то образом представить, сколько людей живет на территории. И здесь важная деталь, совершенно неправильная, потому что радиус полтора километра он вроде как описывает. В данном случае это Рязанский проспект, кинотеатр «Восход». Рн там находится чуть-чуть за Рязанским проспектом. Если кто-то хорошо знает восток, то там есть железная дорога, парк «Кусково», и Разянский проспект разбивает территорию. Там идут какие-то промзоны, потому что реальная пешая доступность совсем отличается.
То есть это не 52 тыс. человек в 15-минутной доступности, а на 20% меньше, потому что на самом деле город — не поле, в котором мы можем пройти в любом направлении. Очень важно говорить о зонах пешей доступности, которые учитывают топологию. Чуть подробнее расскажу на следующем примере.
Второй набор данных — предложение. На пересечении спроса и предложения мы можем что-то предлагать или видеть какую-то зависимость и выяснять, насколько эффективным будет размещение локации. Наша задача усложнялась еще и тем, что у нас не было каких-то данных, которые были представлены. То есть мы могли использовать только открытые данные. Задача была следующей: предложить функциональное наполнение. Что такое функциональное наполнение, какой должна быть локация?
Одно дело, когда мы строим хозяйственный магазин или «Ашан». Мы прекрасно знаем, что нас интересует достаточно узкий спектр сервисов, и можем посмотреть на конкурентную среду, посмотреть, насколько люди эту потребность уже реализуют на поверхности. Мы уже можем делать какие-то выводы.
Что делать, когда этого нет? Понятно, что можно каким-то образом перебирать. В данном случае у нас не было машинного обучения, а было человеческое обучение в лице аналитиков, которые занимались исследованием.
Мы сделали суперпростую штуку — прикрутили небольшой интерфейс к API Яндекс.Карт, у которых есть справочник организаций, и дали возможность просто вбивать разные запросы. И вот хороший пример, который у нас внезапным образом получился. Мы таким образом выяснили… Там была одна из локаций, находящаяся около метро Войковская. Если знаете, там есть огромный торговый центр «Метрополис». Казалось бы, какую функцию можно предложить, когда в двух минутах у нас расположена некая махина, где есть все: еда, одежда, что еще может быть. Но при этом нам нужно сделать социально полезную функцию, и чтобы она еще была интересна застройщику и девелоперу в коммерческом плане.
Поэтому таким перебором мы выяснили, что там не реализована спортивная функция, что вокруг Войковской в 10-15-минутных зонах доступности нет хороших фитнес-центров и т. д. Одно из наших предложений… Сразу скажу, чтобы все не выглядело суперкрасиво: мы не выиграли этот конкурс, мы заняли третье место. Нас похвалили за то, что у нас была неплохая аналитика. По сути там была еще и архитектурная концепция, и ряд особых требований. Тем не менее, мы предложили сделать из кинотеатра некое спортивное учреждение, где можно заниматься йогой, либо какое-то пространство, чтобы проводить занятия. Вот один из примеров.
Другой пример про наши эксперименты с данными и их отсутствием является подтверждением тезиса, что голь на выдумку хитра. Это анализ городской среды для пешеходов. Это вообще была одна из идей на старте студии в какой-то момент времени. Очень хотелось ее развить. Мы сейчас ей занимаемся в режиме домашнего проекта, потому что нам это интересно — собрать данные о качестве городской среды для пешеходов. Понятно, что, привет, программа «Моя улица», и тротуары становятся шире, среда становится комфортнее. Но меня очень зацепил один рассказ на TEDx. Он называется «Happy Maps», его рассказывал Даниэле Куэрца, и мне это стало слишком близко. Он говорил, что вот вы идите на работу из точки А в точку Б одним и тем же маршрутом и, на самом деле, можете не подозревать, что маршрут по соседней улице гораздо счастливее, но вы потратите плюс одну-две минуты. Соответственно, стало интересно попробовать сделать город удобнее для человека, добавить ему эту минуту, но добавить и чуть больше счастья. Понятно, что счастье невозможно измерить, оно уже совсем не укладывается в графики и т. д. Но на уровне ощущений хотелось попробовать эту историю. Поэтому мы начали активно заниматься этим проектом. И понятно, что при наличии некоторой экспертизы в картах…
Приведу один простой пример. Собрать данные про озеленение, про шум — и каждый набор данных берется из разных открытых источников, поскольку это некоторый эксперимент в поле без открытых данных.
Возьмем городской шум. Совершенно понятно, что он влияет на ваше здоровье. Есть куча исследований про нарушение сна в ночное время — стройки и так далее. Но никто в Москве сейчас не измеряет городской шум системно, и во многих странах, где обращают внимание на данные, они, как правило, реагируют на измерения шума — если есть жалобы о стройках и т. д. Но, например, равномерного покрытия о том, как устроен шумовой ландшафт города, нет.
Так что самая простая идея заключалась в следующем. Берем любое приложение. У вас телефон, у него есть микрофон. На самом деле их два. Если вы знаете, они даже используют специальное шумоподавление, и уже даже есть приложения, которые меряют уровень шума. Было классное приложение, называлось InstaDB. Оно мало того, что меряет шум. Оно еще постит фотку улицы в Instagram. Я сделал специальный аккаунт, и нафоткал под 200 точек. Обработав их, я выяснил, что есть некоторые классы улиц, где можно хорошо и спокойно разговаривать, а есть некоторые классы улиц типа проспекта Вернадского, Большой Якиманки — на ней 80-85 децибел, и совершенно невозможно. Соответственно, мы уже можем наблюдать с этим некоторым экспериментальным набором данных некоторые паттерны. Мы можем их растиражировать на модель города, и, например, взять данные OpenStreetMap.
Сразу скажу — мы подсмотрели у одного парня из Швеции, который этим занимался. Он в открытом виде выложил некоторую модель, где типам дорог приписаны некоторые числовые индексы о том, которой уровень шума на них может быть. Сразу скажем, то есть наука нам говорит моделировать шумовой ландшафт по интенсивности трафика. Другими словами, нужно знать, сколько машин проехало на каждом ребре. К сожалению, нам эти данные были недоступны, поэтому мы занимались экспериментом. Но понятно, что здесь может возникнуть много вопросов к точности модели.
Задаваясь вопросом, как уточнить модель, мы опять же решили попробовать очень простую вещь: из Arduino и разных подручных средств собрать маленький датчик, который просто-напросто каждую секунду шлет вам в телефон по Bluetooth или Wi-Fi уровень шума. И мы сейчас продолжаем эксперименты, потому что железная часть оказалась самой сложной. Мы где-то на грани между точностью измерений и бюджетом. То есть понятно, что нужно уложиться. Например — сделать 10-20 устройств для заинтересованных людей, чтобы хотя бы промерить центр. Нужно уложиться в некоторые разумные рамки при наличии профессиональных устройств, которые стоят дорого.
Отвечая на вопрос, зачем эти данные собираются: можно, например, помочь жителю города строить маршруты с учетом этих параметров, чтобы как-то помочь персонально. То есть понятно, что этими данными город может интересоваться в конечном улучшении, но на самом деле каждый житель может использовать приложение и просто-напросто смотреть, где тихо, а где шумно. Мы сейчас допиливаем некоторую бету приложения. Я думаю, она дойдет до App Store. Она просто показывает, как пройти по тихим улицам, по зеленым. Данными об уровне озеленения с нами поделились ребята из «Гринпис», а о качестве воздуха — компания Aerostate. И соответственно, можно как-то вести пользователя по более классным маршрутам. Понятно, что речь идёт об одном из возможных применений этого набора данных.
Автобусы синие видели? Честно сказать, я еще год назад ничего не знал про транспорт в профессиональном ключе. Так получилось, что в Москве задумали оптимизировать маршрутную сеть. В центре города она уже была сделана, называется «Магистраль». Я хочу рассказать о нашем участии в этом процессе.
Для начала стоит отметить, что, как я уже сказал, мы ничего не знали про транспортное планирование. Очевидно, что речь идет о специальных людях, которые долгие годы этим занимаются. Но тем не менее, транспортное планирование — одна из заметных сфер применения, где есть и сложные модели, и большие наборы данных. Автобусы имеют «ГЛОНАСС», значит, билеты записываются. То есть имеются разные большие объемы данных, в разной степени структурированные.
Но стоит в том числе развеять миф, что метро в пятиминутной доступности есть везде в центре Москвы. Это не так. Но мы говорили про пешие зоны доступности. Сравните с Парижем — есть некоторая разница.
Чем мы занимались? Работали примерно как эти сотрудницы лондонской подземки. Транспортный комплекс Москвы исторически складывался достаточно долго. И понятно, что нет идеальных систем, и не сказать, что мы занимались именно этим. Мы не пересчитывали корешки билетов, чтобы понять, кто куда ездит. Тем не менее, нам удалось… Наверное, мы видели всё. Или не всё — но того, что мы видели, нам хватило, чтобы уже никого не бояться. И в принципе, мы еще можем ходить в цирк и ни разу не улыбнуться.
Мы взяли разные данные, которые были. Эти ребята собрались на воркшопе, транспортные планировщики. Они занимались тем, что оптимизировали маршрутную сеть, то есть они проводили некоторый воркшоп. Для них мы сделали небольшой инструмент, где все эти данные представили в каком-то едином виде, чтобы можно было посмотреть, как, например, спрос пересекается с предложением, и как едет — быстро или медленно. Сигналы «ГЛОНАСС» превратились в очень похожую и знакомую вам картину Яндекс.Пробок, только непосредственно про общественный транспорт — чтобы можно было увидеть, например, где автобус в среднем простаивает на светофорах.
Вкратце про задачу и про то, что делали эти ребята.
Они выписали некоторые принципы, которым следовали, когда оптимизировали маршрутную сеть. И совершенно понятно, что высокий платежный поток и плотность означает высокий спрос. Зачем нужен высокий спрос? Низкая стоимость эксплуатации на одного пассажира. Совершенно очевидно, что если у нас автобусы возят воздух — это неэффективно, неоптимально и, соответственно, стоит достаточно дорого для города. Пешеходная доступность — очевидный параметр. Если у вас в 10-15-минутной пешей доступности нет общественного транспорта — его для вас в принципе нет. Мы берете и покупаете машину.
Про высокий пассажиропоток и плотность. Думаю, что Егор очень детально рассказывал об изменении плотности населения в городе по мобильным операторам.
Я не буду сильно останавливаться. У меня есть такая гифка — как меняется плотность рабочих мест в центре Москвы в течение дня. То есть все более-менее понятны.
Проходы в метро. Прикладываете билет — опять же, привет, трудовая маятниковая миграция. Утром периферия приезжает в центр, вечером разгружается обратно. Днем понятно, что никто в целом не перемещается, все находятся на рабочих местах.
Что такое линейность и асимметрия? Взять, опять же, пассажиропоток. Прикладываете карточку «Тройка» к автобусу. Соответственно, есть статистика о том, сколько вы прошли, по каждой остановке. Здесь очень простой пример неоптимизированного маршрута, первого троллейбуса, который был в одну сторону. По сути, перед нами очень простой сценарий. Например, работая на Шаболовке, я мог приехать в Большой театр на этом троллейбусе, но чтобы мне на данном троллейбусе уехать, нужно было пройтись, например, до Кропоткинской и вернуться на нем обратно. Это совершенно неоптимальный маршрут, и цифры подтверждали, что у метро высокая пересадочность, и в тех местах, где у нас линия расходится, образуется не очень оптимальный трафик.
Соответственно, в инструменте, который мы создали, можно было все указанные наборы данных просто посмотреть, в том числе как меняется плотность населения по работникам и т. д.
Процесс принятия решений в некоторых случаях выглядит примерно так, что транспортные ребята собирались вокруг некоторого стенда, тыкали в какой-то конкретный маршрут, разбирали его, смотрели, три дня работали и каким-то образом принимали решение. То есть все равно понятно, что это не машинный труд, а все-таки поддержка принятия решений.
Пару слов о том, как провалидировать модель. Понятно, что маршрутная сеть — это граф, и у нас есть состояние сейчас и как могло бы быть. Каким образом можно проверить предлагаемое решение?
Очень просто. Есть такая фишка, как изохроны — зоны доступности. По сути, это линия, которая описывает некоторый временной параметр, описывает то, как далеко вы можете добраться. Соответственно, кликая в какую-то конкретную точку, вы можете посмотреть, насколько далеко вы можете уехать в новой модели маршрутной сети и в старой модели. Зная и пересекая данные о рабочих местах, мы можем легко посчитать, сколько было доступных рабочих или жилых мест и сколько их стало.
В среднем там получился буст 15–20%. После запуска первой стадии в октябре маршрутная сеть увеличилась по билетам на 20%. Но самое важное, что это очень простой и наглядный способ отвалидировать модель. В том числе у ребят, которые работают на уровне операционного принятия решений, часто возникает задача продать, презентовать эту идею, модель или предложение лицу, которое принимает решения. Если мы говорим про департаменты, то, соответственно, в них довольно понятным образом устроена модель принятия решений. Есть как бы детальное решение и проработка вопросов на уровне руководителей служб, людей, которые непосредственно занимаются транспортом. А решения так или иначе должны принимать руководители департаментов. И эта картинка на самом деле нужна руководителям департаментов, чтобы было видно, что рабочих мест там +20%. Работников в 30-минутной доступности был 905 тыс., а стало 1,015 млн. Соответственно, прибавилось 115 тыс. человек. Это очень простые цифры, которыми легко оперировать. Их можно посмотреть и легко увидеть.
«Магистраль» внедрена, она ездит, автобусы в городе. Существуют некоторые стадии ее развития. Дорисовываются новые выделенные полосы, потому что, помимо изменения маршрутов, внедряются полосы для общественного транспорта. По тому самому Кремлевскому кольцу транспорт теперь ходит в две стороны, и это является одной из главных фишек данного проекта.
Соответственно, можно посмотреть и попробовать покататься. Или, например, почитать более детальную историю о том, как указанные изменения были внедрены.
На этом всё. Спасибо большое. Не убивайте, пожалуйста, меня вопросами про методы. Я больше картинки рисую. И еще воспользуюсь эфиром. Скажу, что, интересуясь данными, я случайным образом завел Telegram-канал про городские данные. Я пощу туда всякие разные ссылки, в том числе на эту трансляцию.
Соответственно, буду очень рад какой-то обратной связи. Если знаете какой-то классный проект — присылайте, с удовольствием запощу.
Автор: Яндекс