Комментарий по недавней задачке.
Обычно мы считаем в DAU количество пользователей, которые заходили в игру в определенный календарный день, день считается по UTC. Конечно, среди пользователей могут быть те, кто зашел и ничего не делал (не заходил в бой / не сделал корлуп), но это уже вторично.
На PC-проектах, в отличие от мобильных игр, сессия пользователя явно ограничена, так как есть событие логаута. Поэтому иногда на PC-проектах считают DAU по тем, кто залогинился в определенные сутки, и тем, кто сделал логаут (их логин был в предыдущие сутки). Или кто отыграл больше 50% сессии в новые сутки, а не просто логаут сделал. Собственно, именно это и было неожиданным для нас.
Помимо просто подсчета абсолютного количества логинов мы обычно испольузем еще какую-то дополнительную сегментацию пользователей — по уровню, по лиге, по количеству заплаченного, и т.д. Это полезно и для понимания стабильности аудитории, и для некоторых других расчетов, например среднего прихода/расхода игровых валют на пользователя в сегменте. В отличие от лайфтайма, тира стран или платформы это динамические параметры, которые могут меняться в течение дня. Поэтому мы берем то значение, которое было на момент логина пользователя.
Брать первые значения параметров достаточно очевидная идея, однако у нее есть свой минус — низкая чувствительность к тем, кто только-только начал играть. Так как пользователь за первый день может пройти N уровней, заплатить M денег и т.д. Но тут без компромиссов, видимо, не обойтись — нам важно видеть честное значение DAU (а не умножать количество пользователей на сегменты, в которых они побывали), и начало игры для нас менее важно, в отличие от более поздних периодов. Для молодых проектов, возможно, сегменты надо делать тоньше и/или старт анализировать отдельно.
В общем,учите, маги, санктуарий если дашборды на разных источниках не сходятся — возможно, дело не в данных.
#exercises
Обычно мы считаем в DAU количество пользователей, которые заходили в игру в определенный календарный день, день считается по UTC. Конечно, среди пользователей могут быть те, кто зашел и ничего не делал (не заходил в бой / не сделал корлуп), но это уже вторично.
На PC-проектах, в отличие от мобильных игр, сессия пользователя явно ограничена, так как есть событие логаута. Поэтому иногда на PC-проектах считают DAU по тем, кто залогинился в определенные сутки, и тем, кто сделал логаут (их логин был в предыдущие сутки). Или кто отыграл больше 50% сессии в новые сутки, а не просто логаут сделал. Собственно, именно это и было неожиданным для нас.
Помимо просто подсчета абсолютного количества логинов мы обычно испольузем еще какую-то дополнительную сегментацию пользователей — по уровню, по лиге, по количеству заплаченного, и т.д. Это полезно и для понимания стабильности аудитории, и для некоторых других расчетов, например среднего прихода/расхода игровых валют на пользователя в сегменте. В отличие от лайфтайма, тира стран или платформы это динамические параметры, которые могут меняться в течение дня. Поэтому мы берем то значение, которое было на момент логина пользователя.
Брать первые значения параметров достаточно очевидная идея, однако у нее есть свой минус — низкая чувствительность к тем, кто только-только начал играть. Так как пользователь за первый день может пройти N уровней, заплатить M денег и т.д. Но тут без компромиссов, видимо, не обойтись — нам важно видеть честное значение DAU (а не умножать количество пользователей на сегменты, в которых они побывали), и начало игры для нас менее важно, в отличие от более поздних периодов. Для молодых проектов, возможно, сегменты надо делать тоньше и/или старт анализировать отдельно.
В общем,
#exercises
Немного около-геймдизайнерских размышлений. Недавно с главным ГД на одном из наших прототипов возник небольшой спор — стоит ли вводить механики ограничения активности игроков типа энергии.
Его агрументы простые — у нас в прототипе нет большого количества контента и если пользователей не ограничивать, они “пройдут игру” и не вернутся. Тем самым занизят нам тесты ретеншена. Мы видели и такие примеры, хотя ограничение пользователей всегда выглядит небезопасно — зачем нам выгонять пользователя из игры?
А я как раз в последние пару дней активно залипаю в Backpack brawl (чудовищно аддиктивная штука). Там геймплей понятен на втором-третьем раунде, дальше уже просто комбинаторика и решение меты, как и в ККИ. Да и в некоторых наших прототипах-шутерах контента было, насколько я помню, два-три юнита и одна карта, а ретеншен был весьма и весьма приятный. То есть, пользователи сразу видели, что контента нет, и все равно возвращались.
Собственно, можно насобирать референсы и подобрать множество аргументов "за” и “против", но в этой битве аналитики обычно проигрывают геймдизайнерам. Поэтому подобные тезисы должны ставиться под сомнение и разрешаться A/B-тестами. All others must bring data.
Проблема только в том, что это прототипы, и там не всегда можно позволить себе тесты. А иногда и уверенность продюсера столь высока, что он не видит смысла в тестах. Или прототип копирует другой проект, и задача вообще не в тонких тестах, а в быстром повторе.
Его агрументы простые — у нас в прототипе нет большого количества контента и если пользователей не ограничивать, они “пройдут игру” и не вернутся. Тем самым занизят нам тесты ретеншена. Мы видели и такие примеры, хотя ограничение пользователей всегда выглядит небезопасно — зачем нам выгонять пользователя из игры?
А я как раз в последние пару дней активно залипаю в Backpack brawl (чудовищно аддиктивная штука). Там геймплей понятен на втором-третьем раунде, дальше уже просто комбинаторика и решение меты, как и в ККИ. Да и в некоторых наших прототипах-шутерах контента было, насколько я помню, два-три юнита и одна карта, а ретеншен был весьма и весьма приятный. То есть, пользователи сразу видели, что контента нет, и все равно возвращались.
Собственно, можно насобирать референсы и подобрать множество аргументов "за” и “против", но в этой битве аналитики обычно проигрывают геймдизайнерам. Поэтому подобные тезисы должны ставиться под сомнение и разрешаться A/B-тестами. All others must bring data.
Проблема только в том, что это прототипы, и там не всегда можно позволить себе тесты. А иногда и уверенность продюсера столь высока, что он не видит смысла в тестах. Или прототип копирует другой проект, и задача вообще не в тонких тестах, а в быстром повторе.
Уже совсем скоро будет конференция Aha (6 июня оффлайн, 30 мая онлайн-трек). Ее организуют Алексей Никушин и его команда МатеМаркетинга. А это, кажется, единственные, кто делает именно продуктово-аналитические, а не датасаентистиские конференции (кому нужна техничка — велкам на ODS-датафест, а за продакт-менеджментом надо идти на ProductSence или Epic Growth).
Если получится, попробую заглянуть. В прошлые года то просто не получалось, то программа не вызывала энтузиазма.
В этом же году очень симпатичный трек по экспериментам и A/B-тестам в частности. Посмотрите программу — и global control, и работа с метриками в экспериментах, и графы, и воршопы. Даже про GrowthBook расскажут, про который я давно слышал, но еще ни разу не смотрел.
Притом, как я понимаю, часть выступлений в оба дня будет доступна бесплатно в режиме live-трансляции. Так что как минимум стоит ее посмотреть.
Если получится, попробую заглянуть. В прошлые года то просто не получалось, то программа не вызывала энтузиазма.
В этом же году очень симпатичный трек по экспериментам и A/B-тестам в частности. Посмотрите программу — и global control, и работа с метриками в экспериментах, и графы, и воршопы. Даже про GrowthBook расскажут, про который я давно слышал, но еще ни разу не смотрел.
Притом, как я понимаю, часть выступлений в оба дня будет доступна бесплатно в режиме live-трансляции. Так что как минимум стоит ее посмотреть.
matemarketing.ru
Aha'25
Aha'25 — Техническая конференция
По пятницам мы собираемся малым курултаем — рабочей группой из продюсера, геймдизов, аналитиков, спецов по монетизации и оперированию. Обсуждаем гипотезы, что и как можно сделать, чтобы достичь нужных метрик, какие результаты экспериментов и т. д.
Я рассказывал результаты последнего радикального изменения метагейма. Жаль, но ожидаемых изменений в метриках не случилось (без названий и значений, простите). Постмортемы написаны, внутренняя рефлексия аналитиков почти завершена. Команда уже работает над новыми идеями. Я тоже в скором времени перейду на другие прототипы.
Это были интересные несколько лет. Много экспериментов, качели от энтузиазма до разочарования в том, что и как делаешь, и обратно. Именно при работе над этим проектом я стал нащупывать, что мне важно в игровой продуктовой аналитике, как-то выстраивать собственную методологию. В принципе, в этом канале много отголосков идей и осознаний про это.
Что ж, завтра будет. Лучше. Устал от ощущения, что из года в год рисую звездочки на фюзеляже. И хочу, в конце концов, научиться отвечать на вопрос “почему пользователи играют в нашу игру”.
Я рассказывал результаты последнего радикального изменения метагейма. Жаль, но ожидаемых изменений в метриках не случилось (без названий и значений, простите). Постмортемы написаны, внутренняя рефлексия аналитиков почти завершена. Команда уже работает над новыми идеями. Я тоже в скором времени перейду на другие прототипы.
Это были интересные несколько лет. Много экспериментов, качели от энтузиазма до разочарования в том, что и как делаешь, и обратно. Именно при работе над этим проектом я стал нащупывать, что мне важно в игровой продуктовой аналитике, как-то выстраивать собственную методологию. В принципе, в этом канале много отголосков идей и осознаний про это.
Что ж, завтра будет. Лучше. Устал от ощущения, что из года в год рисую звездочки на фюзеляже. И хочу, в конце концов, научиться отвечать на вопрос “почему пользователи играют в нашу игру”.
Сегодня день конференции Aha'24. Рассказывать ничего не буду (геймдевные темы обычно слишком узкие для таких конференций, да и в целом рынка аналитиков, где доминирует e-com и сервисы). Зато буду слушать и разговаривать. Если вы собираетесь прийти — давайте встретимся. Тем, кто не пойдет, напоминаю, что на конфе есть бесплатный онлайн-трек.
Моя любимая картинка, которая идеально подходит в тему:
Моя любимая картинка, которая идеально подходит в тему:
Всем привет!
Я Филипп Управителев и это мой канал по продуктовой аналитике в геймдеве.
Здесь я пишу о задачах и ситуациях, которые встречаются в моей работе, делюсь методологическими размышлениями. Эпизодически делаю обзоры учебных курсов и книг по аналитике, комментирую интересные посты. Также иногда даю практические задачки.
Посты для знакомства с каналом:
Фреймворки продуктовой аналитики
Продуктовое мышление игровых аналитиков (текст выступления с митапа)
Особенности монетизации на офферах
UX-исследования глазами аналитика
Ретеншен платящих
Метрики второго порядка
Основные тэги:
#courses — комментарии по курсам продуктовой аналитики
#books — про книги об аналитике и статистике
#exercises — задачки и кейсы
#links — что попалось хорошего в сети
#datamodel — про разметку данных, логирование и т. д.
Продуктовой аналитикой я занимаюсь больше десяти лет. У меня базовое психологическое образование, одновременно и экспериментально-академическое, и терапевтическое (гештальт). Какое-то время преподавал мат.методы в психологии, фрилансил, написал учебник по R. Был одним из админов в ODS, сейчас админю каналы по R и когнитивной психологии, веду курсы по анализу данных в ВШЭ. И вот я здесь.
Подписывайтесь на канал, комментируйте, рассказывайте коллегам. Приходите в личку просто пообщаться или с запросами на консультацию/менторство.
Рекламу на канале не делаю, но могу порекомендовать, если мы лично знакомы.
Я Филипп Управителев и это мой канал по продуктовой аналитике в геймдеве.
Здесь я пишу о задачах и ситуациях, которые встречаются в моей работе, делюсь методологическими размышлениями. Эпизодически делаю обзоры учебных курсов и книг по аналитике, комментирую интересные посты. Также иногда даю практические задачки.
Посты для знакомства с каналом:
Фреймворки продуктовой аналитики
Продуктовое мышление игровых аналитиков (текст выступления с митапа)
Особенности монетизации на офферах
UX-исследования глазами аналитика
Ретеншен платящих
Метрики второго порядка
Основные тэги:
#courses — комментарии по курсам продуктовой аналитики
#books — про книги об аналитике и статистике
#exercises — задачки и кейсы
#links — что попалось хорошего в сети
#datamodel — про разметку данных, логирование и т. д.
Продуктовой аналитикой я занимаюсь больше десяти лет. У меня базовое психологическое образование, одновременно и экспериментально-академическое, и терапевтическое (гештальт). Какое-то время преподавал мат.методы в психологии, фрилансил, написал учебник по R. Был одним из админов в ODS, сейчас админю каналы по R и когнитивной психологии, веду курсы по анализу данных в ВШЭ. И вот я здесь.
Подписывайтесь на канал, комментируйте, рассказывайте коллегам. Приходите в личку просто пообщаться или с запросами на консультацию/менторство.
Рекламу на канале не делаю, но могу порекомендовать, если мы лично знакомы.
аналитика на кубах pinned «Всем привет! Я Филипп Управителев и это мой канал по продуктовой аналитике в геймдеве. Здесь я пишу о задачах и ситуациях, которые встречаются в моей работе, делюсь методологическими размышлениями. Эпизодически делаю обзоры учебных курсов и книг по аналитике…»
Сергей Матросов (X5 Tech, автор канала Не AБы какие тесты) опубликовал лонгрид про тест Манна-Уитни.
Статья действительно большая, я читал ее в несколько подходов и еще буду перечитывать. На мой взгляд, ее стоило бы разделить на две или три части, да и некоторые определения показались мне шероховатыми. Но это все вкусовщина, у Сергея была такая куча редакторов и итераций правок, что если я буду развивать эту тему, он меня проклянет и будет прав.
Первые две части посвящены эволюции критерия — от исходного поэлементного сравнения и вывода о равенстве распределений до сумм рангов и статистики W-Вилкоксона. Попутно есть ряд лирических отступлений про нулевую гипотезу и оценку значимости в симуляционном эксперименте.
Последняя треть статьи оказалась для меня одновременно самой сложной и самой интересной. Она посвящена практическому использованию критерия и особенности его реализации в Varioqub. Сергей делает разбор на кейсе Авито, одновременно вступая в полемику. Собственно, для лучшего понимания дискуссии стоить прочитать и статью Дмитрия Лунина.
Этот кейс очень близок к тому, с чем регулярно сталкиваемся мы в наших экспериментах — когда мы делаем изменения в стоимости/наполнении оффера, у нас есть и изменения конверсии, и большое количество неплатящих в обеих группах. Мы подобные эксперименты проверяем дедовским способом, простым как топор и вычислительно сложным — перестановочными тестами. Что ж, теперь есть что добавить в бэклог идей для R&D.
Помимо обсуждения критерия Вилкоксона-Манна-Уитни, в статье еще есть описание пары трюков про бакетизацию и преобразование данных (как они реализованы в Varioqub, но это непринципиально). И бонусом, уже в посте про статью, есть описание непараметрической меры центральной тенденции, оценки Hodges-Lehman’a. Новая для меня штука, любопытно.
#stats
Статья действительно большая, я читал ее в несколько подходов и еще буду перечитывать. На мой взгляд, ее стоило бы разделить на две или три части, да и некоторые определения показались мне шероховатыми. Но это все вкусовщина, у Сергея была такая куча редакторов и итераций правок, что если я буду развивать эту тему, он меня проклянет и будет прав.
Первые две части посвящены эволюции критерия — от исходного поэлементного сравнения и вывода о равенстве распределений до сумм рангов и статистики W-Вилкоксона. Попутно есть ряд лирических отступлений про нулевую гипотезу и оценку значимости в симуляционном эксперименте.
Последняя треть статьи оказалась для меня одновременно самой сложной и самой интересной. Она посвящена практическому использованию критерия и особенности его реализации в Varioqub. Сергей делает разбор на кейсе Авито, одновременно вступая в полемику. Собственно, для лучшего понимания дискуссии стоить прочитать и статью Дмитрия Лунина.
Этот кейс очень близок к тому, с чем регулярно сталкиваемся мы в наших экспериментах — когда мы делаем изменения в стоимости/наполнении оффера, у нас есть и изменения конверсии, и большое количество неплатящих в обеих группах. Мы подобные эксперименты проверяем дедовским способом, простым как топор и вычислительно сложным — перестановочными тестами. Что ж, теперь есть что добавить в бэклог идей для R&D.
Помимо обсуждения критерия Вилкоксона-Манна-Уитни, в статье еще есть описание пары трюков про бакетизацию и преобразование данных (как они реализованы в Varioqub, но это непринципиально). И бонусом, уже в посте про статью, есть описание непараметрической меры центральной тенденции, оценки Hodges-Lehman’a. Новая для меня штука, любопытно.
#stats
Я не люблю задачки вида “ползут три черепашки”, но они все же встречаются, даже в отлаженных системах трекинга. И заставляют извращаться с всяким манипулированием данными.
Ситуация: есть выгрузка о платежах из консоли стора. Есть выгрузка из своей системы трекинга платежей. В ней потерялись некоторые платежи. Надо найти и изучить потеряшек.
Из условий: есть только общий идентификатор пользователя и таймстампы транзакций в каждой выгрузке. Будем считать, что идентификаторов транзакций, SKU и прочих полезных данных нет. Данные выгружены в csv из разных баз, никакого SQL.
Для упрощения ситуации будем считать, что таймстампы одной транзакции в двух системах различаются незначительно (допустим, меньше 30 секунд). И что разница времени двух разных транзакций больше, чем разница во времени одной транзакции в двух системах. В реальности, конечно же, такие предположения еще нужно сделать и, по возможности, проверить.
Как будете решать такую задачку?
Я вижу два решения. Одно прям дубовое и прожорливое по ресурсам. Второе поизящнее и поэкономнее. И оба грязные. Впрочем, я вообще не уверен, что такие задачи можно чисто решать, честно говоря.
#exercises
Ситуация: есть выгрузка о платежах из консоли стора. Есть выгрузка из своей системы трекинга платежей. В ней потерялись некоторые платежи. Надо найти и изучить потеряшек.
Из условий: есть только общий идентификатор пользователя и таймстампы транзакций в каждой выгрузке. Будем считать, что идентификаторов транзакций, SKU и прочих полезных данных нет. Данные выгружены в csv из разных баз, никакого SQL.
Для упрощения ситуации будем считать, что таймстампы одной транзакции в двух системах различаются незначительно (допустим, меньше 30 секунд). И что разница времени двух разных транзакций больше, чем разница во времени одной транзакции в двух системах. В реальности, конечно же, такие предположения еще нужно сделать и, по возможности, проверить.
Как будете решать такую задачку?
Я вижу два решения. Одно прям дубовое и прожорливое по ресурсам. Второе поизящнее и поэкономнее. И оба грязные. Впрочем, я вообще не уверен, что такие задачи можно чисто решать, честно говоря.
#exercises
Решение предыдущей задачки.
Первое решение, как я и говорил, дубовое и прожорливое. Основная идея — так как в pandas нет нечеткого джойна, делаем cross join, так, чтобы для каждой транзакции из консоли были все транзакции в нашей системе трекинга. Потом ищем дельту во времени между транзакциями и берем для каждой транзакции в сторе одну минимально близкую по времени в системе трекинга. Если такой нет (все транзакции в системе за пределами интервала [1, 30] секунд), то это транзакция и была потеряна.
Основная идея второго решения — выстроить все транзакции в один временной ряд, так как ожидаем, что пользователи делают платежи с большим интервалом, чем наша разница между двумя системами. И если после транзакции в консоли не было транзакции в нашей системе — то вот она, наша потерянная транзация.
Оба решения грязные. Первое опирается на предположения о порогах и размножает платежи, c этим нужно быть аккуратными. Второе просто полагается на допущения о соотношений систем трекинга. На моем рабочем датасете первое решение еще и меньше потеряшек нашло. Но на безрыбье и панды — фреймворк для работы с данными, что уж, для общего понимания ситуации и анализа паттернов, кто потерялся, вполне подойдет.
Код можно посмотреть здесь.
UPD: в пандах таки есть merge_asof. Видимо, статья на SO была совсем древней, а я не посмотрел на ее дату :(
#exercises
Первое решение, как я и говорил, дубовое и прожорливое. Основная идея — так как в pandas нет нечеткого джойна, делаем cross join, так, чтобы для каждой транзакции из консоли были все транзакции в нашей системе трекинга. Потом ищем дельту во времени между транзакциями и берем для каждой транзакции в сторе одну минимально близкую по времени в системе трекинга. Если такой нет (все транзакции в системе за пределами интервала [1, 30] секунд), то это транзакция и была потеряна.
Основная идея второго решения — выстроить все транзакции в один временной ряд, так как ожидаем, что пользователи делают платежи с большим интервалом, чем наша разница между двумя системами. И если после транзакции в консоли не было транзакции в нашей системе — то вот она, наша потерянная транзация.
Оба решения грязные. Первое опирается на предположения о порогах и размножает платежи, c этим нужно быть аккуратными. Второе просто полагается на допущения о соотношений систем трекинга. На моем рабочем датасете первое решение еще и меньше потеряшек нашло. Но на безрыбье и панды — фреймворк для работы с данными, что уж, для общего понимания ситуации и анализа паттернов, кто потерялся, вполне подойдет.
Код можно посмотреть здесь.
UPD: в пандах таки есть merge_asof. Видимо, статья на SO была совсем древней, а я не посмотрел на ее дату :(
#exercises
Telegram
аналитика на кубах
Я не люблю задачки вида “ползут три черепашки”, но они все же встречаются, даже в отлаженных системах трекинга. И заставляют извращаться с всяким манипулированием данными.
Ситуация: есть выгрузка о платежах из консоли стора. Есть выгрузка из своей системы…
Ситуация: есть выгрузка о платежах из консоли стора. Есть выгрузка из своей системы…
Дочитал Game Analytics: Retention and Monetization in Free-to-Play Mobile Games by Russell Ovans. Книга вполне свежая, 2023 года издания. Автор — лид аналитики Eastside Games (Appmagic). Когда-то в 2007 году он основал игровую студию с играми в Fb, в 2010 он ее продал и ушел варить пиво. А в 2018 году вернулся в геймдев, чтобы поддержать свою пивоварню.
В книге 12 глав, каждая в среднем 20-25 страниц. Первые две главы погружают в аналитический быт — что такое монетизация, пайплайн работы, дизайн событий, основные метрики. Основные инструменты в книге и, как я понимаю, в работе — SQL, Tableau и иногда R. Притом примеры что на SQL, что на R — просто ужасные на мой вкус, синтаксис каменного века.
Третья глава посвящена дашбордам и, по большей части, как их делать в Tableau. Для сбора требований к дашбордам я бы рекомендовал посмотреть на фреймворк Романа Бунина, например.
Следующие четыре главы — смысловое ядро книги, так как касаются ретеншена, отвалов и монетизации. Ретеншен дается в его классическом виде retention rate, что хорошо (возвраты на строго конкретный день от инсталла, календарно). Фитить и предсказывать ретеншен предлагается степенной функцией вида r(day_n) = a * day_n ^ b, для когорты, а не поюзерно. Один из инструментов фитинга — внутренние инструменты Tableau.
С монетизацией похожая история (главы 5 и 6) — предлагается предсказывать ревеню на N день от инсталла аналогичной степенной функцией, плюс фитить регресию на исторических данных. Для чистоты данные следует нормировать (т. е. revenue_90 как 100%). Либо использовать для оценки LTV сочетание ретеншена и ARPDAU когорты на конкретный день от инсталла. Вообще, предлагаемый подход к аналитике монетизации странноватый и по идеям, и по определениям. Так, я нигде не нашел определение ARPU и сломался на фразе “if ARPDAU is defined as the running sum of cohort revenue divided by the running sum of cohort DAU”.
Глава про отвалы опирается на “марковскую цепь” и количество последовательных дней активности — то есть, предлагается оценивать, какова вероятность, что пользователь (не)вернется на какой-то следующий день. Для lifetime = 3 это граф с ребрами 0 - 1, 0 - 2, 0-3, 1 - 2, 1 - 3, 2 - 3 и отвалами 0 - churn, 1 - churn, 2 - churn. Впрочем, что делать с полученными цифрами не уточняется.
Следующие две главы посвящены A/B-тестам. Немного статистики (ЦПТ и сравнение средних, перестановочные тесты), немного примеров. После главы про дашборды это самые бесполезные главы, на мой взгляд.
Десятая и одиннадцатая главы посвящены способам улучшения ретеншена. Наряду с тривиальными решениями ("оцените отвалы по шагам туториала") есть неплохие идеи — например, о корреляции поминутного ретеншена в день инсталла с ret_1 (мы тоже видели ту статью от гугла, да). Или оценка среднего возраста аудитории, чтобы понимать, какой контент делать. Хотя стратификация DAU по возрасту аудитории тут была бы лучше.
Способы улучшения монетизации тоже не ноу-хау (я их так или иначе делал уже, например), но любопытные — посмотреть, какой монетизационный профиль пользователей в зависимости от размера и типа первого платежа. И региональные цены. Жаль только, что нет примеров и результатов применения этих методов, предлагается только использовать A/B-тесты для тестирования подходов.
Последняя глава посвящена идее ROAS и окупаемости кампаний, этакий заход в маркетинговую аналитику. Даже про AEO-кампании говорится и про k-фактор и его определение по бейслайну органики. Оценивать окупаемость предлагается по экстраполяции кривой LTV (которое опирается на ARPDAU и ретеншен). Про коэффициентные модели и метрики, про какое-то машинное обучение — ни слова.
В общем, книга получилась любопытная, но очень кустарная по ощущениям. Если вы только начинаете погружаться в продуктовую/игровую аналитику, она вас запутает и научит плохому, поэтому не рекомендую. Она интересна только с точки зрения “а как это делают в другой команде”, не более. Я лично остался разочарован.
#books
В книге 12 глав, каждая в среднем 20-25 страниц. Первые две главы погружают в аналитический быт — что такое монетизация, пайплайн работы, дизайн событий, основные метрики. Основные инструменты в книге и, как я понимаю, в работе — SQL, Tableau и иногда R. Притом примеры что на SQL, что на R — просто ужасные на мой вкус, синтаксис каменного века.
Третья глава посвящена дашбордам и, по большей части, как их делать в Tableau. Для сбора требований к дашбордам я бы рекомендовал посмотреть на фреймворк Романа Бунина, например.
Следующие четыре главы — смысловое ядро книги, так как касаются ретеншена, отвалов и монетизации. Ретеншен дается в его классическом виде retention rate, что хорошо (возвраты на строго конкретный день от инсталла, календарно). Фитить и предсказывать ретеншен предлагается степенной функцией вида r(day_n) = a * day_n ^ b, для когорты, а не поюзерно. Один из инструментов фитинга — внутренние инструменты Tableau.
С монетизацией похожая история (главы 5 и 6) — предлагается предсказывать ревеню на N день от инсталла аналогичной степенной функцией, плюс фитить регресию на исторических данных. Для чистоты данные следует нормировать (т. е. revenue_90 как 100%). Либо использовать для оценки LTV сочетание ретеншена и ARPDAU когорты на конкретный день от инсталла. Вообще, предлагаемый подход к аналитике монетизации странноватый и по идеям, и по определениям. Так, я нигде не нашел определение ARPU и сломался на фразе “if ARPDAU is defined as the running sum of cohort revenue divided by the running sum of cohort DAU”.
Глава про отвалы опирается на “марковскую цепь” и количество последовательных дней активности — то есть, предлагается оценивать, какова вероятность, что пользователь (не)вернется на какой-то следующий день. Для lifetime = 3 это граф с ребрами 0 - 1, 0 - 2, 0-3, 1 - 2, 1 - 3, 2 - 3 и отвалами 0 - churn, 1 - churn, 2 - churn. Впрочем, что делать с полученными цифрами не уточняется.
Следующие две главы посвящены A/B-тестам. Немного статистики (ЦПТ и сравнение средних, перестановочные тесты), немного примеров. После главы про дашборды это самые бесполезные главы, на мой взгляд.
Десятая и одиннадцатая главы посвящены способам улучшения ретеншена. Наряду с тривиальными решениями ("оцените отвалы по шагам туториала") есть неплохие идеи — например, о корреляции поминутного ретеншена в день инсталла с ret_1 (мы тоже видели ту статью от гугла, да). Или оценка среднего возраста аудитории, чтобы понимать, какой контент делать. Хотя стратификация DAU по возрасту аудитории тут была бы лучше.
Способы улучшения монетизации тоже не ноу-хау (я их так или иначе делал уже, например), но любопытные — посмотреть, какой монетизационный профиль пользователей в зависимости от размера и типа первого платежа. И региональные цены. Жаль только, что нет примеров и результатов применения этих методов, предлагается только использовать A/B-тесты для тестирования подходов.
Последняя глава посвящена идее ROAS и окупаемости кампаний, этакий заход в маркетинговую аналитику. Даже про AEO-кампании говорится и про k-фактор и его определение по бейслайну органики. Оценивать окупаемость предлагается по экстраполяции кривой LTV (которое опирается на ARPDAU и ретеншен). Про коэффициентные модели и метрики, про какое-то машинное обучение — ни слова.
В общем, книга получилась любопытная, но очень кустарная по ощущениям. Если вы только начинаете погружаться в продуктовую/игровую аналитику, она вас запутает и научит плохому, поэтому не рекомендую. Она интересна только с точки зрения “а как это делают в другой команде”, не более. Я лично остался разочарован.
#books
Простенькая задачка. Вполне подходит для собесов, но абсолютно реальная.
Допустим, у вас есть MVP и вы хотите протестировать, как работает игровая экономика. В частности, протестировать монетизацию. Самый простой (но не идеальный) способ провести такой тест — посмотреть конверсию в платящих (сколько и как быстро).
И тут вопрос. Что лучше, высокая конверсия на маленьких/средних платежах. Или низкая конверсия, но с высоким средним чеком? Например, 10% конверсии в платящих и средний чек на $3. Или 0.6% и средний чек $50?
Правильного варианта, само собой, тут нет.
#exercises
Допустим, у вас есть MVP и вы хотите протестировать, как работает игровая экономика. В частности, протестировать монетизацию. Самый простой (но не идеальный) способ провести такой тест — посмотреть конверсию в платящих (сколько и как быстро).
И тут вопрос. Что лучше, высокая конверсия на маленьких/средних платежах. Или низкая конверсия, но с высоким средним чеком? Например, 10% конверсии в платящих и средний чек на $3. Или 0.6% и средний чек $50?
Правильного варианта, само собой, тут нет.
#exercises
Мои размышления по поводу недавней задачки. Рекомендую также почитать комментарии, там много хороших идей.
Была бы у нас возможность оценивать монетизацию в прототипе на интервале 90-180+ дней, было бы проще — что дает денег больше/быстрее окупается, то и лучше. Но в прототипах у нас нет такой возможности, нам надо достаточно быстро принять решение, продолжаем проект или срочно его во что-то пивотим. И в таком случае приходится спускаться на уровень пользователя и думать, о чем нам говорит сложившийся набор метрик.
В таком ключе конверсия для меня маркер, насколько пользователям интересно то, что мы им предлагаем. Насколько хорошо мы выстроили соотношение привлекательности геймлея и игровых дефицитов. Хотят ли они вкладываться в игру и/или делают патежи на вау-эффекте.
Низкая конверсия и высокие чеки значат, что большинство пользователей не готовы что-либо покупать в игре. А покупают только супер-киты — либо очень лояльные (хотя на прототипе это странно), либо для кого это незначительный платеж. Принцип “сможет ли шейх потратить в твоей игре $20к” все еще хорош для оценки емкости. Остальные игроки не видят достаточной ценности в покупке, не готовы вкладываться, так как чувствуют, что недостаточно вовлечены или же им и так хорошо играть. В f2p играх обычно китовая монетизация, но она хороша и нужна на длинном периоде, а не одномоментно. В данном случае это плохая ситуация — нам удалось зацепить только очень узкую аудиторию и даже возможно, что случайно. Масштабировать такую закупку может быть сложно, риски не поймать таких китов очень высокие.
Небольшие чеки и высокая конверсия в данном случае выглядят для меня предпочтительнее. Пользователи готовы что-то купить, попробовать эффект от платежа и так далее. Однако тут надо очень внимательно смотреть, на чем конвертятся пользователи. В первую очередь, нет ли демпинга — легко сделать высокую конверсию, раздав всем на старте паки с очень высокой скидкой. В этом, конечно, хорошо бы ориентироваться на какие-то бенчмарки по рынку, в крайнем случае на здравый смысл.
Для уточнения контекста хорошо бы смотреть еще, как долго пользователи играют после покупки, как меняются их статистики, какой у них ретеншен, есть ли повторные платежи и т. д. Но это уже полноценный анализ получившейся модели монетизации и за пределами этой задачи.
#exercises
Была бы у нас возможность оценивать монетизацию в прототипе на интервале 90-180+ дней, было бы проще — что дает денег больше/быстрее окупается, то и лучше. Но в прототипах у нас нет такой возможности, нам надо достаточно быстро принять решение, продолжаем проект или срочно его во что-то пивотим. И в таком случае приходится спускаться на уровень пользователя и думать, о чем нам говорит сложившийся набор метрик.
В таком ключе конверсия для меня маркер, насколько пользователям интересно то, что мы им предлагаем. Насколько хорошо мы выстроили соотношение привлекательности геймлея и игровых дефицитов. Хотят ли они вкладываться в игру и/или делают патежи на вау-эффекте.
Низкая конверсия и высокие чеки значат, что большинство пользователей не готовы что-либо покупать в игре. А покупают только супер-киты — либо очень лояльные (хотя на прототипе это странно), либо для кого это незначительный платеж. Принцип “сможет ли шейх потратить в твоей игре $20к” все еще хорош для оценки емкости. Остальные игроки не видят достаточной ценности в покупке, не готовы вкладываться, так как чувствуют, что недостаточно вовлечены или же им и так хорошо играть. В f2p играх обычно китовая монетизация, но она хороша и нужна на длинном периоде, а не одномоментно. В данном случае это плохая ситуация — нам удалось зацепить только очень узкую аудиторию и даже возможно, что случайно. Масштабировать такую закупку может быть сложно, риски не поймать таких китов очень высокие.
Небольшие чеки и высокая конверсия в данном случае выглядят для меня предпочтительнее. Пользователи готовы что-то купить, попробовать эффект от платежа и так далее. Однако тут надо очень внимательно смотреть, на чем конвертятся пользователи. В первую очередь, нет ли демпинга — легко сделать высокую конверсию, раздав всем на старте паки с очень высокой скидкой. В этом, конечно, хорошо бы ориентироваться на какие-то бенчмарки по рынку, в крайнем случае на здравый смысл.
Для уточнения контекста хорошо бы смотреть еще, как долго пользователи играют после покупки, как меняются их статистики, какой у них ретеншен, есть ли повторные платежи и т. д. Но это уже полноценный анализ получившейся модели монетизации и за пределами этой задачи.
#exercises
Пост дружеского пиара.
Я в этом канале достаточно регулярно задаюсь вопросами про то, как бы так измерить удовольствие пользователей, понять их мотивацию и тому подобное. И мне столь же регулярно намекают, что это все надо делать другими инструментами — качественными исследованиями (интервью, фокус-группы и т. д.).
Я этому сопротивляюсь, так как считаю, что ограничения качественных исследований делают их неприменимыми к немалой части моих вопросов. Сопротивляюсь вяло, потому что я не специалист, у меня другая ветка развития. Но на то, что происходит в лагере качественников и как они работают — стараюсь все же посматривать.
Есть немало чатов сообществ и каналов про качественные исследования. И PostPostResearch — один из лучших, на мой взгляд. В первую очередь за счет опыта ребят, системности и в целом акцента на методологию и методологическую рефлексию. К чему я и сам склонен. Вот, например, сейчас обдумываю их статью про то, ситуация влияет на потребительское поведение сильнее, чем личностные черты.
В общем, рекомендую подписаться и читать, полезно для расширения картины мира и инструментария.
#links
Я в этом канале достаточно регулярно задаюсь вопросами про то, как бы так измерить удовольствие пользователей, понять их мотивацию и тому подобное. И мне столь же регулярно намекают, что это все надо делать другими инструментами — качественными исследованиями (интервью, фокус-группы и т. д.).
Я этому сопротивляюсь, так как считаю, что ограничения качественных исследований делают их неприменимыми к немалой части моих вопросов. Сопротивляюсь вяло, потому что я не специалист, у меня другая ветка развития. Но на то, что происходит в лагере качественников и как они работают — стараюсь все же посматривать.
Есть немало чатов сообществ и каналов про качественные исследования. И PostPostResearch — один из лучших, на мой взгляд. В первую очередь за счет опыта ребят, системности и в целом акцента на методологию и методологическую рефлексию. К чему я и сам склонен. Вот, например, сейчас обдумываю их статью про то, ситуация влияет на потребительское поведение сильнее, чем личностные черты.
В общем, рекомендую подписаться и читать, полезно для расширения картины мира и инструментария.
#links
Недавно попалась в руки небольшая книжка-брошюра Best Practices for In-Game Shop Design от Balancy про трюки и приемы для повышения эффективности внутриигрового магазина. Balancy — платформа для LiveOps (офферы, сегментация, ивенты), автор материалов — Михаил Хрипин, в прошлом проюдер Hero Wars в Nexters.
Книжка, конечно, сделана с промо-целью. Тем не менее, это неплохой набор советов по организации магазина — начиная от чисто UI-рекомедаций до более сложных вещей типа порядка лотов, динамической замены лотов, логики формирования бандлов и тому подобного. Есть даже любопытный набор параметров для сегментации пользователей для персональных офферов. В общем, очень полезная вещь для тех, кто задумывается, как делать магазин в игре и какие могут быть варианты его организации.
Взгляд аналитика, к сожалению, добавляет немного дегтя. Книжка называется “best practices”, но нет явного обоснования, почему эти рекомендации действительно работают. Аргументы уровня “так делают успешные проекты” вполне понятны, но для меня недостаточны.
Поэтому лично я воспринимаю этот кукбук как смесь common sense рекомендаций и списка идей для аб-тестов. И то с некоторыми ограничениями — если в проекте вся монетизация идет через магазин, то да, это логичное и сильное место для оптимизации. А если в проекте монетизация на офферах, то шатания магазина дадут слабый эффект.
#books
Книжка, конечно, сделана с промо-целью. Тем не менее, это неплохой набор советов по организации магазина — начиная от чисто UI-рекомедаций до более сложных вещей типа порядка лотов, динамической замены лотов, логики формирования бандлов и тому подобного. Есть даже любопытный набор параметров для сегментации пользователей для персональных офферов. В общем, очень полезная вещь для тех, кто задумывается, как делать магазин в игре и какие могут быть варианты его организации.
Взгляд аналитика, к сожалению, добавляет немного дегтя. Книжка называется “best practices”, но нет явного обоснования, почему эти рекомендации действительно работают. Аргументы уровня “так делают успешные проекты” вполне понятны, но для меня недостаточны.
Поэтому лично я воспринимаю этот кукбук как смесь common sense рекомендаций и списка идей для аб-тестов. И то с некоторыми ограничениями — если в проекте вся монетизация идет через магазин, то да, это логичное и сильное место для оптимизации. А если в проекте монетизация на офферах, то шатания магазина дадут слабый эффект.
#books