Была бы у меня возможность – я бы только на деньги в A/B-тестах и смотрел. К сожалению, ARPU – не самая чувствительная метрика. Обычно осознание этого факта приводит к каким-то таким рассуждениям:
🤗 Мы хотим с достаточной уверенностью фиксировать эффект 2%
✍️ Выручка для этого ну ни в каком виде не годится – получаем мощность всего 50%
💅 Возьмем тогда конверсию в заказ или конверсию в ATC или конверсию из какого-нибудь баннерочка в какую-нибудь кнопочку – для них эффект в 2% мы сможем обнаружить с высокой вероятностью – 80%
Вроде как нашли метрику почувствительнее. Но даже если оставить за скобками вопрос сравнительной ценности для бизнеса прироста выручки на 2% и прироста локальной конверсии на 2%, все равно остается небольшая проблема.
В примере выше мы проверили мощность теста для ARPU и конверсии при одном конкретном значении эффекта. В реальности истинный эффект, вероятно, будет отличаться от 2%. Значит будет отличаться и мощность. При этом для любого такого эффекта конверсия может оставаться мощнее ARPU (чтобы убедиться наверняка, можно построить кривые мощности, как в комментах к этому посту). Тут пока все ок.
Проблема в том, что мы игнорируем тот факт, что для разных метрик один и тот же истинный эффект может иметь разные априорные вероятности bayes go brrr Представьте, что в каждом A/B-тесте истинный эффект – это реализация нормально распределенной случайной величины с мат. ожиданием 0 и дисперсией σ^2.
Если σ^2 для конверсии будет в 10 раз меньше этого же показателя для ARPU, то вероятность того, что истинный эффект на ARPU будет лежать далеко от 0 выше, чем аналогичная вероятность для конверсии. Значит вероятность того, что реальная мощность для ARPU будет не 50%, а 80, 90, 99% тоже может быть выше. То есть на выходе из-за большого разброса истинных эффектов мы можем получить более чувствительный (с точки зрения реальной мощности) тест для метрики, которая выглядела менее чувствительной при фиксированном желаемом эффекте.
Ребята из Amazon предлагают решить эту проблему с помощью расчета ожидаемой мощности. Берем интеграл от П(δ) * g(δ), где П(δ) - мощность при эффекте равном δ, а g(δ) – pdf для δ. Для случая, когда δ ~ N(mu, σ^2) (как в нашем примере), в статье выводится готовая формула-результат интегрирования. Если же вы по какой-то причине думаете, что истинные эффекты для вашей метрики распределены не нормально, то брать интеграл может быть сложно. Тогда просто сэмплируете истинные эффекты из предполагаемого распределения, считаете для них мощность и берете среднее.
Такой подход, правда, игнорирует трешхолды практической значимости эффекта, поэтому можно подумать в сторону того, чтобы убрать из области интегрирования значения, близкие к 0.
Остается вопрос, откуда взять знание о распределении истинных эффектов. Ведь даже при предположении δ ~ N(0, σ^2) нужно оценить σ^2. Самый наивный подход - рассчитать σ^2 на основе распределения наблюдаемых эффектов из корпуса прошедших экспериментов – Var(∆_observed_i). Но каждый наблюдаемый эффект вносит шум, так как сам является лишь оценкой истинного эффекта, взятой из нормального распределения вокруг него. Поэтому чуть более осознанный подход – вычесть из наивной оценки усредненное значение дисперсий разностей средних, посчитанное по корпусу экспериментов – Var(∆_observed_i) - avg(SE_i^2). Кстати, если в результате получите отрицательную дисперсию – добро пожаловать в клуб((