Об A/B-тестах Firebase

Чтобы помочь вам максимизировать релевантность и полезность результатов вашего тестирования, на этой странице представлена ​​подробная информация о том, как работает Firebase A/B Testing .

Размер выборки

Выводы Firebase A/B Testing не требуют определения минимального размера выборки перед началом эксперимента. В общем, вам следует выбрать самый большой уровень воздействия эксперимента, который вам удобен. Больший размер выборки увеличивает шансы найти статистически значимый результат, особенно когда различия в производительности между вариантами невелики. Вам также может оказаться полезным воспользоваться онлайн-калькулятором размера выборки, чтобы определить рекомендуемый размер выборки с учетом характеристик вашего эксперимента.

Редактировать эксперименты

Вы можете редактировать выбранные параметры проведения экспериментов, в том числе:

  • Название эксперимента
  • Описание
  • Условия таргетинга
  • Варианты значений

Чтобы изменить эксперимент:

  1. Откройте страницу результатов эксперимента, который вы хотите изменить.
  2. В меню Еще выберите Редактировать текущий эксперимент .
  3. Внесите изменения и нажмите «Опубликовать» .

Обратите внимание, что изменение поведения приложения во время эксперимента может повлиять на результаты.

Логика назначения вариантов удаленной конфигурации

Пользователи, соответствующие всем условиям таргетинга эксперимента (включая условие процентного воздействия), распределяются по вариантам эксперимента в соответствии с весами вариантов и хешем идентификатора эксперимента и идентификатора установки 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 долларов США. Если диапазон CI включает 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%.

В целом результаты эксперимента дают нам три важных вывода для каждого варианта эксперимента:

  1. Насколько выше или ниже каждый показатель эксперимента по сравнению с базовым уровнем, измеренным непосредственно (т. е. фактическими наблюдаемыми данными)
  2. Насколько вероятно , что каждый показатель эксперимента будет выше базового/лучшего в целом, на основе байесовского вывода (вероятность быть лучше/лучше соответственно)
  3. Вероятные диапазоны для каждого показателя эксперимента, основанные на байесовском выводе — сценарии «наилучшего» и «наихудшего случая» (достоверные интервалы).

Решимость лидера

В экспериментах с использованием вывода по частоте Firebase объявляет вариант ведущим, если существует статистически значимая разница в производительности между этим вариантом и базовым показателем целевой метрики. Если этому критерию соответствуют несколько вариантов, выбирается вариант с наименьшим значением p .

Для экспериментов, в которых использовалась Google Optimize , Firebase заявила, что вариант является «явным лидером», если у него более 95% шансов быть лучше, чем базовый вариант по основному показателю. Если несколько вариантов соответствовали критерию «явного лидера», только наиболее эффективный вариант в целом был отмечен как «явный лидер».

Поскольку определение лидера основано только на основной цели, вам следует учитывать все соответствующие факторы и анализировать результаты вторичных показателей, прежде чем принимать решение о развертывании ведущего варианта. Возможно, вы захотите рассмотреть ожидаемый положительный эффект от внесения изменений, отрицательный риск (например, нижнюю границу доверительного интервала для улучшения) и влияние на показатели, отличные от основной цели.

Например, если ваш основной показатель — «Пользователи без сбоев», а вариант А явно превосходит базовый уровень, но показатели удержания пользователей варианта А отстают от базового показателя удержания пользователей, возможно, вам стоит провести дальнейшее исследование, прежде чем развертывать вариант А более широко.

Вы можете развернуть любой вариант, а не только ведущий вариант, на основе вашей общей оценки эффективности как по основным, так и по второстепенным показателям.

Продолжительность эксперимента

Firebase рекомендует продолжать эксперимент до тех пор, пока не будут выполнены следующие условия:

  1. В ходе эксперимента было собрано достаточно данных, чтобы дать полезный результат. Данные экспериментов и результатов обновляются один раз в день. Вы можете воспользоваться онлайн-калькулятором размера выборки, чтобы оценить рекомендуемый размер выборки для вашего эксперимента.
  2. Эксперимент длился достаточно долго, чтобы обеспечить репрезентативную выборку ваших пользователей и измерить долгосрочную эффективность. Две недели — это рекомендуемое минимальное время выполнения типичного эксперимента 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 .

Для начала выполните следующие действия, как описано в этом руководстве:

  1. Включите экспорт BigQuery для Google Analytics в консоли Firebase.
  2. Доступ к данным A/B Testing с помощью BigQuery
  3. Изучите примеры запросов

