00:00:05 Прогнозирование сезонных продаж.
00:00:35 Объяснение основных паттернов сезонности.
00:02:23 Проблемы с прогнозированием сезонности, жизненный цикл продукта.
00:04:33 Дополнительные проблемы сезонности исследованы.
00:06:53 Преодоление проблем отсутствия исторических данных.
00:07:16 Решение: учитывать ассортимент продуктов при сезонности.
00:08:49 Динамическое выравнивание времени.
00:09:06 Переход к глубокому обучению для прогнозирования.
00:10:02 Динамическое выравнивание времени в прогнозировании спроса.
00:12:09 Обработка всплесков исторических данных и промоакций.
00:13:01 Необходимость точных данных и машинного обучения.
00:16:01 Популярность глубокого обучения в машинном обучении.
00:16:30 Ограничения прошлых данных для будущих прогнозов.
00:17:40 Сезонность в человеческих делах для моделирования.
00:19:42 Улучшение прогнозирования с помощью машинного обучения.
00:21:39 Преимущества машинного обучения со временем.

Резюме

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

Расширенное резюме

Кирэн Чендлер берет интервью у Жоаннеса Вермореля о понятии сезонности в прогнозировании продаж и связанных с этим проблемах.

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

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

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

Несмотря на кажущуюся простоту сезонности, Верморель объясняет, почему люди часто сталкиваются с трудностями в её применении. Первая проблема заключается в том, что многие продукты имеют короткий срок существования на рынке. Средний жизненный цикл товара FMCG составляет от трёх до пяти лет. Это означает, что половина ваших товаров имеет всего полтора года. Более того, одна треть товаров существует менее года. Так, если вы хотите построить наивную сезонную модель, статистическую модель, в которой вы предполагаете, что продажи в следующем Рождестве будут аналогичны продажам предыдущего Рождества, оказывается, что для одной трети ваших продуктов не было предыдущего Рождества. У вас нет никакого эталона. Таким образом, первая проблема заключается в том, что из-за новизны продукта на рынке значительная часть вашего каталога не имеет полного года существования. Пусть, например, для автозапчастей, которые, как правило, имеют более длительный жизненный цикл — около шести лет, даже в этом случае одна шестая ваших товаров не имеет года продаж. Таким образом, вы не сможете применить эту красивую сезонность к значительной части вашего каталога. Это одна из проблем, с которыми мы сталкиваемся при работе с сезонностью.

Верморель вводит понятие «искажения времени» в сезонности, указывая на сдвиги в сезонных паттернах, вызванные различными факторами. Изменения погодных условий могут побудить потребителей начать зимние покупки раньше или позже обычного. Политическая ситуация и настроения потребителей также могут влиять на время совершения покупок, например, на рождественские покупки. Эти сдвиги могут искажать типичные сезонные паттерны, что затрудняет прогнозирование.

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

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

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

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

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

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

способна прогнозировать эту среднюю скорость изменений.

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

Полная транскрипция

Kieran Chandler: Жоаннес, мы часто говорим о сезонности как об одном из основных паттернов, применяемых для повышения точности прогнозов. Но что мы на самом деле подразумеваем под этим? Какие основные паттерны имеются в виду?

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

Kieran Chandler: Давайте поговорим о самой сезонности. Почему с ней люди сталкиваются с трудностями? Кажется вполне очевидным, что к Рождеству продажи достигнут пика, а во время праздников продажи различных товаров будут отличаться. Так почему же это вызывает сложности у людей?

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

Kieran Chandler: Какие ещё проблемы возникают с сезонностью?

Joannes Vermorel: Еще одна проблема заключается в том, что сезонность не обязательно остается неизменной из года в год. Да, Рождество приходится на 25 декабря каждый год, но если смотреть с точки зрения продавца, рождественский сезон…

Kieran Chandler: В один год уже в октябре стало очень холодно, что побудило людей начинать зимние покупки раньше сезона. Напротив, иногда погодные условия остаются мягкими дольше, и покупки начинаются позже. Иногда даже политический климат влияет на покупательские привычки. Например, если люди очень беспокоятся о будущем, они могут решить отложить рождественские покупки до последней минуты. Это лишь некоторые факторы, которые могут вызывать то, что мы обычно называем искажением времени. Например, пиковый спрос на Рождество все еще наблюдается, но начало рождественского сезона может смещаться на несколько недель с года на год. Вы согласны?

