Blog Metlivi

Come distinguere le risposte lente dall'abbandono (churn) in un prodotto di chat IA

Se le persone rispondono al proprio ritmo, una lunga pausa in una chat IA non è sufficiente per dimostrare che se ne siano andate. Per distinguere una cadenza lenta intenzionale da un problema di recapito o da un'attività non completata, registra la preferenza di risposta esplicita della persona separatamente dal recapito dei messaggi e dallo stato dell'attività. Tratta il silenzio da solo come un dato sconosciuto, non come prova di abbandono.

30 settembre 20267 min readLettura, arte e culturaDi Metlivi Editorial Team
Sezione 1

Perché il solo tempo trascorso classifica erroneamente gli utenti

Un intervallo di tempo è facile da misurare, ma non spiega cosa sia accaduto durante tale periodo. Qualcuno potrebbe aver scelto di tornare più tardi; una notifica potrebbe non aver raggiunto il dispositivo; l'app potrebbe non aver registrato un'attività completata; o semplicemente potrebbe non esserci alcuna nuova azione da osservare. Queste possibilità richiedono risposte diverse da parte del prodotto, pertanto raggrupparle sotto un'unica etichetta "inattivo" rende i dati sottostanti più difficili da interpretare.

I sistemi di messaggistica stessi distinguono le fasi di recapito. Firebase Cloud Messaging segnala invii, ricezione da parte dell'app Android, impressioni delle notifiche e aperture come metriche separate; un invio può significare che il messaggio è stato inserito in coda o passato a un servizio come APNs, non necessariamente che la persona lo abbia visto. Firebase segnala inoltre che alcuni report subiscono ritardi e che i suoi dati aggregati sul recapito presentano limiti di copertura. Firebase: Understanding message delivery

Tale distinzione suggerisce un'utile regola analitica: non dedurre mai la cadenza di risposta di una persona da un evento a monte come una richiesta di invio, e non trattare mai una mancata apertura o risposta come prova di un recapito fallito. Rileva ciò che il prodotto può osservare e lascia sconosciuti i risultati non osservati.

Sezione 2

Lascia che le persone indichino la cadenza di risposta preferita

Offri una preferenza semplice e facoltativa che risponda a una domanda pratica: quando la persona desidera che il prodotto inviti a una risposta o invii un promemoria? Usa opzioni comprensibili come "quando sono pronto", "più tardi oggi" o "ricordamelo in un giorno specifico", se tali opzioni si adattano al prodotto. Le opzioni esatte sono una decisione di design, non un'affermazione su ciò che un particolare utente preferisce.

Memorizza la selezione come preferenza utente con l'orario di aggiornamento e, ove applicabile, una condizione di scadenza o di fine. Una preferenza è un contesto duraturo sull'utilizzo scelto da quella persona per il prodotto; un intervallo di risposta è un dato di fatto relativo a una singola conversazione o messaggio. Le piattaforme di analisi fanno una distinzione simile tra proprietà utente, che descrivono un utente, e proprietà evento, che descrivono un'azione specifica. Amplitude: User properties and event properties

Rendi la preferenza facile da modificare o cancellare. Evita di convertire i tempi medi di risposta osservati in preferenze presunte: un pattern storico può aiutare a descrivere il comportamento passato, ma solo una scelta esplicita può indicare una preferenza dichiarata. Se non è presente alcuna preferenza salvata, registra il valore come sconosciuto anziché assegnare una cadenza predefinita per conto della persona.

Sezione 3

Traccia le attività della conversazione come stati osservabili

Definisci un piccolo set di stati delle attività basato su azioni che il sistema può verificare. Ad esempio: waiting_for_user, waiting_for_service, ready_for_user, completed e cancelled. Usa uno stato solo quando un evento o una risposta di sistema lo supporta. Un utente che invia un messaggio può spostare un'attività su waiting_for_service; una risposta andata a buon fine può renderla ready_for_user; un'azione di completamento esplicita può contrassegnarla come completed. Se una risposta o un aggiornamento di stato fallisce, registra l'errore e mantieni l'attività non risolta fino a quando un evento successivo non la chiarirà.