Включите экспорт BigQuery для Google Analytics в консоли Firebase.

Если вы используете план Spark, вы можете использовать песочницу BigQuery для бесплатного доступа к BigQuery с учетом ограничений песочницы . Дополнительную информацию см. в разделе «Цены и песочница BigQuery .

Сначала убедитесь, что вы экспортируете данные Analytics в BigQuery :

  1. Откройте вкладку «Интеграции» , доступ к которой можно получить, выбрав > «Настройки проекта» в консоли Firebase .
  2. Если вы уже используете BigQuery с другими сервисами Firebase, нажмите «Управление» . В противном случае нажмите «Ссылка» .
  3. Прочтите статью «О связывании Firebase с BigQuery , затем нажмите «Далее» .
  4. В разделе «Настроить интеграцию» включите переключатель Google Analytics .
  5. Выберите регион и выберите настройки экспорта.

  6. Нажмите «Ссылка на 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 : это ваш 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 .

После того, как вы соберете информацию, необходимую для создания запроса:

  1. Откройте BigQuery в консоли Google Cloud .
  2. Выберите свой проект, затем выберите «Создать SQL-запрос» .
  3. Добавьте свой запрос. Примеры запросов для выполнения см. в разделе Изучение примеров запросов .
  4. Нажмите «Выполнить» .

Запрос данных эксперимента с помощью автоматически созданного запроса консоли Firebase.

Если вы используете план Blaze, на странице обзора эксперимента представлен пример запроса, который возвращает имя эксперимента, варианты, имена событий и количество событий для эксперимента, который вы просматриваете.

Чтобы получить и запустить автоматически созданный запрос:

  1. В консоли Firebase откройте A/B Testing и выберите эксперимент A/B Testing который вы хотите запросить, чтобы открыть обзор эксперимента .
  2. В меню «Параметры» в разделе «Интеграция 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 . Следующий оператор SQL BigQuery извлекает варианты эксперимента, количество уникальных пользователей в каждом варианте и суммирует общий доход от событий 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 . Этот пример запроса возвращает имя эксперимента, имена вариантов (включая базовые), имена событий и количество событий.

  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 КиБ. Сюда входят имена вариантов, параметры вариантов и другие метаданные конфигурации.

,

Чтобы помочь вам максимизировать релевантность и полезность результатов вашего тестирования, на этой странице представлена ​​подробная информация о том, как работает Firebase A/B Testing .

Размер выборки

Выводы Firebase A/B Testing не требуют определения минимального размера выборки перед началом эксперимента. В общем, вам следует выбрать самый большой уровень воздействия эксперимента, который вам удобен. Больший размер выборки увеличивает шансы найти статистически значимый результат, особенно когда различия в производительности между вариантами невелики. Вам также может оказаться полезным воспользоваться онлайн-калькулятором размера выборки, чтобы определить рекомендуемый размер выборки с учетом характеристик вашего эксперимента.

Редактировать эксперименты

Вы можете редактировать выбранные параметры проведения экспериментов, в том числе:

  • Название эксперимента
  • Описание
  • Условия таргетинга
  • Варианты значений

Чтобы изменить эксперимент:

  1. Откройте страницу результатов эксперимента, который вы хотите изменить.
  2. В меню Еще выберите Редактировать текущий эксперимент .
  3. Внесите изменения и нажмите «Опубликовать» .

Обратите внимание, что изменение поведения приложения во время эксперимента может повлиять на результаты.

Логика назначения вариантов удаленной конфигурации

Пользователи, соответствующие всем условиям таргетинга эксперимента (включая условие процентного воздействия), распределяются по вариантам эксперимента в соответствии с весами вариантов и хешем идентификатора эксперимента и идентификатора установки 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 долларов США. Если диапазон CI включает 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%.

В целом результаты эксперимента дают нам три важных вывода для каждого варианта эксперимента:

  1. Насколько выше или ниже каждый показатель эксперимента по сравнению с базовым уровнем, измеренным непосредственно (т. е. фактическими наблюдаемыми данными)
  2. Насколько вероятно , что каждый показатель эксперимента будет выше базового/лучшего в целом, на основе байесовского вывода (вероятность быть лучше/лучше соответственно)
  3. Вероятные диапазоны для каждого показателя эксперимента, основанные на байесовском выводе — сценарии «наилучшего» и «наихудшего случая» (достоверные интервалы).

