Experimentação (versão prévia)
Observação
Agradecemos os comentários que recebemos durante as fases de visualização da Experimentação na Configuração de Aplicativos do Azure. Nossas equipes estão usando-os para fazer atualizações no recurso. Durante esse tempo, o Workspace de Experimentação ficará temporariamente indisponível.
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.
Conceitos relacionados à experimentação
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.
Teste A/B: o teste A/B, também conhecido como experimentação, é um método padrão do setor para avaliar o impacto de possíveis alterações em uma pilha de tecnologia.
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 experiência do usuário e determinando o design mais eficaz.
Abordagem: realize testes A/B usando experimentação com diferentes experiências 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 experiência 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.