Condividi tramite


Sperimentazione (anteprima)

Nota

I commenti e i suggerimenti ricevuti durante le fasi di anteprima della sperimentazione sulla configurazione app Azure vengono usati dai team per apportare aggiornamenti alla funzionalità. Durante questo periodo, l'area di lavoro sperimentazione non sarà temporaneamente disponibile.

La sperimentazione è il processo di esecuzione di test sistematici di ipotesi o modifiche per migliorare l'esperienza utente o le funzionalità software. Questa definizione vale anche per la maggior parte dei campi scientifici, tra cui la tecnologia, in cui tutti gli esperimenti hanno quattro passaggi comuni:

  • Sviluppo di un'ipotesi per documentare lo scopo di questo esperimento,
  • Definizione di un metodo per eseguire l'esperimento, tra cui la configurazione, gli elementi da misurare e le modalità,
  • Osservazione dei risultati misurati dalle metriche definite nel passaggio precedente,
  • Raggiungimento di una conclusione riguardo al fatto che l'ipotesi sia stata convalidata o invalidata.
  • Flag di funzionalità varianti: rappresentano versioni o configurazioni diverse di una funzionalità. In un esperimento i flag di funzionalità varianti vengono confrontati a livello di pertinenza con le metriche a cui si è interessati e con il traffico allocato per il gruppo di destinatari dell'applicazione.

  • Telemetria: i dati di telemetria sono i dati per le variazioni di una funzionalità e le metriche correlate per valutare la funzionalità.

  • Test A/B: test A/B, noti anche come sperimentazione, è un metodo standard del settore per valutare l'impatto dei potenziali cambiamenti all'interno di uno stack di tecnologie.

  • Dimensioni minime di campionamento: indicano il numero minimo di eventi necessari per variazione della funzionalità per consentire all'esperimento di mostrare risultati statisticamente significativi. Maggiore è la dimensione del campione, migliore è la rilevanza statistica dei risultati dell'esperimento.

Si consideri l'esempio seguente: si vuole verificare se la probabilità che i clienti del sito Web di e-commerce facciano clic sul pulsante di estrazione aumenta se il pulsante è di colore giallo (variante A) o blu (variante B). Per configurare questo confronto, è probabile che si divida il traffico tra le due varianti del flag di funzionalità e si usi il numero di clic come metrica per misurare le prestazioni. È improbabile che tutte le funzionalità siano semplici da misurare e valutare immediatamente ed è qui che entra in gioco la sperimentazione. L'esecuzione di un esperimento comporta la configurazione di una sequenza temporale per questo processo di confronto delle prestazioni di ogni variante pertinente per le metriche a cui si è interessati. I termini "test A/B" e "sperimentazione" vengono spesso usati in modo intercambiabile: la sperimentazione è essenzialmente un test A/B esteso in cui si testano sistematicamente ipotesi.

Configurazione dell'esperimento

Prima di iniziare, prendere in considerazione le domande seguenti nella fase di individuazione delle ipotesi: a quali domande si sta provando a rispondere eseguendo un esperimento? Su quali elementi è consigliabile eseguire un esperimento? Perché? Da dove si inizia? Quali sono alcune strategie da seguire in base alle esigenze aziendali? Questo esperimento consentirà di apportare miglioramenti immediati alle prestazioni dell'applicazione o all'azienda?

Identificare i risultati che si spera di ottenere eseguendo un esperimento prima di una versione completa. È necessario documentare il piano in questa fase. Quali sono le varianti della caratteristica o della funzionalità su cui si vuole sperimentare? Quali sono alcune metriche a cui si è interessati? Quali eventi di interazione utente o di sistema possono essere usati per acquisire i dati per alimentare queste metriche per la misura?

La qualità dell'esperimento dipende interamente dalla qualità dei dati raccolti. Prima di iniziare l'esperimento, è necessario determinare quale variante si intende usare come controllo (variante di base) e per quale variante si vogliono visualizzare le modifiche (variante di confronto).

Trarre una conclusione dall'esperimento

Il raggiungimento di una conclusione (o più conclusioni, se necessario) è la fase finale del ciclo di sperimentazione. È possibile controllare i risultati dell'esperimento, che mostrano il risultato e l'impatto della variante di confronto rispetto alla variante di controllo. I risultati mostrano anche la rispettiva rilevanza statistica. La misura Statsig dipende dai dati di telemetria e dalle dimensioni del campione.

