La personalizzazione utilizza il machine learning, in particolare un algoritmo multi-armed bandit contestuale, per determinare l'esperienza ottimale per i singoli utenti al fine di raggiungere un obiettivo. Nel nostro caso, l'obiettivo è ottimizzare il numero totale o il valore totale dei parametri di eventi specifici Google Analytics eventi.
Che cos'è un algoritmo multi-armed bandit contestuale?
Il "multi-armed bandit" è una metafora utilizzata per descrivere la situazione in cui vogliamo scegliere continuamente un percorso che porti ai premi più elevati e affidabili da un elenco di più percorsi. Per visualizzare questo concetto, puoi usare la metafora di un giocatore d'azzardo davanti a una fila di slot machine, spesso chiamate colloquialmente "one-armed bandit" perché una slot machine ha una maniglia (o un braccio) e prende i tuoi soldi. Poiché vogliamo risolvere il problema di più "bracci", il one-armed bandit diventa il multi-armed bandit.
Ad esempio, supponiamo di avere tre opzioni e di voler determinare quale offre il premio più affidabile: potremmo provare ogni opzione e poi, dopo aver ricevuto un risultato, continuare a scegliere il braccio che ha prodotto più premi. Questo è ciò che viene definito algoritmo greedy: l'opzione che produce il risultato migliore al primo tentativo è quella che continueremo a scegliere. Tuttavia, possiamo capire che questo approccio potrebbe non funzionare sempre: innanzitutto, il premio elevato potrebbe essere un caso. Oppure, potrebbe esserci un contesto specifico dell'utente che ha portato a premi più elevati in quel periodo di tempo, ma che non sarebbe altrettanto efficace in seguito.
Pertanto, viene aggiunto il contesto per rendere l'algoritmo più efficace. Per Remote Config la personalizzazione, questo contesto iniziale è un campionamento casuale, o incertezza, che fornisce una certa entropia all'esperimento. In questo modo viene implementato un "multi-armed bandit contestuale ". Man mano che l'esperimento continua a essere eseguito, l'esplorazione e l'osservazione in corso aggiungono al modello un contesto appreso reale su quali bracci hanno maggiori probabilità di generare un premio, rendendolo più efficace.
Che cosa significa per la mia app?
Ora parliamo di cosa significa un algoritmo multi-armed bandit nel contesto della tua app. Supponiamo che tu stia ottimizzando i clic sugli annunci banner. In questo caso, i "bracci" della personalizzazione sarebbero i valori alternativi che specifichi per rappresentare i diversi annunci banner che vuoi mostrare agli utenti. Il clic sull'annuncio banner è il premio, che chiamiamo obiettivo.
Quando lanci per la prima volta una personalizzazione, il modello non sa quale valore alternativo avrà maggiori probabilità di raggiungere il tuo obiettivo per ogni singolo utente. Man mano che la personalizzazione esplora ogni valore alternativo per comprendere la probabilità di raggiungere il tuo obiettivo, il modello sottostante diventa più informato, migliorando la sua capacità di prevedere e selezionare l'esperienza ottimale per ogni utente.
La personalizzazione utilizza una finestra di persistenza di 24 ore. Questo è il periodo di tempo durante il quale l'algoritmo di personalizzazione esplora un singolo valore alternativo. Devi dare alle tue personalizzazioni un tempo sufficiente per esplorare più volte ogni valore alternativo (in genere circa 14 giorni). Idealmente, puoi lasciarli in esecuzione in modo permanente in modo che possano migliorare e adattarsi continuamente man mano che l'app e i comportamenti degli utenti cambiano.
Monitorare metriche aggiuntive
Remote Config personalizzazione offre anche la possibilità di monitorare fino a due metriche aggiuntive, per aiutarti a contestualizzare i risultati. Supponiamo che tu abbia sviluppato un'app social e abbia impostato valori alternativi diversi per incoraggiare gli utenti a condividere contenuti con gli amici per aumentare il coinvolgimento complessivo.
In questo caso, potresti scegliere di ottimizzare un Analytics evento come
link_received e impostare le due metriche su user_engagement e
link_opened per capire se il coinvolgimento degli utenti e il numero di link aperti dall'
utente aumentano (coinvolgimento reale) o diminuiscono (forse troppi link di spam).
Sebbene queste metriche aggiuntive non vengano prese in considerazione nell'algoritmo di personalizzazione, puoi monitorarle insieme ai risultati della personalizzazione, fornendo informazioni preziose sulla capacità della personalizzazione di raggiungere i tuoi obiettivi generali.
Comprendere i risultati della personalizzazione
Dopo che una personalizzazione è stata eseguita per un periodo di tempo sufficiente per raccogliere dati, puoi visualizzarne i risultati.
Per visualizzare i risultati della personalizzazione:
Nella console Firebase, vai alla pagina DevOps e coinvolgimento > Remote Config > Personalizzazioni.
Seleziona la personalizzazione che vuoi visualizzare. Puoi cercare la personalizzazione specifica per nome o obiettivo e ordinare per Nome, Ora di inizio o Incremento totale.
La pagina dei risultati riepiloga l'incremento totale, ovvero la differenza percentuale nel rendimento, che la personalizzazione fornisce rispetto al gruppo base di riferimento.
La pagina dei risultati mostra anche lo stato attuale della personalizzazione, gli attributi della personalizzazione e un grafico interattivo che:
Mostra una visualizzazione dettagliata giornaliera e totale del rendimento della personalizzazione rispetto alla base di riferimento.
Mostra il rendimento complessivo di ogni valore nel gruppo base di riferimento.
Mostra i risultati degli obiettivi e il rendimento rispetto alle metriche aggiuntive scelte, accessibili tramite le schede nella parte superiore del riepilogo.
Una personalizzazione può essere lasciata in esecuzione a tempo indeterminato e puoi continuare a visitare la pagina dei risultati per monitorarne il rendimento. L'algoritmo continuerà a imparare e ad adattarsi, in modo da poterlo fare quando il comportamento degli utenti cambia.
Comprendere l'eliminazione della personalizzazione
Puoi eliminare una personalizzazione utilizzando la Firebase console o rimuovendo un parametro di personalizzazione dal modello utilizzando l' Firebase Remote Config API. Le personalizzazioni eliminate non possono essere ripristinate. Per scoprire di più sulla conservazione dei dati, consulta Eliminazione dei dati.
Puoi anche eliminare le personalizzazioni eseguendo il rollback o importando un modello.
Rollback
Se il modello attuale contiene personalizzazioni e esegui il roll
back a un modello che non ha
le stesse personalizzazioni, queste vengono eliminate. Per ripristinare a
un modello precedente, utilizza la Firebase console o
roll back
utilizzando l'API Firebase Remote Config.
Quando elimini una personalizzazione ed esegui il rollback a un modello precedente, nella console Firebase viene visualizzato un riferimento a quella personalizzazione non valida. Puoi rimuovere la personalizzazione non valida dalla Firebase console modificando la personalizzazione nella scheda Parametri della Remote Config pagina.
Importazioni
L'importazione di un modello che non contiene più le personalizzazioni attuali comporta anche l'eliminazione di queste personalizzazioni. Per importare un modello, utilizza la console Firebase o utilizza l' Remote Config API REST.
Passaggi successivi
Esplora Remote Config personalizzazione casi d'uso.
Inizia a utilizzare Remote Config la personalizzazione.