В мобильных F2P-играх оптимизацию цены IAP обычно сводят к A/B-тестированию: сравни две цены, выбери более высокий доход. Этот подход работал в 2018 году — стоимость UA была низкой, проблемы с размером выборки отсутствовали. В 2026 году ситуация иная: после iOS 14.5 отслеживание когорт нарушено, Apple Search Ads CPI вырос на 340%, длительность тестов увеличилась с 8 до 14 недель. Байесовская методология предоставляет два преимущества в этих условиях: апостериорное распределение позволяет принимать ранние решения, сегментация усиливает модель с помощью предварительного знания. В игровой экономике ценовая эластичность непостоянна — поведение отличается между сегментами whale/dolphin/minnow, и захватить эту разницу выходит за пределы возможностей частотистского A/B-тестирования.
Экономическая Логика Байесовских Тестов
В мобильном F2P стоимость ценового теста — это не только время разработки, но и упущенная возможность. Если вы тестируете цену $4.99 против $6.99 и ждёте 14 недель, то недополученный доход до нахождения правильной цены — это сама стоимость теста. Байесовский подход ежедневно обновляет апостериорное распределение вероятности — коэффициент конверсии не просто 2,3%, а находится в диапазоне 1,8–2,9% с 95% вероятностью (credible interval). По мере сужения интервала решение становится чётче, и вы можете завершить тест досрочно.
В частотистском A/B-тестировании вы вычисляете минимальный размер выборки для p-value <0,05 и ждёте, пока выборка достигнет этого размера. Однако в мобильных играх размер когорты колеблется ежедневно: после запуска новой функции DAU увеличивается на 40%, летняя сезонность снижает показатель на 25%. Байесовская модель интерпретирует эти колебания как обновления prior'а, не привязываясь к плану фиксированного размера выборки.
Практический пример: в игре с 10 000 DAU вы тестируете цену стартового пакета $9.99. Частотистский расчёт требует 42 000 пользователей, чтобы обнаружить приращение дохода на 5% за 6 недель. Байесовская модель на 3-й неделе показывает апостериорное среднее значение ARPPU $11.2, контроль $10.8, 95% CI не пересекаются — решение принято, тест завершён. Три недели упущенного дохода восстановлены.
Выбор Prior и Сегментация
В Байесовских тестах выбор prior-распределения не субъективен, а формируется историческими данными. Если в прошлом году вы протестировали 8 ценовых точек между $4.99 и $9.99 в похожей игре, вы извлекаете beta-распределение prior из этих данных. Prior может быть слабым (высокая дисперсия), но это лучше информативного uniform prior'а, потому что вы знаете, что коэффициент конверсии whale-пользователей не упадёт ниже 0,5%.
Сегментация усиливает prior: для новых пользователей используется неинформативный prior, для пользователей с 30+ днями retention — узкий prior. Иерархическая Байесовская модель одновременно оценивает параметры на уровне сегмента и глобальном уровне — каждый сегмент использует собственные данные, но глобальный тренд также распределяется. Этот подход предотвращает переобучение в малых сегментах.
Архитектура IAP Price Ladder
В F2P-играх ценовая лестница не плоская, а распределена по логарифмической шкале: $0.99, $2.99, $4.99, $9.99, $19.99, $49.99, $99.99. Эти скачки имеют психологическое обоснование (charm pricing), но экономическое обоснование сильнее: каждый уровень охватывает отдельный сегмент willingness-to-pay. При Байесовской оптимизации каждый уровень имеет собственное апостериорное распределение, и они влияют друг на друга — если вы увеличиваете цену $4.99, конверсия $2.99 может упасть (downgrade), а $9.99 может вырасти (upgrade).
При оптимизации лестницы вы оптимизируете не одну цену, а всю ступень. Алгоритм многорукого бандита (multi-armed bandit) рассматривает каждую ценовую точку как отдельное плечо, использует Thompson Sampling для выборки из текущего апостериорного распределения и выбирает плечо с наибольшим ожидаемым доходом. В первые 2 недели все плечи получают одинаковое исследование (14% трафика каждое), с 3-й недели по мере роста уверенности апостериорного распределения эксплуатация доминирует.
Примерный сценарий: лестница с 7 уровнями, 21-дневный тест. В течение первых 7 дней каждая цена получает 14% трафика (uniform). С 8-го дня цена с наибольшим произведением апостериорного среднего и коэффициента конверсии начинает привлекать трафик. На 21-й день $4.99 получает 40% трафика, $9.99 25%, остальные 5–10%. В финальном решении сохраняются как $4.99, так и $9.99, так как оба обеспечивают положительный предельный доход и не каннибализируют друг друга.
Сегментированное Ценообразование
Сегменты whale/dolphin/minnow требуют разные цены, потому что ценовая эластичность различается. Whale-пользователи (top 1% по расходам) покупают пакет $99.99, и если цена вырастет на 20%, конверсия упадёт всего на 3% — неэластичный спрос. Minnow-пользователи (купившие $0.99 в первые 7 дней) при росте цены на 10% теряют 18% конверсии — эластичный спрос. Байесовская модель кодирует эту эластичность в segment-level prior.
Признаки для сегментации: количество дней с момента установки (D1/D7/D30), общие расходы, время с последней покупки IAP, частота сессий, прогресс уровня. Из этих признаков создаётся latent segment prior — иерархическая модель одновременно оценивает принадлежность к сегменту. Таким образом, когда появляется новый пользователь, его поведение в первые 24 часа позволяет предсказать принадлежность к сегменту и показать ему соответствующую цену.
На работах Roibase по App Store Optimization используется подобная сегментация: результаты тестирования креативов различаются по сегментам пользователей; один креатив показывает 8% IPM на iOS 16+ и 3% на iOS 15. Когда ASO и IAP-оптимизация объединяются, достигается целостность воронки — правильная цена для правильного пользователя требует сначала привлечь правильного пользователя.
Оценка Апостериорного Распределения и Механизм Принятия Решений
В Байесовском тесте метрика решения — апостериорная вероятность превосходства: P(treatment > control | data). Когда эта вероятность превышает 95%, treatment побеждает. Отличие от частотистского p-value: p-value измеряет экстремальность данных при нулевой гипотезе, апостериорная вероятность напрямую даёт "вероятность того, что treatment лучше".
Для расчёта апостериорного распределения при использовании конъюгированного prior существует аналитическое решение (beta-binomial), в противном случае используется симуляция MCMC (Markov Chain Monte Carlo). В тестах мобильных игр используется гибридная модель: бинарная конверсия + логнормальный доход — для конверсии beta prior, для дохода логнормальный prior. Симуляция с 10 000 итерациями MCMC в PyMC3 или Stan работает за 30 секунд, апостериорное распределение обновляется ежедневно.
Порог решения можно установить на 90% вместо 95% — в фазе агрессивного роста 90% достаточно, в зрелой игре используется 95%. Порог можно оптимизировать с помощью расчёта expected value of information (EVI): стоимость дополнительной недели тестирования против стоимости неправильного решения. Таким образом находится оптимальный порог.
Структура Мультивариантного Байесовского Теста
Тест цены IAP обычно включает 3+ варианта: контроль ($4.99), вариант A ($5.99), вариант B ($6.99). При частотистском A/B-тестировании существует проблема множественного сравнения, коррекция Bonferroni увеличивает размер выборки кратно. При Байесовском подходе каждый вариант имеет собственное апостериорное распределение, попарные сравнения выполняются одновременно. Вместо выбора варианта с наибольшим апостериорным средним выполняется максимизация ожидаемого дохода: произведение вероятности победы каждого варианта на ожидаемый доход.
Thompson Sampling стратегия: каждый день для каждого варианта выполните выборку из апостериорного распределения, выберите вариант с наибольшей выборкой и направьте трафик на этот вариант. Эта стратегия автоматически балансирует изучение/эксплуатацию — когда неопределённость апостериорного распределения высока (ранние дни), распределение трафика близко к uniform, затем смещается в сторону выигрывающего варианта.
Фрагмент кода (простая модель beta-binomial с PyMC3):
import pymc3 as pm
with pm.Model() as iap_model:
# Prior: uniform beta
p_control = pm.Beta('p_control', alpha=1, beta=1)
p_treatment = pm.Beta('p_treatment', alpha=1, beta=1)
# Likelihood
obs_control = pm.Binomial('obs_control', n=n_control, p=p_control, observed=conversions_control)
obs_treatment = pm.Binomial('obs_treatment', n=n_treatment, p=p_treatment, observed=conversions_treatment)
# Posterior sampling
trace = pm.sample(10000, return_inferencedata=False)
# Probability of superiority
prob_superiority = (trace['p_treatment'] > trace['p_control']).mean()
Эта модель оптимизирует коэффициент конверсии. Для оптимизации дохода добавляется логнормальный prior и вычисляется совместное апостериорное распределение p × revenue_mean.
Миграция Сегментов и Долгосрочное Воздействие
Оптимизация цены — не одноразовый тест, а непрерывный процесс. Пользователи меняют сегменты: сегодняшний minnow завтра может стать dolphin. Байесовская модель не захватывает эту миграцию при статичном prior. Решение: динамическое обновление prior — каждые 30 дней апостериорное распределение объединяется с новыми данными, формируя новый prior.
Измерение долгосрочного воздействия выполняется путём моделирования кривой retention когорты с помощью Байесовского анализа выживаемости. Если изменение цены снижает D7 retention на 2%, но повышает LTV с $12 на $14, это чистый положительный результат. Модель выживания использует распределение Weibull для оценки параметров shape и scale, апостериорная прогностическая проверка даёт прогноз LTV на 90 дней.
Тест воздействия на retention занимает 6–8 недель, так как необходимо дождаться сигнала D30 retention. Байесовский подход использует данные D7 для прогнозирования D30 — в качестве prior используется коэффициент перехода D7→D30 из прошлых когорт. Это позволяет получить ранний сигнал на 3-й неделе: если апостериорное среднее D30 retention 18% и 95% CI 16%, 20%, тест продолжается; если 14%, 16%, то изменение цены нарушает retention, тест останавливается и цена воз