Вопрос или проблема
Мы онлайн-школа, у нас новые группы начинаются в первый день каждого месяца. В течение ~45 дней, предшествующих первому дню, мы получаем отчет каждые 3-4 дня, который сообщает нам о количестве потенциальных клиентов, которые мы получили для предстоящей группы.
Я организовал эти данные в таблицу с 2 колонками: а) дни до начала группы и б) количество потенциальных клиентов на данный момент.
У нас есть эти данные для 9 групп.
Моя цель – создать модель или что-то подобное, что позволит нам в будущем, когда поступит отчет о потенциальных клиентах, предсказать окончательное количество клиентов, которое мы получим в этой группе. Входными параметрами модели будут а) дни до начала группы и б) количество клиентов на данный момент.
Я создал модель логистического роста и получил следующее уравнение:
Предсказанное окончательное количество клиентов = Клиенты на данный момент x ( 1 + exp(0.1436651145 x ( Дни до начала – 18.47647343)))
Затем я протестировал эту модель, введя некоторые исторические данные, но, к сожалению, результат всегда был значительно ошибочен (например, на 10%).
Я делаю какие-то ошибки? У вас есть какие-либо советы?
PS: вот ссылка на данные: https://pastebin.com/embed_js/5LcP0SEn
Ответ или решение
Для решения вашей задачи по предсказанию количества лидов на основе данных о предыдущих когортах, вы можете рассмотреть несколько подходов, начиная с анализа ваших текущих методов и заканчивая улучшением модели.
1. Анализ существующей модели
Логистическая модель роста
Вы уже создали логистическую модель роста, но, как вы заметили, предсказания не соответствуют действительности. Важно учесть, что логистическая модель предполагает, что количество лидов будет расти по логистической функции. Однако она может не подходить, если в основе данных лежат сложные и случайные процессы.
2. Проверка входных данных
Проверьте, как организованы ваши данные:
- Количество наблюдений: Убедитесь, что у вас достаточно точек данных для надежного моделирования. Текущая выборка из 9 когорт может не быть достаточной.
- Вариации данных: Проверьте, насколько многообразны данные о лидах в разных когортах и были ли специфические события, влияющие на количество лидов (например, маркетинговые кампании).
3. Предложение альтернативных моделей
a. Линейная регрессия
Поскольку количество лидов часто может иметь линейную зависимость от оставшихся дней и текущего количества лидов, стоит попробовать линейную регрессию. Вы можете создать модель с использованием следующих переменных:
- Зависимая переменная: Итоговое количество лидов.
- Независимые переменные:
- Текущие лиды.
- Оставшиеся дни до начала когорты.
Пример уравнения:
[ \text{Итоговые лиды} = a \times \text{Текущие лиды} + b \times \text{Оставшиеся дни} + c ]
Где (a), (b), и (c) — коэффициенты, которые нужно оценить.
b. Метод машинного обучения
Если линейная регрессия не даст удовлетворительных результатов, рассмотрите использование более сложных алгоритмов машинного обучения, таких как:
- Случайный лес: Этот алгоритм хорошо работает с данными, имеющими множество факторов и сложную нелинейную зависимость.
- Градиентный бустинг: Еще один мощный метод, который может захватывать сложные зависимости в данных.
4. Оценка моделей
После создания модели вам нужно будет:
- Кросс-валидация: Используйте методы кросс-валидации, чтобы оценить точность вашей модели на тестовых данных.
- Ошибки предсказания: Рассматривайте метрики, такие как MAE (средняя абсолютная ошибка) или RMSE (корень из средней квадратичной ошибки) для оценки качества модели.
5. Оптимизация и тестирование
Проводите итерации на ваших моделях, настраивайте параметры и добавляйте дополнительные переменные, такие как:
- Маркетинговые кампании
- Праздники или другие события, которые могут влиять на количество лидов.
Заключение
Важно помнить, что предсказание — это процесс, который требует времени и тестирования. Попробуйте различные модели и стратегии, чтобы увидеть, какая из них работает лучше всего для ваших данных. Возможно, вам потребуется продолжать собирать данные и пересматривать модель по мере появления новой информации. Удачи в вашем проекте!