Рост и обновления
Roblox Experiments: как проводить A/B-тесты и улучшать игру
Разделите игроков случайным образом на две группы, покажите им разные варианты изменения и сравните удержание, время игры и выручку за один период.
Большой гайд
1. Для каких решений нужен этот инструмент
| Задача продюсера | Что сравнить | Какую пользу искать |
|---|---|---|
| Новички быстро уходят | Два способа объяснить первое действие | Больше людей самостоятельно доходят до интересной части игры |
| Игра кажется медленной | Две настройки раннего прогресса | Игрок чувствует рост и возвращается, не исчерпывая контент слишком быстро |
| Магазин плохо работает | Место кнопки, момент предложения, объяснение ценности | Растёт выручка на участника без ухудшения игрового опыта |
| Люди не возвращаются | Понятная следующая цель, продолжение задания | Увеличивается возврат, а не только длина первой сессии |
| Совместная игра неудобна | Способ приглашения или подбора игроков | Совместное действие становится проще, не ухудшая одиночную игру |
Поломки исправляйте сразу. Если причина оттока неизвестна, сначала посмотрите прохождения игроков. A/B-тест нужен, когда есть конкретная гипотеза и два работоспособных варианта.
При небольшой аудитории проверяйте заметные изменения: обучение, сложность, темп прогресса. Для небольшого эффекта вроде смены оттенка кнопки потребуется больше участников.
2. Что сначала должен сделать разработчик
Подключите Experience configs и используйте значения ключей в коде игры. Например, onboardingHintMode должен действительно переключать старую и новую подсказки. Создание ключа в кабинете само по себе не меняет игру. Настройка конфигураций.
Для персональных вариантов используется ConfigService:GetConfigForPlayerAsync(player). Обычный GetConfigAsync() подходит для общей конфигурации и не включает игрока в эксперимент. Чтение соответствующего ключа через GetValue() у персонального снимка запускает участие в тесте этого ключа. Поэтому важно когда именно код впервые читает значение. Подключение Experiments к коду.
Тест оформления магазина: включайте игрока перед первым показом окна. Тест заметности кнопки магазина: включайте до показа кнопки. Отбор только открывших магазин во втором случае исказит результат.
- Значение читается отдельно для нужного игрока и действительно меняет нужное поведение.
- Включение в эксперимент происходит до первого возможного влияния изменения, в одинаковой точке для A и B.
- При ошибке чтения действует безопасный обычный вариант; ошибка отдельно учитывается, а не записывается как успешное назначение A.
- В тестовой среде проверены оба поведения, повторный вход и игрок с уже существующим прогрессом.
- Сервер проверяет награды, прогресс и покупки; клиент не определяет их авторитетные значения.
- Есть способ остановить применение изменения и понимание, что случится с уже полученными наградами и сохранениями.
Проверьте подготовленные конфигурации в Studio до публикации. ConfigSnapshot не обновляется сам: применяйте новые значения в подходящий момент, например между раундами. Обновление конфигураций.
3. Как создать первый эксперимент в кабинете
Creator Hub → Creations → ваша игра → Experiments → Create experiment.
- Выберите In-experience, если меняете поведение через конфигурацию. Matchmaking предназначен для отдельной задачи — сравнения настроек подбора игроков.
- Назовите тест по изменению: например,
Подсказка первого улучшения — v1. - Выберите основную метрику — goal metric.
- Укажите плановую длительность. Текущий диапазон Roblox — 14–60 дней.
- Задайте rollout: долю подходящих игроков, участвующих в эксперименте.
- Настройте контроль A и вариант B, их значения и распределение.
- При необходимости задайте целевую аудиторию.
- Проверьте параметры, оценку MDE и расписание, затем запускайте в согласованное время.
Для первого теста предпочтительны один контроль и один вариант с распределением 50/50. Roblox допускает контроль и до двух альтернатив в таком эксперименте, но дополнительные варианты требуют большего объёма данных. После назначения расписания параметры нельзя свободно редактировать; работающий тест также блокирует свой ключ и связанные условия. Контроль получает результат действующих правил конфигурации — это не обязательно одно число для всех. Создание эксперимента.
Rollout — охват теста, распределение A/B — доли внутри него. Например, из 10 000 подходящих игроков rollout 40% включает около 4 000. При 50/50 это 2 000 в A и 2 000 в B. Остальные 6 000 не входят в контрольную группу отчёта.
Маленький rollout ограничивает последствия ошибки, но замедляет накопление данных. Проверьте техническую работу заранее и выберите достаточный охват до запуска: менять его каждый день в работающем тесте нельзя.
4. Какие показатели читать и что они означают
Roblox Experiments отслеживает D1 и D7 retention, Playtime, Session time, ARPU, ARPPU и Payer conversion rate; выбор goal metric не отключает остальные. Playtime и денежные показатели в этом отчёте относятся к периоду эксперимента. Их нельзя автоматически считать суточными показателями из другого отчёта. Метрики Experiments.
| Показатель | Вопрос, на который он помогает ответить | Частая ошибка |
|---|---|---|
| D1 / D7 retention | Возвращаются ли участники через день / неделю? | Сделать вывод о D7, когда нужные когорты ещё не успели прожить неделю |
| Playtime | Сколько времени в среднем приходится на игрока за период? | Считать любой рост времени улучшением, даже если человек дольше стоит у препятствия |
| Session time | Какова средняя длительность сессии? | Путать время на сессию со временем на пользователя |
| ARPU | Сколько выручки приходится на пользователя? | Сравнивать с ARPDAU за отдельный день или с другой валютой и периодом |
| ARPPU | Сколько выручки приходится на платящего пользователя? | Радоваться росту при резком сокращении числа платящих |
| Payer conversion rate | Какая доля пользователей совершила покупку? | Объявлять победу по числу покупок, не проверив общую выручку на пользователя |
ARPU = доля платящих × ARPPU при одинаковых периоде, аудитории и определении выручки. Пример: в A платят 2% по 100 Robux — ARPU = 2. В B платят 3% по 60 Robux — ARPU = 1,8. Покупателей больше, выручка на пользователя меньше.
Задайте три роли метрик: главная — цель теста; диагностические — объяснение результата; ограничивающие — допустимая цена улучшения. Практика Microsoft.
Для обучения: главная — D1; диагностика — доля дошедших до первого улучшения и время до него; ограничения — D7 и ошибки. Улучшение воронки без роста D1 не подтверждает гипотезу о возврате игроков.
5. Сначала найдите место потери игроков
Составьте воронку реальных действий: вход → первое действие → награда → улучшение → применение улучшения → следующая цель. Названия шагов должны соответствовать механике игры.
Смотрите два вида переходов: долю от всех вошедших и долю от предыдущего шага. Большая потеря на раннем шаге обычно даёт больше пространства для улучшения, чем небольшая потеря на этапе, куда доходят единицы. Но сначала проверьте само событие: отсутствие записи не обязательно означает, что игрок не выполнил действие.
В Roblox есть важные особенности воронок: пропуск раннего шага при регистрации позднего может автоматически засчитать предыдущие; повтор шага не означает ещё одного уникального прохождения; фильтры привязываются к первому шагу. Неверное логирование способно нарисовать улучшение, которого не было. Для сравнения вариантов можно использовать собственные поля событий. Funnel events.
Посмотрите несколько прохождений с согласия участников. Попросите выполнить задачу и объяснить ожидания; не подсказывайте. «Не понимаю, зачем улучшение» требует другого теста, чем «слишком долго коплю на него».
6. Восемь экспериментов для игры
| Приоритет и гипотеза | Что получает B | Главная метрика | Диагностика и ограничения |
|---|---|---|---|
| 1. Игрок не понимает, куда идти после первого действия | Контекстная подсказка с одной конкретной целью вместо общего объяснения | D1 | Доход до первого улучшения; время до него; ошибки; D7 |
| 2. Первое улучшение кажется бесполезным | Понятный показ эффекта улучшения, без изменения самой силы | D1 | Покупка и применение улучшения; дальнейший прогресс |
| 3. Ранний барьер требует слишком долгого однообразного действия | Снижение стоимости только первого улучшения, например множитель 0,8 | D1 | Достижение следующей зоны; D7; темп расходования контента и валюты |
| 4. Игрок заканчивает первую цель и теряет направление | Следующая достижимая цель появляется сразу после завершения предыдущей | D7 | Возвраты; продвижение; отсутствие искусственного ожидания |
| 5. Окно магазина приходит до понимания игры | Предложение после первого полезного достижения вместо раннего показа | ARPU | Доля увидевших предложение; покупки; D1 и D7 |
| 6. Ценность товара непонятна | Конкретное описание эффекта или демонстрация вместо абстрактного названия, при прежней цене | ARPU | Конверсия; ARPPU; дальнейшее поведение покупателя |
| 7. Бесплатный краткий опыт помогает понять усиление | Ограниченная проба, если она безопасна для экономики и не связана с обманом | ARPU | Удержание; повторные покупки; влияние бесплатной выдачи на экономику |
| 8. Совместное действие сложно начать | Удобное предложение присоединиться в момент, когда это помогает задаче | Playtime | Совместные сессии; возвраты; отсутствие помех одиночным игрокам |
Приоритет: понимание → первая полезная награда → ранний прогресс → возвращение → монетизация. Сначала устраните подтверждённую потерю игроков в основном цикле.
Проверяйте связанные изменения последовательно: упрощение прогресса может менять спрос на ускоритель. Если запустить их одним пакетом, результат покажет эффект пакета, но не каждой правки.
7. Полностью разобранный первый тест
Возьмём гипотезу: новички не понимают, что первое улучшение меняет их возможности; если показать эффект сразу, больше людей вернутся завтра.
В A остаётся текущая подсказка. В B появляется короткий понятный показ: что станет сильнее и какое действие станет доступнее. Стоимость, сила улучшения, награда, магазин и реклама внутри игры остаются прежними. Это помогает проверить именно понимание ценности.
Для аудитории выберите игроков, которым показывается этот ранний этап, и заранее определите момент включения. Основная метрика — D1. Завершение улучшения служит диагностикой. D7, выручка на пользователя и технические ошибки — ограничения.
До запуска задайте минимально полезный прирост D1 и максимально допустимое падение D7. Пороги выбирайте по экономике игры, базовым метрикам и стоимости поддержки изменения.
- До старта: проверить оба варианта, события, обычный вариант при ошибке и план возврата.
- При старте: записать параметры, версию игры, даты и состояние рекламного трафика.
- Первые сутки: проверить технические ошибки и факт получения разных значений. Оценку победителя не делать.
- Во время теста: следить за безопасностью, полнотой данных и размером групп; не подстраивать гипотезу под график.
- В плановую дату: проверить зрелость нужных показателей, интервалы неопределённости и ограничения.
- После решения: документировать результат и наблюдать, сохраняется ли польза после распространения изменения.
Если завершение первого улучшения выросло, а D1 нет, следующий тест посвятите цели после улучшения: понятный первый шаг ещё не даёт причины вернуться.
8. Как не принять случайность за победу
MDE — минимальный эффект, который тест способен достаточно уверенно обнаружить при выбранном плане. Смотрите его до запуска. Если вас интересует рост на 5%, а MDE около 25%, такой план плохо подходит для ответа на ваш вопрос. Варианты: больше подходящих участников, дольше тест, меньше вариантов или более заметная гипотеза. Низкий DAU усложняет задачу, но одного универсального порога «можно / нельзя» нет: важны метрика, разброс и реальное включение игроков. Планирование Experiments.
CCU здесь не заменяет число участников. Игрок, заходящий ежедневно, не становится семью независимыми игроками. И 14 дней работы не гарантируют достаточную выборку для редкой покупки или дорогого товара.
Не путайте проценты и процентные пункты. Увеличение D1 с 10% до 11% — это +1 процентный пункт и +10% относительно исходного уровня. Для планирования полезно записывать обе величины.
Интервал неопределённости важнее одной зелёной цифры. В Roblox он доступен через View confidence; интервал изменения, пересекающий ноль, не позволяет уверенно утверждать направление эффекта по принятому критерию. Интерпретация результатов.
| Учебный результат | Корректное решение |
|---|---|
| D1 +6%, интервал от +2% до +10%; ограничения соблюдены | Есть положительный сигнал. Проверить его практическую ценность и качество измерения |
| D1 +6%, интервал от −4% до +16% | Неопределённость велика: данные допускают и вред, и пользу. Победителя нет |
| ARPU +8%, но D7 −12% с убедительным отрицательным сигналом | Это компромисс, а не безусловная победа; применить заранее согласованные ограничения |
| Различие мало, интервал узкий и целиком в заранее выбранной зоне пренебрежимого эффекта | Для конкретного решения различия могут быть практически несущественны |
«Статистически незначимо» не означает «варианты одинаковы». И наоборот: небольшой убедительный прирост не всегда стоит дорогой поддержки. При выборе учитывайте ожидаемую пользу на масштабе игры, сложность кода, нагрузку на контент и обратную связь.
Чем больше метрик, вариантов и срезов вы просматриваете, тем проще случайно найти что-то зелёное. Поэтому основное решение опирается на заранее выбранную цель; неожиданное улучшение другой метрики — повод для осторожной проверки, а не для переименования гипотезы задним числом.
Ежедневный просмотр допустим для поиска поломок. Опасно другое: каждый день искать удобный момент объявить победу. Плановый срок и основной критерий фиксируются заранее. При серьёзной поломке тест останавливают ради игроков и описывают как остановленный по технической причине, а не как завершённое доказательство гипотезы.
9. Приёмы, которые делают тесты полезнее
Сравнивайте всех включённых участников. Отбор только покупателей или дошедших до финала зависит от варианта и искажает его эффект.
Задавайте важные сегменты заранее. Случайно удачный результат в одной из десятков стран — гипотеза для нового теста, а не основание объявить победу.
Сравнивайте A и B одновременно. Новый состав трафика может поднять показатели обеих групп. Вывод относится к включённым участникам; результат среди открывших магазин не описывает автоматически всех посетителей игры.
Проверяйте баланс групп. Заметное необъяснимое отклонение от ожидаемого распределения — повод разбираться в включении, ошибках и логировании до интерпретации результата. Это не повод вручную выкинуть лишних игроков из группы. Такая проблема известна как Sample Ratio Mismatch; исследователи Microsoft относят её к проверкам качества эксперимента. Разбор SRM.
Не делите одну общую механику между игроками без проверки. Если варианты меняют здоровье общего босса, совместную награду, торговую экономику или правила PvP, игроки воздействуют друг на друга. Персональная настройка может оказаться технически противоречивой или загрязнить сравнение. Нужен отдельный дизайн теста с подходящей единицей распределения; простого переключателя на игрока может быть недостаточно.
Отдельно продумайте возвращающихся участников. Roblox переоценивает условия целевой аудитории по сессиям. Игрок может перестать подходить под условие и вернуться к обычной конфигурации. Для сценария, которому нужна непрерывность между сессиями, разработчик должен явно обеспечить её и учитывать правила атрибуции. Таргетирование Experiments.
Откат конфигурации не откатывает жизнь игрока. Полученный ресурс, пройденная зона или покупка уже произошли. Поэтому первые эксперименты лучше проводить на обратимых подсказках и представлении информации, а не на необратимом изменении сохранений.
Записывайте, что именно не сработало. «Подсказка увеличила завершение, но не возврат» подсказывает следующий тест точнее, чем «не сработало».
10. Что проверяли другие создатели игр
В подборке Roblox Staff с рассказами создателей опубликованы такие результаты:
| Игра и автор | Что меняли | Что сообщили |
|---|---|---|
| Weird Gun Game — Napo5000 | Обычный магазин заменили системой уровневой прогрессии | Рост D1 на 10% |
| Build a Crazy Tower — CrazyBellum | Сравнивали наборы блоков, влияющие на сложность | Рост конверсии в оплату на 50% и длительности сессии на 10% |
| Flight World — Bourgist | Улучшали мобильное управление высотой | Рост времени игры на 8,2% и выручки на 23% |
MikkelDevs в той же публикации описывает, как промежуточный рост ARPU на 30% сократился до 3% на следующий день: ранний результат может сильно измениться.
Авторы не раскрыли размеры выборок, исходные значения и интервалы. Проценты приведены как в источнике; для долевых метрик их нельзя заменять процентными пунктами.
11. Особая осторожность с монетизацией
Разделите три вопроса: игрок видит предложение, понимает пользу, принимает цену. Проверяйте их отдельно, чтобы знать причину результата.
Не считайте, что число в Config автоматически меняет настоящую Robux-цену developer product или pass. Для таких цен у Roblox есть отдельный механизм Managed Pricing / Price optimization; интерфейс магазина должен получать актуальную цену, а не показывать зашитую константу. До теста нужно проверить совпадение отображаемой цены и системного предложения покупки. Price optimization.
Начните с описания товара, демонстрации пользы или момента показа при прежней цене. Так результат не смешается с реакцией на скидку.
При редких покупках средняя выручка может резко меняться из-за нескольких плательщиков. Проверяйте число покупателей и концентрацию выручки. Нельзя вручную убрать неудобного крупного покупателя только из одной группы: правила обработки необычных наблюдений должны быть едиными и определёнными заранее.
12. Как использовать Experiments вместе с MARPLA
До теста найдите потери в воронке и проверьте удержание, выручку и состав трафика. Учитывайте покрытие данных: отсутствие событий не означает нулевое прохождение.
Создайте веху со ссылкой на карточку теста, версией игры и сопутствующими изменениями. После завершения добавьте результат и решение. Веха сохраняет контекст, но сама не доказывает эффект.
Результат A/B проверяйте в Creator Hub. Общие графики MARPLA и сравнение «до / после» не заменяют разбивку по участникам и вариантам конкретного эксперимента.
В собственных событиях записывайте идентификатор теста и фактически применённый вариант. Не определяйте A/B по дате, стране или предполагаемому назначению игрока.
13. Карточка эксперимента, которую можно копировать
Название:
Наблюдаемая проблема: какие реальные данные или прохождения её показывают.
Гипотеза: если изменить …, то …, потому что …
Аудитория и точка включения: кто попадает в тест, когда и почему.
Контроль A / вариант B: точные значения и поведение; что остаётся одинаковым.
Главная метрика: одна; точное определение, период и основание расчёта.
Диагностика: шаги воронки и события, объясняющие механизм.
Ограничения: какие ухудшения неприемлемы и как их проверяем.
План измерения: rollout, распределение, длительность, MDE, достаточность аудитории и зрелость D7.
Техническая проверка: оба варианта, ошибки, логирование, обычное поведение при сбое.
Условия экстренной остановки: поломка, потеря прогресса или другой заранее определённый существенный вред.
Решение: внедрить / оставить A / данных недостаточно / нужен новый тест. Результаты, интервалы, ограничения вывода.
После внедрения: кто проверяет результат, когда и какие признаки потребуют возврата к прежнему поведению.
Перед Make decision проверьте предлагаемые изменения конфигурации. По текущей документации выбор победившего нетаргетированного варианта делает его новым значением по умолчанию и убирает условные значения этого ключа. Это реальное изменение игры, а не просто отметка в отчёте. Для таргетированного победителя действуют отдельные правила переноса условий. Применение результата.
Использована документация Roblox Creator Docs, Roblox Corporation, CC BY 4.0. Текст переведён, переработан и дополнен.
Первичные источники
Примените это в MARPLA
Найдите ранний уход по воронке, проверьте удержание и отметьте запуск теста вехой. Результат случайного распределения A/B проверяйте в Roblox Creator Hub: общие графики MARPLA помогают выбрать гипотезу и учесть фон, но не заменяют сравнение участников эксперимента.
- Посмотреть пользовательские событияПользовательские события помогают отслеживать действия внутри игры, например прохождение этапов.Пошаговая инструкция →
- Добавить веху и оценить результатВеха отмечает изменение в игре: обновление, рекламу, новую цену или оформление.Пошаговая инструкция →
- Сравнить игру с ориентирамиШкалы показывают, как выглядит результат вашей игры на фоне других проектов.Пошаговая инструкция →



Обсуждение0
Загружаем комментарии…