Кейсы роста
Epic Growth
3475

iFunny: как продукт с 50 млн пользователей по всему миру ставит A/B-тесты и увеличивает метрики

Команда Epic Growth подготовила доклад Михаила Табунова, директора по продукту FunCorp, с конференции Epic Growth Conference. Табунов рассказал о поиске retention-драйверов во флагманском продукте iFunny, про успешные и не очень A/B-тесты и к каким результатам они привели.

В закладки

О продукте и командах

iFunny — это мобильный продукт, который существует с 2011 года и успешно работает на рынке США; одно из первых приложений в App Store и Google Play.

Продукт насчитывает более 50 млн установок и находится во всех топах развлекательных приложений, а также номер два в мире в категории Entertainment, согласно SimilarWeb. На рынке США мы — медиа, основной наш продукт — 150 смешных картинок в день.

Наш офис в Москве, где более 80 человек развивают продукт. Практически все они имеют инженерный бэкграунд, даже менеджеры в прошлом — программисты. Поэтому у нас сейчас полностью инженерный подход к тому, что и как мы делаем.

Команда делится на шесть микрокоманд, каждая из которых занимается iFunny. Ростом retention и целевыми метриками занимается специальная команда роста из десяти человек: несколько iOS- и Android-разработчиков, два-три тестировщика, менеджер и backend.

У iFunny довольно высокий retention, а на уровне социальных сетей и мессенджеров у приложения стопроцентный UGC (пользовательский контент). Чтобы прийти к высоким метрикам retention, нам с командой пришлось запустить более 150 A/B-тестов, большинство из которых были неудачны.

Тем не менее они показали, в каком направлении нам нужно было двигаться и где искать retention-драйвер.

Цели

Когда я пришёл в FunCorp в 2017 году, моей первой и основной задачей был рост retention. Если до недавнего времени команда делала около 100 А/В-тестов в год, то сейчас мы сместили приоритеты.

Мы начали работать над качеством продукта, которое помогло бы улучшить метрику retention и, как следствие, принести рост дохода от продукта.

Хороший онбординг — рост метрики удержания

Когда я пришёл в FunCorp, онбординг (первая сессия пользователя в продукте) iFunny выглядел достаточно примитивно: при запуске приложения появлялся splash screen — объяснение, что нужно свайпить для просмотра, а также обычный запрос на отправку push-уведомлений.

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

Решили сделать объяснение из пяти дополнительных экранов, каждый из которых пояснял, что здесь есть комментарии, UGC, пользователи, режим full screen и то, что контент можно шарить. Эксперимент не дал результатов, все просто доходили до конца, а retention не рос. Начали улучшать эту идею.

Продолжили работу с push-уведомлениями. Узнали, что pop-up с предложением подписки на пуши в iOS не идеален. Нужно сначала делать свой pop-up с кастомным текстом, хочет ли пользователь получать уведомления, а потом уже показывать системный запрос. Сделали и получили результаты хуже, чем было по дефолту.

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

Другой эксперимент про поиск каналов возврата пользователей. Первым каналом стал обычный календарь: он есть в каждом телефоне и уведомления в нем практически всегда включены. Решили добавлять расписание семи выпусков в календарь пользователю, чтобы тот чаще возвращался в приложение.

Для этого сделали простой экран, кнопку ”Continue” и pop-up с запросом доступа в календарь. Retention начал круто расти в первый же день. Но со временем людей эти уведомления начали напрягать, и они стали удалять события из календаря.

Пробовали добавлять авторизацию с помощью мобильного телефона, запрашивали имя, доступ к телефонной книге и предлагали приглашать друзей. С одной стороны, это выглядело довольно странно — зачем развлекательному приложению твой номер телефона.

С другой стороны, сейчас практически все приложения, которые относятся к категории social media, запрашивают на главном экране номер телефона, email и другое. Запустили эксперимент и снова неудача — пользователи на этом экране закрывали приложение и удаляли.

Сделали около 20 итераций, которые не принесли нам результатов. Начали глубже разбираться, смотреть стримы ивентов — на тот момент у продукта появилась запись экрана. В запись шли первые десять сессий пользователя, и это помогло нам отследить один важный момент: пользователи с хорошим retention заходили в приложение, сразу логинились и шли дальше по своим делам, при этом сессия фиксировалась как новая установка.

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

60% были старыми пользователями, а значит заваливать их объяснениями, как лучше пользоваться iFunny, не было смысла. Остальных же 40% новеньких было настолько мало, что даже пытаясь увеличить с их помощью retention, в продукте это ничего бы не поменяло: у старых retention седьмого дня — 30%, у новых — 20%.

Выводы:

  • Реально новых пользователей мало.
  • Retention реинсталлов сильно не увеличишь.
  • Нужно работать со старыми пользователями.

Гипотезы и поиск retention-драйверов

В результате свернули тему с онбордингом и начали работать со старыми пользователями, которые регулярно пользуются продуктом. Эксперименты же помогли нам понять следующее: retention был выше у тех, кто больше всего смотрит мемов, кто включил push-уведомления и кто повторно устанавливал приложение.

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

Retention был выше у тех, кто больше всего смотрит мемов, кто включил push-уведомления и кто повторно устанавливал приложение. Дальше развивать и улучшать продукт мы решили именно в этих направлениях, цель была увеличить глубину просмотра, пуши и реактивацию.

Больше смотришь — выше retention

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

В iFunny есть основная лента и есть много других тематических: самый лучший контент, «твои подписки» или лента, отсортированная по определенному алгоритму.

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

Далее решили упростить playback, чтобы он был полностью автоматический, когда лента сама листается и есть возможность ставить её на паузу. Такой аналог сториз в Instagram. Пользователи этот эксперимент вообще не поняли, а глубина просмотра осталась примерно на том же уровне.

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

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

