Секрет экспоненциального роста Duolingo

Как Agile Scrum помогает в проектах автоматизации бизнеса
Всем привет!

Автор статьи – вице-президент по разработке Duolingo Шон Коломбо – поделится важными уроками роста, полученными за время работы в Duolingo, которые окажутся полезными, если вы ищете идеи и стратегии для развития вашего продукта.

Статья переведена из блога Lenny Rachitsky
За последние пять лет команда Шона увеличила DAU (Daily Active Users/количество ежедневных активных пользователей) Duolingo с 5 до почти 30 миллионов (более чем в 6 раз!), а акции компании выросли почти в 3 раза за последние два года, во многом благодаря методичному совершенствованию продукта и экспериментам. Такое ускорение практически никогда не встречается у компаний, которым более десяти лет, особенно после многолетнего спада
DAU (млн) vs квартал
Секрет экспоненциального роста Duolingo с Шоном Коломбо
Когда мы объединяли все наши команды роста в одну организацию, я создал внутренний документ под названием «Размышления Коломбо о росте» со своими мыслями о том, что стало причиной нашего активного роста за последние несколько лет и как мы можем сохранить этот темп. Документ нашел отклик у моих коллег из Duo, и эта статья – попытка поделиться некоторыми из моих размышлений с более широкой аудиторией. Документ охватывает как стратегические, так и тактические аспекты, которым мы научились за время роста, который мы поддерживаем уже более пяти лет.

1. 📈 Сохраняйте ощущение срочности для стимулирования комплексного роста

Один из ключевых уроков, который мы усвоили, заключается в том, что ощущение срочности приводит к ускоренному росту.

Чтобы добиться наилучших результатов в долгосрочной перспективе, у вас всегда должно быть чувство срочности. Чем раньше вы начнете эксперименты, тем быстрее они повлияют на ваш рост. А все улучшения в совокупности приводят к комплексном росту!

В Duolingo нам очень повезло, что на нас работает сильное сарафанное радио. Даже при чрезвычайно успешном маркетинге (и частично благодаря ему) около 90% роста DAU происходит за счет того, что новые ученики узнают о нас от друзей, семьи, учителей, коллег и других знакомых. Благодаря этому значение DAU автоматически увеличивается за счет комплексного роста. Еще более выраженный эффект комплексного роста наблюдается в показателях удержания.

Пример
Допустим, у вас 100 000 DAU и коэффициент удержания 80%, и на каждые пять пользователей один из них каждый день советует другу скачать ваше приложение (и тот это делает). Таким образом, вы получаете 20 тысяч новых пользователей в день только благодаря сарафанному радио. В этом уравнении Xn – это количество DAU сегодня, а Xn+1 – количество DAU завтра:

Xn+1= (Xn* 80%) + (Xn* (⅕))


Если вы начнете с Xn= 100 000 DAU, то заметите, что значение на следующий день (Xn + 1) остается равным 100 000 DAU – равное количество пользователей присоединяется и отписывается каждый день.

Однако, если мы проведем эксперимент, который позволит повысить уровень удержания на 1%, произойдет нечто интересное:

День 0 (Вс): 100,000 = Х0

День 1 (Пн): (Х0 * 81%) + (х0 * (⅕)) = 101,000 (который мы будем теперь называть Х1)

День 2 (Вт): (Х1 * 81%) + (Х1 * (⅕)) = 102,010 (это Х2, и т. д.)

День 3 (Ср): (Х2 * 81%) + (Х2 * (⅕)) = 103,030

День 4 (Чт): (Х3 * 81%) + (Х3 * (⅕)) = 104,060

День 5 (Пт): (Х4 * 81%) + (Х4 * (⅕)) = 105,100

День 6 (Сб): (Х5 * 81%) + (Х5 * (⅕)) = 106,151

День 7 (Вс): (Х6 * 81%) + (Х6 * (⅕)) = 107,213

День 8 (Пн): (Х7 * 81%) + (Х7 * (⅕)) = 108,285


Вы заметите, что в первую неделю между воскресеньем и понедельником мы добавили 1000 DAU. Неделю спустя мы добавили 1072 DAU в тот же день, потому что стало больше пользователей, которые распространяли информацию.

Каким бы ни был эксперимент, который привел к увеличению удержания на 1%, он добавляет на 72 человека больше каждый день только потому, что был запущен за неделю до этого. Через две-три недели число пользователей продолжает расти по сравнению с первым днем. В Duolingo мы запускаем сотни экспериментов в квартал, поэтому такой эффект может быть очень значительным.

Итак, комплексный рост – это здорово, но как это связано с ощущением срочности в Duolingo? Мы проводим эксперименты практически во всем, что делаем, и быстрый запуск этих экспериментов оказывает значительное влияние на наш долгосрочный успех.