Associa un identificatore di conversazione o di attività a questi eventi, in modo che un analista possa ricostruire la sequenza. Registra l'ora dell'evento, il tipo di evento, lo stato corrente dell'attività e l'esito tecnico pertinente. Mantieni la preferenza a livello di utente separata dai dettagli per singola attività: "preferisce rispondere quando è pronto" può applicarsi a tutte le conversazioni, mentre "questa attività è in attesa di un'azione dell'utente" descrive un'interazione attuale. Nelle analisi basate su eventi, le proprietà evento rilevano il contesto al momento di un'azione, mentre le proprietà utente descrivono attributi che possono cambiare nel tempo. Amplitude: User properties and event properties

Questa separazione protegge anche l'interpretazione dello storico. Quando qualcuno modifica una preferenza, conserva il vecchio valore per gli eventi precedenti e usa il nuovo valore per quelli successivi; non riscrivere il passato come se la preferenza più recente fosse sempre stata valida. La documentazione di Amplitude descrive questo comportamento basato sulla cronologia temporale per le proprietà utente. Amplitude: User properties and event properties

Sezione 4

Separa lo stato del recapito dalle azioni dell'utente

Per ogni messaggio di chat o notifica in uscita, registra le fasi che l'integrazione espone effettivamente: tentativo di invio, accettazione da parte del servizio di messaggistica, recapito all'app se disponibile, visualizzazione se disponibile, apertura se disponibile e qualsiasi errore noto. Non inventare una conferma di avvenuta consegna che la piattaforma non fornisce. Sulle piattaforme Apple, APNs gestisce il recapito delle notifiche remote ai dispositivi dell'utente; questo ruolo di sistema è diverso dalla registrazione dell'avvenuta apertura della notifica da parte dell'utente. Apple: User Notifications

Usa gli esiti dell'infrastruttura come segnali dell'infrastruttura. Ad esempio, una richiesta fallita, un rifiuto del provider, un timeout o una coda in ritardo dovrebbero richiedere un'indagine sul recapito o sullo stato del servizio. Una richiesta di invio riuscita è solo una prova di quella fase specifica. Firebase spiega che la sua statistica di invio può rappresentare un messaggio accodato per il recapito o passato a un altro servizio, e che i suoi dati aggregati sul trasporto Android descrivono tendenze generali anziché ogni singolo messaggio. Firebase: Understanding message delivery

Per l'elaborazione interna dei messaggi, anche le conferme di ricezione (acknowledgments) necessitano di un'attenta lettura. Google Cloud Pub/Sub descrive i messaggi come in sospeso finché non vengono confermati e nota che i messaggi non confermati possono essere recapitati nuovamente dopo una determinata scadenza; i messaggi possono anche essere recapitati più di una volta. Questo è un utile promemoria per rendere l'elaborazione degli eventi tollerante ai duplicati e per distinguere una mancata conferma di elaborazione dalla mancata risposta di un utente. Google Cloud: Subscription overview

Sezione 5

Usa una regola di classificazione prudente

Un pratico schema decisionale può aiutare a mantenere le etichette mirate e basate su prove concrete:

Prova osservata: la persona ha selezionato una preferenza sui tempi di risposta e non si osserva alcuna azione più recente; Etichetta analitica appropriata: Preferenza registrata; risposta non ancora osservata; Cosa non stabilisce: che la persona se ne sia andata o che il recapito sia fallito

Prova osservata: una richiesta di servizio o una fase di recapito del messaggio è fallita o è andata in timeout; Etichetta analitica appropriata: Problema tecnico nella fase registrata; Cosa non stabilisce: il motivo per cui la persona non ha risposto

Prova osservata: il prodotto ha un passaggio successivo confermato in attesa di un'azione dell'utente; Etichetta analitica appropriata: Attività in attesa di azione dell'utente; Cosa non stabilisce: che l'attività sia stata abbandonata

