Чтобы помочь вам максимально повысить релевантность и полезность результатов вашего тестирования, на этой странице представлена подробная информация о том, как работает Firebase A/B Testing .
Размер выборки
Вывод Firebase A/B Testing не требует определения минимального размера выборки перед началом эксперимента. В общем, вам следует выбрать наибольший уровень экспозиции эксперимента, с которым вы чувствуете себя комфортно. Большие размеры выборки увеличивают шансы найти статистически значимый результат, особенно когда различия в производительности между вариантами невелики. Вам также может быть полезно воспользоваться онлайн-калькулятором размера выборки, чтобы найти рекомендуемый размер выборки на основе характеристик вашего эксперимента.
Редактировать эксперименты
Вы можете редактировать выбранные параметры проводимых экспериментов, в том числе:
- Название эксперимента
- Описание
- Условия нацеливания
- Значения вариантов
Чтобы отредактировать эксперимент:
- Откройте страницу результатов эксперимента, который вы хотите изменить.
- В меню «Еще» выберите пункт «Изменить запущенный эксперимент» .
- Внесите изменения, затем нажмите «Опубликовать» .
Обратите внимание, что изменение поведения приложения во время проведения эксперимента может повлиять на результаты.
Логика назначения вариантов удаленной конфигурации
Пользователи, соответствующие всем условиям таргетинга эксперимента (включая условие процентного воздействия), назначаются вариантам эксперимента в соответствии с весами вариантов и хэшем идентификатора эксперимента и идентификатора установки Firebase пользователя.
Аудитории Google Analytics подвержены задержкам и не становятся доступны немедленно, если пользователь изначально соответствует критериям аудитории:
- При создании новой аудитории накопление новых пользователей может занять от 24 до 48 часов.
- Новые пользователи обычно регистрируются в подходящих аудиториях через 24–48 часов после того, как они получают право на участие.
Для таргетинга, чувствительного ко времени, рассмотрите возможность использования свойств пользователя Google Analytics или встроенных параметров таргетинга, таких как страна или регион, язык и версия приложения.
После того, как пользователь вошел в эксперимент, он постоянно назначается своему варианту эксперимента и получает значения параметров из эксперимента до тех пор, пока эксперимент остается активным, даже если свойства пользователя изменились и он больше не соответствует критериям таргетинга эксперимента.
События активации
События активации эксперимента ограничивают измерение эксперимента пользователями приложения, которые инициируют событие активации. Событие активации эксперимента не оказывает никакого влияния на параметры эксперимента, которые извлекаются приложением; все пользователи, которые соответствуют критериям таргетинга эксперимента, получат параметры эксперимента. Следовательно, важно выбрать событие активации, которое происходит после того, как параметры эксперимента были извлечены и активированы, но до того, как параметры эксперимента были использованы для изменения поведения приложения.
Варианты веса
Во время создания эксперимента можно изменить веса вариантов по умолчанию, чтобы включить в вариант больший процент пользователей эксперимента.
Интерпретировать результаты теста
Firebase A/B Testing использует частотный вывод , чтобы помочь вам понять вероятность того, что результаты вашего эксперимента могли быть получены исключительно из-за случайности. Эта вероятность представлена значением вероятности или p-значением . P-значение — это вероятность того, что разница в производительности, такая большая или большая, между двумя вариантами могла возникнуть из-за случайности, если на самом деле нет никакого эффекта, измеряемого значением от 0 до 1. A/B Testing использует уровень значимости 0,05, поэтому:
- Значение p менее 0,05 указывает на то, что если бы истинная разница была равна нулю, то вероятность того, что наблюдаемая разница такого экстремального значения могла бы возникнуть случайно, составляет менее 5%. Поскольку пороговое значение составляет 0,05, любое значение p менее 0,05 указывает на статистически значимую разницу между вариантами.
- Значение p больше 0,05 указывает на то, что разница между вариантами статистически незначима.
Данные эксперимента обновляются один раз в день, а время последнего обновления отображается в верхней части страницы результатов эксперимента.
График результатов эксперимента отображает кумулятивные средние значения выбранной метрики. Например, если вы отслеживаете доход от рекламы на пользователя в качестве метрики, он отображает наблюдаемый доход на пользователя, а если вы отслеживаете пользователей без сбоев, он отслеживает процент пользователей, у которых не было сбоев. Эти данные являются кумулятивными с начала эксперимента.
Результаты разделены на наблюдаемые данные и данные вывода . Наблюдаемые данные рассчитываются непосредственно из данных Google Analytics, а данные вывода предоставляют p-значения и доверительные интервалы, которые помогут вам оценить статистическую значимость наблюдаемых данных.
Для каждой метрики отображаются следующие статистические данные:
Наблюдаемые данные
- Общее значение отслеживаемой метрики (количество удержанных пользователей, количество пользователей, прекративших работу, общий доход)
- Метрика, специфичная для показателя (коэффициент удержания, коэффициент конверсии, доход на пользователя)
- Процентная разница (подъем) между вариантом и исходным уровнем
Данные вывода
95% ДИ (разница в средних значениях) отображает интервал, который содержит «истинное» значение отслеживаемой метрики с 95%-ной уверенностью. Например, если ваш эксперимент дает 95% ДИ для предполагаемого общего дохода от 5 до 10 долларов США, существует 95%-ная вероятность того, что истинная разница в средних значениях находится между 5 и 10 долларами США. Если диапазон ДИ включает 0, статистически значимой разницы между вариантом и базовым значением не обнаружено.
Значения доверительного интервала отображаются в формате, соответствующем отслеживаемой метрике. Например, время (в
HH:MM:SS
) для удержания пользователя, доллары США для дохода от рекламы на пользователя и процент для коэффициента конверсии.P-значение , которое представляет вероятность наблюдения данных, столь же экстремальных, как и результаты, полученные в эксперименте, при условии, что нет истинной разницы между вариантом и базовым значением. Чем ниже p-значение, тем выше уверенность в том, что наблюдаемая производительность останется верной, если мы повторим эксперимент. Значение 0,05 или ниже указывает на значительную разницу и низкую вероятность того, что результаты были вызваны случайностью. P-значения основаны на одностороннем тесте , где значение варианта больше значения базового значения. Firebase использует t-тест неравной дисперсии для непрерывных переменных (числовых значений, таких как доход) и z-тест пропорций для данных о конверсии (двоичных значений, таких как удержание пользователей, пользователи без сбоев, пользователи, которые вызывают событие Google Analytics ).
Результаты эксперимента дают важную информацию для каждого варианта эксперимента, в том числе:
- Насколько выше или ниже каждый показатель эксперимента по сравнению с базовым уровнем, измеренным напрямую (то есть фактическими наблюдаемыми данными)
- Вероятность того, что наблюдаемая разница между вариантом и исходным значением могла возникнуть из-за случайности (p-значение)
- Диапазон, который, скорее всего, будет содержать «истинную» разницу в производительности между вариантом и базовым значением для каждой экспериментальной метрики — способ понять «лучший» и «худший» сценарии производительности.
Интерпретируйте результаты экспериментов с использованием Google Optimize
Результаты Firebase A/B Testing для экспериментов, начатых до 23 октября 2023 г., были получены с помощью Google Optimize. Google Optimize использовал байесовский вывод для создания содержательной статистики из данных вашего эксперимента.
Результаты разделены на «наблюдаемые данные» и «смоделированные данные». Наблюдаемые данные были рассчитаны непосредственно из аналитических данных, а смоделированные данные были получены путем применения нашей байесовской модели к наблюдаемым данным.
Для каждой метрики отображаются следующие статистические данные:
Наблюдаемые данные
- Общее значение (сумма показателей для всех пользователей в варианте)
- Среднее значение (среднее значение метрики для пользователей в варианте)
- % разницы от исходного уровня
Смоделированные данные
- Вероятность превзойти базовый уровень: насколько вероятно, что показатель для этого варианта выше по сравнению с базовым уровнем
- Процентное отличие от исходного значения: на основе медианных модельных оценок метрики для варианта и исходного значения
- Диапазоны метрик: диапазоны, в которых значение метрики с наибольшей вероятностью может быть найдено с вероятностью 50% и 95%.
В целом результаты эксперимента дают нам три важных вывода для каждого варианта эксперимента:
- Насколько выше или ниже каждый показатель эксперимента по сравнению с базовым уровнем, измеренным напрямую (т.е. фактически наблюдаемыми данными)
- Насколько вероятно , что каждая экспериментальная метрика будет выше базового уровня/лучшего в целом, на основе байесовского вывода (вероятность быть лучше/лучше соответственно)
- Правдоподобные диапазоны для каждой экспериментальной метрики на основе байесовского вывода — сценарии «наилучшего случая» и «наихудшего случая» (вероятные интервалы)
Решимость лидера
Для экспериментов с использованием Frequentist inference Firebase объявляет вариант ведущим, если есть статистически значимая разница в производительности между вариантом и базовым значением по целевой метрике. Если несколько вариантов соответствуют этому критерию, выбирается вариант с наименьшим p-значением .
Для экспериментов, в которых использовался Google Optimize , Firebase объявляла вариант «явным лидером», если у него было более 95% шансов быть лучше базового варианта по основной метрике. Если несколько вариантов соответствовали критериям «явного лидера», только наиболее эффективный вариант в целом помечался как «явный лидер».
Поскольку определение лидера основано только на основной цели, вам следует рассмотреть все соответствующие факторы и проанализировать результаты вторичных метрик, прежде чем решать, следует ли внедрять ведущий вариант. Вы можете рассмотреть ожидаемые преимущества внесения изменений, риски убытков (например, нижнюю границу доверительного интервала для улучшения) и влияние на метрики, отличные от основной цели.
Например, если вашей основной метрикой является количество пользователей без сбоев, а вариант A явно превосходит базовый показатель, но показатели удержания пользователей варианта A отстают от базового показателя удержания пользователей, вам, возможно, стоит провести более глубокое исследование, прежде чем внедрять вариант A более широко.
Вы можете развернуть любой вариант, а не только ведущий, на основе общей оценки эффективности по основным и дополнительным показателям.
Продолжительность эксперимента
Firebase рекомендует продолжать эксперимент до тех пор, пока не будут выполнены следующие условия:
- Эксперимент накопил достаточно данных, чтобы предоставить полезный результат. Эксперименты и данные результатов обновляются один раз в день. Вы можете воспользоваться онлайн-калькулятором размера выборки, чтобы оценить рекомендуемый размер выборки для вашего эксперимента.
- Эксперимент длился достаточно долго, чтобы обеспечить репрезентативную выборку ваших пользователей и измерить долгосрочную производительность. Две недели — это рекомендуемое минимальное время выполнения для типичного эксперимента Remote Config.
Данные эксперимента обрабатываются в течение максимум 90 дней после начала эксперимента. По истечении 90 дней эксперимент автоматически останавливается. Результаты эксперимента больше не обновляются в консоли Firebase , и эксперимент прекращает отправлять значения параметров, специфичные для эксперимента. В этот момент клиенты начинают извлекать значения параметров на основе условий, заданных в шаблоне Remote Config . Исторические данные эксперимента сохраняются до тех пор, пока вы не удалите эксперимент.
Схема BigQuery
Помимо просмотра данных эксперимента A/B Testing в консоли Firebase , вы можете проверять и анализировать данные эксперимента в BigQuery . Хотя A/B Testing не имеет отдельной таблицы BigQuery , членство в эксперименте и варианте хранится в каждом событии Google Analytics в таблицах событий Analytics .
Пользовательские свойства, содержащие информацию об эксперименте, имеют форму userProperty.key like "firebase_exp_%"
или userProperty.key = "firebase_exp_01"
, где 01
— идентификатор эксперимента, а userProperty.value.string_value
содержит индекс варианта эксперимента (начинающийся с нуля).
Вы можете использовать эти свойства пользователя эксперимента для извлечения данных эксперимента. Это дает вам возможность нарезать результаты эксперимента многими различными способами и независимо проверять результаты A/B Testing .
Для начала выполните следующие действия, как описано в этом руководстве:
- Включите экспорт BigQuery для Google Analytics в консоли Firebase
- Доступ к данным A/B Testing с помощью BigQuery
- Изучите примеры запросов
Включите экспорт BigQuery для Google Analytics в консоли Firebase
Если вы используете план Spark, вы можете использовать песочницу BigQuery для доступа к BigQuery бесплатно, в соответствии с ограничениями песочницы . Для получения дополнительной информации см. Цены и песочница BigQuery .
Сначала убедитесь, что вы экспортируете данные Analytics в BigQuery :
- Откройте вкладку «Интеграции» , доступ к которой можно получить с помощью > «Настройки проекта» в консоли Firebase .
- Если вы уже используете BigQuery с другими службами Firebase, нажмите Manage . В противном случае нажмите Link .
- Ознакомьтесь с разделом «Связывание Firebase с BigQuery , затем нажмите «Далее» .
- В разделе «Настройка интеграции» включите переключатель Google Analytics .
Выберите регион и выберите настройки экспорта.
Нажмите ссылку на BigQuery .
В зависимости от выбранного способа экспорта данных может потребоваться до одного дня, чтобы таблицы стали доступны. Для получения дополнительной информации об экспорте данных проекта в BigQuery см. раздел Экспорт данных проекта в BigQuery .
Доступ к данным A/B Testing в BigQuery
Прежде чем запрашивать данные для конкретного эксперимента, вам необходимо получить некоторые или все из следующих данных для использования в вашем запросе:
- Идентификатор эксперимента: его можно получить из URL-адреса страницы обзора эксперимента . Например, если ваш URL-адрес выглядит как
https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25
, идентификатор эксперимента — 25 . - Google Analytics property ID : это ваш 9-значный идентификатор свойства Google Analytics . Вы можете найти его в Google Analytics ; он также отображается в BigQuery , когда вы расширяете имя своего проекта, чтобы отобразить имя вашей таблицы событий Google Analytics (
project_name.analytics_000000000.events
). - Дата эксперимента: чтобы составить более быстрый и эффективный запрос, рекомендуется ограничить запросы разделами таблицы ежедневных событий Google Analytics , которые содержат данные эксперимента — таблицами, идентифицированными с суффиксом
YYYYMMDD
. Таким образом, если ваш эксперимент проводился с 2 февраля 2024 года по 2 мая 2024 года, вы должны указать_TABLE_SUFFIX between '20240202' AND '20240502'
. Пример см. в разделе Выбор значений определенного эксперимента . - Названия событий: Обычно они соответствуют вашим целевым метрикам , которые вы настроили в эксперименте. Например, события
in_app_purchase
,ad_impression
илиuser_retention
.
После того, как вы соберете информацию, необходимую для формирования вашего запроса:
- Откройте BigQuery в консоли Google Cloud .
- Выберите проект, затем выберите Создать SQL-запрос .
- Добавьте свой запрос. Примеры запросов для запуска см. в разделе Изучить примеры запросов .
- Нажмите «Выполнить» .
Запрос данных эксперимента с помощью автоматически сгенерированного запроса консоли Firebase
Если вы используете план Blaze, на странице обзора эксперимента представлен пример запроса, который возвращает название эксперимента, варианты, названия событий и количество событий для просматриваемого вами эксперимента.
Чтобы получить и выполнить автоматически сгенерированный запрос:
- В консоли Firebase откройте A/B Testing и выберите эксперимент A/B Testing вы хотите запросить, чтобы открыть обзор эксперимента .
- В меню «Параметры» под «Интеграция BigQuery выберите «Запрос данных эксперимента» . Это откроет ваш проект в BigQuery в консоли Google Cloud и предоставит базовый запрос, который вы можете использовать для запроса данных эксперимента.
В следующем примере показан сгенерированный запрос для эксперимента с тремя вариантами (включая базовый) под названием "Зимний приветственный эксперимент". Он возвращает имя активного эксперимента, имя варианта, уникальное событие и количество событий для каждого события. Обратите внимание, что конструктор запросов не указывает имя вашего проекта в имени таблицы, так как он открывается непосредственно в вашем проекте.
/*
This query is auto-generated by Firebase A/B Testing for your
experiment "Winter welcome experiment".
It demonstrates how you can get event counts for all Analytics
events logged by each variant of this experiment's population.
*/
SELECT
'Winter welcome experiment' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'Welcome message (1)'
WHEN '2' THEN 'Welcome message (2)'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_000000000.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
AND userProperty.key = 'firebase_exp_25'
GROUP BY
experimentVariant, eventName
Для получения дополнительных примеров запросов перейдите в раздел «Изучение примеров запросов» .
Изучите примеры запросов
В следующих разделах приведены примеры запросов, которые можно использовать для извлечения данных эксперимента A/B Testing из таблиц событий Google Analytics .
Извлечь значения стандартного отклонения покупки и эксперимента из всех экспериментов
Вы можете использовать данные результатов эксперимента для независимой проверки результатов Firebase A/B Testing . Следующий оператор BigQuery SQL извлекает варианты эксперимента, количество уникальных пользователей в каждом варианте и суммирует общий доход от событий in_app_purchase
и ecommerce_purchase
, а также стандартные отклонения для всех экспериментов в пределах временного диапазона, указанного как даты начала и окончания _TABLE_SUFFIX
. Вы можете использовать данные, полученные из этого запроса, с генератором статистической значимости для односторонних t-тестов, чтобы проверить, что результаты, предоставляемые Firebase, соответствуют вашему собственному анализу.
Дополнительную информацию о том, как A/B Testing вычисляет выводы, см. в разделе Интерпретация результатов теста .
/*
This query returns all experiment variants, number of unique users,
the average USD spent per user, and the standard deviation for all
experiments within the date range specified for _TABLE_SUFFIX.
*/
SELECT
experimentNumber,
experimentVariant,
COUNT(*) AS unique_users,
AVG(usd_value) AS usd_value_per_user,
STDDEV(usd_value) AS std_dev
FROM
(
SELECT
userProperty.key AS experimentNumber,
userProperty.value.string_value AS experimentVariant,
user_pseudo_id,
SUM(
CASE
WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
THEN event_value_in_usd
ELSE 0
END) AS usd_value
FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
CROSS JOIN UNNEST(user_properties) AS userProperty
WHERE
userProperty.key LIKE 'firebase_exp_%'
AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
GROUP BY 1, 2, 3
)
GROUP BY 1, 2
ORDER BY 1, 2;
Выберите значения конкретного эксперимента
Следующий пример запроса иллюстрирует, как получить данные для определенного эксперимента в BigQuery . Этот пример запроса возвращает название эксперимента, названия вариантов (включая Baseline), названия событий и количество событий.
SELECT
'EXPERIMENT_NAME' AS experimentName,
CASE userProperty.value.string_value
WHEN '0' THEN 'Baseline'
WHEN '1' THEN 'VARIANT_1_NAME'
WHEN '2' THEN 'VARIANT_2_NAME'
END AS experimentVariant,
event_name AS eventName,
COUNT(*) AS count
FROM
`analytics_ANALYTICS_PROPERTY.events_*`,
UNNEST(user_properties) AS userProperty
WHERE
(_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
GROUP BY
experimentVariant, eventName
Пределы
A/B Testing ограничено 300 общими экспериментами, 24 запущенными экспериментами и 24 черновыми экспериментами. Эти ограничения распространяются на развертывание Remote Config . Например, если у вас есть два запущенных развертывания и три запущенных эксперимента, у вас может быть до 19 дополнительных развертываний или экспериментов.
Если вы достигли лимита в 300 экспериментов или лимита в 24 проекта эксперимента, вам необходимо удалить существующий эксперимент перед созданием нового.
Если вы достигли лимита в 24 запущенных эксперимента и развертывания, вам необходимо остановить запущенный эксперимент или развертывание, прежде чем начинать новый.
Эксперимент может иметь максимум 8 вариантов (включая базовый) и до 25 параметров для каждого варианта. Эксперимент может иметь размер до 200 КиБ. Это включает в себя имена вариантов, параметры вариантов и другие метаданные конфигурации.