I risultati consentono di trasformare i concetti appresi e i risultati in elementi interattivi che è possibile implementare immediatamente nell'ambiente di produzione. La sperimentazione, tuttavia, è un processo continuo. Iniziare nuovi esperimenti per migliorare continuamente il prodotto.

Scenari per l'uso della sperimentazione

Difesa del rilascio

Obiettivo: garantire transizioni uniformi e mantenere o migliorare le metriche chiave con ogni versione.

Approccio: usare la sperimentazione per implementare gradualmente nuove funzionalità, monitorare le metriche delle prestazioni e raccogliere feedback per miglioramenti iterativi.

Vantaggi:

  • Riduce al minimo il rischio di problemi diffusi usando le metriche di protezione per rilevare e risolvere i problemi nelle fasi iniziali dell'implementazione.
  • Consente di mantenere o migliorare le metriche chiave di prestazioni e soddisfazione degli utenti prendendo decisioni informate in base ai dati in tempo reale.

Ipotesi di test

Obiettivo: convalidare presupposti e ipotesi per prendere decisioni informate sulle funzionalità del prodotto, sui comportamenti degli utenti o sulle strategie aziendali.

Approccio: usare la sperimentazione per testare ipotesi specifiche creando versioni o scenari di funzionalità diversi, quindi analizzare le interazioni utente e le metriche delle prestazioni per determinare i risultati.

Vantaggi:

  • Fornisce informazioni dettagliate basate sulle prove che riducono l'incertezza e guidano il processo decisionale strategico.
  • Consente un'iterazione e un'innovazione più veloci confermando o respingendo le ipotesi con dati utente reali.
  • Migliora lo sviluppo di prodotti concentrando gli sforzi sulle idee che si sono dimostrate funzionanti, portando infine a funzionalità più efficaci e allineate all'utente.

Test A/B

Obiettivo: ottimizzare le metriche aziendali confrontando diverse varianti dell'esperienza utente e determinando la progettazione più efficace.

Approccio: eseguire test A/B usando la sperimentazione con esperienze utente diverse, misurare le interazioni degli utenti e analizzare le metriche delle prestazioni.

Vantaggi:

  • Migliora l'esperienza utente implementando le modifiche dell'esperienza utente in base a prove empiriche.
  • Aumenta i tassi di conversione, i livelli di coinvolgimento e l'efficacia complessiva dei prodotti o dei servizi digitali.

Per le applicazioni intelligenti (ad esempio, funzionalità basate su intelligenza artificiale)

Obiettivo: accelerare l'adozione dell'intelligenza artificiale generativa e ottimizzare i modelli di intelligenza artificiale e i casi d'uso tramite una sperimentazione rapida.

Approccio: Usare la sperimentazione per eseguire rapidamente l'iterazione dei modelli di intelligenza artificiale, testare diversi scenari e determinare approcci efficaci.

Vantaggi:

  • Migliora l'agilità nell'adattamento delle soluzioni di intelligenza artificiale alle esigenze degli utenti in continua evoluzione e alle tendenze di mercato.
  • Facilita la comprensione degli approcci più efficaci per la scalabilità delle iniziative di IA.
  • Migliora l'accuratezza e le prestazioni dei modelli di intelligenza artificiale basati su dati e feedback reali.

Personalizzazione e targeting di esperimenti

Obiettivo: offrire esperienze e contenuti personalizzati personalizzati in base alle preferenze e ai comportamenti degli utenti.

Approccio: sfruttare la sperimentazione per testare contenuti personalizzati, misurare l'engagement ed alternare le strategie di personalizzazione.

Vantaggi:

  • Aumenta l'engagement degli utenti, i tassi di conversione e la fedeltà dei clienti attraverso esperienze pertinenti e personalizzate.
  • Favorisce la crescita dei ricavi e la fidelizzazione dei clienti tramite l'invio di messaggi e offerte personalizzati ai destinatari.

Esperimenti di ottimizzazione delle prestazioni

Obiettivo: migliorare le prestazioni dell'applicazione e l'esperienza utente tramite esperimenti di ottimizzazione delle prestazioni.

Approccio: Condurre esperimenti per testare i miglioramenti delle prestazioni, misurare le metriche chiave e implementare ottimizzazioni efficaci.

Vantaggi:

  • Migliora la scalabilità, l'affidabilità e la velocità di risposta delle applicazioni grazie a miglioramenti proattivi delle prestazioni.
  • Ottimizza l'utilizzo delle risorse e i costi dell'infrastruttura implementando ottimizzazioni efficienti.