Поделиться через


Экспериментирование (предварительная версия)

Экспериментирование — это процесс систематического тестирования гипотез или изменений для улучшения работы пользователей или программного обеспечения. Это определение также относится к большинству научных областей, включая технологии, где все эксперименты имеют четыре общих шага:

  • Разработка гипотезы для документирования цели этого эксперимента,
  • Определение метода проведения эксперимента, включая настройку, измеряемое и как,
  • Наблюдение за результатами, измеряемыми метриками, определенными на предыдущем шаге,
  • Вывод о том, была ли проверена или недопустимая гипотеза.

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

Экспериментирование в Конфигурация приложений Azure (предварительная версия)

В Конфигурация приложений Azure функция экспериментирования позволяет разработчикам легко тестировать различные варианты функции и отслеживать влияние на уровне компонентов. После настройки пользователи смогут анализировать новые функции, сравнивать различные варианты функции и быстро оценивать соответствующие метрики для новых изменений продукта. Эта возможность позволяет группам разработчиков получать измеримые аналитические сведения, упрощая быстрое и безопасное развертывание продуктов. Партнеры Майкрософт с Split Software предоставляют функцию экспериментирования в Конфигурация приложений Azure. Рабочая область разделения экспериментов (предварительная версия) — это ресурс собственного поставщика программного обеспечения Azure для интеграции между Корпорацией Майкрософт и split Software.

Высокоуровневый поток данных для экспериментирования в Azure.

Схема потока данных для экспериментирования в Azure.

Чтобы начать экспериментирование, сначала необходимо определить функцию и ее варианты, на которые вы хотите экспериментировать. Далее приведены метрики, которые формируют основу оценки признаков. Чтобы приступить к первому эксперименту в Azure, выполните действия, описанные в этом руководстве.

  • Флаги компонентов variant: представляют разные версии или конфигурации компонента. В эксперименте флаги функций вариантов сравниваются с интересующими вас метриками и трафиком, выделенным для аудитории приложения.

  • Телеметрия: данные телеметрии — это данные для вариантов функции и связанных метрик для оценки функции. Для настройки в Azure потоки данных о оценке или назначении флага функции передаются поставщику данных телеметрии. Application Insights — это поставщик данных телеметрии для настройки экспериментирования. Данные для определенных метрик также будут передаваться в тот же экземпляр Application Insights.

  • A/B-тестирование: тестирование A/B, также известное как разделение тестирования, является стандартным методом для оценки влияния потенциальных изменений в стеке технологий.

  • Размер выборки: размер выборки — это размер образца пользователей в эксперименте. Это количество событий, отправленных для любого варианта функции, на которую вы экспериментируйте.

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

Рассмотрим следующий пример: вы хотите узнать, скорее ли клиенты веб-сайта электронной коммерции чаще нажимают кнопку извлечения, если это желтый цвет (вариант A) или синий цвет (вариант B). Чтобы настроить это сравнение, скорее всего, необходимо разделить трафик между двумя вариантами флага функции и использовать количество щелчков в качестве метрики для измерения их производительности. Вряд ли все ваши функции являются простыми для измерения и немедленной оценки, и именно здесь происходит экспериментирование. Выполнение эксперимента включает настройку временной шкалы для этого процесса сравнения производительности каждого варианта, соответствующего интересующим вас метрикам. Термины "A/B testing" и "экспериментирование" часто используются взаимозаменяемо, где экспериментирование по сути является расширенным тестом A/B, где вы систематически тестируете гипотезы.

Настройка эксперимента

Прежде чем начать, рассмотрите следующие вопросы на этапе обнаружения гипотез: какие вопросы вы пытаетесь ответить, выполнив эксперимент? Что следует запустить эксперимент? Почему? Откуда вы даже начинаете? Какие стратегии следует соблюдать в соответствии с вашими бизнес-потребностями? Поможет ли этот эксперимент сделать немедленные улучшения производительности вашего приложения или вашего бизнеса?

Определите, что вы надеетесь достичь, выполнив эксперимент до полного выпуска, необходимо задокументировать план на этом этапе. Каковы варианты функции или функциональности, над которыми вы хотите экспериментировать? Какие метрики вы интересуете? Какие события взаимодействия с пользователем или системой можно использовать для сбора данных для топлива этих метрик для измерения?

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

Вывод из эксперимента

Вывод (или несколько выводов при необходимости) является последним этапом цикла экспериментирования. Вы можете проверить результаты эксперимента, которые показывают результат и влияние варианта сравнения на вариант элемента управления. Результаты также показывают их статистическое значение. Мера Statsig зависит от данных телеметрии и размера выборки.

Результаты помогают завершить обучение и результаты в практические элементы, которые можно сразу же реализовать в рабочей среде. Однако экспериментирование — это непрерывный процесс. Начните новые эксперименты для непрерывного улучшения продукта.

Сценарии использования экспериментов

Защита от выпуска

