Alteryx и Tableau: построение прогноза продаж
С помощью Tableau возможно спрогнозировать продажи на 3 месяца вперед с детализацией по месяцам. Да, без Alteryx не обойтись — но: вот оно, self-service BI в действии.
Ниже — подробная инструкция по созданию «прогнозного» workflow в Alteryx. По времени — вы потратите не более 1 часа.
И потом: всего за 1 клик вы сможете запустить workflow, выгрузить данные — куда удобно (в Excel, в базу данных, экстракт для Tableau Server)!
Итак:
Исходные данные: транзакционная таблица с данными о продажах.
Задача: построить прогноз продаж на 3 месяца вперед.
В данном решении используется уже готовый поток работ Alteryx, в котором исходные данные выведены в ноде Select. Для того, чтобы ноды, расположенные до ноды Select, и сама нода Select не выполнялись каждый раз, мы воспользуемся опцией Cache and Run Workflow (появилась в Alteryx Designer в версии 2018.3).
— Нажмем правой кнопкой мыши на ноду Select и выберем соответствующую опцию в контекстном меню.
— В итоге наш workflow выполнится и нода Select будет помещена в пузырь, информирующий нас об использовании кэша.
— Для прогнозирования в Alteryx Designer нам необходимо трансформировать нашу транзакционную таблицу во временной ряд (Time Series).Временной ряд – это совокупность значений какого-либо показателя за несколько последовательных моментов или периодов времени. В нашем случае для повышения качества прогноза мы преобразуем данные к следующему формату: в каждой строке в первом столбце будет записано первое число месяца, в котором были продажи, а во втором — сумма продаж за этот месяц.Для этого преобразуем столбец с датами продаж. В данном примере он называется Order Date. Нам необходимо «обрезать» информацию о дате продажи до месяца (в днях указать «01»). Воспользуемся нодой Formula.
— В Output Column выберем Order Date, в качестве выражения запишем DateTimeTrim([Order Date], «month»).
— Далее необходимо просуммировать продажи по месяцам. Воспользуемся нодой Summarize.
— В настройках ноды выберем поле Order Date c типом агрегации GroupBy, а поле Sales — c Sum.
— После выполнения workflow на выходе мы получим следующую таблицу с данными:
— На первый взгляд это и есть временной ряд, но если у нас не будет продаж в одном из месяцев, то строки с этим месяцем и значением 0 в поле Sales не будет. Для этого заполним пробелы в данных с помощью ноды TS Filler.
— Применим следующие настройки к данной ноде:
— Запустим workflow. На выходе у нас появятся дополнительные столбцы.
— Избавимся от столбцов OriginalDateTime и FlagGeneratedRow припомощи ноды Select.
— В настройках ноды снимем галочки напротив ненужных столбцов.
— Если в наших данных имеются пропущенные строки, то нода TS Filler их добавила, но в поле Sales у этих строк будет указано null вместо 0. Исправим это при помощи ноды Data Cleansing.
— Для этого в настройках ноды снимем галочку напротив поля Order Date.
— На выходе из этой ноды мы получим наш временной ряд.
— Для построения прогноза мы воспользуемся нодой ETS.
— В настройках ноды во вкладке Required parameters переименуем модель в Sales Forecast, в блоке Target field frequency укажем Monthly.
— Перейдем во вкладку Other options. В поле The number of periods to include in the forecast plot укажем 3, так как нам необходимо построить прогноз на 3 месяца.
— Нажмем правой кнопкой мыши на ноду ETS и выберем пункт Add All Browses в контекстном меню.
— К каждому из выходов ноды ETS добавились ноды для просмотра.
— Запустим workflow. Откроем нижнюю ноду Browse. Подождем пока отрендерится отчет. В отчете мы можем увидеть декомпозицию временного ряда (observed) на несколько компонент (level и season). В компоненте season визуализирован сезонные колебания продаж, в компоненте level — общий тренд.
— Если прокрутить отчет вниз, то можно найти интерактивный график. Фактические продажи отмечены на нем серым цветом, прогнозные значения — синим, доверительный интервал 95% — пунктирной синей линией, а доверительный интервал 80% — закрашенной полупрозрачной областью синего цвета. При наведении на конкретную точку на графике в правом верхнем углу отображаются значения показателей.
— Если нам просто необходимо узнать прогнозные значения, то на этом шаге можно остановиться, но если мы хотим получить данные, на основе которых построен график, нам необходимо воспользоваться нодой TS Forecast.
— Добавим эту ноду, присоединив входной порт к порту O ноды ETS, и ноды Browse ко всем выходам. В настройках ноды можем переименовать итоговое поле. В поле The number of periods to include in the forecast plot укажем 3, так как нам необходимо построить прогноз на 3 месяца.
— Запустим workflow.
— Наш прогноз успешно построен. Теперь мы можем очистить кэш, так как построение workflow завершено. Нажимаем правой кнопкой мыши по ноде Select с пузырём и в контекстном меню выбираем пункт Clear Cache.
Автор — Артем Шевченко, Tableau эксперт
Хотите узнать, как провести анализ и сделать отчеты быстро?
Нам доверяют: