На главную

Динамические офферы в мобильных играх: как подобрать предложение под конкретного игрока

Динамический оффер: сигналы игрока сходятся в одно предложение

Один и тот же пак на поражении, на иссушении энергии и на входе в новый этап — это не оффер. Это витрина. Студия видит рост ARPU после скидки и называет это персонализацией. Игрок видит, что игра ждёт, пока ему станет плохо, и потом предлагает купить выход. Разница не в модели. Разница в том, собираете ли вы предложение из сигналов этого игрока или показываете общий каталог в «удачный» момент.

Получить sandbox

Это TOFU/MOFU-разбор основной темы MONE: как подобрать состав, цену и момент показа под конкретного игрока. Для Founder, CEO, Producer и Monetization Lead. Вы уходите с картой четырёх сигналов и трёх выходов, которые можно подписать до SDK. Сроки и пороги ниже — утверждения сайта mone.tools, а не обещание для вашего тайтла. Не считайте безымянные карточки жанров доказанными результатами.

Что на самом деле такое динамический оффер

Динамический оффер — это не «скидка, которая меняется». Это решение из трёх частей, собранное из четырёх сигналов. MONE описывает замкнутый цикл: собрать данные → прочитать поведение на Player Journey Maps (PJM) → выдать оффер и спот внутри правил дизайнера → откалибровать в изолированном A/B-тесте. Слова «оффер и спот» здесь — продукт: состав SKU, цена внутри Hard Limits и момент, который Smart Triggers имеет право использовать.

Четыре сигнала: прогресс, баланс, история покупок, сессия

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

Публичный пайплайн сайта (утверждение сайта): SandBox за 1–2 часа на шаге аудита, телеметрия за 1–2 дня, запуск персонализации за 2–3 дня, когда есть Hard Limits и когорты. Полное подключение персонализации — меньше недели (утверждение сайта). Эти часы не заменяют встречу, на которой продюсер подписывает, какие сигналы вообще можно использовать.

Минимум для пилота ML-персонализации на сайте: 5,000 уникальных игроков в месяц. Ниже порога всё равно соберите карту сигналов на бумаге. Оффер без трафика лучше витрины, которую вы не умеете объяснить.

Четыре сигнала, без которых «персональный» пак — лотерея

Сигнал — это не «ещё одно событие в Amplitude». Это поле, которое меняет хотя бы один выход: состав, цену или момент. Если поле не меняет выход, это логирование, не персонализация.

СигналЧто читаетеЧто ломается без него
ПрогрессЭтап, гейт, Battle Pass, незакрытый апгрейдОффер на контент, который игрок ещё не открыл или уже перерос
БалансSoft / hard / энергия / билеты в момент решенияПак «ресурса, которого полно» или скидка, когда казна полная
История покупокПервая покупка, повтор, давность, отказ, refundОдин SKU для Engaged Free и Whale; мёртвая вторая покупка
СессияФейлы подряд, idle, длина сессии, спот UIПоказ на панике или в момент, когда поверхность оффера закрыта

Прогресс — не уровень в профиле

Прогресс говорит, какой контент вообще имеет смысл. Игрок на гейте 12 не должен видеть пак гейта 3 «потому что он дешёвый». Игрок, который закрыл ветку, не должен получать ускоритель этой ветки. На сайте споты офферов живут внутри PJM: поражение, иссякание ресурса, завершение улучшения, новый этап. Прогресс решает, какой SKU из белого списка вообще кандидат. Цена — следующий шаг, не первый.

Потребуйте до пилота:

  • Словарь этапов и гейтов, которые Event List умеет отдать без правки боя.
  • Запрет предлагать SKU закрытого или уже пройденного контента (black list по прогрессу).
  • Отдельное правило для Battle Pass: темп сезона ≠ скидка на весь трек.
  • Явный «ещё рано»: оффер, который ждёт гейт, а не ломает его.

Если прогресс не в решении, персонализация оптимизирует платёж против дизайна. Это не основная тема MONE. Это конфликт.

Баланс — контекст казны, не триггер распродажи

Баланс отвечает на вопрос «нужен ли этот ресурс сейчас». Игрок с полной энергией не должен получать пак энергии, даже если модель «уверена». Игрок с нулём soft и живым гейтом — кандидат на точечный пак, не на −70% всего магазина.