Преимущества комплексного роста в действии — в реальном полностью гипотетическом мире

Возьмем совершенно гипотетический пример с приложением Luodingo, у которого произошло два крупных запуска функций.

Функцию A они портировали с iOS на Android быстро, сразу же после запуска на iOS. Включая время на разработку, развертывание и проведение эксперимента в течение двух недель для получения данных, они завершили портирование функции A через 82 дня.

Функция B оказала аналогичное влияние в первоначальном эксперименте, но команда провела две небольшие итерации, чтобы отполировать ее, прежде чем портировать на Android. Итерации были не очень существенны, но они превратили функцию B во что-то, чем луодинганцы больше гордились (и, конечно, надеялись, что результаты тоже будут положительными). Порт функции B для Android был завершен через 184 дня после запуска функции B на iOS.

Давайте посмотрим, какое влияние оказало это ожидание портирования:
  • 184 дня до запуска по сравнению с 82 днями, то есть 102 дополнительных дня, когда порт не работал.
  • Порт показал прирост примерно в 21 тыс. DAU в день за двухнедельный период.
  • В 102-дневной разнице между двумя потенциальными подходами было примерно 7,3 таких двухнедельных периодов.
  • Это означает, что в среднем за этот период в день терялось примерно 7,3 * 21 тыс., или 153,3 тыс. DAU. (Обратите внимание, что это всего лишь ориентировочные цифры; на самом деле вы не можете умножать результаты эксперимента на время полностью линейно, как здесь. Пожалуйста, простите меня, команды Data Platform и Data Science & Analytics! 🙏)
  • В этой совершенно гипотетической компании, в среднем, каждый день один пользователь на каждые 50 DAU приходит по рекомендации знакомых.
  • Это означает, что в течение этого периода они упускали в среднем (153 000 / 50), или 3000 новых пользователей в день, пришедших благодаря знакомым! Это в дополнение к 153,3 тыс. DAU, которые они теряли из-за отсутствия функции B на Android в течение этого времени.
  • Мораль этой истории такова: команда, вероятно, очень, очень много работала, придумывая новые эксперименты, составляя спецификации, внедряя и т. д., чтобы попытаться получить результат, равный количеству DAU, который они могли бы получить, просто осуществив портирование раньше.
  • Я бы точно никогда не допустил такой ошибки, и это, очевидно, не совсем реальный пример из жизни команды, за которую я отвечал. 0:-)
Чтобы быть уверенными, что мы движемся быстро и стремимся к росту без ущерба для качества, мы используем следующие рекомендации, которые вы также можете применить в своей организации:

  1. Принимайте решение, как только будете уверены, что у вас есть необходимые для этого данные. Команды часто проводят несколько экспериментов одновременно, работая над выпуском будущих функций. Они могут отложить эксперименты на второй план, чтобы “собрать больше данных” и время от времени проверять их. Дисциплина тщательно и регулярно проверять результаты экспериментов, чтобы заметить достаточное количество данных для запуска, приведет к максимальному эффекту в кратчайшие сроки.
  2. Проводите эксперименты с как можно большим количеством участников (пользователей) как можно быстрее. Чтобы иметь достаточную уверенность в результатах эксперимента, нам нужно, чтобы в них участвовало большое количество пользователей. Многие эксперименты начинаются с очень небольшого числа людей, которым разрешают увидеть новый эксперимент в самом начале, и часто нет необходимости увеличивать это число, пока команда работает над следующим большим проектом. Но важно увеличить количество участников, как только вы убедитесь, что изменения безопасны. Чем раньше вы получите данные, необходимые для принятия решения об эксперименте, тем скорее запустите его и начнете наращивать результаты.
  3. Не тяните время. Если у вас есть хорошая новая функция, но есть некоторые нюансы, которые вы хотите в ней изменить, не надо закрывать ее, вносить правки, а затем проводить еще один эксперимент. Если несовершенная версия является улучшением по сравнению с предыдущей, внедрите ее для новых пользователей (это запустит комплексный рост), а затем проведите итеративные эксперименты по улучшению. Объем работы, сэкономленный за счет откладывания запуска, скорее всего, будет очень мал по сравнению с выгодой от выхода функции. Это также означает, что пользователи на разных платформах будут иметь более единообразный опыт, что очень важно.
  4. Учитывайте окупаемость инвестиций при определении порядка проведения экспериментов. Есть много факторов, которые руководители команд учитывают при определении приоритетности проектов, но я бы сказал, что выбирать самые эффективные проекты с высоким уровнем возврата инвестиций в первую очередь – это правильный путь, поскольку они будут приносить доход в течение более длительного периода времени. Когда команды занимаются квартальным планированием, они часто не обращают внимания на порядок и сосредотачиваются на списке дел, которые они хотят выполнить за три месяца. Порядок имеет значение!
  5. Делайте запуск сначала на своих крупнейших платформах. Если у вас значительно больше пользователей на Android, то изначальный запуск экспериментов на Android, а затем портирование на iOS даст больше преимуществ в долгосрочной перспективе, чем наоборот. Если вы сначала запускаете приложение для большего числа пользователей, то в сумме получаете больше преимуществ.
  6. Портируйте победы. Если вашей компании не нужно проводить эксперименты на всех платформах одновременно, то, скорее всего, будет быстрее попробовать что-то на одной платформе, а затем портировать на другие – это самый распространенный подход. Быстрое портирование – огромная возможность воспользоваться преимуществами комплексного роста. В Duolingo успешны около 50% экспериментов. Однако эксперименты, которые переносятся на другие платформы, имеют успех ближе к 100%. Почти все, что выигрывает на одной платформе, оказывается успешным и на другой. Пользователи разных платформ не сильно отличаются друг от друга.