Но вместе с тем появилась проблема — начало уменьшаться количество людей, которые заходят каждый день. Сделали массу итераций, среди них была группа тестов про счётчик, которая дала отличные результаты: выросла глубина просмотров, а с ними и доходы по рекламе, потому что они напрямую связаны с глубиной просмотров. Но retention при этом не рос.

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

Проверили гипотезу — чем больше шеров у контента, тем он более вирален и нравится пользователям. Взяли две группы мемов (непрочитанные и прочитанные) отсортировали по убыванию коэффициента шеров (отношение количества шеров этого контента к общему количеству просмотров). Мемы, которые больше всего шерят, поставили вперед, а те, что меньше, — назад.

Благодаря шерам получили более 1000 установок в день, но retention до сих пор был на том же уровне.

Запустили эксперимент и увидели значимые результаты — глубина просмотров не упала, увеличилось количество шеров, вырос уровень републикации. Благодаря шерам получили более 1000 установок в день, но retention до сих пор был на том же уровне.

Тест сортировки

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

Сортировали по основным действиям, которые доступны пользователю при взаимодействии с контентом: по убыванию коэффициента лайков, по коэффициенту сохранения, по коэффициенту репостов, по коэффициенту шеринга.

На третьей неделе тестов заметили, что retention в группе по лайкам растёт, основные метрики retention поползли вверх и — что немаловажно — onboarding тоже улучшился. Новые пользователи стали лучше онбордиться, а контент, выбранный этим алгоритмом, показался более веселым. Так мы поняли, что смайлы это ещё один наш retention-драйвер, а главное — появилось понимание, в какую сторону развивать продукт.

Retention-драйверы:

  • Лайки.
  • Сохранения.
  • Репосты.
  • Шеры.
  • Что же еще?

Эксперименты с push-уведомлениями

Вместе с этим мы продолжали тестить пуши, так как они всегда были высококонверсионным каналом возврата пользователя. Наши Android-пользователи получают в среднем 25 пушей в день. Когда же пушей приходит навалом, Android-система позволяет пользователям очистить их все разом. На iOS это выглядит немного иначе.

Мы с командой провели около 20 итераций по частотности пушей, по их наполнению, кластеризации — и всё равно это никак не повлияло на продукт. Единственное, что заметили, у iOS и Android совершенно разные механики реактивации через push-уведомления.

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

С Android дела обстояли иначе — пользователям было без разницы, сколько им слали пушей, потому что система их группирует и для нас это не так заметно.

Тогда вернулись к серьёзной аналитике вокруг push-уведомлений. Изначально трекали только открытие пуша, сейчас же мы стали трекать отправку и приём пуша телефоном, его открытие и все ошибки, о которых нам говорят Firebase и APNs на отправку, также постоянно проверяем актуальность токенов.

У нас большое количество технических ошибок по отправке пушей.

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

Начали с содержания пуша, сделав заголовок с user-generated текстом. Раньше пользователь получал пуши, которые писали наши редакторы: собиралось семь выпусков в день и семь раз в день пользователь получал 20 смешных картинок.

Теперь же мы создали довольно простой алгоритм, который выбирал самую популярную по лайкам картинку, парсил на ней текст, ставил его в заголовок и добавлял туда же картинку.

Добавление картинки user-generated пуша увеличило его открытие в два раза и сильно повлияло на восприятие пользователями нашего продукта. Затем мы поменяли верстку у пуша, сделав полностью кастомный layout — конверсия увеличилась ещё в полтора раза просто за счет того, что мы сделали большую картинку.

Такие довольно простые изменения с push-уведомлениями дали тройной рост CTR пушам. Кроме этого, мы на 2% увеличили степень лояльности пользователей и вовлеченности в продукт, а глубина сессии получила +3%. Хоть цифры небольшие, но для нашего продукта значимые — крайне редко нам какой-нибудь из тестов приносит +2% DAU/WAU.

Подводя итоги

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

А еще больше про эксперименты, рост продуктов, growth-процессы команд читайте в Telegram-канале Epic Growth Channel.

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Epic Growth", "author_type": "self", "tags": ["ab\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"], "comments": 8, "likes": 21, "favorites": 44, "is_advertisement": false, "subsite_label": "growth", "id": 92122, "is_wide": true, "is_ugc": true, "date": "Wed, 13 Nov 2019 12:12:49 +0300", "is_special": false }
0
{ "id": 92122, "author_id": 304042, "diff_limit": 1000, "urls": {"diff":"\/comments\/92122\/get","add":"\/comments\/92122\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/92122"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 393615, "last_count_and_date": null }
8 комментариев
Популярные
По порядку
Написать комментарий...
8

Спасибо за кейсы, очень интересно!

Ответить
1

Nice meme. Рейтани мой по-брацки) Поздравляю со статьей на Vice, теперь можно пятерку завершить)

Ответить
3

Подписывайтесь на мой канал в Telegram 
https://t-do.ru/bossofyourboss

Ответить
2

Плохое слово удержать. Принести больше полезного опыта – лучше.

Ответить
0

Подчерпнули пару мыслей, спасибо! 
Я так понимаю, верстку пушей можно менять только на андрюхе?

Ответить
–1

 существует с 2011 года и успешно работает на рынке США; одно из первых приложений в App Store и Google Play.

Эмм, в Аппстор паблишить можно было с 2008го года. Оно точно не одно из первых

Ответить
0

Из первой тысячи))

Ответить
{ "page_type": "article" }

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovx", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "disable": true, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cgxmr", "p2": "gnwc" } } } ] { "page_type": "default" }