Joannes Vermorel: Абсолютно, и это, вероятно, вторая группа проблем. Третья группа заключается в том, что на вашу сезонность, к сожалению, влияют и другие паттерны. Что, например, если в прошлом году в сентябре у вас была масштабная акция, которую в этом году вы не повторяете? Не стоит путать влияние этой акции с сезонностью. Необходимо отделить сезонность от других паттернов. И все эти изменения в совокупности делают сезонность гораздо более неуловимой, чем если бы вы имели дело с наивной ситуацией, когда у продукта, имеющего долгий срок службы, стабильность и безупречную работу, чистая сезонность.

Kieran Chandler: Давайте поговорим о преодолении некоторых из этих проблем. Если у вас нет исторических данных, скажем, для трети вашего каталога, можно ли все же использовать сезонность в прогнозировании для этих продуктов?

Joannes Vermorel: Да, но вам нужно рассматривать ваши продукты как коллекцию, а не анализировать каждый товар по отдельности. То есть, предположим, у вас есть зимние сапоги. Вероятно, для всех этих товаров существует общий сезонный паттерн. Вы можете разумно предположить, что такая общая сезонность есть. Таким образом, если вы сможете выявить эту общую сезонность, не имеет значения, продаете ли вы в этом году другие зимние сапоги по сравнению с прошлым годом. Вы можете сказать: «Я знаю, что для зимних сапог в целом существует такой паттерн». Таким образом, когда я вывожу на рынок новый продукт, для которого у меня нет данных о продажах, я могу применить сезонный паттерн с первого дня. Я могу переработать что-то, основанное на агрегированном паттерне для всех зимних сапог. Ключевой вывод заключается в том, чтобы смотреть на широту ассортимента, а не на глубину истории.

Kieran Chandler: Если вы прогнозируете за несколько месяцев, как вы узнаете, что лето продлится на дополнительный месяц? Как это можно предсказать?

Joannes Vermorel: Вот здесь мы переходим к следующему этапу — тому, как мы справляемся со всеми искажениями. Это можно сделать аналитически, используя технику, известную как динамическое выравнивание времени. Если кому интересно, можно найти информацию об этом на Wikipedia. Реализация динамического выравнивания времени чрезвычайно сложна с программной точки зрения. Около 10 лет назад сообщество распознавания голоса, занимавшееся машинным обучением для распознавания речи, сталкивалось с этой задачей. Они решили, что это слишком сложно, отказались от неё и перешли на глубокое обучение. Что интересно, компания Lokad сделала то же самое для сезонности. Мы внедрили динамическое выравнивание времени в наш прогнозный движок, но в конечном итоге заменили его целиком на глубокое обучение в последнем поколении наших прогностических систем.

Kieran Chandler: Это звучит очень научно-фантастически, выравнивание времени. Можете дать краткий обзор?

Joannes Vermorel: Суть такова: вы знаете, что сезон, вероятно, скоро закончится, но не знаете точно, когда. Однако вы можете учитывать эту изменчивость.

Kieran Chandler: Мы подошли к концу сезона, так что я знаю, что спрос сохранится, но будет значительно ниже. Но как это выглядит — анализ сезонности без такого динамического выравнивания времени? Что происходит, если сезон заканчивается раньше?

Joannes Vermorel: Когда сезон заканчивается раньше обычного, у вас появляется новый базовый уровень, и согласно вашему профилю сезонности, спрос на первую неделю декабря должен составлять примерно половину спроса последней недели августа. Это ваш статичный, жесткий профиль. Но проблема в том, что если лето закончилось рано и к последней неделе августа вы уже вышли из летнего сезона, вы не захотите снова делить спрос в первую неделю сентября на 2. Это потому, что с последней недели августа до первой недели сентября спрос снижался, и вы оказываетесь в ситуации, когда он уже упал.

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

Kieran Chandler: Итак, идея в том, что у вас будет тот же самый профиль спроса, но он будет либо сжат, либо растянут в зависимости от сезона?

Joannes Vermorel: Именно так.

Kieran Chandler: А еще, последнее, о чем мы говорили, — это исторические всплески в данных и то, как не переносить эти всплески в сезонность для этого года. Как это на самом деле работает? Как не учитывать их? Как определить, что является сезонным спросом, а что просто скачком из-за акции или чего-то подобного?

Joannes Vermorel: Классический подход к прогнозированию временных рядов — это параметрическое разложение. У вас есть история спроса, и вы можете сказать, что из этого спроса эта часть составляет базовый уровень, эта часть — фактор сезонности, эта часть объясняется трендом и т.д. Этот подход слаб тем, что вы хотите независимо изучать все свои шаблоны, но реальность такова, что в ваших исторических данных всё полностью переплетено.

