Sample Ratio Mismatch (SRM): una guida completa con soluzioni ai casi dei clienti
Pubblicato: 2022-04-07Cosa c'è di peggio di un test fallito?
Testare i problemi di qualità dei dati che rendono inaffidabili i risultati dei test.
Ma come puoi stare lontano da dati errati?
Il controllo della mancata corrispondenza del rapporto di campionamento (SRM) è un modo semplice per individuare in anticipo potenziali problemi. Se qualcosa è sospetto, prima lo scopri, meglio è.
Continua a leggere per saperne di più sulla mancata corrispondenza del rapporto di campionamento, su come individuarlo, in che modo influisce sui tuoi test e quali piattaforme di test A/B sono dotate di controlli SRM integrati (quindi non devi tenere un foglio di calcolo a lato) .
- Che cos'è la mancata corrispondenza del rapporto di campionamento (SRM)?
- Il tuo test A/B ha un SRM? Come calcolare la mancata corrispondenza del rapporto di campionamento?
- Utilizzo di fogli di calcolo
- Utilizzo dei calcolatori di disadattamento del rapporto di campionamento online
- In che modo SRM influisce sui test A/B?
- L'SRM influisce sia sui modelli frequentisti che su quelli bayesiani?
- Quando dovresti prendere in considerazione SRM?
- Dove dovresti verificare se esiste SRM?
- Assegnazione dell'esperimento
- Esecuzione dell'esperimento
- Elaborazione del registro degli esperimenti
- Analisi dell'esperimento
- Interferenza sperimentale
- Motivi non sperimentali
- Piattaforme di test A/B che supportano gli avvisi SRM
- Converti esperienze
- In modo ottimale
- Adobe Target tramite MiaProva
- Libro di crescita
- Split.io
- Rapporto dimensioni campione non corrispondente demistificato
Che cos'è la mancata corrispondenza del rapporto di campionamento (SRM)?
Sample Ratio Mismatch, o SRM, si verifica nei test A/B quando il numero effettivo di campioni (o visitatori in un gruppo di trattamento) non corrisponde a quanto previsto.
Illustriamo questo con un esempio.
Supponiamo che un sito web riceva circa 15.000 visitatori a settimana. Abbiamo 3 varianti, l'originale (che è la pagina invariata) e 2 varianti. Quanto traffico ti aspetti che ciascuno di essi riceva se il traffico è equamente allocato? In un mondo ideale, la risposta sarebbe che ogni variazione dovrebbe ricevere 15.000 / 3 = 5000 visitatori.
Ora, è molto improbabile che ogni variazione riceva effettivamente 5000 visitatori, ma un numero molto vicino a quello, come 4982 o 5021. Quella leggera variazione è normale ed è dovuta alla semplice casualità! Ma se una delle varianti dovesse ricevere 3500 visitatori e le altre circa 5000, allora potrebbe esserci qualcosa che non va in quella!
Invece di fare affidamento sulla nostra intuizione per individuare questi problemi, possiamo invece fare il test SRM. Utilizza il test della bontà di adattamento del chi quadrato per dirci, ad esempio, se 4850 o 4750 visitatori, rispetto all'altro numero di visitatori ricevuti, sono "normali" o meno!
In termini statistici, il test della bontà di adattamento del chi quadrato confronta il numero di campioni osservato con quelli attesi. E se c'è una differenza reale, il p-value sarà inferiore al livello di significatività impostato di 0,01, che corrisponde a una confidenza del 99%.
Guarda questo video con Lukas Vermeer mentre approfondisce le specifiche di SRM e altre domande frequenti sull'argomento.
Il tuo test A/B ha un SRM? Come calcolare la mancata corrispondenza del rapporto di campionamento?
Nei test A/B, SRM può essere un vero spauracchio, causando risultati imprecisi e conclusioni fuorvianti. La buona notizia è che ci sono strumenti là fuori che possono aiutarti a evitare il mal di testa.
Utilizzo di fogli di calcolo
I fogli di lavoro sono il metodo più semplice per calcolare l'SRM grazie all'ampia disponibilità di prodotti Microsoft Excel e/o Google.
Ti mostriamo un altro esempio.
Calcoleremo l'SRM per un test A/B con una suddivisione del traffico 50/50 e un numero di visitatori osservato di 214.598 e 241.156 rispettivamente per l'originale e la variazione.
Utilizzeremo il test del chi quadrato per vedere se la suddivisione del traffico osservata corrisponde alla suddivisione del traffico prevista. In caso contrario, ti consigliamo di sapere se i valori osservati differiscono sufficientemente dai valori previsti per destare preoccupazione e giustificare l'eliminazione dei risultati.
Dovrai utilizzare la funzione CHISQ.TEST nel tuo foglio di calcolo per calcolare il valore p, come illustrato nel foglio di calcolo seguente.
Nel nostro esempio, il valore p è 0. Con un valore p inferiore a 0,05, hai un SRM tra le mani e prove sufficienti per ignorare i risultati del test nella maggior parte dei casi.
Utilizzo dei calcolatori di disadattamento del rapporto di campionamento online
- Il calcolatore di Convert può aiutarti a diagnosticare la mancata corrispondenza del rapporto di campionamento e ti dice anche quanto tempo devi aspettare per il completamento dell'esperimento!
- Un altro calcolatore online specifico per SRM è quello progettato da Lukas Vermeer. Questo metodo calcola l'SRM allo stesso modo della tecnica precedente, quindi se hai seguito e compreso il processo, dovresti essere in grado di utilizzare questo calcolatore SRM online. Basta inserire i numeri per i tuoi campioni e il risultato apparirà in questo modo
In che modo SRM influisce sui test A/B?
È probabile che tu abbia esaminato la suddivisione del traffico tra le varianti durante un esperimento e ti sia chiesto quanto fosse accurata.
Forse uno simile al rapporto qui sotto. Potresti guardarlo e chiederti se è normale che l'Originale abbia avuto 1330 visitatori ma la Variazione 1713.
Un breve calcolo statistico del rapporto SRM (utilizzando uno dei due metodi precedenti) ti dirà se il rapporto di variazione è accettabile o meno.
La divisione effettiva tra le due variazioni (Originale e Variazione 1) corrisponde ai valori attesi? In caso contrario, dovresti rifiutare i dati e riavviare il test una volta risolto il problema.
L'SRM influisce sia sui modelli frequentisti che su quelli bayesiani?
Sì.
Le cause dell'SRM hanno un impatto identico sulla validità dei risultati di un esperimento indipendentemente dal fatto che i dati vengano analizzati con approcci bayesiani (Google Optimize, Optimizely, VWO, A/B Tasty) o frequentisti (Convert Experiences, Dynamic Yield).
Quindi i calcolatori SRM di cui sopra possono essere utilizzati anche per verificare la presenza di SRM su piattaforme che utilizzano statistiche bayesiane.
Quando dovresti prendere in considerazione SRM?
Trovare una mancata corrispondenza del rapporto di campionamento nei test non significa necessariamente che devi scartare i risultati.
Quindi, quando è davvero necessario prendere sul serio il calcolo dell'SRM?
Scopriamolo con alcuni esempi.
Esegui un esperimento in cui l'originale e la variante vengono assegnati ciascuno al 50% degli utenti. Pertanto, ti aspetti di vedere circa un numero uguale di utenti in ciascuno.
I risultati tornano come
- Controllo: 21.588 utenti
- Trattamento: 15.482 utenti
Mettiamoli attraverso SRM Checker:
Questo è motivo di preoccupazione?
Il valore p per il rapporto campionario sopra è <0,0001, quindi la probabilità di vedere questo rapporto o uno più estremo, in un progetto che richiedeva proporzioni uguali, è <0,0001!
Dovresti assolutamente essere preoccupato che qualcosa non va , dato che hai appena osservato un evento estremamente improbabile. È quindi più probabile che ci sia qualche bug nell'implementazione dell'esperimento e non dovresti fidarti di nessuno dei risultati.
Esegui un altro esperimento, in cui all'originale e alla variante viene assegnata una percentuale uguale di utenti. Calcoli il valore p ed è <0,002, quindi un evento molto improbabile.
Quanto potrebbero essere lontane le metriche? Devi davvero scartare i risultati?
Utilizzando una piattaforma di sperimentazione come Convert Experiences, puoi applicare una segmentazione post test ai risultati e scoprire che se escludi gli utenti di Internet Explorer, l'SRM non c'è più.
In questo caso, gli utenti esclusi molto probabilmente utilizzano un vecchio browser IE, che era la causa dell'SRM; un bot non è stato classificato correttamente a causa di alcune modifiche nella variazione, causando la mancata corrispondenza del rapporto.
Senza il segmento, la restante percentuale di utenti è adeguatamente bilanciata e le metriche appaiono normali.
Se l'SRM non fosse stato scoperto, l'intero esperimento sarebbe stato considerato un grave fallimento.
Ma una volta individuato l'SRM, è stato possibile rimuovere un piccolo segmento e utilizzare l'esperimento per un'analisi adeguata.
In uno scenario simile, puoi tranquillamente ignorare gli utenti esclusi e l'esperimento può essere utilizzato .
Esegui un esperimento e scopri che nel tuo test è presente un tag SRM.
Tuttavia, se presti attenzione ai tuoi grafici, noterai che le curve del tasso di conversione rimangono parallele e la confidenza calcolata è del 99,99%. Questo schema dovrebbe fornirti sufficiente certezza che i test siano validi.
In questo caso, puoi tranquillamente ignorare l'SRM e continuare a fidarti dei tuoi dati .
Dove dovresti verificare se esiste SRM?
Ci sono alcune aree in cui può verificarsi SRM. Diamo un'occhiata alla tassonomia delle cause di Lukas Vermeer:
- Assegnazione dell'esperimento : potrebbe verificarsi un caso di bucketing errato (gli utenti sono stati inseriti in cluster errati), una funzione di randomizzazione errata o ID utente danneggiati.
- Esecuzione dell'esperimento : le variazioni potrebbero essere iniziate in momenti diversi (causando discrepanze) o potrebbero esserci ritardi nell'esecuzione del filtro (determinando quali gruppi sono soggetti all'esperimento).
- Elaborazione del registro degli esperimenti : i robot eliminano automaticamente gli utenti reali, un ritardo nell'arrivo delle informazioni nei registri.
- Analisi dell'esperimento – Attivazione errata della variazione o avvio non corretto.
- Interferenza dell'esperimento : l'esperimento potrebbe essere soggetto ad attacchi e hack, oppure l'impatto di un altro esperimento in corso potrebbe interferire con l'esperimento in corso.
Se hai un SRM e non sei sicuro di dove cercare una risposta, la tassonomia sopra è un punto di partenza prezioso.
E per rendere le cose più chiare, ora ti forniremo un esempio di vita reale per ciascuno di questi casi.
Assegnazione dell'esperimento
Ecco dove una delle cose più interessanti da tenere d'occhio è la funzione di randomizzazione utilizzata dalla tua piattaforma di test A/B.
Nell'esempio seguente, i data scientist di Wish hanno scoperto problemi di SRM in un test A/A e, dopo una lunga indagine, hanno concluso che l'SRM è sorto perché la loro randomizzazione non era completamente casuale.
Per ottenere risultati sperimentali validi, la procedura di randomizzazione è fondamentale.
Un presupposto cruciale dei test statistici utilizzati nei test A/B è l'uso di campioni randomizzati. Tra i bucket degli esperimenti, la randomizzazione bilancia gli attributi degli utenti osservati e non osservati, stabilendo una relazione causale tra la caratteristica del prodotto in prova e qualsiasi differenza di risultato nei risultati dello studio.
SUGGERIMENTO PRO : Convert ha il suo algoritmo di randomizzazione che garantisce una distribuzione uniforme tra le variazioni, quindi SRM non può essere causato da questo. Tuttavia, se hai implementato la randomizzazione con un altro strumento, puoi seguire questi passaggi per raggruppare i visitatori nelle variazioni.
Esecuzione dell'esperimento
Quando si tratta di eseguire esperimenti, ci sono due ragioni principali che possono causare SRM nelle tue esperienze.
1. Lo script non è installato correttamente su una delle varianti
Controlla sempre se lo script della tua piattaforma di test A/B è installato correttamente su Original e Variations.
Il nostro team di assistenza clienti ha recentemente risolto un caso in cui lo script Converti non è stato aggiunto a una delle varianti, causando un SRM nel test.
Assicurati di aggiungere lo script in tutte le pagine in cui desideri eseguire l'esperienza, come mostrato di seguito:
2. Il targeting della pagina è configurato in modo errato
In questo caso, la mancata corrispondenza SRM è dovuta al fatto che il targeting del test è stato impostato in modo errato.
Con l'impostazione errata, alcuni visitatori vengono selezionati per essere inoltrati alla variante, ma il reindirizzamento non riesce, molto probabilmente perché l'espressione URL originale non corrisponde a tutti gli URL di tutti i visitatori inseriti nel bucket nel test e reindirizzati.
Per evitare ciò, riconfigura le espressioni degli URL delle varianti dell'esperimento ed esegui nuovamente il test.
Ecco altri due scenari che ti mostrano come impostare il targeting della tua pagina con Converti esperienze per evitare SRM sui test di Split URL.
Scenario 1: scegli come target solo la home page (https://www.convert.com) con l'URL diviso e passa tutti i parametri di query che i visitatori potrebbero avere
Qui, nell'area del sito, l'URL della pagina deve corrispondere esattamente a https://www.convert.com. Nella sezione di esclusione, la stringa di query deve contenere v1=true in modo da evitare eventuali reindirizzamenti (perché le condizioni dell'esperimento continueranno a corrispondere se finisci su https://www.convert.com ?v1=true e il traffico la distribuzione potrebbe risultare irregolare).
Quindi, quando definisci le tue variazioni, mantienile in questo modo:
Scenario 2: scegli come target tutte le pagine, non solo la home page (https://www.convert.com), con l'URL diviso e passa i parametri della query
Qui, devi definire la tua Area del sito con un "URL della pagina" che contiene https://www.convert.com . Nella sezione di esclusione, la query deve contenere v1=true.
Quando si definiscono le variazioni, utilizzare la ricetta regex di seguito per catturare tutte le pagine:
Elaborazione del registro degli esperimenti
Qui, come motivo principale degli SRM, identifichiamo i bot che possono indirizzare la tua esperienza. Puoi contattarci per controllare i registri aggiuntivi che conserviamo se riusciamo a trovare schemi insoliti sugli agenti utente.
Ad esempio, il nostro team di supporto ha assistito un cliente il cui test aveva SRM.
Nel loro caso, quando abbiamo filtrato il report per Browser=Other , abbiamo riscontrato una divisione irregolare e SRM. Ma quando abbiamo filtrato lo stesso rapporto per Browser=Chrome+Safari , non è stato rilevato alcun SRM e nessuna distribuzione irregolare.
Quindi, abbiamo controllato un paio di eventi in cui il browser era impostato su Altro e tutti mostravano un agente utente di "site24x7". Abbiamo subito capito che si trattava di una sorta di software di monitoraggio, il che è una fortuna poiché è pubblicitario e utilizza un programma utente distinto. Se questo fosse stato nascosto dietro un normale User Agent, sarebbe stato impossibile trovarlo.
Per risolvere il problema, siamo andati avanti e abbiamo aggiunto questo User-Agent all'elenco dei bot che escludiamo dal traffico. Sfortunatamente, questa modifica potrebbe avere un impatto sui dati futuri, dopo il momento aggiungiamo il bot all'elenco, ma almeno è stato trovato e corretto.
Analisi dell'esperimento
Questa categoria riguarda principalmente le esperienze impostate con l'attivazione manuale.
Questo accade ad esempio nelle applicazioni a pagina singola in cui è necessario occuparsi dell'attivazione da soli.
Quindi, ogni volta che devi farlo manualmente usando un codice simile a quello di seguito, presta molta attenzione ai potenziali SRM nel tuo test.
finestra._conv_q = _conv_q || []; window._conv_q.push(["run","true"]);
Interferenza sperimentale
Questo si riferisce a un intervento dell'utente in cui una delle variazioni viene messa in pausa durante l'esperienza. Immagina di avere un test dell'URL diviso in esecuzione da alcune settimane e, per errore o di proposito, metti in pausa la variazione e lasci solo l'originale in esecuzione.
Immediatamente dopo, e in base al traffico del tuo sito web, noterai l'SRM calcolato per il tuo test.
In questo caso, puoi escludere l'intervallo di date in cui la variazione è stata sospesa o reimpostare i dati dell'esperienza.
Motivi non sperimentali
Se nessuna delle categorie di cui sopra rivela la causa principale del tuo SRM, ti suggeriamo di aggiungere un software di monitoraggio degli errori sul tuo sito web (come Sentry) per identificare i problemi più profondi con il tuo sito.
Piattaforme di test A/B che supportano gli avvisi SRM
Ti starai chiedendo quali piattaforme di test A/B supportano questa funzionalità SRM e ti danno avvisi senza che tu debba calcolarlo da solo.
Abbiamo fatto la ricerca e compilato un elenco di strumenti.
Converti esperienze
A partire da dicembre 2021, abbiamo introdotto il nostro metodo SRM.
Se sei un utente, puoi abilitare i controlli SRM da Configurazione progetto > Altre impostazioni.
Quindi sarai in grado di vedere i tag SRM nei rapporti:
In modo ottimale
A settembre 2021 è stata ottimizzata l'open source di una soluzione di test sequenziale che chiunque può implementare per rilevare l'SRM.
Optimizely ha trasformato ssrm-test in un microservizio back-end pronto per la produzione che può essere eseguito su tutti gli esperimenti in esecuzione contemporaneamente.
Nella pagina dei risultati di Optimizely, puoi impostare avvisi e ottenere risultati in tempo reale dal test ssrm:
Michael Lindon, Optimizely Staff Statistician, afferma che l'SRM è un problema tipico che si verifica quando i test vengono eseguiti male.
Per eseguire un esperimento di prodotto, è necessaria una notevole quantità di infrastruttura, quindi potrebbero esserci degli errori. Ad esempio, se i visitatori del sito web non vengono inseriti in modo coerente in una variante dell'esperimento e convertono sia in condizioni originali che in condizioni di variazione, i dati ottenuti per quell'utente non sono validi per valutare l'impatto dell'esperimento.
La preoccupazione principale è quando SRM produce dati imprecisi che potrebbero influenzare le tue metriche e passare inosservati.
Adobe Target tramite MiaProva
Nell'aprile 2021, Adobe Target ha collaborato con MiaProva per fornire avvisi SRM sulle attività A/B.
Questi avvisi informano i clienti MiaProva che utilizzano Adobe Target quando viene rilevata una mancata corrispondenza. Questo approccio applica automaticamente un test del chi quadrato a ogni test A/B dal vivo.
Libro di crescita
GrowthBook è una piattaforma di test A/B open source con un motore di statistiche bayesiano e controlli SRM automatici per ogni esperimento.
Ogni esperimento cerca un SRM e avvisa gli utenti se ne viene identificato uno.
Quando si prevede una determinata suddivisione del traffico (ad es. 50/50), ma invece si vede qualcosa di drasticamente diverso (ad es. 40/60), si riceve un avviso. Viene visualizzato solo se il valore p è inferiore a 0,001, indicando che è estremamente improbabile che si verifichi per coincidenza.
I risultati di un tale test non dovrebbero essere attendibili poiché sono potenzialmente ingannevoli, da cui l'avvertimento. Gli utenti dovrebbero invece individuare e correggere l'origine del bug prima di riavviare l'esperimento.
Split.io
Split è una piattaforma di distribuzione delle funzionalità che alimenta la gestione dei flag delle funzionalità, la sperimentazione del software e la distribuzione continua.
Con ogni aggiornamento di calcolo, la piattaforma Split controlla il rapporto di campionamento per vedere se c'è una differenza sostanziale tra il rapporto di campionamento target e quello attuale. Questo controllo del rapporto di campionamento può essere trovato sotto il riepilogo delle metriche chiave e dell'organizzazione, insieme ad altri dettagli importanti come la durata e l'ultimo aggiornamento.
Rapporto dimensione campione non corrispondente demistificato
Potresti chiedere, quanto spesso è "normale" vedere un SRM?
Lukas Vermeer l'ha detto meglio. Anche le grandi aziende tecnologiche osservano una frequenza naturale degli SRM dal 6% al 10% nei loro esperimenti controllati online.
Ora, se l'SRM si ripete più frequentemente, ciò giustifica un'indagine più approfondita sul design dell'esperimento o sul sito web.
Il nostro team è sempre disponibile ad assisterti se riscontri problemi come quelli sopra! Clicca qui per contattare il nostro team.