Сегодня в 18 по Лондону Валера Бабушкин и Стас Носуленко (AliExpress) будут разговаривать про Marketing Mix Modeling. Что это, зачем, какие подводные камни (а точнее рифы) могут быть и так далее.
Тема будет интересна больше маркетинговым аналитикам. Мы некоторое время назад смотрели на MMM, но до реального выведения в прод не дошли.
https://news.1rj.ru/str/cryptovalerii/445
UPD: запись встречи https://youtu.be/rSZFKDqH5eA
Тема будет интересна больше маркетинговым аналитикам. Мы некоторое время назад смотрели на MMM, но до реального выведения в прод не дошли.
https://news.1rj.ru/str/cryptovalerii/445
UPD: запись встречи https://youtu.be/rSZFKDqH5eA
👍4
Есть у меня один проект, на котором очень хочется оценить экономику. Побуждает ли игра платить пользователя, как работают те точки монетизации, которые заложили геймдизы и т. д. Хочется и аналитикам, и гд, и продюсерам.
Все бы хорошо, но есть нюанс. В проекте пока нет денег, не реализована платежка и еще долго не будет. А экономику надо хоть как-то начать проверять. Потому что выходить в бета-тест / глобал с совсем сырой метой — так себе идея.
В общем, самурайская задачка. Сижу вот, думаю над возможными решениями. Востребованность прокачки, предикт arpu немонетизационными метриками, утилизация жестко ограниченного количества выданной/нафармленной харды и так далее.
Притом все эти решения на самом деле плохие. Без денег нельзя оценить платежное поведение, к чему эти иллюзии. Придется строить какой-то комитет оценок, как бы это отвратно ни звучало, а потом бороться с миллионом спекуляций и натягиваний совы на глобус.
Все бы хорошо, но есть нюанс. В проекте пока нет денег, не реализована платежка и еще долго не будет. А экономику надо хоть как-то начать проверять. Потому что выходить в бета-тест / глобал с совсем сырой метой — так себе идея.
В общем, самурайская задачка. Сижу вот, думаю над возможными решениями. Востребованность прокачки, предикт arpu немонетизационными метриками, утилизация жестко ограниченного количества выданной/нафармленной харды и так далее.
Притом все эти решения на самом деле плохие. Без денег нельзя оценить платежное поведение, к чему эти иллюзии. Придется строить какой-то комитет оценок, как бы это отвратно ни звучало, а потом бороться с миллионом спекуляций и натягиваний совы на глобус.
❤6
Пока я болтался в отпуске, вышла книга собрата по потанинской песочнице Даниила Ханина “Юнит-экономика для стартапов и бизнеса”. У него было много статей, обучающих видео и прочего, и вот до книги дозрел.
Книга небольшая, но весьма плотная по количеству поданной информации. Внутри много знакомых терминов — конверсия, средний чек, CPA, знакомые ситуации и так далее. Правда, большая часть аббревиатур для меня оказалась непривычна. Ко всему прочему достаточно много внимания уделяется когортам и когортной логике.
Весьма симпатично и понятно через концепцию юнитов масштабирования и историю доткомов показана смена фокуса с товаров на пользователей. Что в свою очередь приводит к концепции когортных метрик и LTV. Мне самому не хватало такого теоретического контекста, будет хоть что студентам рассказать.
Даниил много работал со стартапами, поэтому книга не столько по юнит-экономике, сколько по построению фин.модели стартапа и поиску точек роста в ней. Притом стартапы в его примерах — не цифровые, поэтому некоторые нюансы будут непривычны тем, кто работает с цифровыми продуктами.
Несмотря на все достоинства книги, лично мне было очень тяжело читать. Но это, видимо, просто индивидуальная непереносимость стиля. Да и постоянно перекладывать термины и концепции на геймдев-аналитику тоже оказалось сложно.
#books
Книга небольшая, но весьма плотная по количеству поданной информации. Внутри много знакомых терминов — конверсия, средний чек, CPA, знакомые ситуации и так далее. Правда, большая часть аббревиатур для меня оказалась непривычна. Ко всему прочему достаточно много внимания уделяется когортам и когортной логике.
Весьма симпатично и понятно через концепцию юнитов масштабирования и историю доткомов показана смена фокуса с товаров на пользователей. Что в свою очередь приводит к концепции когортных метрик и LTV. Мне самому не хватало такого теоретического контекста, будет хоть что студентам рассказать.
Даниил много работал со стартапами, поэтому книга не столько по юнит-экономике, сколько по построению фин.модели стартапа и поиску точек роста в ней. Притом стартапы в его примерах — не цифровые, поэтому некоторые нюансы будут непривычны тем, кто работает с цифровыми продуктами.
Несмотря на все достоинства книги, лично мне было очень тяжело читать. Но это, видимо, просто индивидуальная непереносимость стиля. Да и постоянно перекладывать термины и концепции на геймдев-аналитику тоже оказалось сложно.
#books
👍12❤3
Признаться, я не люблю UI-аналитику. Мороки с ней много, а влияние на выручку сомнительное. Крупные косяки на плейтестах видно, а мелкие… раз они мелкие, то ими можно пренебречь или положить в бэклог и брать в работу, когда появляется свободное время.
Тем не менее мы кое-что собираем. Во-первых, это тапы пользователей по кнопкам, с трекингом на каком экране тап / откуда и куда переход. Эти данные крутят UI-дизайнеры, я лично их старательно избегаю. Во-вторых мы иногда трекаем поведение пользователя во время боя. Чаще всего это просто координаты смерти/убийства, потом для левел-дизайнеров рисуем хитмапы по ним. Но вот буквально недавно левел-дизайнеры запросили еще и перемещения по карте, чтобы выловить холодные места, по которым пользователи не ходят. Посмотрим, что за картинки получатся.
Помимо спорной (с точки зрения продуктовой аналитики) ценности UI-данных, есть еще одна особенность, которую приходится учитывать — количество этих данных. Когда мы несколько лет назад стали собирать тапы со всего DAU, команда DWH весьма горячо высказала нам свое неодобрение. Поэтому если дизайнить сбор UI-данных, надо сразу закладывать ограничение, чтобы данные собирались только по части аудитории. Да хотя бы примитивный фильтр встроить, типа sample(1:20, 1) == 1, или другой рубильник, который позволит открыть фичу только на часть аудитории. Глобальная связность данных пользователя тут необязательна, главное, чтобы в рамках сессии/боя они были целостны. Ну и хранить их дольше месяца вряд ли нужно.
Тем не менее мы кое-что собираем. Во-первых, это тапы пользователей по кнопкам, с трекингом на каком экране тап / откуда и куда переход. Эти данные крутят UI-дизайнеры, я лично их старательно избегаю. Во-вторых мы иногда трекаем поведение пользователя во время боя. Чаще всего это просто координаты смерти/убийства, потом для левел-дизайнеров рисуем хитмапы по ним. Но вот буквально недавно левел-дизайнеры запросили еще и перемещения по карте, чтобы выловить холодные места, по которым пользователи не ходят. Посмотрим, что за картинки получатся.
Помимо спорной (с точки зрения продуктовой аналитики) ценности UI-данных, есть еще одна особенность, которую приходится учитывать — количество этих данных. Когда мы несколько лет назад стали собирать тапы со всего DAU, команда DWH весьма горячо высказала нам свое неодобрение. Поэтому если дизайнить сбор UI-данных, надо сразу закладывать ограничение, чтобы данные собирались только по части аудитории. Да хотя бы примитивный фильтр встроить, типа sample(1:20, 1) == 1, или другой рубильник, который позволит открыть фичу только на часть аудитории. Глобальная связность данных пользователя тут необязательна, главное, чтобы в рамках сессии/боя они были целостны. Ну и хранить их дольше месяца вряд ли нужно.
🔥12
GoPractice написали короткую, но симпатичную статью про uplift-моделирование в предсказаниях оттока. Бизнес-смысл передан вполне доступно, а желающие технически подробностей могут посмотреть курс на ODS.
Вообще, предсказание оттока в геймдеве достаточно специфичная задача. Почему-то больше всего говорят о ней wannabe-аналитики и соискатели на собесах, когда рассказывают, какой бы ml они хотели делать. Лично в моей практике полезнее даже не исследования оттока, а более точечный анализ отвалов (на каком уровне/локации/лиге) на старте игры.
Прогнозирование оттока лояльной аудитории натыкается на сразу несколько критически важных моментов. Во-первых, в какой момент мы начинаем считать пользователя ушедшим. Во-вторых, обычно пользователь сам не знает, что он уже начал отваливаться и спрашивать его об этом бесполезно. В-третьих, нам в первую очередь важно поведение лояльной платящей аудитории, а ее не так чтобы много на самом деле. Все это затрудняет построение качественных моделей. Может быть, кто-то научился предсказывать отток хорошо, но я склонен считать неудачными и свои попытки, и попытки более опытных в ml коллег. А для uplift-моделирования желательно собрать две хорошие прогностические модели.
Есть еще и содержательная сложность — на мой взгляд, пытаться делать программы удержания отваливающихся лояльных пользователей практически бесполезно. Если пользователь долго играет и еще не платил, то горы харды его не спровоцируют на платеж. А если платящий пользователь решил уйти — причина его ухода лежит в игре и механические решения по удержанию будут по большей части паллиативными. И выгода от программ удержания в целом может быть ниже инфраструктурных издержек на создание ml-модели и ее поддержку.
Поэтому мне более интересным представляется исследование причин оттока — что изменилось, что говорят и думают киты об игре и недавних изменениях, как меняется поведение лояльной аудитории (а суперкиты в норме могут заходить каждый день) и т. д. Притом такое исследование может включать и построение прогностических моделей, но в них акцент надо делать больше на коэффициентах и предикторах, чем на качестве.
Вообще, предсказание оттока в геймдеве достаточно специфичная задача. Почему-то больше всего говорят о ней wannabe-аналитики и соискатели на собесах, когда рассказывают, какой бы ml они хотели делать. Лично в моей практике полезнее даже не исследования оттока, а более точечный анализ отвалов (на каком уровне/локации/лиге) на старте игры.
Прогнозирование оттока лояльной аудитории натыкается на сразу несколько критически важных моментов. Во-первых, в какой момент мы начинаем считать пользователя ушедшим. Во-вторых, обычно пользователь сам не знает, что он уже начал отваливаться и спрашивать его об этом бесполезно. В-третьих, нам в первую очередь важно поведение лояльной платящей аудитории, а ее не так чтобы много на самом деле. Все это затрудняет построение качественных моделей. Может быть, кто-то научился предсказывать отток хорошо, но я склонен считать неудачными и свои попытки, и попытки более опытных в ml коллег. А для uplift-моделирования желательно собрать две хорошие прогностические модели.
Есть еще и содержательная сложность — на мой взгляд, пытаться делать программы удержания отваливающихся лояльных пользователей практически бесполезно. Если пользователь долго играет и еще не платил, то горы харды его не спровоцируют на платеж. А если платящий пользователь решил уйти — причина его ухода лежит в игре и механические решения по удержанию будут по большей части паллиативными. И выгода от программ удержания в целом может быть ниже инфраструктурных издержек на создание ml-модели и ее поддержку.
Поэтому мне более интересным представляется исследование причин оттока — что изменилось, что говорят и думают киты об игре и недавних изменениях, как меняется поведение лояльной аудитории (а суперкиты в норме могут заходить каждый день) и т. д. Притом такое исследование может включать и построение прогностических моделей, но в них акцент надо делать больше на коэффициентах и предикторах, чем на качестве.
🔥11
В последнее время постоянно убеждаюсь в необходимости разделять в исследованиях и при принятии решений экономику и монетизацию.
Экономика — это, условно, как организована игра, как мы побуждаем пользователя к платежу. Пользователи платят там, где мы ожидаем платеж и тратят валюту туда, куда мы планируем. Например, динамическая сложность уровней в match3, где мы ожидаем пики платежей в наиболее сложных уровнях. Или прокачка предметов. Приход-расход и накопления валют на руках, стоимость игровых сущностей, модели дистрибуции контента — все сюда.
Монетизация — как мы оптимизируем платежи пользователей (в идеале, на уже работающей экономике). Персональные офферы, скидки, акции и тому подобное. Чудеса лайвопса во всей своей красе. Когда-нибудь, надеюсь, сюда и трюки из поведенческой экономики воткнуть смогу.
Сложности начинаются тогда, когда одно подменяется другим. Дать скидку проще, чем спроектировать кривую сложности, да и эффект быстрее. Но хуже всего, когда приходиться шатать экономику и одновременно тестируется система офферов — оркестрировать это маятно, а в выводах, без дополнительного контроля, появляется пространство для спекуляций. У меня даже появляются крамольные мысли, что на прототипах/MVP выстраивать монетизацию как можно раньше — не так чтобы хорошая идея. Хотя я понимаю команды, которые так делают — в конце концов, это живые деньги и возможность тестировать маркетинговые каналы.
Если вы где-то видели хорошие определения, что такое игровая экономика/монетизация, или же просто знаете хорошие материалы про это — пришлите мне, пожалуйста.
Экономика — это, условно, как организована игра, как мы побуждаем пользователя к платежу. Пользователи платят там, где мы ожидаем платеж и тратят валюту туда, куда мы планируем. Например, динамическая сложность уровней в match3, где мы ожидаем пики платежей в наиболее сложных уровнях. Или прокачка предметов. Приход-расход и накопления валют на руках, стоимость игровых сущностей, модели дистрибуции контента — все сюда.
Монетизация — как мы оптимизируем платежи пользователей (в идеале, на уже работающей экономике). Персональные офферы, скидки, акции и тому подобное. Чудеса лайвопса во всей своей красе. Когда-нибудь, надеюсь, сюда и трюки из поведенческой экономики воткнуть смогу.
Сложности начинаются тогда, когда одно подменяется другим. Дать скидку проще, чем спроектировать кривую сложности, да и эффект быстрее. Но хуже всего, когда приходиться шатать экономику и одновременно тестируется система офферов — оркестрировать это маятно, а в выводах, без дополнительного контроля, появляется пространство для спекуляций. У меня даже появляются крамольные мысли, что на прототипах/MVP выстраивать монетизацию как можно раньше — не так чтобы хорошая идея. Хотя я понимаю команды, которые так делают — в конце концов, это живые деньги и возможность тестировать маркетинговые каналы.
Если вы где-то видели хорошие определения, что такое игровая экономика/монетизация, или же просто знаете хорошие материалы про это — пришлите мне, пожалуйста.
👍10
Мои прекрасные друзья из Lategame/Krista ищут себе опытного продуктового аналитика. Формальное описание вакансии здесь. Фуллтайм, удаленка.
Из нюансов. Студия молодая, но ребята достаточно давно в индустрии. Делают мидкор, сейчас он на стадии MVP и пришла пора его оценки (собственно, почему открыли вакансию). Аналитики нет никакой, совсем. И ребята не очень готовы к самописным решениям.
Поэтому аналитику надо будет не только циферки крутить, но и сделать так, чтобы они были -- выбрать стек, обосновать его, задизайнить события для логирования и т.д. Ну и весь набор задач и экспериментов на ранних этапах проекта.
В общем, если вы такой человек или знаете, кому это может быть интересно -- напишите мне, пожалуйста.
Из нюансов. Студия молодая, но ребята достаточно давно в индустрии. Делают мидкор, сейчас он на стадии MVP и пришла пора его оценки (собственно, почему открыли вакансию). Аналитики нет никакой, совсем. И ребята не очень готовы к самописным решениям.
Поэтому аналитику надо будет не только циферки крутить, но и сделать так, чтобы они были -- выбрать стек, обосновать его, задизайнить события для логирования и т.д. Ну и весь набор задач и экспериментов на ранних этапах проекта.
В общем, если вы такой человек или знаете, кому это может быть интересно -- напишите мне, пожалуйста.
❤4
Сижу, читаю ГДД по новой фиче — скоро релиз и разрабам нужен дизайн события логирования. В разделе “Аналитика” вижу запрос: “Как повлияла фича на дальнее удержание?”
В чем-то запрос понятный. Особенно часто он встречается на новых продуктах, когда прототип только-только обрастает привычным набором фич. К тому же относительно многих фич есть ожидания, которые могут быть на самом деле далеки от реальности (например, насколько нужны бои с друзьями в шутерах) и которые хорошо бы проверять.
С другой стороны — ответить на такой вопрос весьма непросто. A/B-тесты лучший и самый надежный вариант, конечно. Но тестировать вклад крупных фич в A/B-тестах бывает затруднительно — может не быть инструментов A/B-тестов, фичу может быть трудно выдать только части аудитории, банально может не хватать выборки и т. д.
В результате остаются только косвенные методы, близкие по духу casual inference идеям. В частности, взять (не)доживших до day X и сравнить их, насколько они различаются по использованию фичи. Попутно можно саму выборку кластеризовать на несколько близких по разным метриками групп (по метрикам активности, например) и сравнивать пользователей внутри кластеров. Одна проблема с таким методом: воспользовавшиеся фичой и не воспользовавшиеся — принципиально разные люди, с разным поведением и мотивами, и это стоит учитывать в выводах.
Еще один способ (и он сейчас мне кажется наиболее интересным, надо тестировать) — сравнить ретеншен фичи и общий ретеншен проекта, и скорость изменения обеих метрик. Условно, если пользователи каждый день пользуются фичой, но в целом проект показывает слабое удержание и скорость отвала от фичи меньше скорости отвала от проекта — вклад фичи не столь уж и большой. И наоборот.
P.S. спасибо коллегам из чатов аналитиков за обсуждение темы и интересные идеи.
В чем-то запрос понятный. Особенно часто он встречается на новых продуктах, когда прототип только-только обрастает привычным набором фич. К тому же относительно многих фич есть ожидания, которые могут быть на самом деле далеки от реальности (например, насколько нужны бои с друзьями в шутерах) и которые хорошо бы проверять.
С другой стороны — ответить на такой вопрос весьма непросто. A/B-тесты лучший и самый надежный вариант, конечно. Но тестировать вклад крупных фич в A/B-тестах бывает затруднительно — может не быть инструментов A/B-тестов, фичу может быть трудно выдать только части аудитории, банально может не хватать выборки и т. д.
В результате остаются только косвенные методы, близкие по духу casual inference идеям. В частности, взять (не)доживших до day X и сравнить их, насколько они различаются по использованию фичи. Попутно можно саму выборку кластеризовать на несколько близких по разным метриками групп (по метрикам активности, например) и сравнивать пользователей внутри кластеров. Одна проблема с таким методом: воспользовавшиеся фичой и не воспользовавшиеся — принципиально разные люди, с разным поведением и мотивами, и это стоит учитывать в выводах.
Еще один способ (и он сейчас мне кажется наиболее интересным, надо тестировать) — сравнить ретеншен фичи и общий ретеншен проекта, и скорость изменения обеих метрик. Условно, если пользователи каждый день пользуются фичой, но в целом проект показывает слабое удержание и скорость отвала от фичи меньше скорости отвала от проекта — вклад фичи не столь уж и большой. И наоборот.
P.S. спасибо коллегам из чатов аналитиков за обсуждение темы и интересные идеи.
👍4
Одна из моих любимых задач в работе аналитика — придумывать метрики, которые нам помогут понять, что происходит. В эти моменты психодиагност во мне просыпается и с любопытством осматривается.
И ладно если метрики относительно прозрачные, типа эффективности юнита в бою. Можно пробовать и смотреть разное — kills / spawn, damage / health, damage / time_in_battle, что угодно. Измерить просто, сравнить по ценности — тоже.
А иногда интересны такие вещи, на которые сидишь, смотришь и думаешь, как тот волче — “а как тебя операционализировать-то?”. Через какое наблюдаемое поведение мы можем делать вывод о том, что происходит с пользователем?
Например, есть представление, что “пользователям не нравится играть с ботами”. Это достаточно важный вопрос, так как от него зависит требования к матчмейкингу и наполнению боев людьми, к количеству стартовых боев с ботами и так далее.
Но как вот это “не нравится” измерять? Спрашивать бессмысленно, пользователи сами не знают, что происходит или будут конструировать объяснение. Тестировать A/B-тестами количество ботов можно, но это локальное и тактическое решение, да и не всегда возможное. Ко всему прочему, надо всегда учитывать, какие рычаги для изменения метрики у нас есть.
Поэтому приходится останавливаться на весьма бедных интерпретациях — “не нравится == не пошел в следующий бой”, “не нравится == вышел из боя в первые секунды” и тому подобных. Можно, конечно, начать с вопроса “почему не нравятся боты”, но это отдельное (в идеале качественное) исследование, на которое может не быть ресурсов или квалификации.
В результате разница между тем, что интересно продюсеру и тем, что может в моменте оценить аналитик на данных — очень существенная, а приращение знания от таких паллиативов — не так чтобы впечатляющее. Как я в последнее время думаю, такие метрики требуют длительных исследований и накопления знания о процессе, чтобы потом было проще его оценивать.
И ладно если метрики относительно прозрачные, типа эффективности юнита в бою. Можно пробовать и смотреть разное — kills / spawn, damage / health, damage / time_in_battle, что угодно. Измерить просто, сравнить по ценности — тоже.
А иногда интересны такие вещи, на которые сидишь, смотришь и думаешь, как тот волче — “а как тебя операционализировать-то?”. Через какое наблюдаемое поведение мы можем делать вывод о том, что происходит с пользователем?
Например, есть представление, что “пользователям не нравится играть с ботами”. Это достаточно важный вопрос, так как от него зависит требования к матчмейкингу и наполнению боев людьми, к количеству стартовых боев с ботами и так далее.
Но как вот это “не нравится” измерять? Спрашивать бессмысленно, пользователи сами не знают, что происходит или будут конструировать объяснение. Тестировать A/B-тестами количество ботов можно, но это локальное и тактическое решение, да и не всегда возможное. Ко всему прочему, надо всегда учитывать, какие рычаги для изменения метрики у нас есть.
Поэтому приходится останавливаться на весьма бедных интерпретациях — “не нравится == не пошел в следующий бой”, “не нравится == вышел из боя в первые секунды” и тому подобных. Можно, конечно, начать с вопроса “почему не нравятся боты”, но это отдельное (в идеале качественное) исследование, на которое может не быть ресурсов или квалификации.
В результате разница между тем, что интересно продюсеру и тем, что может в моменте оценить аналитик на данных — очень существенная, а приращение знания от таких паллиативов — не так чтобы впечатляющее. Как я в последнее время думаю, такие метрики требуют длительных исследований и накопления знания о процессе, чтобы потом было проще его оценивать.
🔥14👍5❤2
На волне осмысления матчмейкинга вспомнил один весьма симпатичный пример связи метрик, денег и некоторых технических решений.
Несколько лет назад в одном из проектов обсуждали, нужны ли боты на старте игры. Надо, не надо, сколько первых боев с ботами делать и так далее. Аргументы “против” понятные — ботов надо делать (мозги придумывать и все такое), боты могут не нравиться пользователям, тюнить ботов по сложности и человекоподобности — отдельное сомнительное развлечение, да и при полноценной заливке может быть достаточно пользователей для наполнения матчмейкинга людьми и т. д.
Аргументы “за” тоже понятные — ботами проще контролировать опыт в первых боях (чтобы пользователи выигрывали), к тому же в тестах прототипов мы не сможем добиться полного матчмейкинга, слишком мало пользователей. Да и какие-то наброски по ботам уже есть, скорее всего.
Но есть еще один аргумент “за”, о котором я, признаться, даже и не подумал тогда. Если мы делаем бои на всю аудиторию, сугубо pvp и без ботов, то это надо поднимать достаточное количество гейм-серверов. Но при ретеншене порядка 35-45% мы в первые несколько боев безвозвратно теряем больше половины игроков. Соответственно, зачем тратить деньги на геймы, если можно сделать ботов и пользователи будут играть с ними на клиенте первые бои?
Таким образом, понимание метрик ретеншена и игровой активности в первый день помогло принять решение по ботам, озадачить разрабов реализацией боев на клиенте и, по словам СТО, сократить расходы.
Несколько лет назад в одном из проектов обсуждали, нужны ли боты на старте игры. Надо, не надо, сколько первых боев с ботами делать и так далее. Аргументы “против” понятные — ботов надо делать (мозги придумывать и все такое), боты могут не нравиться пользователям, тюнить ботов по сложности и человекоподобности — отдельное сомнительное развлечение, да и при полноценной заливке может быть достаточно пользователей для наполнения матчмейкинга людьми и т. д.
Аргументы “за” тоже понятные — ботами проще контролировать опыт в первых боях (чтобы пользователи выигрывали), к тому же в тестах прототипов мы не сможем добиться полного матчмейкинга, слишком мало пользователей. Да и какие-то наброски по ботам уже есть, скорее всего.
Но есть еще один аргумент “за”, о котором я, признаться, даже и не подумал тогда. Если мы делаем бои на всю аудиторию, сугубо pvp и без ботов, то это надо поднимать достаточное количество гейм-серверов. Но при ретеншене порядка 35-45% мы в первые несколько боев безвозвратно теряем больше половины игроков. Соответственно, зачем тратить деньги на геймы, если можно сделать ботов и пользователи будут играть с ними на клиенте первые бои?
Таким образом, понимание метрик ретеншена и игровой активности в первый день помогло принять решение по ботам, озадачить разрабов реализацией боев на клиенте и, по словам СТО, сократить расходы.
🔥18👍7❤1
На одном из совместных проектов продюсер и топы второй студии активизировались и хотят еще аналитики и дашбордов.
А в аналитике хотят разного. Очень видно качественно иной подход — больше метрик вовлечения, больше акцент на отвалы, на боевые статистики, на ладдеры коммьюнити-ивентов и тому подобное. От некоторых запросов вообще накрывает флешбеками многолетней давности, когда сидишь, смотришь на сырую табличку по пользователям из d2d, и единственное, что можешь оттуда вытянуть — rolling retention. Эхо тех сумеречных эпох, когда хранили только последний стейт пользователя, а не все логины-логауты и промежуточные логи.
Несмотря на все мое ворчание, интересно посмотреть, как оно будет работать в оперировании (пока только закрытая бета). Мы много работаем с метриками монетизации и экономики, но вот тот же отток обычно смотрим с точки зрения “китам что-то не нравится”. Бездушные “донатные сосалки” (c) однако, а тут высокий и тонкий мир ПК-бояр со своей атмосферой.
В общем, столкновение с Другим всегда обогащает, если суметь пережить и переварить этот опыт. Но мозги скрипят, мир за пределами своей модели и привычных инструментов уже кажется странным.
А в аналитике хотят разного. Очень видно качественно иной подход — больше метрик вовлечения, больше акцент на отвалы, на боевые статистики, на ладдеры коммьюнити-ивентов и тому подобное. От некоторых запросов вообще накрывает флешбеками многолетней давности, когда сидишь, смотришь на сырую табличку по пользователям из d2d, и единственное, что можешь оттуда вытянуть — rolling retention. Эхо тех сумеречных эпох, когда хранили только последний стейт пользователя, а не все логины-логауты и промежуточные логи.
Несмотря на все мое ворчание, интересно посмотреть, как оно будет работать в оперировании (пока только закрытая бета). Мы много работаем с метриками монетизации и экономики, но вот тот же отток обычно смотрим с точки зрения “китам что-то не нравится”. Бездушные “донатные сосалки” (c) однако, а тут высокий и тонкий мир ПК-бояр со своей атмосферой.
В общем, столкновение с Другим всегда обогащает, если суметь пережить и переварить этот опыт. Но мозги скрипят, мир за пределами своей модели и привычных инструментов уже кажется странным.
❤8
Немного технических страданий (после пары недель плохого самочувствия все равно ничего более осмысленное сказать не получается). Некоторое время назад тихо-мирно тестировал скрипт для агрегации данных под дашборды. Краем глаза увидел вот такой варнинг:
То есть в следующей версии (а точнее уже в текущей, так как у меня локально стоит древняя) все выражения вида
Решение удивительное. Да, поиск строки менее затратен, чем поиск по паттерну. Но ищут чаще всего ведь именно регулярки и тонны кода уже написаны, не сомневаюсь. Самое противное во всем этом, что никакие алерты кричать не будут, сообщений об ошибках и упавших скриптов тоже не будет. Но и полезного действия происходить не будет. Потому что всего лишь поменяли значение по умолчанию уже существующего аргумента. Отлавливать такое — очень сложно. Даже когда append отменили, скрипты падали и все было прозрачно и понятно, хоть и неприятно.
А мы как раз недавно обновили Airflow, который потребовал новых панд.
Вообще, конечно, dependency hell — совсем не то, что хочется держать в голове, хоть и приходится. Мне бы на выручку посмотреть да группы посравнивать, а не думать, что и у кого отвалится, когда обновимся. Ну и панды сами по себе мерзкие, а тут еще такой подарочек, зачем.
FutureWarning: The default value of regex will change from True to False in a future version.То есть в следующей версии (а точнее уже в текущей, так как у меня локально стоит древняя) все выражения вида
pd.Series.str.replace(’[0-9]’, ‘’) перестанут работать. Потому что раньше паттерн [0-9] по умолчанию интерпретировался как regex, а сейчас — как строка.Решение удивительное. Да, поиск строки менее затратен, чем поиск по паттерну. Но ищут чаще всего ведь именно регулярки и тонны кода уже написаны, не сомневаюсь. Самое противное во всем этом, что никакие алерты кричать не будут, сообщений об ошибках и упавших скриптов тоже не будет. Но и полезного действия происходить не будет. Потому что всего лишь поменяли значение по умолчанию уже существующего аргумента. Отлавливать такое — очень сложно. Даже когда append отменили, скрипты падали и все было прозрачно и понятно, хоть и неприятно.
А мы как раз недавно обновили Airflow, который потребовал новых панд.
Вообще, конечно, dependency hell — совсем не то, что хочется держать в голове, хоть и приходится. Мне бы на выручку посмотреть да группы посравнивать, а не думать, что и у кого отвалится, когда обновимся. Ну и панды сами по себе мерзкие, а тут еще такой подарочек, зачем.
😢10❤4
Классическая эвристика в ситуациях, когда просела какая-то метрика — поиск сегмента, за счет которого произошла просадка. Например, перестали платить новые пользователи. Или почему-то перестали возвращаться старые киты.
С относительными когортными метриками (ретеншен, конверсия) ситуация немного сложнее. Изменение может лежать как в самом сегменте, так и в структуре сегментов. Например, мы знаем, что чем больше боев пользователь сделал в день инсталла, тем выше вероятность, что он вернется на следующий день (рет1). У нас есть определенная разметка пользователей на несколько сегментов в зависимости от того, сколько боев они делают.
И вот мы видим, что один сегмент просел. То есть после одного из изменений пользователи с таким количеством боев стали хуже возвращаться. Но не настолько хуже, чтобы объяснить общее снижение ретеншена. Оказалось, что еще часть просадки была обусловлена изменением структуры аудитории — пользователей с небольшим количеством боев (и, соответственно, с не очень высоким удержанием) стало существенно больше.
Почему так произошло (просел один сегмент и изменилась структура сегментов) — вопрос отдельного размышления и исследований. Это следующий шаг в понимании, почему изменилась метрика.
Намного более простой пример — когда закупили много пользователей из Китая (они традиционно хуже удерживаются) или начался фичер. То есть пришло большое количество некачественных и/или нерелевантных пользователей, которые и уронили ретеншен. Тут изменение просто в структуре.
В общем, доли, парадокс Симпсона и его вариации.
NB. Пример навеян недавними задачами, но все же во многом искусственный и упрощенный.
С относительными когортными метриками (ретеншен, конверсия) ситуация немного сложнее. Изменение может лежать как в самом сегменте, так и в структуре сегментов. Например, мы знаем, что чем больше боев пользователь сделал в день инсталла, тем выше вероятность, что он вернется на следующий день (рет1). У нас есть определенная разметка пользователей на несколько сегментов в зависимости от того, сколько боев они делают.
И вот мы видим, что один сегмент просел. То есть после одного из изменений пользователи с таким количеством боев стали хуже возвращаться. Но не настолько хуже, чтобы объяснить общее снижение ретеншена. Оказалось, что еще часть просадки была обусловлена изменением структуры аудитории — пользователей с небольшим количеством боев (и, соответственно, с не очень высоким удержанием) стало существенно больше.
Почему так произошло (просел один сегмент и изменилась структура сегментов) — вопрос отдельного размышления и исследований. Это следующий шаг в понимании, почему изменилась метрика.
Намного более простой пример — когда закупили много пользователей из Китая (они традиционно хуже удерживаются) или начался фичер. То есть пришло большое количество некачественных и/или нерелевантных пользователей, которые и уронили ретеншен. Тут изменение просто в структуре.
В общем, доли, парадокс Симпсона и его вариации.
NB. Пример навеян недавними задачами, но все же во многом искусственный и упрощенный.
👍5🔥1
Разбираюсь сейчас с ретеншеном платящих. И понял, что в один пост не уложусь, сначала надо сделать подводку. Так что сейчас про активность пользователей, а завтра — уже про платящих.
Одна из ключевых особенностей игр как продукта — нам важны не только платежи пользователей, что и как они покупают, но и их внутриигровая активность.
Так как игры это развлечение, то активность служит маркером, насколько игра интересна сама по себе, будут ли пользователи оставаться, сможем ли мы их монетизировать, в конце концов. Мы не знаем мотивацию пользователей играть, но через их активность и вовлечение можем оценить, насколько наша игра ее удовлетворяет.
В результате это выливается в большое количество специфичных метрик активности — воронка боев, количество боев в день, длина сессии, DAU сегментов по платежеспособности и т. д. Да и классические метрики типа ретеншена мы смотрим по всей когорте, а не только по когорте платящих (как это нередко бывает в e-коме и прочих функциональных продуктах).
В добавление к метрикам у нас появляется еще одно измерение в интерпретациях. Ретеншен первого дня обычно интерпретируем как интересность геймплея, ретеншен дальних дней — как интересность метагейма. Отвалы лояльной аудитории суперкитов могут служить маркерами, как им зашли последние изменения.И так далее.
Когда дело доходит до платежей, становится еще интереснее.
Одна из ключевых особенностей игр как продукта — нам важны не только платежи пользователей, что и как они покупают, но и их внутриигровая активность.
Так как игры это развлечение, то активность служит маркером, насколько игра интересна сама по себе, будут ли пользователи оставаться, сможем ли мы их монетизировать, в конце концов. Мы не знаем мотивацию пользователей играть, но через их активность и вовлечение можем оценить, насколько наша игра ее удовлетворяет.
В результате это выливается в большое количество специфичных метрик активности — воронка боев, количество боев в день, длина сессии, DAU сегментов по платежеспособности и т. д. Да и классические метрики типа ретеншена мы смотрим по всей когорте, а не только по когорте платящих (как это нередко бывает в e-коме и прочих функциональных продуктах).
В добавление к метрикам у нас появляется еще одно измерение в интерпретациях. Ретеншен первого дня обычно интерпретируем как интересность геймплея, ретеншен дальних дней — как интересность метагейма. Отвалы лояльной аудитории суперкитов могут служить маркерами, как им зашли последние изменения.И так далее.
Когда дело доходит до платежей, становится еще интереснее.
❤14👍6
Львиная доля задач на новых проектах касается вопроса “как бы нам повысить ARPU”. Мы тут смотрим на форму кумулятивной кривой, ищем точки перегиба и выхода на плато, и пытаемся понять, что происходит. Два ключевых инструмента для меня здесь — воронка платежей и ретеншен платящих. Конверсия в платящих тоже важна, но это отдельная тема.
Ретеншен платящих — тот же возврат пользователей в игру по дням от инсталла, только за 100% мы берем общее количество платящих, сделавших платеж в определенный период. Например, в день инсталла, или в за первые X дней, или за все наблюдаемое время когорты. Иногда можно просто посмотреть количество дней в игре после последнего платежа, с учетом окна лайфтайма сравниваемых когорт. Общая задача — проверить, а интересна ли игра этим пользователям. Если пользователи быстро отваливаются — одна история. Если платят мало (например, сделали платеж в первый день), но продолжают играть — совсем другая.
По воронке платежей (какая доля от сделавших первый платеж, делает второй, третий и т. д.) мы смотрим как раз, а готовы ли пользователи покупать что-то дальше. Тут я предпочитаю контролировать лояльность — брать только тех пользователей, кто активно играл какое-то время, и смотреть их воронку в этом периоде. Это нужно для того, чтобы как раз исключить ситуации, когда воронка обрывается из-за того, что пользователь ушел.
В конечном счете это сводится к проверке гипотез, пользователи не платят, потому что отвалились (даже платящим игра неинтересна). Тут изменение лежит в области геймплея, проработанности меты и так далее. Или пользователи не платят, потому что им нравится игра, но нет потребности или желания что-то еще покупать. И это уже про удовольствие и ожидания от платежа, про субъективную оценку “дорого/дешево” офферов и так далее.
Впрочем, одна явно локализованная причина плохих кривых cARPU — это редкость. Чаще всего мы имеем комбо, и надо выбрать то, что пробуем исправить в первую очередь, а потом оценить, как поменялось платежное поведение. Все переплетено, как это обычно у людей и бывает.
Ретеншен платящих — тот же возврат пользователей в игру по дням от инсталла, только за 100% мы берем общее количество платящих, сделавших платеж в определенный период. Например, в день инсталла, или в за первые X дней, или за все наблюдаемое время когорты. Иногда можно просто посмотреть количество дней в игре после последнего платежа, с учетом окна лайфтайма сравниваемых когорт. Общая задача — проверить, а интересна ли игра этим пользователям. Если пользователи быстро отваливаются — одна история. Если платят мало (например, сделали платеж в первый день), но продолжают играть — совсем другая.
По воронке платежей (какая доля от сделавших первый платеж, делает второй, третий и т. д.) мы смотрим как раз, а готовы ли пользователи покупать что-то дальше. Тут я предпочитаю контролировать лояльность — брать только тех пользователей, кто активно играл какое-то время, и смотреть их воронку в этом периоде. Это нужно для того, чтобы как раз исключить ситуации, когда воронка обрывается из-за того, что пользователь ушел.
В конечном счете это сводится к проверке гипотез, пользователи не платят, потому что отвалились (даже платящим игра неинтересна). Тут изменение лежит в области геймплея, проработанности меты и так далее. Или пользователи не платят, потому что им нравится игра, но нет потребности или желания что-то еще покупать. И это уже про удовольствие и ожидания от платежа, про субъективную оценку “дорого/дешево” офферов и так далее.
Впрочем, одна явно локализованная причина плохих кривых cARPU — это редкость. Чаще всего мы имеем комбо, и надо выбрать то, что пробуем исправить в первую очередь, а потом оценить, как поменялось платежное поведение. Все переплетено, как это обычно у людей и бывает.
👍8🔥1
Так как я работаю с новыми проектами, у меня много задач, которые касаются разных версий игры. Притом версии существенно разные, особенно с точки зрения экономики. Где-то одна модель дистрибуции контента, где-то другая. Где-то изменили скорость прогрессии пользователя. Где-то просто перешатали дефициты.
Для подобных сравнений я в последнее время повадился считать метрики второго порядка. То есть, не просто кривую кумулятивного ARPU рисовать (или воронку боев), но и кривую коэффициентов. Где коэффициент — это значение cARPU day X / cARPU day 0. Берем и все значения cARPU делим на значение в какой-то выбранный день (день инсталла, третий день, седьмой, что угодно).
Такая метрика позволяет нам понять, а изменили ли мы вообще что-то в экономике и платежах, поменяв пол-игры. У проектов в оперировании, когда модель экономики уже сформирована, подобные кривые от версии к версии очень похожи. А вот у новых проектов из вариативность как раз и служит одним из маркеров, получилось ли нам что-то изменить или нет.
Второе применение подобных коэффициентов — понять, в каком именно месте расходятся версии. Потому что нередко бывает так, что, например, основной отвал происходит на второй день, а потом он просто длится. Такое можно поймать либо воронке с долями от предыдущего шага, либо как раз коэффициентом изменения для каждого шага относительно первого.
Для подобных сравнений я в последнее время повадился считать метрики второго порядка. То есть, не просто кривую кумулятивного ARPU рисовать (или воронку боев), но и кривую коэффициентов. Где коэффициент — это значение cARPU day X / cARPU day 0. Берем и все значения cARPU делим на значение в какой-то выбранный день (день инсталла, третий день, седьмой, что угодно).
Такая метрика позволяет нам понять, а изменили ли мы вообще что-то в экономике и платежах, поменяв пол-игры. У проектов в оперировании, когда модель экономики уже сформирована, подобные кривые от версии к версии очень похожи. А вот у новых проектов из вариативность как раз и служит одним из маркеров, получилось ли нам что-то изменить или нет.
Второе применение подобных коэффициентов — понять, в каком именно месте расходятся версии. Потому что нередко бывает так, что, например, основной отвал происходит на второй день, а потом он просто длится. Такое можно поймать либо воронке с долями от предыдущего шага, либо как раз коэффициентом изменения для каждого шага относительно первого.
👍13❤1
Знали бы вы, как я не люблю ботов. Именно как продуктовую фичу. Вечно с ними какие-то проблемы. То они слишком слабые. То слишком сложные. То они не очень похожи на поведение людей. То у них меняется логика или сложность, или все вместе. То их слишком много и постоянно кажется, что пользователям они не нравятся. То приходится использовать всякие трюки типа “пользователь не может отставать больше чем в полтора раза от ботов”, как мы в гоночках делали.
Переход от экономики, построенной на контролируемых ботах к экономике игры, где пользователи играют преимущественно друг с другом — отдельная головная боль сродни кластерной. Геймдизов и продюсера в первую очередь, но и аналитикам тоже с лихвой хватает.
Но без ботов тоже нельзя — банально нет столько DAU и регистраций, чтобы на прототипах наполнить бои людьми. Да и с учетом больших отвалов пользователей в первый день, дешевле пользователя онбордить и первые бои делать с ботами, а уж потом только в полноценный pvp отправлять.
Так и живем.
Переход от экономики, построенной на контролируемых ботах к экономике игры, где пользователи играют преимущественно друг с другом — отдельная головная боль сродни кластерной. Геймдизов и продюсера в первую очередь, но и аналитикам тоже с лихвой хватает.
Но без ботов тоже нельзя — банально нет столько DAU и регистраций, чтобы на прототипах наполнить бои людьми. Да и с учетом больших отвалов пользователей в первый день, дешевле пользователя онбордить и первые бои делать с ботами, а уж потом только в полноценный pvp отправлять.
Так и живем.
👍12😁3
В малом чате аналитиков недавно обсуждали, как можно измерить, что “пользователю было интересно в бою”. Конечно, самый простой вариант — спросить пользователя явно, но это читерство. Впрочем, думаю, мы и до этого скоро дойдем.
Самый простой и надежный ответ на этот вопрос — “в данных нет ответа”, так как не все можно измерить и отследить в логах. Кажется, валидное утверждение. Как минимум оно позволяет быстро перейти к другим инструментам или гипотезам.
Тем не менее, я, как правоверный гештальтист, склонен считать, что неявные личные особенности или процессы видны в любом действии человека. Проекции и изоморфизм, все дела. Просто нам может быть сложно увидеть эти действия или же их корректно проинтерпретировать. Или дешевле будет как-то по-другому ответить на свой вопрос.
В общем, немного методологической ереси вам в ленту.
Самый простой и надежный ответ на этот вопрос — “в данных нет ответа”, так как не все можно измерить и отследить в логах. Кажется, валидное утверждение. Как минимум оно позволяет быстро перейти к другим инструментам или гипотезам.
Тем не менее, я, как правоверный гештальтист, склонен считать, что неявные личные особенности или процессы видны в любом действии человека. Проекции и изоморфизм, все дела. Просто нам может быть сложно увидеть эти действия или же их корректно проинтерпретировать. Или дешевле будет как-то по-другому ответить на свой вопрос.
В общем, немного методологической ереси вам в ленту.
👍2❤1
Прекрасный Антон Марцен, автор канала Product Science ищет аналитиков себе в команду Яндекс.Музыки. Вакансия зело симпатичная, хоть сам откликайся.
По требованиям стек понятный — SQL, Python, хорошая статистика и хорошая продуктовая часть. Ну и вся обвязка Яндекса в комплекте, само собой — от черномагических внутренних инструментов до процессов и плюшек.
Мне вакансия показалась интересной тем, что это развлекательный продукт, но еще не геймдев. Как я понимаю, сейчас такое называют “фантех”. Соответственно, разнообразное поведение и мотивация пользователей, которое надо огрокать и конвертировать в повышение бизнес-метрик.
По требованиям стек понятный — SQL, Python, хорошая статистика и хорошая продуктовая часть. Ну и вся обвязка Яндекса в комплекте, само собой — от черномагических внутренних инструментов до процессов и плюшек.
Мне вакансия показалась интересной тем, что это развлекательный продукт, но еще не геймдев. Как я понимаю, сейчас такое называют “фантех”. Соответственно, разнообразное поведение и мотивация пользователей, которое надо огрокать и конвертировать в повышение бизнес-метрик.
🤩1
В последнее время на глаза попадалось несколько статьей про data design/modelling. Для меня интересная тема, так как я немалую часть времени занимаюсь проектированием системы логов на новых проектах — что логировать, как именно, как мы это будем использовать и т. д.
Тема сама по себе непростая, помнится, Никита Шустиков из Зепты меня как-то убеждал, что amplitude-like модель данных — лучшее, что может быть. А отдельные события, джойны и прочее — бессмысленный олдскул. Я же люблю воронки, обогащенные данные, рамочные события для ключевых компонент меты, много информации из конфигов, агрегаты на стороне проекта и прочее. В общем, есть о чем поговорить.
Но есть один момент, который критически важен в самом начале, на уровне роадмапа проекта. Я нередко сталкиваюсь с представлением разработчиков, что их задача — делать игру. А аналитика — это что-то дополнительное, что можно выбросить из роадмапа, что отвлекает от реальной работы, можно обойтись минимальными логами и так далее. В моем же мире, детальная аналитика — это не дополнительная, а обязательная часть любой фичи, и требует достаточно много времени разработчиков.
В конце концов, мы работаем с f2p, нам критически важно понимать, что пользователь делает, и относительно гибко менять его опыт. Точнее, можно сделать f2p-игру без глубокой аналитики и при редкой удаче она даже сможет что-то зарабатывать, но оптимизировать и растить выручку будет сложно.
#datamodel
Тема сама по себе непростая, помнится, Никита Шустиков из Зепты меня как-то убеждал, что amplitude-like модель данных — лучшее, что может быть. А отдельные события, джойны и прочее — бессмысленный олдскул. Я же люблю воронки, обогащенные данные, рамочные события для ключевых компонент меты, много информации из конфигов, агрегаты на стороне проекта и прочее. В общем, есть о чем поговорить.
Но есть один момент, который критически важен в самом начале, на уровне роадмапа проекта. Я нередко сталкиваюсь с представлением разработчиков, что их задача — делать игру. А аналитика — это что-то дополнительное, что можно выбросить из роадмапа, что отвлекает от реальной работы, можно обойтись минимальными логами и так далее. В моем же мире, детальная аналитика — это не дополнительная, а обязательная часть любой фичи, и требует достаточно много времени разработчиков.
В конце концов, мы работаем с f2p, нам критически важно понимать, что пользователь делает, и относительно гибко менять его опыт. Точнее, можно сделать f2p-игру без глубокой аналитики и при редкой удаче она даже сможет что-то зарабатывать, но оптимизировать и растить выручку будет сложно.
#datamodel
❤12
Любопытные новости, конечно. Особенно на фоне того, что несколько лет назад один из журналов по социальной психологии отказался принимать статьи с p-value и стал требовать только bayes factor.
Интересно, что привело гугл к такому решению. NHST, как ни крути, ведь тоже не идеал, да и на выборку весьма прожорлива.
Интересно, что привело гугл к такому решению. NHST, как ни крути, ведь тоже не идеал, да и на выборку весьма прожорлива.
Telegram
EXPF – математическая статистика и эксперименты
Свершилось невозможное. Google отказался от байесианства в пользу частотки
Это не совсем общая стратегическая позиция, но в Firebase это уже на продакшене. Не прошло и 100 лет (но 10 прошло), мы увидели у них p-value
https://firebase.google.com/docs/ab…
Это не совсем общая стратегическая позиция, но в Firebase это уже на продакшене. Не прошло и 100 лет (но 10 прошло), мы увидели у них p-value
https://firebase.google.com/docs/ab…
❤1👍1🔥1😱1