Цель. Обеспечение плавного перехода и поддержания или улучшения ключевых метрик с каждым выпуском.

Подход. Использование экспериментов для постепенного развертывания новых функций, мониторинга метрик производительности и сбора отзывов о итеративных улучшениях.

Преимущества:

  • Сводит к минимуму риск распространенных проблем с помощью метрик защиты для обнаружения и устранения проблем в начале развертывания.
  • Помогает поддерживать или улучшать ключевые показатели производительности и удовлетворенности пользователей, принимая обоснованные решения на основе данных в режиме реального времени.

Тестовые гипотезы

Цель. Проверьте предположения и гипотезы, чтобы принимать обоснованные решения о функциях продукта, поведении пользователей или бизнес-стратегиях.

Подход. Используйте экспериментирование для тестирования определенных гипотез путем создания различных версий функций или сценариев, а затем анализа взаимодействий пользователей и метрик производительности для определения результатов.

Преимущества:

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

Тестирование А/Б

Цель. Оптимизация бизнес-метрик путем сравнения различных вариантов пользовательского интерфейса и определения наиболее эффективной структуры.

Подход. Проведение тестов A/B с помощью экспериментов для тестирования элементов пользовательского интерфейса, измерения взаимодействия пользователей и анализа метрик производительности.

Преимущества:

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

Для интеллектуальных приложений (например, функций на основе ИИ)

Цель. Ускорение внедрения и оптимизации моделей искусственного интеллекта и вариантов использования с помощью быстрых экспериментов.

Подход. Используйте эксперименты для быстрого итерации моделей ИИ, тестирования различных сценариев и определения эффективных подходов.

Преимущества:

  • Повышает гибкость в адаптации решений искусственного интеллекта к изменяющимся потребностям пользователей и тенденциям рынка.
  • Упрощает понимание наиболее эффективных подходов к масштабированию инициатив ИИ.
  • Повышает точность и производительность моделей искусственного интеллекта на основе реальных данных и отзывов.

Персонализация и целевые эксперименты

Цель. Предоставление персонализированного содержимого и возможностей, адаптированных к предпочтениям и поведению пользователей.

Подход. Использование экспериментов для тестирования персонализированного содержимого, меры взаимодействия и итерации стратегий персонализации.

Преимущества:

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

Эксперименты по оптимизации производительности

Цель. Повышение производительности приложений и взаимодействие с пользователем с помощью экспериментов по оптимизации производительности.

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

Преимущества:

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

Операции экспериментов

  • Создание эксперимента. Эксперимент можно создать на флаге функции variant, создающей данные телеметрии. После создания эксперимента также создается версия эксперимента. Любые дальнейшие изменения флага функции приводят к созданию новой версии эксперимента для этого эксперимента.

  • Архивный эксперимент: архивация эксперимента помещает его в архивное состояние. В то время как эксперимент архивируется, вычисления не выполняются в эксперименте. Вы всегда можете восстановить эксперимент позже, чтобы возобновить вычисления и вернуться к активному состоянию.

  • Восстановление эксперимента: восстановление эксперимента помещает архивный эксперимент в активное состояние, а вычисления возобновляются для эксперимента.

  • Удаление эксперимента: удаление эксперимента удаляет эксперимент в Split и все связанные с ней данные. Это необратимая операция, поэтому после удаления восстановление не выполняется.

  • Проверка результатов эксперимента: проверка результатов активного эксперимента позволяет узнать, как выполняется каждый вариант в эксперименте.

Требования к доступу для операций эксперимента

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

Настройка экспериментирования

Чтобы настроить эксперименты с необходимыми ресурсами, включая рабочую область split Experimentation, требуется роль владельца подписки Azure или сочетание ролей участника подписки и администратора доступа пользователей.

Создание или обновление эксперимента

Чтобы создать, обновить, архивировать или удалить эксперимент, вам потребуется Конфигурация приложений роль владельца данных в хранилище Конфигурация приложений. Для этого также требуется роль ExperimentationDataOwner в приложении Enterprise, управляющего доступом к подключенной рабочей области разделения экспериментов.

Чтение результатов эксперимента

Чтобы проверить эксперименты, их версии и результаты, вам потребуется Конфигурация приложений роль читателя данных в хранилище Конфигурация приложений. Для этого также требуется роль объекта ExperimentationDataReader или ExperimentationDataOwner в корпоративном приложении, которое управляет доступом к подключенной рабочей области split Experimentation.

Рекомендации по выставлению счетов и ограничения

Конфигурация приложений не взимается специально для экспериментов. Экспериментирование предоставляется через интеграцию с рабочей областью Split Experimentation (предварительная версия). Проверьте тарифный план для разделения экспериментов для Конфигурация приложений Azure.

Минимальный размер выборки, необходимый для разделения экспериментов, составляет 30 на вариант. Для получения результатов эксперимента или результатов эксперимента требуется минимальный размер выборки.

Следующие шаги