Changes for page 03 - Gli Algoritmi


From version 1.1
edited by administrator BDP
on 2017/09/01 16:02
Change comment: Changed document syntax from [XWiki 2.1] to [xwiki/2.1].
To version 2.2
edited by administrator BDP
on 2017/09/01 16:02
Change comment: Changed document title to [L'outbound ].

Summary

Details

Page properties
Title
... ... @@ -1,0 +1,1 @@
1 +L'outbound
Content
... ... @@ -1,0 +1,78 @@
1 += L'outbound__[[ >>path:#Loutbound_0]]__ =
2 +
3 +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>>path:../input/hashphones.Outbound]]__.
4 +\\\\
5 +
6 += Agent Based__[[ >>path:#Agent_Based_1]]__ =
7 +
8 +In questo tipo di __[[outbound>>path:../input/hashphones.outbound]]__ la richiesta di generazione della chiamata proviene direttamente dalla postazione dell'__[[operatore>>path:../input/hashphones.agenti#Operatore]]__. Ciò può avvenire in due modi:
9 +
10 +* attraverso un __[[modulo applicativo>>path:../input/hashphones.personalizzare-phonesenterprise]]__ collegato con la __[[PhoneBar>>path:../input/hashphones.phonebar]]__ (noto come __[[Driver di PhoneBar>>path:../input/hashphones.personalizzare-phonesenterprise#DriverDiPhoneBar]]__);
11 +* per azione diretta dell'__[[operatore>>path:../input/hashphones.agenti#Operatore]]__ che esegue __[[una chiamata manuale di outbound>>path:../input/hashphones.phonebar-howto#Fare_una_chiamata_di_outbound]]__ tramite la __[[PhoneBar>>path:../input/hashphones.phonebar]]__.
12 +
13 +
14 +Le chiamate __[[outbound>>path:../input/hashphones.outbound]]__ "Agent Based" compiute con __[[modulo applicativo>>path:../input/hashphones.personalizzare-phonesenterprise]]__, possono essere generate in due modi:
15 +
16 +* in automatico quando ad esempio il __[[Driver di PhoneBar>>path:../input/hashphones.personalizzare-phonesenterprise#DriverDiPhoneBar]]__ rileva che l'__[[operatore>>path:../input/hashphones.agenti#Operatore]]__ è in __[[stato disponibile>>path:../input/hashphones.agenti#Stati]]__
17 +* dietro esplicita richiesta dell'__[[operatore>>path:../input/hashphones.agenti#Operatore]]__.
18 +
19 +
20 +In ogni caso il __[[modulo applicativo>>path:../input/hashphones.personalizzare-phonesenterprise]]__ deve interfacciarsi con la __[[PhoneBar>>path:../input/hashphones.phonebar]]__ per:
21 +
22 +* inviare a **#phones** le richieste di generazione delle chiamate;
23 +* per ricevere notifiche dell'esito.
24 +
25 +
26 +Oltre a ciò, il __[[modulo applicativo>>path:../input/hashphones.personalizzare-phonesenterprise]]__ deve avere accesso anche ad una base dati centralizzata contenente i contatti da chiamare.
27 +\\L'__[[outbound>>path:../input/hashphones.outbound]]__ "Agent Based" è poco efficiente per le seguenti ragioni:
28 +
29 +* gli __[[operatori>>path:../input/hashphones.agenti#Operatore]]__ possono richiedere a **#phones** la generazione di una chiamata solo quando sono nello __[[stato di tipo disponibile>>path:../input/hashphones.agenti#Stati]]__.
30 +* La chiamata generata è strettamente connessa all'__[[operatori>>path:../input/hashphones.agenti#Operatore]]__; ciò comporta un periodo di inattività che corrisponde a:
31 +** tempo impiegato dal sistema per l'attesa della risposta;
32 +** tempo impiegato dal sistema per il trasferimento della chiamata all'__[[operatore>>path:../input/hashphones.agenti#Operatore]]__ (senza contare i casi in cui il cliente non risponde).
33 +
34 +
35 +Infine, la gestione del database dei contatti risulta essere distribuita sui PC degli __[[operatori>>path:../input/hashphones.agenti#Operatore]]__. Ciò comporta in genere dei problemi di accesso concorrente ai dati.
36 +\\\\
37 +
38 += Power Dialing__[[ >>path:#Power_Dialing_2]]__ =
39 +
40 +L'algoritmo di **Power Dialing** funziona nel modo seguente:
41 +
42 +1. un __[[agente umano>>path:../input/hashphones.agenti#<u>AgenteUmano_]]__, assegnato ad una __[[campagna di #phones>>path:../input/hashphones.campagne]]__ di un __[[servizio di outbound>>path:../input/hashphones.servizi#ServiziOutbound]]__, entra nello __[[stato disponibile>>path:../input/hashphones.agenti#Stati]]__;
43 +1. lo __[[stato disponibile>>path:../input/hashphones.agenti#Stati]]__ dell'__[[agente umano>>path:../input/hashphones.agenti#</u>AgenteUmano_]]__ viene rilevato dal modulo __[[Predictive Dialer>>path:../input/hashphones.outbound#_ProgrammipresentisulserverPhonesEnterprise_]]__ che immediatamente chiede al __[[Dialer>>path:../input/hashphones.dialer]]__ di generare una nuova chiamata.
44 +1. Il __[[Dialer>>path:../input/hashphones.dialer]]__, a sua volta, richiede al __[[Contact Provider>>path:../input/hashphones.contact-provider]]__, di quel __[[servizio di outbound>>path:../input/hashphones.servizi#ServiziOutbound]]__, un nuovo contatto telefonico e quindi invia a **#phones** la richiesta di una nuova chiamata.
45 +
46 +
47 +Il Power Dialing può essere eseguito in due modi:
48 +
49 +* con preallocazione dell'__[[agente>>path:../input/hashphones.Agenti]]__: appena un __[[agente>>path:../input/hashphones.Agenti]]__ diventa __[[disponibile>>path:../input/hashphones.agenti#Stati]]__, il sistema lo impegna collocandolo in __[[stato di preassegnazione>>path:../input/hashphones.agenti#Stati]]__ (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>>path:../input/hashphones.agenti#Operatore]]__ in __[[stato di preassegnazione>>path:../input/hashphones.agenti#Stati]]__;
50 +* senza preallocazione dell'__[[agente>>path:../input/hashphones.Agenti]]__: la chiamata generata non è destinata obbligatoriamente all'__[[agente che è diventato disponibile>>path:../input/hashphones.Agenti#Stati]]__, ma può essere assegnata ad un qualunque __[[agente>>path:../input/hashphones.agenti]]__ della __[[campagna di #phones>>path:../input/hashphones.campagne]]__, purché __[[disponibile>>path:../input/hashphones.agenti#Stati]]__. Se l'__[[agente>>path:../input/hashphones.Agenti]]__ per il quale è stata generata la chiamata si mette in __[[pausa>>path:../input/hashphones.agenti#Stati]]__ o riceve una chiamata in ingresso, la telefonata può essere:
51 +** instradata ad un altro __[[agente disponibile>>path:../input/hashphones.Agenti#Stati]]__
52 +** oppure collocata nella __[[campagna di coda>>path:../input/hashphones.campagne#Coda]]__ (se esiste).
53 +
54 +
55 +Il Power Dialing consente di assicurarsi che tutte le chiamate generate possano essere trasferite ad un __[[agente>>path:../input/hashphones.agenti]]__ e quindi ricevano il trattamento previsto. In termini di operatività degli __[[operatori>>path:../input/hashphones.agenti#Operatore]]__ però, ha delle prestazioni inferiori rispetto al __[[Predictive Dialing>>path:#_PredictiveDialing_]]__. Infatti, visto che viene generata una nuova chiamata solo nel momento in cui un __[[agente diventa disponibile>>path:../input/hashphones.Agenti#Stati]]__, questo rimarrà inattivo per il tempo che il chiamato impiega a rispondere ed il sistema a trasferire la chiamata al telefono dell'__[[operatore>>path:../input/hashphones.agenti#Operatore]]__ 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.
56 +\\\\
57 +
58 += Predictive Dialing__[[ >>path:#Predictive_Dialing_3]]__ =
59 +
60 +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>>path:../input/hashphones.agenti]]__ 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>>path:../input/hashphones.agenti#Stati]]__. Così non appena un __[[operatore>>path:../input/hashphones.agenti#Operatore]]__ __[[diventa disponibile>>path:../input/hashphones.Agenti#Stati]]__, esiste già una chiamata pronta che può essere trasferita a lui.
61 +\\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...)>>path:../input/hashphones.agenti#Stati]]__, 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>>path:../input/hashphones.outbound#_ProgrammipresentisulserverPhonesEnterprise_]]__ di generare una nuova chiamata.
62 +\\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>>path:../input/hashphones.agenti#Stati]]__, e momenti in cui vengono generate chiamate in surplus rispetto al numero di __[[operatori disponibili>>path:../input/hashphones.agenti#Stati]]__. Le chiamate in eccesso vanno gestite con i __[[criteri di coda.>>path:../input/hashphones.campagne-di-phones-proprieta#_SchedaCoda_]]__
63 +\\Lo scopo dell'algoritmo di Predictive Dialing è quello di minimizzare due valori al fine di aumentare l'operatività del contact center:
64 +
65 +* il tempo di attesa di una chiamata da parte di un __[[agente nello stato disponibile>>path:../input/hashphones.Agenti#Stati]]__.
66 +* 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>>path:../input/hashphones.outbound]]__).
67 +
68 +
69 +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>>path:../input/hashphones.servizi-le-proprieta#_SchedaPacing_]]__:
70 +
71 +* __[[Tipo>>path:../input/hashphones.outbound#Tipo]]__: indica quanto influisce negativamente avere __[[agenti disponibili>>path:../input/hashphones.agenti#Stati]]__ senza chiamate da trasferire loro. Un valore prossimo allo "0" indica all'algoritmo che è tollerato avere __[[agenti>>path:../input/hashphones.agenti]]__ in attesa prima di ricevere un chiamata; cioè ci si trova in una situazione simile al __[[Power Dialing>>path:#_PowerDialing_]]__, nel quale vengono effettuate chiamate solo quando si è certi di avere un __[[agente>>path:../input/hashphones.Agenti]]__ 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>>path:../input/hashphones.agenti]]__.
72 +* __[[Costo di cancellazione>>path:../input/hashphones.outbound#_Costodicancellazione_]]__: 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>>path:../input/hashphones.agenti#Stati]]__. 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.
73 +
74 +
75 +Questi due parametri sono di natura empirica e consentono all'__[[utente di #phones>>path:../input/hashphones.glossario#_Utente_]]__ 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>>path:../input/hashphones.agenti#Operatore]]__, 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.
76 +\\\\\\
77 +
78 +__[[Top>>path:#PageTop]]__