Блог Михаила Кафанова

Интервью с руководителем «Яндекс.Погоды» Дмитрием Соломенцевым

15 декабря 2017

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

Руководитель сервиса «Яндекс.Погода» Дмитрий Соломенцев
Дмитрий Соломенцев, руководитель сервиса «Яндекс.Погода»

— Из чего состоит «Яндекс.Погода»?

— «Яндекс.Погода» – это большой клиентский сервис и крупнейший погодный сервис в России. Он состоит в первую очередь из команды размером примерно в 40 человек. Также он состоит из пачки технологий: от традиционного метеопрогнозирования до фронтенда, который всё это показывает. Традиционное метеопрогнозирование мы делаем сами и забираем данные от партнёров. Поверх этого делаем машинное обучение, которое видит закономерности в поведениях погоды, в дата-сетах. После этого все попадает на фронт, люди видят наш продукт, пользуются и возвращаются.

— Сколько всего у вас источников данных?

— Сейчас у нас есть: американская, канадская, японская, европейская — четыре глобальных погодных модели. Пятая — своя, которую мы рассчитываем и настраиваем локально. У нас куча источников метеоданных — наблюдений на станциях, где настоящие метеорологи выходят раз в полчаса посмотреть на термометр и записать показания в журнал. Данные метеорологических радаров мы покупаем у Росгидромета, а спутники — у американцев, европейцев и японцев. Мы используем исходные данные и модели поверх них, а на следующем этапе применяем машинное обучение.

— Насколько это вообще большая работа: со всеми поставщиками данных связаться и договориться?

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

— Сейчас сеть радаров Росгидромета охватывает 60% населения России, именно она обеспечивает прогноз осадков с точностью до дома — будет ли она развиваться?

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

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

— Периодически к нам эта мысль возвращается, и мы думаем «а вот неплохо было бы метеостанции раздать». Но пока о каких-то конкретных планах я рассказать не могу.

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

— Хакатоны у вас больше для HR или для поиска новых идей? Или всё вместе?

— И то, и другое. С HR всё понятно, но вот подход, который лидеры хакатона использовали, офигенно полезен. Это классная идея по обработке таких данных, по применению их для прогноза.

— Думаю, в этом моменте в материале мы можем дать ссылку на вакансии в «Яндекс.Погоде»!

— Да, мы сейчас как раз ищем Python-разработчика.

Температурная карта «Яндекс.Погоды»
Температурная карта «Яндекс.Погоды»

— Как технологии «Погоды» будут интегрированы в другие сервисы «Яндекса»?

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

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

— Кто на мировом рынке рекламных платформ уже имеет такую настройку?

— У Google есть возможность настраивать, но там ты сам должен купить чьи-то погодные данные, получить API. А у нас всё это работает внутри из коробки — нужно просто задать нужные параметры.

— Сейчас во всех смартфонах есть барометры: здорово, но как я понимаю, не так уж полезно для «Погоды». Cмартфоны будут становиться сложнее и навороченней — рассчитываете ли вы получать из них больше данных?

— Это очень интересная для нас тема: таким образом, чем больше у нас пользователей, тем точнее мы можем становиться. В смартфонах есть несколько типов информации, которые нам интересны: давление, косвенные показания температуры. Понятно, что он температуру кармана в основном измеряет, но иногда это тоже полезно. Ещё есть сила сигнала, на которую влияют влажность и осадки. Такие данные мы хотели бы обрабатывать, но это пока эксперименты и в продакшене мы их не используем. Но будущее за тем, что пользователи не репортят о погоде в формате «у меня сейчас +3», а в фоне постоянно отдают подобные данные.

— Какие перспективные источники данных нас ждут? Или принципиально новых источников не будет, а будут просто улучшения в построении моделей, в обработке данных?

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

Радиозатменные измерения — это когда спутник летает на низкой орбите (километров 700 — 800) и смотрит в атмосферу на просвет, получая сигналы от спутника GPS, который летает на высоте 20 000 километров. Получается такая томография атмосферы. У этой технологии тоже есть свои недостатки, но сейчас появляются коммерческие компании, которые запускают спутники специально, чтобы собирать такие наблюдения и давать более точный прогноз. Это указывает на перспективность таких измерений, будущее примерно за этим.

— Какие не связанные с точностью нововведения могут ждать пользователи?

— Мы хотим развивать карты, которые выпустили в этом году. Хотим, например, позволить получать алерты по области, которую ты выделил, получать алерты по погоде на маршруте, который ты построил. Есть разнесённые в пространстве сценарии — с помощью карт мы хотим их решать. Из продуктовых нововведений многое планируется в следующем году, прямо в первой половине хотим два крупных обновления выкатить. Вот встретимся ещё раз с тобой…

