Experimentação (versão prévia)

A experimentação é o processo de testar sistematicamente hipóteses ou alterações para melhorar a experiência do usuário ou a funcionalidade de software. Essa definição também vale para a maioria dos campos científicos, incluindo a tecnologia, em que todos os experimentos têm quatro etapas comuns:

  • Desenvolvendo uma hipótese para documentar a finalidade deste experimento,
  • Estruturando um método de realização do experimento, incluindo a instalação, o que é medido e como,
  • Observação dos resultados medidos pelas métricas definidas na etapa anterior,
  • Tirando uma conclusão sobre se a hipótese foi validada ou invalidada.

Confira este vídeo para obter uma demonstração rápida da Experimentação na Configuração de Aplicativos, destacando o caso de uso de otimização da experiência do usuário para turbinar suas métricas de negócios.

Experimentação na Configuração de Aplicativos do Azure (versão prévia)

Na Configuração de Aplicativos do Azure, o recurso de experimentação permite que os desenvolvedores testem facilmente diferentes variantes de um recurso e monitorem o impacto no nível do recurso. Depois de configurados, os usuários podem analisar novos recursos, comparar diferentes variantes de um recurso e avaliar prontamente as métricas relevantes para novas alterações de produto. Essa funcionalidade capacita as equipes de desenvolvimento com insights mensuráveis, facilitando implantações de produtos mais rápidas e seguras. A Microsoft faz parceria com o Split Software para fornecer o recurso de experimentação na Configuração de Aplicativos do Azure. O Workspace de Experimentação dividida (versão prévia) é um recurso ISV nativo do Azure para a integração entre a Microsoft e o Split Software.

Fluxo de dados de alto nível para experimentação no Azure.

Diagrama do fluxo de dados para experimentação no Azure.

Para iniciar uma experimentação, primeiro você precisa identificar o recurso e suas variações nas quais deseja experimentar. Em seguida, estão as métricas que formam a base da avaliação do recurso. Para começar seu primeiro experimento no Azure, siga as etapas descritas neste tutorial.

  • Variant Feature Flags: represente diferentes versões ou configurações de um recurso. Em um experimento, os sinalizadores de recursos variantes são comparados em relevância com as métricas em que você está interessado e o tráfego alocado para o público-alvo do aplicativo.

  • Telemetria: Telemetria são os dados das variações de um recurso e das métricas relacionadas para avaliar o recurso. Para a instalação no Azure, os dados de avaliação/atribuição do sinalizador de recurso fluem para o provedor de telemetria. O Application Insights é o provedor de telemetria para a configuração de experimentação. Os dados das métricas definidas também fluem para a mesma instância do Application Insights.

  • Teste A/B: o teste A/B, também conhecido como teste dividido, é um método padrão do setor para avaliar o impacto de possíveis alterações em uma pilha de tecnologia.

  • Tamanho da amostragem: o tamanho da amostra de usuários em experimento é o tamanho da amostra. É o número de eventos enviados para qualquer variação do recurso em que você está experimentando.

  • Tamanho mínimo de amostragem: é o número mínimo de eventos necessários por variação do recurso para que o experimento mostre resultados estatisticamente significativos. Quanto maior o tamanho da amostra, melhor a significância estatística dos resultados do experimento.

Considere o exemplo a seguir: você deseja ver se os clientes do seu site de comércio eletrônico são mais propensos a clicar no botão de check-out se ele for amarelo na cor (variante A) ou azul na cor (variante B). Para configurar essa comparação, é provável que você divida o tráfego entre as duas variantes do sinalizador de recurso e use o número de cliques como uma métrica para medir seu desempenho. É improvável que todos os seus recursos sejam tão simples de medir e avaliar imediatamente, e é aí que a experimentação entra. A execução de um experimento envolve a configuração de uma linha do tempo para esse processo de comparação do desempenho de cada variante relevante às métricas em que você está interessado. Os termos "Teste A/B" e "experimentação" geralmente são usados de forma intercambiável, em que a experimentação é essencialmente um teste A/B estendido em que você está testando sistematicamente hipóteses.

