Как стать автором
Обновить

Комментарии 24

Хех, делали тоже самое, но на ruby :)
И как результаты? Удалось добиться значительного роста конверсии?
А с этого момента поподробнее :)
Какие библиотеки использовали? Что есть почитать на тему? Или может отдельную статью напишите? :)
Присоединяюсь к ожидающим подробности.
А корпус какого размера использовался для обучения?
Для каждого эксперимента — свой корпус, от 10 до 150 тыс. При этом learning curve достаточная плавная, уже на 10-20 тысячах точность обычно была близка к максимуму.
Всё же интересно какой скор по f1 получался. Возможно она будет лучше коррелировать с конверсией?
Бустинг не пробовали? Например, GradientBoostingClassifier — как правило работает лучше обычных деревьев.
Было бы интересно посмотреть на результат с большим количеством факторов.
Я смотрел на связь matthews_corrcoef (он по сути похож на f1) и конверсию и тоже ничего не нашел.
Бустинг пробовал, в двух из шести экспериментов сейчас именно он и применяется. Ансамблевые методы вообще работают в среднем лучше :)
Статья очень интересная, спасибо!
Мне кажется ваша модель имеет 1 очень большой плюс — она более гибкая. Мне кажется, похожую модель можно использовать для таргетированной/контекстной рекламы
важность хорошего лендинга несколько преувеличена

На другом проекте, другие методы, но вывод по жизни тот же… Такое ощущение, что вокруг темы лендингов специально раздувается ажиотаж, чтобы активнее продавать всевозможные решения по их «оптимизации».
Нельзя ли привести результаты рандома, что бы понять насколько «позади» он оказался?
Все ли лендинги были одинаково хорошо оптимизированы под мобильный трафик?
Рандом в среднем на 30-50% хуже a/b теста.
Оптимизация под мобильный трафик была одинаковой (у одного клиента все хорошо на всех лендингах, у другого — все равномерно плохо).

Как по мне — результат неожиданно высок. Там точно нет ошибки в сравнениях с рандомом?
Как я понял, вы browscap использовали? По факту там только одна существенная степень свободы — тип устройства. Может быть еще браузер, если лендинги — онлайн игры. Если б соцдем-информация была, тогда понятно. А так не ясно за счет чего такой прирост.
Не browscap (проект же на Python), но решение похожее. Есть еще география, utm-метки, время − факторов хватает.
Немного не понял, вы сначала тренируете модель прямо предсказывать клик

Y = [1 if click.conversion_time else 0 for click in clicks]

А потом считаете «насколько близка предсказанная вероятность»? Я не очень понимаю что есть «предсказанная вероятность» потому что ясно, что линейная регрессия не вероятность выдает.
Есть мнение что лучше использовать стандартные инструменты, но грамотно оценивать результаты моделирования, для примера порог качества модели установить 99,5%, а не 99%, при 1% положительных значений
Классификатор может оценивать вероятность того, что клик относится к выбранному классу (сконвертившийся или нет), а не только булев факт. Линейная регрессия тут вообще не при чем, т.к. это задача классификации, а не регрессии.

Допустим, есть клик, который на самом деле сконвертился.
Первый классификатор оценил вероятность clf1.predict_proba(click) = (0.51, 0.49) — т.е. 49%.
Второй классификатор оценил вероятность clf1.predict_proba(click) = (0.95, 0.05) — т.е. 5%.

Если threshold для классификатора будет на уровне 0.5 (т.е. если вероятность выше 0.5, расценивать как успешный клик), оба классификатора ошибутся, но второй ошибется значительно сильнее.
Так, а вы ранжируете классификаторы по сумме ошибок? Лучшие те, у которых сумма ошибок наименьшая (первый вариант)?
Ранжирую не по сумме, а по log_loss, но логика именно такая.
А есть ли подобный же сервис, но для текстов рекламных кампаний? Ведь тут важна полная связка между источником траффика и сконвертировавшимся пользователем.
Смотря что подразумевается под «текстами рекламных кампаний» :- ) Все-таки это достаточно широкое понятие.
Разные объявления для одного продукта дают не только разный CTR, но и разную конверсию. Интересно, можно ли ее увязывать с подсовыванием пользователям разных лендингов.
В принципе, у меня в одном из тестов была похожая ситуация. Разные объявления содержали разные utm-метки, которые использовались как признак. Но там не было полной связки, т.к. и объявления, и лендинги достаточно общие.
Без предварительной обработки предикторов не обойтись, посмотрите код победителей того же кагла. Навскидку помню, что они отсеивают редкие значения категорийных полей, добавляют искусственные поля с историей кликов, и т.п.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.