Changes for page 03 - Gli Algoritmi
From version 1.1
edited by administrator BDP
on 2017/09/01 16:02
on 2017/09/01 16:02
Change comment:
Changed document syntax from [XWiki 2.1] to [xwiki/2.1].
To version 2.1
edited by administrator BDP
on 2017/09/01 16:02
on 2017/09/01 16:02
Change comment:
Created by office importer.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- 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]]__