Как бороться с оттоком игроков с помощью анализа данных на примере Top Eleven

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

«Отвал» — явление, широко известное во многих отраслях, в том числе в банковском деле, телекоммуникациях и играх.

Инженер по работе с данными компании Nordeus Милош Милошевич (Miloš Milošević) написал заметку про способы борьбы с этим явлением на примере проекта Top Eleven.

Роман Горошкин, директор по развитию ITLabz, перевёл текст статьи специально для DTF.

Как бороться с оттоком игроков с помощью анализа данных на примере Top Eleven

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

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

Но что, если есть нечто, что мы можем проанализировать заранее и уменьшить отток, не отвлекая и не загружая команду разработки? Этим вопросом мы задались в Nordeus для того, чтобы выявить ранний отток игроков в нашей флагманской игре Top Eleven.

Top Eleven — социальный кросс-платформенный футбольный менеджер со 120 млн зарегистрированных игроков. Игра работает по модели free-to-play

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

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

Идентификация раннего «отвала»

Итак, как же мы прогнозируем ранний отток клиентов? Оказалось, что это больше вопрос о том, «когда», а не «каким образом». В зависимости от конкретного примера для раннего прогнозирования оттока абонентов и вашей игры в целом, вы можете включать алгоритм предсказания чуть раньше или позже. Когда мы начали внедрять нашу систему раннего прогноза оттока абонентов в Top Eleven, мы знали, что нужно повторно активировать игрока с помощью персонализированных push-уведомлений. Но мы всё ещё не могли понять, какой именно момент мы хотим предугадать. Так что же вы делаете, когда вы не знаете о чём-то наверняка? Вы проверяете гипотезу экспериментом!

Мы сделали три различных модели прогнозов, на срок уведомления после трёх, двух и одного дня с момента регистрации пользователя.

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

Модель по третьему дню даёт нам наилучший результат точности возврата, но удовлетворённость уровнем реактивации невысокая

Модель по второму дню сохраняет уровень точности возврата второго дня, однако реактивация нас всё ещё не устраивает

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

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

Как бороться с оттоком игроков с помощью анализа данных на примере Top Eleven

Первым делом мы обращаем внимание на регистрационную информацию пользователя, надеясь использовать качество этого ресурса, как один из индикаторов для прогноза. Мы собираем данные о платформе, с которой прошла регистрация, регионе и стране, UTM-коде, а также о том, был ли этот пользователь зарегистрирован в Top Eleven ранее. Мы так же смотрим на наши данные по активности, где видим количество сессий, их длину, интервалы между ними, для того, чтобы попытаться получить представление об уровне вовлечённости игроков. В наших данных были и действия с внутриигровой валютой, для измерения количества бустеров, купленных и потраченных пользователем. С этими функциями модели работали нормально, но в итоге мы всё несколько усложнили.

Что действительно повысило точность, так это учёт преимуществ сбора данных из наших внутриигровых событий и добавление пользовательских кликов в качестве признаков. Рассортировав эти клики по определённым игровым функциям в Top Eleven, мы смогли понять, какие из них нравятся пользователям больше или меньше всего. Это, с добавлением некоторых специфических особенностей игры, по которым мы ясно понимали корреляцию с уровнем оттока, дало нам данные для моделей, которыми мы в конечном итоге были удовлетворены.

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

Как бороться с оттоком игроков с помощью анализа данных на примере Top Eleven

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

Углубляясь в производительность модели с точки зрения точности и возврата, в качестве цели мы выбираем максимально возможное значение параметра возврата для «уходящего» пользователя. В конце концов, мы остановились на значении возврата 0.85 и точности 0.7 для позитивного класса, а также 0.5 возврата и 0.7 точности для негативного. Относительно низкая производительность для негативного класса легко компенсируется отправкой push-уведомлений в ориентировочное время регистрации пользователя за предыдущий день. Эта небольшая хитрость ещё больше увеличивает точность показателей и влияет на ложные срабатывания.

Способность эффективного определения раннего оттока пользователей важна, но настоящей проблемой становится их возврат обратно.

Цель — отваливающиеся игроки

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

Мы определились с подходом к реактивации пользователей Top Eleven. Однако мы оперируем информацией всего за один день, так что создание правильного уведомления станет интересной задачей. После многочисленных мозговых штурмов мы поняли, что ответ всё это время был прямо перед нами.

Помните эти объединённые пользовательские клики, которые мы использовали для прогнозирования? Мы так же можем их использовать для создания персональных сообщений. Давайте взглянем на этот график:

Как бороться с оттоком игроков с помощью анализа данных на примере Top Eleven

Здесь вертикальные линии представляют разные игровые функции в Top Eleven и цветные линии представляют разные типы пользователей. Оранжевые парни однозначно фанаты разделов «Команда» и «Тренинг», тогда как красным, например, больше всего нравится «Лига». Если мы предположим, что люди уходят из игры потому, что находят её очень сложной, и что они точно запомнят самую часто используемую вкладку в меню, то сможем создать максимально подходящий формат сообщений, который сможет объяснить пользователю, как пользоваться той или иной функцией.

Рассмотрим два этих примера:

Знаете ли вы, что тренировки напрямую влияют на умения ваших игроков?
Знаете ли вы, что тренировки напрямую влияют на умения ваших игроков?
Знаете ли вы, что можете заполучить себе в клуб известных игроков, приняв участие в аукционе?
Знаете ли вы, что можете заполучить себе в клуб известных игроков, приняв участие в аукционе?

Эти оповещения объясняют, как в Top Eleven работают тренировки и аукционы. Так же стоит отметить, что они звучат достаточно интригующе и очевидно соединены с тем или иным элементом игры, то есть, когда игрок откликается, то попадает в соответствующее меню игры.

Измеряя результаты

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

Логичным будет вопрос, почему таких группы три, а не две, как обычно это бывает: контрольная и тестовая? Ответ достаточно прост — в том случае вы не сможете определить, что именно влияет на пользователя, сами уведомления или их содержание. Реализация решения заключалась в том, что базовая группа получала нотификацию с общим контентом, а тестовая — с целевым.

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

Как бороться с оттоком игроков с помощью анализа данных на примере Top Eleven

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

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

Надеюсь, что вам понравилась эта статья, а удовольствия от её прочтения вы получили не меньше, чем я от её написания. Люблю делиться своим опытом и знаниями, и с радостью буду делать в будущем.

3.2K3.2K открытий
2 комментария

Есть у кого еще подобные примеры аналитики? Буду очень признателен

Ответить

Спасибо Роману за перевод!

Ответить