1) Средний клиент 500 000 пользователей. Из них тех, кому нужно отправить емейл оказывается примерно 5 000. Всего сейчас подключено 25 клиентов.
2) Переобучение раз в месяц
3) В рантайме не пробовали. За нейросетями нужно очень пристально следить — не начала ли переобучаться на что-то. Поэтому пока только под нашим надзором
4) Раз в сутки инференсим на всех пользователях. Сверху ответов сети на всякий случай есть фильтры (не отправляем одному и тому же чаще раза в 2 недели, например)
5) МЛ пайплайн целиком на питоне, инфраструктура про отправку емейлов — С#
Да, я понимаю, как раздражает, когда валится спам. Это как раз про те случаи, когда шлют наугад, лишь бы отправить и впарить. Мы, наоборот, работает над алгоритмами, чтобы спрос и предложение совпали и можно было показать клиенту ровно те товары, которые ему нужны именно сейчас.
Например, купил человек корм для собаки, наполнитель для кошки и всякие другие расходники. Мы понимаем, что через месяц ему понадобится ещё, ведь собаку и кошку надо кормить и ухаживать за ними. Направляем письмо-напоминалку. Если клиент нажмет на кнопку из письма, то сразу попадёт в корзину, где лежит весь предыдущий заказ. Ему не придётся ходить по сайту и собирать его заново. Кажется, польза и магазину, и клиенту.
А по поводу 8,5 раз. Речь идёт не об эффективности, а о реальном доходе. Если люди купили, значит товары были им нужны и мы вовремя их показали.
Интуитивно понятно, что если просто разослать всем подряд, то почти никто не откроет и смысла будет мало. А если, наоборот, отправлять мало, не получится это монетизировать, даже если выбор пользователей для отправки супер точный и все открыли письмо. Поэтому хочется придумать алгоритм который шлет больше, при этом оставляя получателей довольными — они все еще открывают письма, не отписываются и совершают покупки
Время отправки включено. Допустим предсказанная последовательность выглядит как (open_email, 0.5, open_email 10, view, 0.5, view 1). От текущего момента до ближайшего токена покупки 10.5 часов. Можно отправить письмо ровно через это время, но на самом деле лучше отправить немного заранее. Сейчас отправляем за 3 часа до прогнозируемого просмотра \ покупки товара.
Из продуктов и правда можно сконструировать много других токенов, пока не успели попробовать много вариантов, но с большой вероятностью «часто покупаемый» или «товар, который ищут по вечерам» будут не хуже текущих, мы будем пробовать экспериментировать дальше)
Помимо времени отправки еще важно решить, отправлять ли вообще письмо конкретному пользователю, нейросеть выбирает кому отправить, а кому нет. Если отправлять всем, то получится просто спам, хочется найти дату, когда пользователь с намбольшей вероятностью заинтересован в чтении письма и отправить именно в этот день
Разработка нового алгоритма заняла примерно месяц (команда из 4 ML разработчиков), для отправок использовали существующую инфраструктуру Mindbox, позволяющую отправлять emai, поэтому оценить суммарный бюджет тяжело
1) Средний клиент 500 000 пользователей. Из них тех, кому нужно отправить емейл оказывается примерно 5 000. Всего сейчас подключено 25 клиентов.
2) Переобучение раз в месяц
3) В рантайме не пробовали. За нейросетями нужно очень пристально следить — не начала ли переобучаться на что-то. Поэтому пока только под нашим надзором
4) Раз в сутки инференсим на всех пользователях. Сверху ответов сети на всякий случай есть фильтры (не отправляем одному и тому же чаще раза в 2 недели, например)
5) МЛ пайплайн целиком на питоне, инфраструктура про отправку емейлов — С#
Например, купил человек корм для собаки, наполнитель для кошки и всякие другие расходники. Мы понимаем, что через месяц ему понадобится ещё, ведь собаку и кошку надо кормить и ухаживать за ними. Направляем письмо-напоминалку. Если клиент нажмет на кнопку из письма, то сразу попадёт в корзину, где лежит весь предыдущий заказ. Ему не придётся ходить по сайту и собирать его заново. Кажется, польза и магазину, и клиенту.
А по поводу 8,5 раз. Речь идёт не об эффективности, а о реальном доходе. Если люди купили, значит товары были им нужны и мы вовремя их показали.
(open_email, 0.5, open_email 10, view, 0.5, view 1)
. От текущего момента до ближайшего токена покупки 10.5 часов. Можно отправить письмо ровно через это время, но на самом деле лучше отправить немного заранее. Сейчас отправляем за 3 часа до прогнозируемого просмотра \ покупки товара.Из продуктов и правда можно сконструировать много других токенов, пока не успели попробовать много вариантов, но с большой вероятностью «часто покупаемый» или «товар, который ищут по вечерам» будут не хуже текущих, мы будем пробовать экспериментировать дальше)
Помимо времени отправки еще важно решить, отправлять ли вообще письмо конкретному пользователю, нейросеть выбирает кому отправить, а кому нет. Если отправлять всем, то получится просто спам, хочется найти дату, когда пользователь с намбольшей вероятностью заинтересован в чтении письма и отправить именно в этот день