Вопрос или проблема
Мы – онлайн-школа, новые группы начинаются в первый день каждого месяца. В течение (примерно) 45 дней, предшествующих первому дню, мы получаем отчет дважды в неделю, который информирует нас о количестве лидов, полученных до сих пор для предстоящей группы.
Я организовал эти данные в таблицу с 2 столбцами: а) дни до начала группы и б) количество лидов на данный момент. У нас есть эти данные для 9 групп.
Моя цель – создать модель или инструмент, который позволит нам в будущем, когда приходит отчет о лидах, предсказать итоговое количество лидов, которое мы получим в этой группе. Входными данными модели будут: а) дни до начала группы и б) количество лидов на данный момент.
Я создал модель логистического роста и получил следующее уравнение:
Предсказанное итоговое количество лидов = Лиды на данный момент x (1 + exp(0.1436651145 x (Дни до начала – 18.47647343)))
Затем я протестировал эту модель, введя некоторые исторические данные, но, к сожалению, результат всегда отличался на большие проценты (например, 10%).
Я делаю какие-либо ошибки? У вас есть какие-либо советы?
PS: вот ссылка на данные: https://pastebin.com/embed_js/5LcP0SEn
Ответ или решение
Для предсказания числа лидов для предстоящих наборов в онлайн-школе действительно важно разработать корректную модель, учитывающую динамику получения лидов по мере приближения даты начала курса.
Анализ существующей модели
Вы использовали логистическую модель роста, которая подходит для случаев, когда число лидов увеличивается по времени и достигает определённого предела. Однако, если ваши прогнозы отклоняются от реальных данных на 10% или более, это может указывать на несколько проблем:
-
Недостаточная гибкость модели: Логистическая модель может не учитывать специфики ваших данных, например, сезонность или влияние маркетинговых акций.
-
Параметры модели: Значения коэффициентов могут быть выбраны неправильно. Возможно, стоит провести более тщательную настройку параметров, используя метод наименьших квадратов или другие методы оптимизации.
-
Отсутствие дополнительных факторов: Модель на основе только двух переменных (дней до старта и числа лидов) может игнорировать важные дополнительные факторы, такие как маркетинговые кампании, изменения в ценах, экономическую ситуацию и т.д.
Рекомендации по улучшению модели
-
Сбор дополнительных данных: Расширьте ваш набор данных, включив больше факторов, влияющих на число лидов. Это могут быть данные о маркетинговых усилиях, избранных каналах привлечения (социальные сети, email-рассылки), а также исторические данные по конверсии с этих каналов.
-
Использование других моделей: Изучите и протестируйте более сложные модели, такие как:
- Регрессия с временными рядами
- Модели ARIMA (Автопоизвольная интегрированная скользящая средняя)
- Модели машинного обучения, такие как случайный лес или градиентный бустинг
-
Кросс-валидация: Используйте кросс-валидацию для оценки производительности модели. Это позволит избежать переобучения и даст более реалистичную оценку её точности.
-
Параметрическая оптимизация: Используйте специализированные библиотеки (например,
scikit-learn
для Python), чтобы провести автоматическую настройку гиперпараметров вашей модели. Это также может помочь улучшить точность предсказаний. -
Визуализация данных: Постройте графики для наглядного представления зависимости числа лидов от временных факторов. Это может помочь в выявлении тенденций и аномалий.
-
Регулярная корректировка модели: Создавайте возможность для адаптивного обучения модели с учетом новых данных. Это поможет поддерживать точность предсказаний при изменении условий.
Заключение
Создание модели для предсказания числа лидов — это итеративный процесс, который требует экспериментирования и анализа данных. Исправление существующих моделей и расширение ваших данных и переменных помогут значительно улучшить конечные прогнозы. Важно тестировать различные подходы и методологии, чтобы добиться наилучших результатов.