Конечно, многие разумные люди (и компании) собирают как можно больше данных, ждут запуска, пока все не станет идеально, и долгое время проводят эксперименты только с небольшим количеством пользователей. Такие компании также могут добиться успеха. Однако опыт Duolingo показал мне, что наш подход очень хорошо работает в долгосрочной перспективе. Сохранение чувства срочности приводит к фантастическому комплексному росту.

2. ♟️ Определите свое стратегическое преимущество

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

Наш генеральный директор, Луис фон Ан, много раз говорил, что нашими конкурентами, возможно, являются Instagram, TikTok и другие способы просто скоротать время за телефоном. Хотя социальные сети и игры имеют свои преимущества, у нас есть одно, которого нет у других приложений – наши ученики хотят выработать привычку к Duolingo. Никто не скачивает Royal Match с мыслью: "Надеюсь, я буду играть в эту игру часами каждый день". Но у наших пользователей есть осознанное желание выучить другой язык, поэтому они являются партнерами в достижении нашей цели – удержать их.

Особенно важно, что если мы даем пользователям полезные уведомления (с возможностью их отключения для тех, кто не считает их ценными), то они, как правило, хорошо воспринимаются.

Привет. Это Лили. Думаю, твоя 58-дневная серия впечатляет. Продолжай в том же темпе. Или нет. Поощрение – это в духе Дуо.

Пример реального уведомления
Обратите внимание, это не означает, что мы должны рассылать пользователям спам. (Смотрите раздел ниже об уведомлениях и золотом гусе)

Лучшая книга, которую я читал о стратегии – это "Хорошая стратегия, плохая стратегия" Ричарда Румельта. Хотя книгу определенно стоит прочитать целиком, очень краткое объяснение того, как найти свое стратегическое преимущество, будет следующим:

Определите уникальную сильную сторону вашей компании/продукта, которая хорошо согласуется с текущими возможностями в вашей среде. Затем используйте эту сильную сторону таким образом, чтобы другие не могли легко ее повторить. Сосредоточьтесь на том, что отличает вас от других, и используйте это для создания устойчивого конкурентного преимущества.

Желание наших учеников выработать привычку дает нам преимущество перед другими способами, которыми они могли бы проводить свое время. Мы развили это преимущество, и теперь лидируем среди других приложений для изучения языков и обучения.

В нашем случае определение стратегического преимущества направило нас на итерации уведомлений и создание системы серий занятий (что помогает сформировать привычку, которую хотят выработать наши пользователи). Когда вы найдете свое стратегическое преимущество, оно укажет вам направление изменений в продукте, которые должны принести наилучшие результаты для бизнеса. Для начала прочитайте упомянутую выше книгу Румельта, определите свое стратегическое преимущество, а затем используйте его для внесения практических изменений в продукт.

3. Сначала копируйте, затем внедряйте инновации

🚲 Не изобретайте велосипед, когда речь идет о механике приложений

Существуют буквально миллионы мобильных приложений, и у крупнейших из них миллиарды пользователей. Лидеры рынка провели A/B тесты, в общей сложности пройдя миллиарды процедур. Более того, сам рынок приложений можно рассматривать как генетический алгоритм, в котором выигрышные концепции в конечном итоге привлекают больше пользователей, а значит, вдохновляют следующую группу разработчиков, и так далее.

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

Таблица лидеров среди друзей за все время – не то

Еженедельная таблица лидеров среди друзей – не то

Таблица лидеров среди «клуба» – не то

Таблица лидеров, вдохновленная казуальными мобильными играми – то!

За основу мы взяли успешные таблицы лидеров в других играх, таких как Gardenscapes, Golf Clash, Toon Blast и других. Победившая концепция (наша четвертая итерация) представляла собой опциональный опыт, когда участников каждую неделю объединяли в новые группы по 30 человек, где несколько пользователей еженедельно повышались или понижались в более высокие или низкие лиги. Лиги автоматически формировались таким образом, чтобы участники были примерно одного уровня. Наряду с наградами за первые три места, это создало интересные пограничные позиции в группах, где пользователи всегда близки к тому, чтобы либо выиграть, либо проиграть что-то в зависимости от своей позиции.

