Wiki source code of 03 - Gli Algoritmi


Show last authors
1 {{box cssClass="floatinginfobox" title="**Sommario**" width="300px"}}
2 {{toc start=2 depth="3"/}}
3 {{/box}}
4
5 == L'outbound ==
6
7 L'outbound consiste nell'emissione di chiamate telefoniche eseguite dal sistema di contact center. In questo documento verranno esaminati i gli algoritmi di outbound presenti in **#phones**. Per una descrizione esaustiva dell'outbound consultare il seguente documento: [[Outbound>>doc:Outbound.WebHome]].
8
9 == Agent Based ==
10
11 In questo tipo di [[outbound>>doc:Outbound.WebHome]] la richiesta di generazione della chiamata proviene direttamente dalla postazione dell'[[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]]. Ciò può avvenire in due modi:
12
13 * attraverso un modulo applicativo collegato con la [[PhoneBar>>doc:PhoneBar.WebHome]] (noto come Driver di PhoneBar);
14 * per azione diretta dell'[[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]] che esegue [[una chiamata manuale di outbound>>doc:PhoneBar.WebHome]] tramite la [[PhoneBar>>doc:PhoneBar.WebHome]].
15
16 Le chiamate [[outbound>>doc:Outbound.WebHome]] "Agent Based" compiute con il modulo applicativo, possono essere generate in due modi:
17
18 * in automatico quando ad esempio il Driver di PhoneBar rileva che l'[[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]] è in [[stato disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]]
19 * dietro esplicita richiesta dell'[[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]].
20
21 In ogni caso il modulo applicativo deve interfacciarsi con la [[PhoneBar>>doc:PhoneBar.WebHome]] per:
22
23 * inviare a **#phones** le richieste di generazione delle chiamate;
24 * per ricevere notifiche dell'esito.
25
26 Oltre a ciò, il modulo applicativo deve avere accesso anche ad una base dati centralizzata contenente i contatti da chiamare. L'[[outbound>>doc:Outbound.WebHome]] "Agent Based" è poco efficiente per le seguenti ragioni:
27
28 * gli [[operatori>>doc:ifmhelpplatform.AgentiPhones.WebHome]] possono richiedere a **#phones** la generazione di una chiamata solo quando sono nello [[stato di tipo disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]].
29 * La chiamata generata è strettamente connessa all'[[operatori>>doc:ifmhelpplatform.AgentiPhones.WebHome]]; ciò comporta un periodo di inattività che corrisponde a:
30 ** tempo impiegato dal sistema per l'attesa della risposta;
31 ** tempo impiegato dal sistema per il trasferimento della chiamata all'[[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]] (senza contare i casi in cui il cliente non risponde).
32
33 Infine, la gestione del database dei contatti risulta essere distribuita sui PC degli [[operatori>>doc:ifmhelpplatform.AgentiPhones.WebHome]]. Ciò comporta in genere dei problemi di accesso concorrente ai dati.
34
35 == Power Dialing ==
36
37 L'algoritmo di **Power Dialing** funziona nel modo seguente:
38
39 1. un [[agente umano>>doc:ifmhelpplatform.AgentiPhones.WebHome]], assegnato ad una [[campagna di #phones>>doc:ifmhelpplatform.CampagnePhones.WebHome]] di un [[servizio di outbound>>doc:ServiziPhones.WebHome]], entra nello [[stato disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]];
40 1. lo [[stato disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]] dell'[[agente umano>>doc:ifmhelpplatform.AgentiPhones.WebHome]] viene rilevato dal modulo [[Predictive Dialer>>doc:Outbound.WebHome]] che immediatamente chiede al [[Dialer>>doc:ifmhelpplatform.Dialer.WebHome]] di generare una nuova chiamata.
41 1. Il [[Dialer>>doc:ifmhelpplatform.Dialer.WebHome]], a sua volta, richiede al Contact Provider, di quel [[servizio di outbound>>doc:ServiziPhones.WebHome]], un nuovo contatto telefonico e quindi invia a **#phones** la richiesta di una nuova chiamata.
42
43 Il Power Dialing può essere eseguito in due modi:
44
45 * con preallocazione dell'[[agente>>doc:ifmhelpplatform.AgentiPhones.WebHome]]: appena un [[agente>>doc:ifmhelpplatform.AgentiPhones.WebHome]] diventa [[disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]], il sistema lo impegna collocandolo in [[stato di preassegnazione>>doc:ifmhelpplatform.AgentiPhones.WebHome]] (così non può ricevere altre chiamate). In seconda battuta viene generata una nuova chiamata che, se correttamente connessa (quando riceve una risposta da parte dell'utente), viene passata all'[[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]] in [[stato di preassegnazione>>doc:ifmhelpplatform.AgentiPhones.WebHome]];
46 * senza preallocazione dell'[[agente>>doc:ifmhelpplatform.AgentiPhones.WebHome]]: la chiamata generata non è destinata obbligatoriamente all'[[agente che è diventato disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]], ma può essere assegnata ad un qualunque [[agente>>doc:ifmhelpplatform.AgentiPhones.WebHome]] della [[campagna di #phones>>doc:ifmhelpplatform.CampagnePhones.WebHome]], purché [[disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]]. Se l'[[agente>>doc:ifmhelpplatform.AgentiPhones.WebHome]] per il quale è stata generata la chiamata si mette in [[pausa>>doc:ifmhelpplatform.AgentiPhones.WebHome]] o riceve una chiamata in ingresso, la telefonata può essere:
47 ** instradata ad un altro [[agente disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]]
48 ** oppure collocata nella [[campagna di coda>>doc:ifmhelpplatform.CampagnePhones.WebHome]] (se esiste).
49
50 Il Power Dialing consente di assicurarsi che tutte le chiamate generate possano essere trasferite ad un [[agente>>doc:ifmhelpplatform.AgentiPhones.WebHome]] e quindi ricevano il trattamento previsto. In termini di operatività degli [[operatori>>doc:ifmhelpplatform.AgentiPhones.WebHome]] però, ha delle prestazioni inferiori rispetto al [[Predictive Dialing>>path:]]. Infatti, visto che viene generata una nuova chiamata solo nel momento in cui un [[agente diventa disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]], questo rimarrà inattivo per il tempo che il chiamato impiega a rispondere ed il sistema a trasferire la chiamata al telefono dell'[[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]] stesso; quindi per un tempo che può essere anche di 15-20 secondi, ma che va ad aumentare sensibilmente nel caso in cui si abbia una sequenza di contatti che non rispondono o sono occupati.
51
52 == Predictive Dialing ==
53
54 L'algoritmo di **Predictive Dialing** si occupa, tramite previsioni statistiche, di determinare quando e quante chiamate generare, al fine di ottimizzare il rendimento degli [[agenti>>doc:ifmhelpplatform.AgentiPhones.WebHome]] del contact center. L'algoritmo di Predictive Dialing si pone come obiettivo quello di prevedere la conclusione delle chiamate in corso e di generare quelle nuove quando gli [[agenti sono ancora in conversazione>>doc:ifmhelpplatform.AgentiPhones.WebHome]]. Così non appena un [[operatore>>doc:ifmhelpplatform.AgentiPhones.WebHome]] [[diventa disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]], esiste già una chiamata pronta che può essere trasferita a lui.
55
56 Per poter predire la fine delle chiamate, il modulo di Predictive Dialing tiene costantemente sotto controllo lo [[stato degli operatori (disponibile, in conversazione, in pausa , ecc...)>>doc:ifmhelpplatform.AgentiPhones.WebHome]], la durata delle telefonate e gli esiti delle stesse (risposte, occupate, non risposte). In base a tutti i dati disponibili e ad un sofisticato algoritmo basato su calcoli statistici, il Predictive Dialing determina il momento in cui chiedere al [[Dialer>>doc:Outbound.WebHome]] di generare una nuova chiamata.
57
58 Va osservato che l'algoritmo effettua normalmente un overbooking di chiamate per tenere conto delle chiamate occupate e non risposte. Vista la natura puramente statistica delle previsioni, mediamente le chiamate vengono fatte nel momento ritenuto più adatto; tuttavia non sono esclusi brevi momenti in cui non vi sono chiamate pronte per essere trasferite agli [[operatori disponibili>>doc:ifmhelpplatform.AgentiPhones.WebHome]], e momenti in cui vengono generate chiamate in surplus rispetto al numero di [[operatori disponibili>>doc:ifmhelpplatform.AgentiPhones.WebHome]]. Le chiamate in eccesso vanno gestite con i [[criteri di coda.>>doc:ifmhelpplatform.CampagnePhones.WebHome]]
59
60 Lo scopo dell'algoritmo di Predictive Dialing è quello di minimizzare due valori al fine di aumentare l'operatività del contact center:
61
62 * il tempo di attesa di una chiamata da parte di un [[agente nello stato disponibile>>doc:ifmhelpplatform.AgentiPhones.WebHome]].
63 * il tempo di attesa in coda di una persona chiamata da **#phones** (oppure il numero di chiamate a cui viene dato occupato nel caso in cui non esista la coda sull'[[outbound>>doc:Outbound.WebHome]]).
64
65 I due parametri sono legati tra di loro e la scelta su quale dei due privilegiare è del tutto soggettiva: dipende dal tipo di clientela chiamata. L'algoritmo di Predictive Dialing può essere facilmente regolato tramite due parametri, i cui valori sono compresi tra 0 e 1000, appartenenti alle [[proprietà del servizio di outbound>>doc:ServiziPhones.WebHome]]:
66
67 * [[Tipo>>doc:Outbound.WebHome]]: indica quanto influisce negativamente avere [[agenti disponibili>>doc:ifmhelpplatform.AgentiPhones.WebHome]] senza chiamate da trasferire loro. Un valore prossimo allo "0" indica all'algoritmo che è tollerato avere [[agenti>>doc:ifmhelpplatform.AgentiPhones.WebHome]] in attesa prima di ricevere un chiamata; cioè ci si trova in una situazione simile al [[Power Dialing>>path:]], nel quale vengono effettuate chiamate solo quando si è certi di avere un [[agente>>doc:ifmhelpplatform.AgentiPhones.WebHome]] a disposizione. Al contrario, valori alti del parametro inducono a generare un numero di chiamate superiore a quelle necessarie per cercare di impegnare il più possibile gli [[agenti>>doc:ifmhelpplatform.AgentiPhones.WebHome]].
68 * [[Costo di cancellazione>>doc:Outbound.WebHome]]: indica quanto influisce negativamente avere chiamate a cui viene dato l'occupato (o che vengono messe in attesa) a fronte di [[agenti tutti in conversazione>>doc:ifmhelpplatform.AgentiPhones.WebHome]]. Valori prossimi allo "0" indicano all'algoritmo che avere clienti che finiscono in coda non è considerato grave; valori alti spingono l'algoritmo a ridurre il numero di chiamate, appunto per ridurre le possibilità che un cliente finisca in coda.
69
70 Questi due parametri sono di natura empirica e consentono all'[[utente di #phones>>doc:Glossario.WebHome]] di influire sulla configurazione del programma. Non esiste una regola generale che permetta di decidere a priori i valori da assegnare a questi parametri. Sebbene l'algoritmo possa auto-regolarsi per quel che riguarda i parametri deterministici (il numero di [[operatori>>doc:ifmhelpplatform.AgentiPhones.WebHome]], durata media delle chiamate), non può fare altrettanto per quel che riguarda l'esito della chiamata che si sta per generare (se verrà risposto o meno, dopo quanto verrà risposto, ecc...). Solo sulla base dell'esperienza di utilizzo del sistema è possibile avere delle indicazioni relative ai parametri, che dipenderanno dal tipo di clienti che si hanno a quella determinata ora, in quel determinato giorno. Con il Predictive Dialing si rende quindi necessario avere una persona che si occupi di calibrare periodicamente i parametri, sulla base della produttività del contact center che si verifica in quel determinato momento.
71
72