Configurando seu experimento

Antes de começar, considere as seguintes perguntas em seu estágio de descoberta de hipóteses: Quais perguntas você está tentando responder executando um experimento? Em que você deve executar um experimento? Por quê? Por onde você começa? Quais são algumas estratégias a seguir de acordo com suas necessidades comerciais? Este experimento ajudará você a fazer melhorias imediatas no desempenho do seu aplicativo ou em sua empresa?

Identifique o que você espera alcançar executando um experimento antes de uma versão completa, você deve documentar seu plano neste estágio. Quais são as variações do recurso ou funcionalidade em que você deseja experimentar? Em quais métricas você está interessado? Quais eventos de interação do usuário ou do sistema podem ser usados para capturar dados para alimentar essas métricas de medida?

Seu experimento é tão bom quanto os dados coletados para ele. Antes de iniciar o experimento, você deve determinar em qual variante pretende usar como o controle (variante da linha de base) e em qual você pretende ver as alterações (variante de comparação).

Tirando uma conclusão do experimento

Tirar uma conclusão (ou várias conclusões, se necessário) é o estágio final do ciclo de experimentação. Você pode verificar os resultados do experimento, que mostram o resultado e o impacto da variante de comparação em relação à variante de controle. Os resultados também mostram sua significância estatística. A medida statsig depende dos dados de telemetria e do tamanho da amostra.

Os resultados ajudam você a concluir os aprendizados e os resultados em itens acionáveis que você pode implementar imediatamente na produção. No entanto, a experimentação é um processo contínuo. Inicie novos experimentos para melhorar continuamente seu produto.

Cenários para usar experimentação

Defesa de versão

Objetivo: garantir transições suaves e manter ou melhorar as principais métricas a cada versão.

Abordagem: empregar a experimentação para implantar gradualmente novos recursos, monitorar métricas de desempenho e coletar comentários sobre melhorias iterativas.

Benefícios:

  • Minimiza o risco de problemas generalizados usando métricas de guardrail para detectar e resolver problemas no início da distribuição.
  • Ajuda a manter ou melhorar as principais métricas de desempenho e satisfação do usuário, através da tomada de decisões informadas com base em dados em tempo real.

Testar hipóteses

Objetivo: validar suposições e hipóteses para tomar decisões informadas sobre recursos do produto, comportamentos do usuário ou estratégias de negócios.

Abordagem: use a experimentação para testar hipóteses específicas criando diferentes versões ou cenários de recursos e, em seguida, analise as interações do usuário e as métricas de desempenho para determinar os resultados.

Benefícios:

  • Fornece insights baseados em evidências que reduzem a incerteza e orientam a tomada de decisões estratégicas.
  • Habilita a iteração e a inovação mais rápidas confirmando ou refutando hipóteses com dados reais do usuário.
  • Aprimora o desenvolvimento de produtos ao concentrar esforços em ideias que comprovadamente funcionam, o que, em última análise, leva a recursos mais bem-sucedidos e alinhados com o usuário.

Testes de A/B

Objetivo: otimizar as métricas de negócios comparando diferentes variações de interface do usuário e determinando o design mais eficaz.

Abordagem: realize testes A/B usando experimentação para testar elementos de interface do usuário, medir interações do usuário e analisar métricas de desempenho.

Benefícios:

  • Melhora a experiência do usuário implementando alterações na interface do usuário com base em evidências empíricas.
  • Aumenta as taxas de conversão, os níveis de participação e a eficácia geral de produtos ou serviços digitais.

Para aplicativos inteligentes (por exemplo, recursos baseados em IA)

Objetivo: acelerar a adoção da IA generativa (IA gen) e otimizar modelos de IA e casos de uso por meio de experimentação rápida.

Abordagem: use a experimentação para iterar rapidamente em modelos de IA, testar diferentes cenários e determinar abordagens eficazes.

Benefícios:

  • Aprimora a agilidade na adaptação de soluções de IA às necessidades dos usuários e às tendências do mercado em constante evolução.
  • Facilita a compreensão das abordagens mais eficazes para o dimensionamento de iniciativas de IA.
  • Melhora a precisão e o desempenho de modelos de IA com base em dados e comentários do mundo real.

