Евгений Гильманов — Head of Analytics студии Belka Games — в своей колонке для читателей App2Top.ru подробно рассказывает, как выстраивал отдел аналитики в компании.
Интро
Евгений Гильманов
Последний год в Belka Games выдался очень насыщенным. В том числе и в отделе аналитики, шанс сформировать который мне предоставился.
Еще до работы в компании у меня был опыт в аналитике браузерных игр, а также в аналитике веб- и мобильных проектов. Belka «подкупила» огромным числом интересных и амбициозных задач.
Их действительно было очень много. Во-первых, нужно было улучшить систему аналитики в целом. Во-вторых, в ряде моментов ее необходимо было отстроить заново. Например, мы хотели, чтобы система могла давать советы по улучшению фич и с точки зрения пользовательского опыта, и в плане метрик.
Сейчас задач тоже хватает. Нам есть, куда расти.
Первое время
1) Выбор и внедрение системы аналитики
Когда я устроился в компанию, первым делом мне нужно было привести всех людей здесь к одному «окну аналитики». Для этого необходимо было выбрать и внедрить систему аналитики.
Процесс занял около двух месяцев и заслуживает отдельного лонгрида. Если вкратце, то решений на рынке много, все они имеют свои особенности и в плане фич, и в плане цен.
Пока шел выбор системы аналитики, серверные разработчики переводили базу данных с MySQL на Greenplum — более современный и подходящий для работы с большими объемами данных инструмент.
При выборе системы нужно понимать потребности продукта и команды. Не всегда необходим космический корабль с кучей фичей. Также не всегда платное решение — лучшее.
Самое важное, что необходимо понимать: систему выбираешь надолго. Создать большое количество отчетов и потом «перевозить» их на другую систему будет сложно и трудозатратно.
При выборе системы аналитики для меня особенно важным было следующее:
- возможность гибко настраивать, какие данные я хочу получить;
- возможность быстро получать и визуализировать эти данные;
- возможность дать доступ к данным большому количеству коллег;
- высокая скорость работы системы;
- все данные должны быть на наших серверах.
В итоге, исследовав более 10 решений, мы с командой проекта остановились на системе аналитики re:dash. Она позволяет с помощью простого редактора кода получать визуализацию запросов, собирать из них дашборды, навешивать переменные/фильтры.
Мы обвязали систему html-кодом и получили площадку для единого «окна аналитики», которое и используем сейчас в компании.
Окно аналитики у Belka Games (отредактировано, без точных значений)
Окно аналитики у Belka Games (отредактировано, без точных значений)
По ссылкам можно почитать и про Greenplum, и про re:dash.
2) Наладка процессов между продуктовым отделом и отделом аналитики
Аналитика должна не только быть точной, но и приносить ответы и инсайды. И самое главное — аналитика должна быть своевременной. Получить крутой инсайд через полгода, когда проект уже успеет несколько раз измениться и обрасти новыми фичами, иногда совершенно бесполезно.
Чтобы аналитика была своевременной, необходимо привить команде привычку получать фидбэк в строго оговоренные сроки.
К примеру, меняем левел-дизайн диапазона уровней. После этого необходимо измерить эффективность изменений на части аудитории. Исходя из конверсии прохождения и ряда других внутренних метрик, мы рассчитываем минимальный объем выборки и количество дней, за которое мы ее достигнем (если количество дней стремится к неприлично большому значению — эксперимент отправляется на переосмысление).
После получения объема выборки результаты теста обсчитываются, и принимается решение о раскатке нового левел-дизайна на всем объеме аудитории.
3) GIGO и самопроверка
Есть такой принцип в аналитике: garbage in — garbage out (GIGO)*.
* Согласно «Википедия», этот принцип означает, что при неверных входящих данных будут получены неверные результаты, даже если сам по себе алгоритм правилен. В русскоязычной культуре аналогом принципа является выражение «Что посеешь — то и пожнешь».
Поэтому важно было за первые месяцы работы убедиться в чистоте и правильности данных.
Вот несколько пунктов для самопроверки при подготовке отчетов:
- нужно иметь несколько систем аналитики в качестве источников данных хотя бы в первое время;
- при анализе нужно досконально изучить фичу, чтобы самому понимать, как что работает (включать в отчеты краткое описание фичи — тоже хорошая привычка);
- аналитик должен понимать, что у него пишется в базу данных (лучше руками проверять логи, если эта сущность новая для базы);
- предоставляемая информация (графики, таблицы и так далее) должна быть понятна и наглядна: чем сложнее доносишь информацию, тем меньше к ней доверия.
***
Когда основные задачи на первое время (создание единого «окна аналитики» и отладка процессов между отделами) были решены, внутренние команды разработки поняли, что аналитика — отличный инструмент получения ответов и инсайдов. За пониманием последовал геометрический рост запросов.
Пора расширяться
1) Как решили, что будем расти
Большой объем задач — это очень приятно и круто, но есть нюанс. Человеческие возможности ограничены: даже если ты трудоголик и любишь перерабатывать (мы так не делаем и никому не советуем), проблему это не решит. На хорошем уровне даже небольшой командой трудно держать аналитику нескольких проектов (особенно таких крупных, как «Часовщик» и «Funky Bay – Ферма и Экспедиции»).
Так мы пришли к мысли о расширении команды.
Найти людей на рынке СНГ сложно, но можно. Тут есть несколько основных поинтов для кандидата (я сейчас осознанно не пишу про дефолтные вещи из описания вакансий):
- релевантный бэкграунд (аналитика, но необязательно в геймдеве);
- самостоятельность и аккуратность в работе с данными;
- проактивность.
С начала 2019 года мы начали искать людей. Я рассказывал об аналитике Belka Games на DataTalks и DevGamm, мы активно собеседовали кандидатов. Сейчас у нас укомплектованная команда, но мы всегда открыты светлым умам, работы с каждым месяцем все больше.
2) Удаленка
Самое сложное, но необходимое для команды — решиться на удаленку. Иногда из-за процессуальных особенностей это и вовсе невозможно.
У нас в Belka Games были сомнения по поводу подобного формата. Аналитик, работающий не максимально плотно с командой, может где-то упустить важную информацию, где-то быть недостаточно мотивированным и продуктивным. Минусы были ясны, но плюсы перевешивали:
- распределенное состояние команды дает работодателю большую гибкость;
- преодолев страх неэффективности удаленки, можно быстрее и качественнее масштабировать команду;
- выстроить распределенную команду — мой личный челлендж.
Сейчас 60% команды аналитики работают распределенно в других городах и только 40% — в минском офисе.
Ключевыми факторами успеха работы удаленной команды я считаю:
- высокую заинтересованность человека в том, что мы делаем (эта заинтересованность — процесс, который начинается с собеседования и испытательного срока, поддерживать интерес — задача компании и лида команды);
- работу по одним правилам со всеми командами (у нас есть Asana в качестве связующего инструмента всей разработки, и ни одна значимая задача не проходит мимо);
- тщательное ведение документации (все аналитические записки ведутся в Confluence, базе знаний, без ведения которой очень сложно жить);
- прозрачную командную динамику (все в команде аналитики знают, кто чем занят, есть процессы и они соблюдаются);
- регулярные встречи/созвоны один на один с руководителем (в их рамках обсуждаются: движение по роадмапу, любые корпоративные вопросы, трудности по задачам и так далее).
3) Адаптация
Несмотря на распределенность команды, все без исключения ребята проходят адаптационный период в Минске. Обычно он длится месяц-полтора.
Первая пара недель нового сотрудника расписана лидом почти по часам. Затем он становится намного свободнее.
Этап личной адаптации очень важен. Это знакомство и притирка с командой, плотная работа с руководителем, понимание того, какого результата от него ждут в Belka Games (мы ждем результатов уже во время испытательного срока).
После адаптационного периода команда может быть уверена в человеке. Это важно.
Как строятся процессы
1) Прописываем процессы
Система не будет работать правильно, пока не прописаны правила ее работы.
Сейчас у нас есть шаблоны для рутинных задач (анализа апдейтов и фичей). Шаблоны нужны, чтобы не было цирка с оформлением и стройностью аналитической документации.
У нас прописаны все процессы. Здесь имеется в виду, что есть документация: когда, что и как должно быть проанализировано. Например, под все фичи/апдейты есть отдельный дашборд для мониторинга только необходимых показателей.
Окно аналитики у Belka Games (отредактировано, без точных значений)
Важным я считаю процесс постановки задач аналитиками. Пока он не был прописан, временами было сложно даже приступить к задаче, флоу растягивался на уточнение деталей/сроков/желаемого результата у заказчика, что влияло на скорость и даже качество.
Чтобы прописать этот процесс, мы провели несколько внутренних митапов, где коллеги задавали вопросы отделу аналитики. В ответ аналитики рассказали, как им удобнее переваривать запросы в духе «посчитай и расскажи».
2) Держим руку на пульсе
У команды есть открытый роадмап на каждый месяц, где указывается, на сколько процентов выполнена каждая задача. Здесь можно отследить динамику команды.
Каждую неделю мы формируем новый спринт, исходя из роадмапа и потребностей продуктовых команд.
Каждый день мы все пишем в закрытый канал Slack, что было сделано вчера и что в планах на сегодня.
Со стороны это может показаться излишним микроменеджментом. Однако очень полезно с утра понимать, что ты сделал вчера и что будешь делать сегодня. Плюс всегда есть возможность поделиться этим с коллегами. Это — крутой ритуал, который позволяет мозгу проснуться.
3) Формулируем короткие и емкие ответы
Ответы продуктовым командам на их запросы нужно формулировать как можно точнее и скорее. Недостаточно дать ответ AS IS: необходимо предложить рекомендации по тому, как улучшить/сбалансировать фичу, что в апдейте сработало хорошо, а что нет.
Вот здесь хочется остановиться чуть детальнее. У аналитиков (так уж сложилось) есть одна черта. Не буду говорить, что она хорошая или плохая, но мы очень любим «вылить» на человека с десяток графиков и таблиц, приправленных терминами. Такой подход вызывает дискомфорт даже у подготовленного читателя, а что уж говорить о занятом менеджере. Аналитика превращается в многостраничные отчеты, которые никто не читает.
Подробная аналитика нужна, и мы от нее не ушли, но завели «правило отчета». Его суть сводится к тому, что аналитик должен раскрыть результаты теста фичи в одном-трех предложениях и в тех же ограничениях предложить улучшения.
Пример:
Выводы:
- оставляем фичу на проде;
- изменение суммарно повысило удержание 7-го дня на 20%;
- изменение повлияло больше на аудиторию iOS, чем на аудиторию Android (прирост 25% против 15%).
Предложения:
- исследовать глубже разницу в эффекте на платформы;
- фича имеет потенциал, который можно развить доработкой баланса.
Условный продюсер получает несколько итогов по внедренным фичам и парк предложений на «обсудить», а также ссылку на большой отчет с графиками, таблицами и кучей текста.
4) Принимаем участие в придумывании фичи на всех этапах
Аналитики часто жалуются друг другу, что к ним приходят разработчики и говорят: «Фича вышла в прод месяц назад — сделай анализ». Или: «У нас упали метрики, выясни, что случилось».
Я хотел избежать подобного с самого начала работы в Belka Games. Выяснить такие вещи задним числом зачастую очень сложно. Нужных данных на этом этапе может уже и не быть. Поэтому у нас работа аналитика с новой фичей выстроена иначе. Аналитик принимает участие во всех этапах ее внедрения.
- Проектирование и гейм-дизайн. Проектирование новых логов (при необходимости), описание, что и как будем анализировать. Важно расписать это до релиза, а также заранее подумать, на какие метрики фича потенциально может повлиять. Это позволит точнее спрогнозировать, какие логи могут понадобиться, в какие сроки возможно оценить фичу.
- Появление логов. Здесь работа состоит в том, чтобы проконтролировать, что доходит до баз данных и в каком виде.
- А/Б-тест. Принять решение о необходимости, просчитать нужные объемы и выдать результаты — задача исключительно аналитика.
- Как только фича выходит на прод, аналитик создает дашборд под нее таким образом, чтобы ГД, продюсеры и все неравнодушные коллеги понимали, что происходит с игрой и как фича влияет на баланс. Создать необходимо в тот же день или на следующий.
- Если мы говорим об апдейте, то готовим в дашборде основные метрики отдельно для когорт новой и старой аудиторий.
5) Отслеживаем метрики
Мы отдельно мониторим, как релизы и фичи влияют на разные сегменты пользователей, как они влияют на старых игроков и на новых.
- У новичков мы в первую очередь отслеживаем кривую удержания (Retention) и LTV.
- У старичков мы отслеживаем динамику оттока (Churn rate) и ARPPU/ARPU.
Если речь идет о внедрении новой фичи, то мы смотрим на метрики, связанные с ней, а также на те, на которые она может повлиять.
К примеру, мы меняем баланс личных целей в сайд-событиях «Часовщика». Что интересного можно тут посмотреть?
Макрометрики:
- вовлеченность (время в игре, количество сессий);
- выручка.
Кастомные метрики:
- как изменилась доля людей, достигающих цели?
- стали ли вовлеченные в фичу игроки больше проводить времени в игре во время работы этой фичи?
- как фича повлияла на баланс получаемой/потраченной внутриигровой валюты?
- как фича будет работать вкупе с другими внутриигровыми событиями?
6) Внедряем для аналитиков ачивки
Недавно мы внедрили новый ритуал — систему ачивок. В конце каждого месяца аналитик выбирает от двух до пяти сделанных задач и раскрывает их следующим образом:
- описание задачи;
- краткие выводы;
- дальнейшие действия;
- выхлоп для компании.
Вроде бы ничего нового, обычный отчет. Но, когда ты выполняешь аналитическую задачу с прицелом на заполнение пунктов «Дальнейшие действия» и «Выхлоп», ты совершенно иначе относишься к тому, как подать информацию команде и какой результат требовать от себя. «В стол» работать не получится.
7) Принимаем участие в игровых деконстрактах
Во многих компаниях практика деконстракта игр поставлена на поток. Но обычно этим занимаются продюсеры и гейм-дизайнеры. У нас они тоже этим занимаются, но не только они.
Я выступаю за то, чтобы аналитики также активно участвовали в данном процессе. Причина проста. Самые крутые идеи возникают на стыке пользовательского опыта, цифр и знания своей игры.
Что дальше
Прийти к идеальной системе, идеальному отделу по аналитике, в принципе невозможно. Постоянно будут возникать новые челленджи, а вместе с ними и факапы, и прорывы, и мощные идеи.
Однако к идеалу можно стремиться. Для этого, как мне кажется, важно поддерживать систему в рабочем состоянии. Последнее требует:
- понятных и работающих процессов;
- любви к играм и интереса к индустрии (в геймдеве нельзя приходить на работу просто для того, чтобы делать работу);
- плотной работы с командами продукта, маркетинга и биздева.
Также по теме:
Комментарии
Вячеслав Кажарнович 2019-10-22 14:47:23
Спасибо, было познавательно.
Ответить