Prova osservata: viene registrato un completamento, una cancellazione o un'altra azione finale; Etichetta analitica appropriata: Completata o cancellata, come osservato; Cosa non stabilisce: un giudizio più ampio sull'uso futuro

Prova osservata: la prova è mancante, in ritardo o contraddittoria; Etichetta analitica appropriata: Sconosciuta o richiede riconciliazione; Cosa non stabilisce: qualsiasi spiegazione comportamentale certa

L'etichetta "abbandono" (churn) dovrebbe richiedere una regola definita a livello di prodotto e prove sufficienti per tale regola; non dovrebbe essere un sinonimo di un lungo intervallo tra i messaggi. Se una dashboard ha bisogno di uno stato prima che le prove siano complete, "nessuna risposta recente osservata" è più preciso rispetto a formulare ipotesi sul perché la persona sia assente. Tratta tale stato come provvisorio e aggiornalo quando arrivano gli eventi differiti.

Sezione 6

Costruisci l'analisi attorno alla preferenza e allo stato dell'attività

Un'analisi di coorte utile valuta se le persone che scelgono esplicitamente una cadenza più lenta completano le attività dichiarate in un arco di tempo coerente con tale preferenza. Confronta elementi simili: raggruppa in base alla preferenza scelta e al tipo di attività, ed esamina separatamente i fallimenti di recapito, le richieste di servizio non risolte e gli eventi di completamento. Non trasformare l'intervallo di silenzio di una persona in un segnale di fallimento dell'intero prodotto; cerca pattern tra attività e condizioni di recapito comparabili.

Ad esempio, se una persona seleziona "quando sono pronto", la conversazione rimane aperta e il prodotto non ha registrato alcun errore di recapito o nuova azione da parte dell'utente, lo stato plausibile è "nessuna risposta osservata; preferenza registrata; attività ancora aperta". Se la risposta in uscita presenta un errore di servizio registrato, lo stato dovrebbe riflettere tale errore anche se è nota la preferenza della persona. Questa è una classificazione illustrativa basata sul modello di eventi sopra descritto, non un risultato misurato del prodotto.

Prima di utilizzare una metrica per prendere decisioni, verifica se gli eventi arrivano in ritardo, sono duplicati o risultano mancanti su determinate piattaforme. Firebase specifica che alcuni report di recapito sono ritardati e che le metriche aggregate possono omettere o arrotondare i risultati; Pub/Sub documenta la consegna at-least-once (almeno una volta) e la possibile riconsegna. Riconcilia gli eventi con identificatori stabili di messaggi o attività ed evita di conteggiare un nuovo tentativo come una seconda azione dell'utente. Firebase: Understanding message delivery, Google Cloud: Subscription overview

Sezione 7

Progetta i messaggi successivi in base alla scelta della persona

Se i messaggi successivi (follow-up) fanno parte del prodotto, fai in modo che riflettano la preferenza selezionata dalla persona. Un orario di promemoria scelto può regolare l'invio del promemoria stesso; "quando sono pronto" può significare l'assenza di solleciti basati sul tempo. Offri alla persona un modo chiaro per modificare tale scelta e rendi visibile lo stato attuale nella conversazione, così da consentirle di capire se il prodotto è in attesa di una sua azione, in attesa di un servizio o se l'operazione è terminata.

Usa l'analisi dei dati per individuare difetti tecnici e comprendere il completamento delle attività, non per creare certezze fittizie a partire dal silenzio. Le preferenze esplicite offrono il contesto, gli stati dell'attività mostrano il lavoro rimanente e gli eventi di recapito rivelano quali fasi tecniche sono note. Quando uno di questi elementi manca, mantieni l'incertezza nell'etichetta. Ciò produce una rappresentazione più utile delle risposte lente, lasciando all'utente il controllo su quando tornare.

Letture correlate

Continua a esplorare il tema