Решимость лидера

В экспериментах с использованием вывода по частоте Firebase объявляет вариант ведущим, если существует статистически значимая разница в производительности между этим вариантом и базовым показателем целевой метрики. Если этому критерию соответствуют несколько вариантов, выбирается вариант с наименьшим значением p .

Для экспериментов, в которых использовалась Google Optimize , Firebase заявила, что вариант является «явным лидером», если у него более 95% шансов быть лучше, чем базовый вариант по основному показателю. Если несколько вариантов соответствовали критерию «явного лидера», только наиболее эффективный вариант в целом был отмечен как «явный лидер».

Поскольку определение лидера основано только на основной цели, вам следует учитывать все соответствующие факторы и анализировать результаты вторичных показателей, прежде чем принимать решение о развертывании ведущего варианта. Возможно, вы захотите рассмотреть ожидаемый положительный эффект от внесения изменений, отрицательный риск (например, нижнюю границу доверительного интервала для улучшения) и влияние на показатели, отличные от основной цели.

Например, если ваш основной показатель — «Пользователи без сбоев», а вариант А явно превосходит базовый уровень, но показатели удержания пользователей варианта А отстают от базового показателя удержания пользователей, возможно, вам стоит провести дальнейшее исследование, прежде чем развертывать вариант А более широко.

Вы можете внедрить любой вариант, а не только ведущий вариант, на основе вашей общей оценки эффективности как по основным, так и по второстепенным показателям.

Продолжительность эксперимента

Firebase рекомендует продолжать эксперимент до тех пор, пока не будут выполнены следующие условия:

  1. В ходе эксперимента было собрано достаточно данных, чтобы дать полезный результат. Данные экспериментов и результатов обновляются один раз в день. Вы можете воспользоваться онлайн-калькулятором размера выборки, чтобы оценить рекомендуемый размер выборки для вашего эксперимента.
  2. Эксперимент длился достаточно долго, чтобы обеспечить репрезентативную выборку ваших пользователей и измерить долгосрочную эффективность. Две недели — это рекомендуемое минимальное время выполнения типичного эксперимента 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 .

Для начала выполните следующие действия, как описано в этом руководстве:

  1. Включите экспорт BigQuery для Google Analytics в консоли Firebase.
  2. Доступ к данным A/B Testing с помощью BigQuery
  3. Изучите примеры запросов

Включите экспорт BigQuery для Google Analytics в консоли Firebase.

Если вы используете план Spark, вы можете использовать песочницу BigQuery для бесплатного доступа к BigQuery с учетом ограничений песочницы . Дополнительную информацию см. в разделе «Цены и песочница BigQuery .

Сначала убедитесь, что вы экспортируете данные Analytics в BigQuery :

  1. Откройте вкладку «Интеграции» , доступ к которой можно получить, выбрав > «Настройки проекта» в консоли Firebase .
  2. Если вы уже используете BigQuery с другими сервисами Firebase, нажмите «Управление» . В противном случае нажмите «Ссылка» .
  3. Прочтите статью «О связывании Firebase с BigQuery , затем нажмите «Далее» .
  4. В разделе «Настроить интеграцию» включите переключатель Google Analytics .
  5. Выберите регион и выберите настройки экспорта.

  6. Нажмите «Ссылка на 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 : Это ваш 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 .

После того, как вы соберете информацию, необходимую для создания вашего запроса:

  1. Откройте BigQuery в Google Cloud .
  2. Выберите свой проект, затем выберите «Создать запрос SQL» .
  3. Добавьте свой запрос. Например, запросы для запуска, см. Примеры Explore .
  4. Нажмите запустить .

Данные эксперимента по запросу с использованием автогенерированного запроса консоли Firebase Console

Если вы используете план пламени, страница обзора эксперимента предоставляет образец запроса, который возвращает имя эксперимента, варианты, имена событий и количество событий для эксперимента, который вы просматриваете.

Чтобы получить и запустить автоматическое запрос:

  1. На консоли Firebase откройте A/B Testing и выберите эксперимент A/B Testing вы хотите запросить, чтобы открыть обзор эксперимента .
  2. В меню «Параметры» под интеграцией 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 . Этот пример запроса возвращает имя эксперимента, имена вариантов (включая базовую линию), имена событий и количество событий.

  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 киб. Это включает в себя имена вариантов, параметры вариантов и другие метаданные конфигурации.