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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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