ВОУ ВОУ! ML знает, что сейчас весело?

Веселье - это святой Грааль в играх. Удовольствие от игры - основной ингредиент успешных игр. Чтобы добиться в этом успеха, нам нужно понять и разобрать веселье.

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

Менеджеры по продуктам вносят изменения и поставляют функции в свои продукты для достижения конкретных целей. Эти цели основаны на стратегических приоритетах, тактическом анализе данных и качественной обратной связи с пользователями. Цель представлена ​​метрикой или KPI.

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

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

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

При использовании машинного обучения для воздействия на основной продукт эти принципы управления продуктом остаются неизменными. Продуктовые команды влияют на продукт косвенно через свои модели машинного обучения. Это что-нибудь меняет?

Давайте посмотрим на гипотетическую версию игры в жанре «три в ряд» на основе машинного обучения, такую ​​как Candy Crush.

Это доска 9x9 с 81 доступной позицией для конфет. Каждую позицию можно заполнить 6-ю возможными конфетами (зеленая, желтая, оранжевая, синяя, красная, фиолетовая) - ням! Когда начинается уровень, стартовая доска может быть расположена 6⁸¹ способами, что составляет примерно 10⁶², то есть баджиллион способов. Каждая компоновка приводит к разному уровню сложности. На практике есть много других факторов, которые влияют на эту сложность - расположение новых конфет, которые появляются на поле после успешного совпадения, какие конфеты выбирает игрок, используемые бустеры и т. Д. Для простоты мы сосредоточимся на только при изменении конфигурации стартовой платы с помощью ML.

«Жизнь - это игра в карты. Вам протянули руку - детерминизм; то, как вы играете, - это свобода воли »
- Джавахарлал Неру

Построение первой модели

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

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

Здорово. Как измерить веселье?

Хороший способ развлечься - удержание. Если игроки получают удовольствие от игры, они возвращаются, чтобы снова играть в нее. Итак, развлечение = удержание. Наша цель - увеличить удержание. Для нашего примера возьмем удержание D7 - технически определяемое как% игроков, вошедших в игру на 7-й день с сегодняшнего дня.

Теперь мы хотим построить модель, которая прогнозирует удержание D7 для пользователя с учетом конкретной конфигурации стартовой платы. При огромном количестве возможностей для конфигурации стартовой доски маловероятно, что у нас будет достаточно наблюдений за каждой конфигурацией - вероятность того, что 2 игрока имеют одинаковую конфигурацию стартовой доски, составляет 1 из 6⁸¹. Это означает, что мы не можем предсказать удержание на основе начальной конфигурации платы. Мы можем попробовать, но эта модель будет иметь предсказательную силу, как подбрасывание монеты.

Одна из стратегий - разбить этот прогноз на 2 этапа.

Шаг 1. Выберите показатель, который представляет конфигурацию платы. В качестве представления возьмем коэффициент побед (количество выигранных игр по сравнению с сыгранными). Затем мы используем процент побед в качестве входных данных для прогнозирования удержания D7.

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

Эй, эй, эй! ML теперь решает процент побед? Неужто он будет принимать глупые решения вроде увеличения винрейта для увеличения удержания?

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

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

1. Процент побед
2. Количество дней с момента установки
3. Время дня
4. Потратил ли игрок деньги
5. Использует ли игрок обычно специальные предметы, такие как бустеры

Чтобы использовать машинное обучение для контроля качества продукта, нам необходимо понимать наши цели (удержание D7) и факторы, влияющие на эти цели. Может быть несколько конкурирующих целей, таких как удержание и монетизация. Как и в случае «традиционного» управления продуктом, нам потребуется четкое представление о приоритетах / компромиссах и способ воплощения этих решений в наших моделях машинного обучения.

В конечном итоге идеальная система машинного обучения для работы с продуктом должна работать следующим образом:

Персонализация может раздражать. Я с ужасом жду того дня, когда во время просмотра YouTube появится реклама Виагры. Но если все сделано правильно, это приводит к забавному впечатлению от продукта.

Другие статьи о машинном обучении и опыте работы с продуктами:

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