Зафиксируйте:

  • Какие валюты участвуют в решении. Остальные — вне оффера.
  • Пороги «мало / достаточно / избыток» по сегменту, не одно число на всех.
  • Запрет скидки, когда казна выше порога «достаточно».
  • Связку баланс × прогресс: ресурс имеет смысл только на открытом гейте.

Баланс без прогресса даёт аптечку в лобби. Прогресс без баланса даёт сундук, который некуда тратить.

История покупок — чтобы не лечить всех одной ценой

История отделяет первую покупку от второй, Whale от Engaged Free, отказ от «ещё не видел». Без неё динамический оффер схлопывается в витрину с персональным заголовком. Retention-First на сайте должен блокировать показ, который учит ждать распродажу. Правило бессмысленно, пока вы не знаете, покупал ли этот игрок вчера тот же SKU со скидкой.

Зафиксируйте:

  • Окна: никогда не платил / платил давно / платил в этом сезоне / платил в этой сессии.
  • Потолок скидки разный для первой покупки и для Whale. Один прайс — не персонализация.
  • Запрет повторять тот же пак сразу после отказа или refund.
  • Отдельную клетку «мёртвая вторая покупка»: первая прошла, повторный магазин тот же.

Не подменяйте историю платежа UA-метой. Мета канала полезна маркетингу. Оффер в сессии читает, что игрок уже сделал в игре.

Сессия — момент, а не «сейчас, пока открыто»

Сессия решает, можно ли показать оффер в этом кадре. Серия фейлов — не автоматическая распродажа. Idle после победы — не тот же спот, что idle на гейте. Impression Caps на игрока и на сессию — часть оффера, не отдельный «антиспам» в чате LiveOps.

Потребуйте:

  • Список живых поверхностей UI, которые пилот имеет право использовать. Новых попапов нет.
  • Правило паники: N фейлов подряд не открывает скидку выше подписанного потолка.
  • Кап на сессию и на сутки. Smart Triggers без капа — спам с скором.
  • Fallback: если сессия короткая или телеметрия молчит, игрок видит дефолтный магазин.

Три выхода: состав, цена, момент

Четыре сигнала бесполезны, если вы меняете только один выход. Частый антипаттерн: цена пляшет, состав всегда «стартовый пак», момент всегда «после поражения». Это динамическая скидка, не динамический оффер.

Три выхода: состав, цена, момент
ВыходЧто подписывает студияТипичная ошибка
СоставБелый список SKU × сегмент × прогрессКосметика на иссушении, бустер на честном гейте
ЦенаДиапазон и потолок скидки внутри Hard Limits−70% как единственный рычаг «персонализации»
МоментСпот, кап, запрет паники, FallbackПоказ, потому что модель «уверена», а UI закрыт

Состав — какой пак, не «какой баннер»

Состав отвечает: какие SKU и в какой связке. Игроку на иссушении энергии нужен ресурс гейта, не новый скин. Whale, который уже купил боевой пак, не должен видеть тот же пак с другой цифрой. White / black list на сайте живут в Management Console именно для этого: модель предлагает из разрешённого, не из всего каталога.

Соберите на одной странице:

  • Кандидаты SKU по клеткам PJM, не общий каталог.
  • Запрещённые связки (косметика + паника, бустер + честный гейт).
  • Максимум позиций в одном оффере. Три SKU «на всякий случай» — это витрина.
  • Правило «один оффер — одна работа»: закрыть гейт, восстановить ресурс, ускорить сезон.

Цена — коридор, не характер модели

Dynamic Pricing на сайте — механизм внутри Hard Limits, не право переписать прайс-лист. Цена может двигаться с платёжеспособностью, прогрессом и контекстом сессии. Она не может выйти за пол и потолок, которые экономика подписала как баланс. Скидка без потолка учит ждать. Цена без состава — это купон на случайный товар.

Момент — спот, который уже есть в клиенте

Момент — это не cron. Это спот, который дизайнер уже поставил: поражение, ресурс, апгрейд, новый этап. Пилот, которому нужен новый UI, — это другой проект. Smart Triggers имеют право выбрать спот из подписанного списка и промолчать, если Impression Cap или Retention-First сказали «нет». Молчание — валидный оффер. Пустой показ — нет.