Потребовалась огромная работа над продуктом и дизайном, чтобы адаптировать эти идеи к Duolingo. Наша система таблиц лидеров была самой сложной функцией, которую мы добавили в Duolingo, и мы должны были убедиться, что люди смогут разобраться в ней без всплывающих пояснений. Однако это стоило затраченных усилий: удержание D1 (в течение одних суток) выросло на 1%, удержание D7 выросло на 2%, а удержание D14 выросло на 3%. Кроме того, время, потраченное людьми на обучение, увеличилось примерно на 17%, что стало для нас совершенно потрясающим результатом – обычно, если наши эксперименты позволяют сдвинуть основной показатель на 1%, это очень хороший результат.

Подобные уроки можно применить ко многим другим распространенным игровым механикам, которые хорошо работают в одних приложениях и платформах и плохо – в других. Например, достижения, квесты, значки, косметика. Я даже думаю, что Duolingo часто может лучше следовать нашим собственным советам.

Ваш первый MVP это версия продукта существующей широко распространенной механики, поэтому на этом этапе не стоит делать акцент на инновационных решениях.

💡 Когда следует внедрять инновации?

Есть два сценария, в которых, на мой взгляд, следует проявить смекалку и начать расширять границы:

1. Когда вы уже являетесь лидером индустрии. Уведомления Duolingo – хороший пример такого сценария. Мы рано стали известны как лидеры в области уведомлений, и с тех пор расширили границы, используя алгоритм «бандит», создав пользовательские интерфейсы, позволяющие не-разработчикам проводить эксперименты с копированием, и создав способ отправки миллионов уведомлений в течение нескольких секунд после нажатия кнопки, – все это стало важными победами. Хотя у нас еще есть возможности со временем перенять что-то новое из индустрии (как мы сделали с добавлением эмодзи в уведомления, когда другие сочли это эффективным), важно продолжать работать над своими преимуществами, а не ждать, пока другие создадут инновации, которые мы сможем копировать. Мы являемся инноваторами с нашими инструментами для экспериментов, и наша команда по экспериментам постоянно пробует что-то новое, где пока мало предыдущего опыта.
Один из аналогичных примеров – это ранний Netflix. Они убрали Blockbuster из бизнеса со своей системой отправки DVD по почте, а затем стали пионерами в еще более продвинутой системе доставки (потоковое вещание) и успешно превзошли свой собственный рынок отправки по почте. Утвердив свою позицию новаторов в области доставки в дом фильмов и сериалов, Netflix сохранили доминирующее положение даже во время масштабного поворота в отрасли.

Алгоритм «бандит»

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

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

4. 🦢 Уведомления – это гусыня, несущая золотые яйца. Не убивайте гусыню

Это применимо не ко всем приложениям, но в Duolingo из года в год уведомления являются источником постоянных побед без явных признаков замедления.

  1. Изменение существующих уведомлений и даже (редко и осторожно) добавление новых полезных уведомлений – почти бесконечный источник выгоды. Мы улучшаем уведомления уже много лет, и они по-прежнему приносят стабильные победы. Эти эксперименты – золотые яйца!
  2. Сам канал уведомлений – это гусыня. Если мы отправляем уведомления, которые пользователи считают неинтересными, недостойными прочтения или которые заставляют их отписаться, мы разрушаем канал и убиваем гусыню. Есть история, которую мы услышали от коллег из Groupon: когда они проводили эксперименты с отправкой дополнительных электронных писем, каждый эксперимент показывал положительные результаты. Поэтому они отправляли все больше и больше электронных писем. Однако в конце концов канал начал загнивать, и у них возникли всевозможные проблемы — пользователи отписывались, письма отправлялись в папку со спамом, показатели доставки падали, и в итоге люди просто перестали читать письма.

Хотите ускорить рост продукта?

Тогда оставляйте заявку курс «Продакт-менеджмент»! Вы освоите более 50 новых инструментов, систематизируете знания и на практике попробуете решать все задачи, о которых мы говорили в статье.

На курсе вы:
  • Научитесь запускать внутренние и внешние продукты и управлять ими
  • Улучшите метрики существующего продукта
  • На практике систематизируете свои знания и освоите все аспекты продакт-менеджмента
  • Освоите 50+ инструментов и фреймворков из мира продакт-менеджмента
  • Научитесь использовать Искусственный Интеллект в целях продакт-менеджмента
  • Поработаете в Яндекс.Метрике, Miro, Figma, OpenAI, Amplitude

Больше статей по теме

Получить консультацию
Заполните форму и получите ответы
на все вопросы.