Experimentos de direcionamento e personalização

Objetivo: fornecer conteúdo personalizado e experiências adaptadas às preferências e aos comportamentos do usuário.

Abordagem: aproveite a experimentação para testar o conteúdo personalizado, medir o engajamento e iterar em estratégias de personalização.

Benefícios:

  • Aumenta o envolvimento do usuário, as taxas de conversão e a fidelidade do cliente por meio de experiências relevantes e personalizadas.
  • Impulsiona o crescimento da receita e a retenção do cliente direcionando ao público-alvo mensagens e ofertas personalizadas.

Experimentos de otimização de desempenho

Objetivo: melhorar o desempenho do aplicativo e a experiência do usuário por meio de experimentos de otimização de desempenho.

Abordagem: realize experimentos para testar aprimoramentos de desempenho, medir as principais métricas e implementar otimizações bem-sucedidas.

Benefícios:

  • Aprimora a escalabilidade, a confiabilidade e a capacidade de resposta do aplicativo por meio de melhorias proativas de desempenho.
  • Otimiza a utilização de recursos e os custos de infraestrutura implementando otimizações eficientes.

Operações de teste

  • Criar experimento: o experimento pode ser criado em um sinalizador de recurso variante que emite telemetria. Depois que um experimento é criado, uma versão do experimento também é criada com o experimento. As edições adicionais no sinalizador de recurso resultam na criação de uma nova versão do experimento para esse experimento.

  • Experimento arquivo: Arquivar um experimento o coloca em um estado arquivado. Enquanto um experimento é arquivado, nenhum cálculo é executado no experimento. Você sempre pode restaurar o experimento mais tarde para retomar os cálculos e voltar ao estado ativo.

  • Recuperar experimento: a recuperação de um experimento coloca um experimento arquivado em um estado ativo e os cálculos são retomados para o experimento.

  • Excluir experimento: a exclusão de um experimento exclui o experimento em Split e todos os seus dados relacionados. É uma operação irreversível, portanto, não há restauração após a exclusão.

  • Verificar os resultados do experimento: verificar os resultados de um experimento ativo permite que você veja como cada variante do experimento está sendo executado.

Requisitos de acesso para operações de teste

As seções a seguir detalham as funções necessárias para executar operações relacionadas a experimentos com a ID do Microsoft Entra.

Configurar experimentação

Para configurar a experimentação com os recursos necessários, incluindo o Workspace de Experimentação dividida, a função proprietário da assinatura do Azure ou a combinação de funções de Colaborador de Assinatura e Administrador de Acesso do Usuário é necessária.

Criar ou atualizar experimento

Para criar, atualizar, arquivar ou excluir um experimento, você precisaria da função Proprietário de Dados de Configuração de Aplicativo no repositório de Configuração de Aplicativos. Ele também requer a função de ExperimentationDataOwner no aplicativo Enterprise gerenciando o acesso de dados ao workspace de experimentação dividida conectado.

Ler os resultados do experimento

Para verificar experimentos, suas versões e resultados, você precisaria da função Leitor de Dados de Configuração de Aplicativo no repositório de Configuração de Aplicativos. Ele também requer a função de um ExperimentationDataReader ou de um ExperimentationDataOwner no aplicativo Enterprise gerenciando o acesso de dados ao workspace de experimentação de divisão conectado.

Considerações e limites de cobrança

A Configuração de Aplicativos não cobra especificamente por experimentos. A experimentação é fornecida por meio de uma integração com Espaço de Trabalho de Experimentação Dividida (versão prévia). Verifique o plano de preços para a Experimentação Dividida para a Configuração de Aplicativos do Azure.

O tamanho mínimo de exemplo necessário para experimentação de divisão é 30 por variante. Um experimento é necessário para ter o tamanho mínimo da amostra para obter os resultados do experimento ou os resultados mostram "Nenhum dado" no resultado.

Próximas etapas