Если вы хотите сразу перейти к сценарию R, он находится в конце статьи.

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

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

1. AutoCatBoostFunnelCARMA () и AutoCatBoostFunnelCARMAScoring ()

2. AutoLightGBMFunnelCARMA () и AutoLightGBMFunnelCARMAScoring ()

3. AutoXGBoostFunnelCARMA () и AutoXGBoostFunnelCARMAScoring ()

Прогнозирование воронки

В этой статье я собираюсь сосредоточиться на бизнес-примере с воронкой продаж, но прогнозирование воронки можно найти в широком диапазоне отраслей и сценариев использования. Например, компании, занимающиеся мобильными играми, хотят знать, насколько большой будет их контингент платящих клиентов, тратя больше или меньше на рекламу, и прогнозирование воронки продаж - отличный способ правильно спрогнозировать это. В актуарной науке прогнозирование воронки может использоваться для резервирования требований (https://cran.r-project.org/web/packages/ChainLadder/ChainLadder.pdf). В одной из моих предыдущих ролей я использовал прогнозирование воронки для семи отдельных шагов в процессе воронки. Я построил прогнозы на основе показателей конверсии, которые станут базовыми показателями воронки в последующих моделях. Это была относительно сложная система, но с функциями в RemixAutoML эти типы вариантов использования могут быть реализованы за гораздо меньшее время с меньшим количеством ошибок.

Сравнение с панельным прогнозом

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

Структура данных

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

Для каждой календарной даты есть группа потенциальных клиентов, которые могут конвертироваться в встречи (или что-то другое в зависимости от вашего показателя конверсии) в день 0, день 1,…, день N (может быть ежечасно, еженедельно, ежемесячно и т. Д.). Каждый последующий календарный день появляется новая группа лидов с соответствующими днями конверсии. Когда вы приводите данные таким образом, что календарные дни идут вниз по строкам, а дни когорты - по столбцам, образуется набор данных треугольной формы. Однако нам нужны данные в длинном формате для моделирования. Ниже приведены некоторые примеры наборов данных, которые правильно структурированы для моделирования.

Обратите внимание, что показатели базовой воронки (Leads & XREGS) будут повторяться для каждой повторяющейся календарной даты.

Случай 1: без групповых переменных и без XREGS

Случай 2: нет групповых переменных и два XREGS

Случай 3: одна групповая переменная и отсутствие XREGS

Случай 4: одна групповая переменная и три XREGS

Случай 5: три групповых переменных и отсутствие XREGS

Случай 6: три групповых переменных и один XREGS

Функциональная инженерия

В состав этих функций входят переменные даты (например, день недели, неделя месяца, месяц года и т. Д.) Для календарных дат и дат когорты, переменные праздников для дат календаря и дат когорты, а также функции временных рядов для календаря. даты и даты когорт (статистика лагов и прокрутки, по группам, для множественных временных агрегатов, если это выбрано). Лаги и скользящая статистика по датам когорт - вот что делает эти функции действительно уникальными. В функциях Panel CARMA в RemixAutoML лаги и скользящая статистика генерируются по календарному времени. Здесь я также пользуюсь когортной структурой. Существуют также автоматические методы категориального кодирования для LightGBM и XGBoost (CatBoost обрабатывает категориальные переменные внутри) и автоматические преобразования, которые можно использовать, когда функции автоматически управляют преобразованием и обратным преобразованием. XREGS (экзогенные переменные) также разрешены. XREGS должен охватывать весь горизонт прогноза, как и мера базовой воронки.

Параметры ML

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

ML Insights

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

Использование для бизнеса

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

Этапы обучения модели

  1. Создавайте календарные переменные из столбца календарной даты
  2. Создавайте календарные переменные из столбца даты когорты
  3. Создайте праздничные переменные вне столбца календарной даты
  4. Создайте праздничные переменные из столбца даты когорты
  5. Преобразование показателя базовой воронки и показателя конверсии
  6. Создавать лагы показателей конверсии и скользящую статистику по дате когорты (рассматривать календарную дату как группирующую переменную)
  7. Создание базовых лагов показателей воронки и скользящей статистики за календарную дату
  8. Разбиение наборов данных для обучения машинному обучению
  9. Обучите модель в режиме оценки для получения аналитических сведений о модели и количества используемых деревьев.
  10. Обучите модель, используя полные данные, и сохраните модель в файл

Шаги прогнозирования

  1. Преобразование показателя базовой воронки и показателя конверсии
  2. Создайте единую будущую запись, чтобы набрать очки
  3. Создание функций календаря, праздников, лагов и скользящей статистики
  4. Модель оценки
  5. Добавить оцененные данные в базовый набор данных
  6. Повторяйте шаги 1–5, пока не будет достигнут конец горизонта прогноза.

Скрипт для тестирования функций