Карта ветров «Яндекс.Погоды»
Карта ветров «Яндекс.Погоды»

— Я с радостью! Были ли какие-то прямо систематические неточности, которые удалось отследить?

— У нас есть рассылка, в которую пишут люди о том, что мы ошиблись. Как правило, это заявления типа «вот у меня за окном градусник висит, у него на пять градусов больше». Но он висит у тёплого дома и понятно, что у него на пять градусов больше. Иногда там, конечно, появляются полезные сообщения, а иногда туда пишут люди, которые просто очень… к погоде привязаны.

Один наш пользователь написал нам 3 или 4 тысячи сообщений, что вот «у вас неправильная погода». У него стоит какая-то метеостанция, и он с её помощью на полтора градуса намерял побольше, чем у нас, и говорит: «ну, вы там голову включайте иногда, тут же у нас плюс полтора градуса. Вы чё?» Он прямо наш любимый пользователь.

Систематического, пожалуй, не было: мы к этому очень серьезно относимся и стараемся так не ошибаться. Это для нас немножко больная тема. Потому что за что метеорологов ругают всегда? За ошибки.

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

— Да-да-да.

— Я почему был рад познакомиться и пообщаться: у меня одна из любимых книг это «Сигнал и шум» Нейта Сильвера, где как раз про данные и связанные с ними грехи. И там есть замечательная глава про погоду.

— Да, у Нейта Сильвера очень крутой раздел про погоду. Прямо супер.

— А какие ещё книги о прогнозировании и погоде можешь посоветовать читателям?

— «Чёрного лебедя» Нассима Талеба и «Гидродинамику» Ландау и Лифшица.

— Раз мы начали про пользователей и их негодование. Не планируете ли вы учить их читать прогнозы? Рассказывать, что прогноз на воскресенье, просматриваемый в пятницу — это совсем не выбито в граните, и вообще лучше вернуться в субботу вечером и уточнить?

— Да, важная проблема, ведь люди воспринимают так: «вот ты сказал мне, что через две недели будет +14, вот давай! Не надо ничего менять». А прогнозы погоды меняются вслед за появлением новых данных.

Мы хотим уведомлять пользователя об этом пушами. Если мы видим, что тот пришел посмотреть погоду на субботу, то по мере её приближения мы можем понять, уточнилось ли что-то значимое и сообщить ему: «ты смотрел погоду на субботу, зайди и ещё раз посмотри. На самом деле будет вот так». Это правда важная штука и, насколько я знаю, ни один погодный сервис с этим как следует не работает, хотя прогнозы меняются у всех, и все получают жалобы, что вот прогноз поменялся и как же так.

— Звучит круто, потому что я начитался комментариев о точности «Яндекс.Погоды» в духе «а вот эта же технология у кого-то в интернете была n лет назад». И я думаю про все эти старые решения «классно, но это всё сделано страшно, криво, а я не могу посмотреть всё это с мобайла, и сервис этот мне — как конечному пользователю — в итоге абсолютно не полезен».
Как тебе кажется, обновление «Погоды» как-то повлияет на участников рынка? Заставит ли обновить дизайн, или все так и останутся в своих нулевых и девяностых?

— Не знаю, связано ли это с нами, но один из достаточно популярных погодных сайтов RP5, выкатил редизайн мобильной версии, интерфейс действительно надо иногда обновлять. Мы за этот год всю «Погоду» обновили примерно целиком, карты — завершение этого обновления.

— Вы будете запускать большую рекламную кампанию об изменениях в дизайне?

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

Рассказ о новой «Погоде», кажется, происходит сам собой. У нас есть какой-то входящий поток людей, которые приходят на «Яндекс», ищут там погоду, находят её и возвращаются, если дизайн или информативность кажутся им достойными. О чём мы действительно рассказали в этот раз, так это о картах, это такое мощное обновление с нашей точки зрения.

— Над какой частью «Погоды» бились дольше всего? Кроме точности, конечно, над ней можно биться бесконечно.

— Боюсь кого-то задеть ведь, с картами погодными получилось так, что фактически это переделанный сервис. Весь бэкенд мы переписали на совершенно другую схему обработки и доставки данных, на фронте это тоже огромная работа — то, чего с API «Яндекс.Карт» ещё никто никогда не делал.

Наверное, самое сложное — склеить всё вместе, ведь как обычно искрит на стыках. Где-то данные не проросли вовремя, где-то они не в том формате, а где-то они вылезают за границы диапазона. А потом оказывается, что вот анимированные частицы ветра на карте ползают совсем не так, как нам казалось они должны ползать. Самое сложное это соединить всё вместе и решиться сказать «катим в четверг».

Ползают они замечательно!