Феномен Duolingo, или как превратить слегка тёмный паттерн в гениальный хак

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

Они довели до идеала работу с уведомлениями.

Есть такая "проблема многорукого бандита". Суть в следующем. Вы садитесь играть в автомат с кучей ручек. С одной стороны, вам нужно сначала изучить эти ручки - подергать их, чтобы понять, какая даёт наибольший выигрыш. С другой, вам нужно как можно больше дергать именно ту ручку, где лежат самые жирные ништяки. Если потратить слишком много усилий на изучение, то у вас останется меньше попыток для нужной ручки. А если недотестировать, то вы рискуете вообще не найти ту самую.

У Duolingo похожая задача, только в других условиях. Им нужно уметь посылать пользователю такой пуш, который с максимальной вероятностью "приведет к выигрышу". То есть, лучше всего сконвертит юзера в открытие приложения, прохождение урока и другое целевое действие. Более того, если в классическом варианте проблемы отсутствует контекст (есть только игрок и разные ручки), то в реалиях языковой аппки этого контекста дофига. Все юзеры разные. Кто-то учит английский, кто-то хинди. Одни вовлеченные и занимаются постоянно, а другие полумертвые и их нужно активнее раскачивать. У кого-то уже высокий уровень, а кто-то новичок.

Для решения этой проблемы Duolingo соорудил специальный алгоритм тестирования уведомлений под названием RDSA. Если кратко, то они распределяют разные уведомления по "раундам" (раунд - это этап, на котором пуш шлется разным юзерам). На раундах происходит скоринг пушей. Если уведомление хорошо сконвертило пользователя в прохождение урока, то пуш получает 1, если нет, то 0. На основе скоринга каждый пуш получает "историю эффективности". На её основе Duolingo выбирает конкретный пуш для Васи или Пети на определенном этапе их прогресса. Я описал очень упрощенно, подробнее можете глянуть тут (сразу предупреждаю - на английском и есть формулы): https://clck.ru/3BfsZE

В итоге Duolingo довели уведомления до такого уровня, что совёнок-манипулятор стал мемом, а многие юзеры держат "ударный режим" в течение недель, месяцев и даже лет. Ударный режим, он же "стрик" - это период, когда вы выполняете хотя бы 1 урок Duolingo в день. Более 70% пользователей регулярно делают недельные стрики, а 5 млн пользователь - более года. Есть даже особо отбитые товарищи, которые ищут интернет на Эвересте (!), лишь бы не сбить свою серию. Ну или учат язык на собственной свадьбе, лол.

Более подробно про Duolingo можете почитать тут https://clck.ru/3Bfsdg