Прогнозирование намерений клиентов - PullRequest
0 голосов
/ 17 ноября 2018

Я получил этот набор данных о перспективах:

ID     Company_Sector         Company_size  DMU_Final  Joining_Date  Country
65656  Finance and Insurance       10        End User   2010-04-13   France
54535  Public Administration       1         End User   2004-09-22   France

и набор данных по продажам:

ID    linkedin_shared_connections   online_activity  did_buy   Sale_Date
65656            11                        65           1      2016-05-23
54535            13                        100          1      2016-01-12

Я хочу построить модель, которая присваивает каждому потенциальному клиенту в таблице потенциальных клиентов вероятность стать клиентом. Модель будет прогнозировать, собирается ли покупатель покупать, и возвращает вероятность. Таблица продаж дает информацию о продажах за 2015 год. Мой подход - столбец «действительно покупал» должен быть меткой в ​​модели, потому что 1 представляет ту перспективу, купленную в 2016 году, а 0 означает отсутствие продажи. Еще одна интересная колонка - онлайн-активность, которая варьируется от 5 до 685. Чем она выше, тем активнее потенциальный клиент о товаре. поэтому я, возможно, пытаюсь сделать модель случайного леса, а затем каким-то образом поместить вероятность для каждого потенциального клиента в столбец нового намерения. Является ли Случайный Лес эффективной моделью в этом случае или, может быть, мне следует использовать другую. Как применить результаты модели в новом столбце «намерение» для каждого потенциального клиента в первой таблице.

1 Ответ

0 голосов
/ 17 ноября 2018

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

TL; DR: случайные леса хороши, но кажутся неподходящими из-за несбалансированных данных. Вы должны прочитать о рекомендательных системах и более модных, хорошо работающих моделях, таких как Wide и Deep

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

Предложение:

Вообще говоря, это вид бизнеса, в котором вы обычно имеете дело с очень несбалансированными данными - небольшое количество did_buy = 1 против огромного числа потенциальных клиентов.

Что касается науки о данных, вы должны определить ценную метрику успеха, которая может быть напрямую привязана к деньгам. Здесь кажется, что принятие мер с помощью рекламы или обращение к более вероятным клиентам может привести к росту «did_buy» / «was_approached» - это отличный показатель успеха. Сверхурочно, у вас все получится, если вы поднимете это число.

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

Если я где ты:

Сначала я бы вставил столбцы Prospect в вектор:

  • Преобразование категорий в случайные векторы (для каждой категории) или горячее кодирование.
  • Нормализация или объединение размеров компаний в числа, соответствующие модели прогнозирования (следующая)
  • Те же идеи относительно дат. Здесь, может быть, год может быть проблематичным, но месяцы / дни должны быть полезны.
  • Страна определенно категорична, возможно, добавьте еще один «неизвестный» класс страны.

Тогда

  • Я бы использовал модель, которая может быть фактически оптимизирована в соответствии с различными затратами. Логистическая регрессия является широкой, глубокая нейронная сеть - другой вариант, или посмотрите комбинацию Google Wide и deep .
  • Установите стоимость равной моему золотому номеру (метрика в виде меток) или как можно ближе к нему.
  • Выполнить эксперимент

Наконец,

  • Проверьте мои результаты и почему это не удалось.
  • Предложить другую модель / функцию
  • Повтор.
  • Иди, запусти.
  • Задайте несколько вопросов о данных.
  • Попробуйте ответить хотя бы на несколько.
  • Откройте для себя новые интересные отношения в данных.
  • Предложите что-нибудь интересное.
  • Повтор (завтра).

Конечно, в этом есть гораздо больше, чем просто выше, но это для вас, чтобы узнать ваши данные и бизнес.

Надеюсь, я помог! Удачи.

...