Когда это ещё не персонализация

Назовите антипаттерн вслух, пока его не назвал игрок в сторе.

  • Один SKU, три цены, ноль сигналов кроме «платил / не платил».
  • Скидка после серии фейлов как единственный Smart Trigger.
  • Баннер «для тебя» на общем каталоге.
  • Оффер, который нельзя выключить без сборки клиента.
  • Прирост конверсии первой покупки при падении D7/D30. На сайте удержание — ограждение, не график тщеславия.

Если любой пункт про ваш текущий магазин, вы ещё на аудите, не на пилоте. Исторический SandBox как раз для этого: шесть месяцев событий могут показать, где витрина не совпадает с сегментом, пока аналитика на сайте стоит 0 $.

Кто владеет решением, а не «модель разберётся»

Цикл умирает, когда оффер «настраивает вендор». Используйте разделение в духе RACI. R = делает работу, A = принимает решение, C = советуются, I = информируют.

Кто подписывает оффер
РольСигналыСостав / цена / моментСтоп
ПродюсерA: какие сигналы в скоупеA: Hard Limits, списки, капыA: выключить оффер за минуты
АналитикR: качество, окна, сегментыC: какая метрика должна сдвинутьсяR: D7/D30 рядом с ARPU
LiveOps / экономикаC: словарь гейтов и валютR: белый список SKU, полы ценC: не сломать сезон
РазработчикR: Event List, сессия, FallbackI: не новый UI на пилотR: откат без ресабмита
ВендорC: сопоставимые срезы PJMR: выдача внутри консолиI, пока студия не расширила

Чеклист (распечатайте)

  • Четыре сигнала названы: прогресс, баланс, история покупок, сессия. Каждый меняет хотя бы один выход.
  • Три выхода подписаны отдельно: состав, цена, момент. Нельзя «подвигать только скидку» и назвать это пилотом.
  • White / black list SKU и Hard Limits живут в одном месте, которое читает продюсер.
  • Impression Caps и запрет паники записаны. Smart Triggers могут промолчать.
  • Fallback проверен: при молчании модели игрок видит живой дефолтный магазин.
  • Event List отдаёт четыре сигнала без правки ядра боя. Новых попапов в пилоте нет.
  • Если будете тестировать, есть пак базовой линии: ARPU/LTV, 1st Pay Conv., D7/D30, окно, знаменатель.
  • Трафик не ниже 5,000 уникальных игроков в месяц для ML-пилота либо цикл явно «только карта офферов и аудит».
  • Встреча решения на неделе 5 стоит в календаре до запуска недели 1, если подключаетесь.

Главное

  • Динамический оффер — состав, цена и момент, собранные из прогресса, баланса, истории покупок и сессии. Витрина с персональным заголовком — не оффер.
  • Сигнал, который не меняет выход, можно не логировать для пилота. Выход, который не читает сигнал, — это скидка наугад.
  • Hard Limits, списки и капы — часть оффера. Модель предлагает. Студия решает, что можно показать этому игроку сейчас.
  • Молчание Smart Triggers — валидный результат. Показ «потому что скор высокий» на закрытой поверхности — нет.
  • Карта оффера — вход в один экспериментальный цикл, а не его замена. SandBox может показать, где витрина не совпадает с игроком; масштаб всё равно требует памятки A/B с D7/D30.

Запросите SandBox, а не лицензию

Если у вас примерно шесть месяцев событий и продюсер, который может зафиксировать сигналы и коридор, следующий шаг — исторический аудит: сегменты, PJM, споты офферов и отчёт, который можно держать рядом с текущим стеком. Начните с пути аудита MONE / SandBox или с пайплайна. Консоль студии: dash.mone.tools. Аналитика — бесплатный слой; оплата персонализации, по сайту, начинается только после того, как A/B-тест подтвердит прирост ARPU.

Читайте также

  • От аудита до масштаба: персонализация монетизации в одном цикле
  • Player Journey Map для мобильных игр: как превратить путь игрока в инструмент монетизации
  • Как сохранить контроль над игровой экономикой при использовании ИИ
  • Как увеличить доход мобильной игры без повышения базовых цен и агрессивных скидок

Мы используем cookie, чтобы сайт работал корректно.