Существует как минимум два аспекта этой проблемы. Во-первых, необходимо правильно зафиксировать в вашей исторической базе акции, отсутствие товара и все другие события, которые влияли не на сам спрос, а на его наблюдение, то есть на продажи. Продажи не равны спросу. Например, при прогнозировании вы обычно хотите сказать: “Я хочу прогнозировать спрос по обычной цене, а не спрос по супернизкой промоционной цене”. Но в вашей истории отражены продажи, и они искажены из-за акций, возможных отсутствий товара и других факторов.

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

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

Joannes Vermorel: Да, это одна часть рецепта. Вторая часть — необходимость внедрения системы машинного обучения, которая позволит совместно изучать все эти шаблоны. Современное машинное обучение не пытается изучать статистические закономерности по отдельности. Вы не сначала обучаетесь сезонности, потом тренду, затем эффекту акции. Вместо этого у вас есть модель, которая пытается охватить все эти паттерны одновременно. Это означает, что модель должна обладать способностью изучать широкий спектр шаблонов. Для этого требуется очень выразительная модель. Именно поэтому многие специалисты по машинному обучению перешли к глубокому обучению. Это подход, позволяющий создать модель, способную захватывать широкий разнообразный набор шаблонов.

Kieran Chandler: Вы постоянно упоминаете искажения. Кажется, существует так много способов, которыми данные могут быть искажены, что реализация сезонности становится крайне сложной. Можем ли мы действительно полностью доверять результатам, учитывая потенциальные искажения данных?

Joannes Vermorel: Абсолютно, и вопрос в том, насколько прошлое позволяет предсказывать будущее. Это основное предположение статистического прогнозирования спроса. К сожалению, будущее не всегда можно предсказать по прошлому. Однако это не совсем так, когда речь идет о прогнозах на несколько месяцев вперед. Большинство рынков обладают значительной инерцией. Недавнее прошлое все еще является разумным приближением ближайшего будущего. Именно этим мы и пользуемся.

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

Например, количество пассажиров самолетов будет следовать годовой кривой. Объем купленного молока в любой день года будет иметь свою сезонную кривую. То же самое касается покупки видеоигр, потребления электроэнергии и так далее.

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

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

Joannes Vermorel: Безусловно. Наша статистическая модель разработана так, чтобы адаптироваться к изменяющейся сезонности. Хотя мы и не можем точно предсказать конкретные изменения, мы можем спрогнозировать среднюю скорость эволюции. Это позволяет нам ввести в наши прогнозы необходимую степень неопределенности. Важно помнить, что эти прогнозы представляют собой распределения вероятностей с учетом сезонного шаблона. Однако это не идеальное представление. Существует определенная неясность в отношении амплитуды. Мы учитываем, насколько сильно поднимется спрос в пиковые сезоны, а также время наступления этих пиков. По сути, это комбинация этих двух факторов.

Kieran Chandler: Это имеет смысл. В завершение, могли бы вы сказать, какие шаги компании могут предпринять для улучшения своего подхода к прогнозированию, особенно когда речь идет о сезонности?

Joannes Vermorel: Ну, первое, что приходит в голову, — это чтобы они связались с нами в Lokad! Шутки в сторону, я думаю, что самый значительный шаг — переход к системам машинного обучения. Традиционный подход к управлению сезонностью предполагает ручное создание профилей. По сути, вы группируете продукты в категории на основе общей сезонности. Однако этот метод сильно зависит от человеческого участия и со временем становится трудным для поддержки.

Kieran Chandler: Могли бы вы подробнее рассказать о проблемах этого традиционного подхода?

Joannes Vermorel: Конечно. Основная проблема не в том, что предположения эксперта ошибочны. Эксперт по цепям поставок может действительно точно определить, что группа продуктов обладает одинаковой сезонностью. Проблема в том, что со временем поддерживать эту систему становится настоящим кошмаром. Каждый раз, когда вы запускаете новый продукт, необходимо удостовериться, что он попадает в правильную категорию. Хотя первоначальная кластеризация может быть удачной, со временем она склонна деградировать и становиться неэффективной.

Kieran Chandler: Итак, как же переход к машинному обучению помогает в этом случае?

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

Kieran Chandler: Это очень познавательно. К сожалению, нам придется завершать на сегодня. Спасибо за ваше время, Joannes.

Joannes Vermorel: Пожалуйста, мне было приятно.

Kieran Chandler: На этом всё на этой неделе. Мы вернемся на следующей неделе с новым эпизодом. До тех пор всем большое спасибо за просмотр.