CORSO WITNESS BASE - studiozeta.net fileCORSO WITNESS BASE - studiozeta.net
Transcript of CORSO WITNESS BASE - studiozeta.net fileCORSO WITNESS BASE - studiozeta.net
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
CORSO WITNESS BASE
© Copyright 2004-2014 Studio Zeta S.r.l. – Tutti i diritti sono riservati
La proprietà intellettuale e i diritti di sfruttamento economico di questo corso, appartengono a Studio Zeta S.r.l. Il Materiale didattico è tutelato dalle leggi sui diritti d’autore, dalle leggi sul copyright, e dalle leggi e disposizioni internazionali in materia di proprietà intellettuale. La riproduzione o divulgazione non autorizzata di questo materiale, o di parte di esso, in qualunque forma è vietata.
Contact Center V.3.5 Novembre 2014
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 2
Obiettivo del corso
Introdurre i partecipanti alla modellizzazione dei processi e alle tecniche di simulazione dinamica con Witness:
‒ principi di base della simulazione
‒ nozioni di base per la costruzione di modelli di simulazione dinamica applicati alla realtà dei contact center
‒ metodologia del progetto di simulazione
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 3
Struttura del corso
1. Introduzione alla simulazione dinamica
2. Witness: cenni storici e caratteristiche generali
3. Interfaccia Utente di Witness
4. Costruire un modello
5. Pause e After Call Work
6. Campionamento e distribuzioni di probabilità
7. Risorse
8. Action ed elementi logici
9. Debug
10. Turni
11. Input e output dei dati
12. Elementi grafici
13. Salvataggio di un modello
14. Analisi costi/benefici
15. Metodologia del progetto di simulazione
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 1 - INTRODUZIONE ALLA
SIMULAZIONE DINAMICA
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 5
Cos’è la simulazione?
La simulazione dinamica è
una tecnica della Ricerca Operativa
che consente di osservare e studiare “in-vitro”
il comportamento dinamico dei processi
attraverso un modello a calcolatore
che si comporta come il sistema reale stesso
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 6
Cos’è la simulazione?
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 7
A cosa serve
Misurare “in vitro” le prestazioni di un qualunque sistema
Confrontare scenari alternativi in modalità “What-if?”
Identificare i punti critici
Misurare le prestazioni al variare dei carichi di lavoro
Individuare margini di recupero di efficienza
Ricercare le regole gestionali e le logiche di flusso considerate “ottime”
… prima di rendere operativo il processo
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 8
PROGETTAZIONE REALIZZAZIONE
La simulazione dinamica Perché provare «in-vitro» anziché «in-vivo»?
ANALISI DELLE
SOLUZIONI
SCELTA
DELLA SOLUZIONE
PIANO DI
IMPLEMENTAZIONE IMPLEMENTAZIONE
GESTIONE DELLA
SOLUZIONE
Sintesi per
il management
Confronto
di scenari
alternativi
Creazione/Modifica
Scenario
Analisi dei
risultati
WHAT-IF LOOP
Esecuzione
Simulazione
“What-If”
Workshops
NUOVE IDEE
Decisione PILOTA VIRTUALE
STRESS TEST WHAT-IF?
AVVIAMENTO CONDUZIONE
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 9
La simulazione dinamica Perché provare «in-vitro» anziché «in-vivo»?
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 10
ROI
Benefici Tangibili ‒ Ottimizzare gli investimenti in capitale (Produrre di più a parità di capitale investito / produrre lo stesso con minori investimenti)
‒ Evitare gli investimenti inutili
‒ Ridurre i tempi di avviamento (Costo avviamento = Margine di contribuzione unitario * mancata produzione giornaliera * giorni di avviamento)
‒ Ridurre i costi nascosti (gestionali e operativi)
‒ Anticipare e contenere i rischi di progetto
Benefici Intangibili ‒ Rendere oggettive le scelte e le decisioni
‒ Aumentare la comprensione del sistema produttivo e del suo comportamento dinamico in chi lo dovrà gestire
‒ Aumentare l’efficienza del processo decisionale
‒ Aumentare la comunicazione (Nel gruppo di lavoro e verso i fornitori)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 11
La simulazione nei Contact Center
Consente di prevedere, prima di realizzare un nuovo contact center o cambiare un’organizzazione esistente, l’evolvere nel tempo degli indici di prestazione per servizio.
Ad esempio:
‒ Livello di servizio e Tasso di abbandono:
o Chiamate risposte entro il target
o Abbandoni
o Dissuasioni
‒ Saturazione degli Agenti (in Front-line, Back-Office e per Skill)
‒ Impegno delle linee e delle infrastutture
‒ Costo per chiamata
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 12
La simulazione nei Contact Center
Chiamate Offerte
0
50
100
150
200
250
300
350
400
450
500
0.00
1.00
2.00
3.00
4.00
5.00
6.00
7.00
8.00
9.00
10.0
0
11.0
0
12.0
0
13.0
0
14.0
0
15.0
0
16.0
0
17.0
0
18.0
0
19.0
0
20.0
0
21.0
0
22.0
0
23.0
0
Intervalli
Ch
iam
ate
Totale chiamate offerte
Servizio 1
Servizio 2
Servizio 3
Servizio 4
Dati di input
– Profilo giornaliero delle chiamate offerte
– Numero di Operatori
Operatori
0
10
20
30
40
50
60
7.00 8.00 9.00 10.00 11.00 12.00 13.00 14.00 15.00 16.00 17.00 18.00 19.00
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 13
La simulazione nei Contact Center
0
2
4
6
8
10
Servizi
TEMPI MEDI DI CONVERSAZIONE
TMC1
TMC2
TMC3
TMC4
TEMPO MEDIO DI CONVERSAZIONE
Dati di input
– Tempi medi di conversazione
– Tempi medi di abbandono
•0
•20
•40
•60
•80
•100
•120
•Origine della Chiamata
•TEMPI MEDI DI ABBANDONO
•Nord Ovest
•Nord Est
•Centro
•Sud
•TEMPO MEDIO DI ABBANDONO
•0
•20
•40
•60
•80
•100
•120
•Origine della Chiamata
•TEMPI MEDI DI ABBANDONO
•Nord Ovest
•Nord Est
•Centro
•Sud
•TEMPO MEDIO DI ABBANDONO
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 14
La simulazione nei Contact Center
Dati di input
– Instradamenti e Accodamenti agli Skill
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 15
La simulazione nei Contact Center
Abbandonate, tempo medio di attesa e tempo massimo di attesa
su Call Center
0
100
200
300
400
500
600
0.0
0
1.0
0
2.0
0
3.0
0
4.0
0
5.0
0
6.0
0
7.0
0
8.0
0
9.0
0
10.0
0
11.0
0
12.0
0
13.0
0
14.0
0
15.0
0
16.0
0
17.0
0
18.0
0
19.0
0
20.0
0
21.0
0
22.0
0
23.0
0
T A
tte
sa
0
5
10
15
20
25
30
N°
ab
ba
nd
on
i
T medio attesa
T max attesa
Abbandoni
Abbandonate, tempo medio di attesa e tempo massimo di attesa
su Call Center
0
100
200
300
400
500
600
0.0
0
1.0
0
2.0
0
3.0
0
4.0
0
5.0
0
6.0
0
7.0
0
8.0
0
9.0
0
10.0
0
11.0
0
12.0
0
13.0
0
14.0
0
15.0
0
16.0
0
17.0
0
18.0
0
19.0
0
20.0
0
21.0
0
22.0
0
23.0
0
T A
tte
sa
0
5
10
15
20
25
30
N°
ab
ba
nd
on
i
T medio attesa
T max attesa
Abbandoni
Risultati (Livello di servizio) – L’evolvere nel tempo delle chiamate risposte e abbandonate
– Distribuzione dei tempi di risposta
Distribuzione tempi di risposta (sec)
0
1000
2000
3000
4000
5000
6000
7000
8000
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 >
90
N° chiamate
Distribuzione tempi di risposta (sec)
0
1000
2000
3000
4000
5000
6000
7000
8000
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 >
90
N° chiamate
Distribuzione tempi di risposta (sec)
0
1000
2000
3000
4000
5000
6000
7000
8000
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 >
90
N° chiamate
Distribuzione tempi di risposta (sec)
0
1000
2000
3000
4000
5000
6000
7000
8000
5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 >
90
N° chiamate
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 16
La simulazione nei Contact Center
Risultati (Operatori)
– L’evolvere nel tempo della Saturazione degli operatori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 17
La simulazione ad eventi discreti
La simulazione ad eventi discreti progredisce nel tempo passando da un evento al successivo
Un evento è un mutamento di stato all’interno del modello
Esempio: ‒ Due tipologie di servizi A e B arrivano
su un IVR che smista le chiamate su due operatori.
‒ Tempo dell’IVR 3 min.
‒ Le chiamate A vengono servite da un operatore A1.
Tempo medio di conversazione: 7 min.
‒ Le chiamate B vengono servite da un operatore B1.
Tempo medio di conversazione: 4 min.
‒ Le chiamate vengono poi passate ad un operatore 2°Liv
Tempo medio di conversazione: 4 min.
‒ Il profilo di arrivo delle chiamate A e B è totalmente casuale
IVR
3 min. A A B B
Op_A
7 min.
Op_B
4 min.
Op_2°Liv
4 min
INPUT
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 18
La simulazione ad eventi discreti
Tempo T=0 ‒ Arriva la chiamata del servizio A
‒ L’IVR inizia a lavorare
‒ Nessun altro cambiamento di stato è possibile, il tempo avanza fino al prossimo evento (T=3)
A B B
INPUT
Scheduling • T=3 –> Fine Ciclo IVR
A
IVR
3 min.
Op_A
7 min.
Op_B
4 min.
Op_2°Liv
4 min
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 19
La simulazione ad eventi discreti
Tempo T=3 ‒ L’IVR finisce il ciclo
‒ La chiamata A va all’operatore Op_A
‒ L’operatore Op_A inizia a lavorare
‒ L’IVR è libero
‒ Arriva la chiamata B
‒ L’IVR inizia a lavorare
‒ Nessun altro cambiamento di stato è possibile, il tempo avanza fino al prossimo evento (T=6)
A
A B B
INPUT
Scheduling • T=6 –> Fine Ciclo IVR
• T=10 –> Fine Ciclo Op_A
IVR
3 min.
Op_A
7 min.
Op_B
4 min.
Op_2°Liv
4 min
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 20
La simulazione ad eventi discreti
Tempo T=6 ‒ L’IVR finisce il ciclo
‒ La chiamata B va all’operatore Op_B
‒ L’operatore Op_B inizia a lavorare
‒ L’IVR è libero
‒ Arriva una nuova chiamata A
‒ L’IVR inizia a lavorare
‒ Nessun altro cambiamento di stato è possibile, il tempo avanza fino al prossimo evento (T=9)
A
B
INPUT
Scheduling
• T=9 –> Fine Ciclo IVR
• T=10 –> Fine Ciclo Op_A
• T=10 –> Fine Ciclo Op_B
B
A
IVR
3 min.
Op_A
7 min.
Op_B
4 min.
Op_2°Liv
4 min
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 21
La simulazione ad eventi discreti
Tempo T=9 ‒ L’IVR finisce il ciclo
‒ L’operatore Op_A sta ancora lavorando
‒ L’IVR non può passare la chiamata A e rimane bloccato fino a quando l’operatore Op_A non finisce il ciclo
‒ Nessun altro cambiamento di stato è possibile, il tempo avanza fino al prossimo evento
A
A
B
B
INPUT
Scheduling • T=10 –> Fine Ciclo Op_A
• T=10 –> Fine Ciclo Op_B
IVR
3 min.
Op_A
7 min.
Op_B
4 min.
Op_2°Liv
4 min
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 22
La simulazione ad eventi discreti
Tempo T=10 ‒ L’operatore Op_A finisce il ciclo
‒ L’operatore Op_B finisce il ciclo
‒ L’operatore Op_A ha la precedenza e la chiamata A viene passata all’operatore Op_2°Liv
‒ L’operatore Op_B non può passare la chiamata B e rimane bloccato fino a quando l’operatore Op_2°Liv non finisce il ciclo
‒ L’IVR può passare la chiamata A all’operatore Op_A
‒ L’IVR è libero e prende la nuova chiamata B
‒ Nessun altro cambiamento di stato è possibile, il tempo avanza fino al prossimo evento (T=130)
B
INPUT
A
A
B
IVR
3 min.
Op_A
7 min.
Op_B
4 min.
Op_2°Liv
4 min
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 2 – WITNESS: CENNI
STORICI E
CARATTERISTICHE
GENERALI
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 24
Cenni storici (1/2)
1978 British Leyland Systems sviluppa SEE-WHY, il primo software di
simulazione con grafica animata in commercio
1980 SEE WHY vince a Londra il “British Computer Society Application
Software Award”
1984 British Leyland Systems rinomina se stessa ISTEL
1986 Nasce WITNESS: è il primo software di simulazione con struttura a
menu che permette la costruzione interattiva di modelli
1989 ISTEL viene acquisita da AT&T e diventa AT&T Istel
1989 WITNESS è disponibile in ambiente windows e permette la
creazione di modelli senza limitazione nel numero di elementi.
1989 Viene venduta la 1000-esima licenza
1992 WITNESS viene distribuito negli Stati Uniti e in Europa da AT&T Istel
1996 STUDIO ZETA diviene distributore unico per l’Italia e costituisce il primo gruppo di competenza sulla simulazione
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 25
Cenni storici (2/2)
1996 La divisione che ha progettato WITNESS si stacca dalla AT&T e costituisce la LANNER Group Ltd, finanziata da 3i
2000 WITNESS fornisce il supporto per la modellizzazione 3D
2002 Viene lanciata la versione di WITNESS per il settore Servizi
2007 WITNESS vince l’ICT award per il prodotto software più innovativo
2009 LANNER Group Ltd. stabilisce la sua presenza in Cina
2012 La tecnologia della simulazione viene resa disponibile su Cloud
2014 Con uffici in Europa, negli Stati Uniti e in Asia, LANNER lavora per
aziende leader e organizzazioni governative nel mondo, attraverso
una rete globale di esperti e partner che forniscono la stessa agilità
di risposta in tutto il mondo.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 26
Caratteristiche generali
Witness è un software di simulazione dinamica ad eventi discreti
Combina una grafica animata a colori con l’interazione dell’utente
Non è un linguaggio di programmazione
Non viene compilato
E’ adatto anche a chi non è esperto di programmazione
E’ facile da usare (Easy of Use)
E’ perfettamente integrato con il mondo Microsoft ( ad esempio:
Visual Basic o EXCEL per l’input/output dei dati)
E’ generico (permette di modellizzare qualsiasi processo)
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 3 – INTERFACCIA
UTENTE DI WITNESS
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 28
Witness a prima vista
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 29
Interfaccia Utente
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 30
Selettore degli elementi - Model
Simulation: elenco degli elementi presenti nel
modello corrente
Designer: elenco degli elementi presenti nella
pagina selezionata del Designer Element
System: variabili/oggetti di sistema
Type: elenco di tutte le tipologie di elementi
presenti in Witness
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 31
Selettore degli elementi - Assistant
Permette l’inserimento guidato nel modello di funzioni,
regole di ingresso/uscita, azioni, distribuzioni ed
elementi di sistema (varibili, attributi etc)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 32
Barre degli strumenti - RUN
• Begin: Riporta il modello all’istante iniziale
• Step back: Riporta la simulazione allo step precedentemente salvato
• Stop
• Salvataggio automatico di step intermedi
• Step: Avanzamento passo passo
• Run: Avanzamento a velocità “normale”
• Step forward: Avanzamento allo step successivo precedentemente salvato
• Batch: Avanzamento “veloce” senza grafica
• Selezione della durata della simulazione
• Durata della simulazione (in unità di tempo simulato)
• Selezione della velocità di movimento delle icone in modalità run
• Trace: registra ogni evento che avviene durante la simulazione in un file
• Meteor trail: registra i flussi di entità
• Abilita la funzione di Watch
• Tempo corrente nella simulazione
• Selezione della velocità di avanzamento del tempo in modalità run
• Valore del warmup (i.e. istante dopo il quale il sistema registra le statistiche)
studio zeta Processi e Organizzazione Barre degli strumenti - Element
Visualizza/Nasconde l’albero degli elementi
Visualizza/Nasconde l’assistente
Seleziona un gruppo di oggetti (e.g. per le statistiche)
Crea un nuovo gruppo di oggetti
Elemento correntemente selezionato
Regole di input/output grafiche
Modalità rapida di creazione delle regole di Input/Output
Definizione di un nuovo elemento (Define)
Dettaglio dell’elemento selezionato (Detail)
Grafica dell’elemento selezionato (Display)
Modifica della grafica (Update)
Eliminazione dell’elemento selezionato (se possibile)
Eliminazione della parte grafica dell’elemento selezionato
Clone dell’elemento selezionato
Copia del dettaglio
Copia del display
Incolla dettaglio/display
Crea di un elemento nel Designer Element
Crea un modulo
Guasto forzato dall’utente
Riparazione di un guasto forzato
Opzioni di raggruppamento della parte grafica
Page 33 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 34
Finestre di dialogo e Editor
studio zeta Processi e Organizzazione Windows e Layers
Dal menu: Window -> Control
Tasto “*” sulla finestra
Page 35 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Interact Box
Dal menu : View -> Interact Box
Page 36 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Gli orologi
Analogico : View -> Clock
Digitale : View -> Time
Page 37 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Gli orologi
Page 38 © Copyright 2014 Studio Zeta S.r.l.
• Model -> Clock per configurare l’orologio digitale e il calendario
Configura l’unità di tempo
Imposta l’ora iniziale
Determina come verrà
visualizzato il trascorrere del
tempo
Imposta la data iniziale
Per dettagliare un periodo di lavoro e delle
vacanze
Nella Toolbar
Finestra TIME
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 39
Help File
“F1” oppure il menu <Help>
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 4 - COSTRUIRE UN
MODELLO
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 41
Costruire un modello
PASSI DA SEGUIRE
DEFINE
DISPLAY DETAIL
Combinati
(Designer
Elements)
oppure
Uno alla volta
studio zeta Processi e Organizzazione Designer Element
Selezionare un elemento dalla finestra “designer element”
Trascinare con il mouse nella finestra principale, dove si intende collocare l’elemento
Page 42 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Definire un elemento
Menu Elements -> Define
Tasto destro del mouse -> Define
Page 43 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Visualizzare un elemento
Menu Elements -> Display
Tasto destro del mouse -> Display
Page 44 © Copyright 2014 Studio Zeta S.r.l.
• Prima lista (combo): Azione
• Seconda lista (combo): caratteristica da rappresentare
• Tastini: Strumenti
studio zeta Processi e Organizzazione Visualizzare un elemento
Page 45 © Copyright 2014 Studio Zeta S.r.l.
• Disegnare o modificare un elemento
• Cancellare un elemento
• Organizzare i Layers
• Legare tutti gli elementi grafici dell’elemento
• Griglia ON/OFF
• HELP
• Salvataggio
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 46
Risultato visualizzazione
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 47
Dettagliare un elemento
Menu Elements -> Detail
Tasto destro del mouse sull’elemento selezionato -> Detail
Doppio click con il tasto sinistro del mouse sull’elemento
studio zeta Processi e Organizzazione
Versione Service
Versione Manufacturing
Entity Part
Queue Buffer
Activity Machine
Page 48 © Copyright 2014 Studio Zeta S.r.l.
Gli Elementi di base
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 49
Le Entità
Sono utilizzate per rappresentare elementi discreti che si muovono nel modello (chiamate telefoniche, pazienti di un ospedale, motori, componenti elettronici..)
Possono essere trattate singolarmente, assemblate, separate o “lottizzate”
Durante la simulazione possono trasformarsi in altre entità
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 50
Dettagliare un’Entità
studio zeta Processi e Organizzazione Profilo di arrivo delle Entità
“Import…” per importare il profilo di arrivo da un file di testo (*.txt)
Page 51 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 52
Le Code
Sono utilizzate per immagazzinare entità (coda di telefonate ad un Contact Center, area di una fabbrica dove le entità vengono depositate in attesa di una successiva operazione, reception di un Pronto Soccorso, ecc.)
Sono elementi generalmente “passivi”: non prelevano attivamente entità né le spingono verso un altro elemento
È possibile definire dei tempi massimi (ad esempio Time-Out o tempi di abbandono) e minimi (ad esempio stagionatura o cottura) che le entità devono trascorrere nella coda
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 53
Dettagliare una Coda
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 54
Le Attività
• Sono elementi che operano sulle entità per un certo periodo di tempo -“Durata”- (operatore di un Contact Center, pressa, tornio, robot, Pronto Soccorso, ecc.)
• Sono elementi normalmente “attivi”: possono prelevare attivamente entità e spingerle verso un altro elemento
• Possono processare una sola entità alla volta oppure un intero lotto; possono assemblare o disassemblare entità
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 55
Dettagliare una Attività
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 56
Tipi di Attività
Single Activity
Batch Activity
IN OUT
IN OUT
studio zeta Processi e Organizzazione Tipi di Attività
Join Activity
Split Activity
Page 57 © Copyright 2014 Studio Zeta S.r.l.
IN OUT Join quantity= 3
IN OUT
X
X Y Y Y
Split quantity = 3
Entity Type = Y
studio zeta Processi e Organizzazione Tipi di Attività
General Activity
Multiple Task Activity
Multiple Station Activity
Page 58 © Copyright 2014 Studio Zeta S.r.l.
IN OUT
Task 1 Entity IN = 2 Entity OUT=0
Any Number IN Any Number OUT
IN OUT Station = 6 Entity = 2
Task 2 Entity IN = 1 Entity OUT=1
Task 3 Entity IN = 0 Entity OUT=2
studio zeta Processi e Organizzazione Tipi di Attività – Multiple Task Activity
Esempio : – L’operatore riceve una chiamata – La processa per 3 minuti (Prima fase) – Preleva una pratica da compilare con il Cliente – Ci mette 1 minuto a compilarla (Seconda fase) – Evade la chiamata e archivia la pratica
Page 59 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Tipi di Attività – Multiple Task Activity
Page 60 © Copyright 2014 Studio Zeta S.r.l.
Task 1 Task 2 Task 3
A
B
C
D
E
F
G
Task 1
Input qty: 2
Finish qty: 1
Output qty: 0
Task 2
Input qty: 0
Finish qty: 2
Output qty: 1
Task 3
Input qty: 1
Finish qty: 1
Multiple Task Activity
studio zeta Processi e Organizzazione Muovere le entità nel modello
Regole di ingresso (INPUT RULE) – Barra degli strumenti
Regole di uscita (OUTPUT RULE) – Barra degli strumenti
Per visualizzare il flusso: Element Flow – Menu : View -> Element Flow
Page 61 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 62
WAIT
L’elemento non ha una regola di ingresso, attende fino a quando un’entità non arrivi attivamente sull’elemento oppure non gli venga passata da un altro elemento
PULL (PUSH)
Richiama le entità da una lista di elementi nell’ordine previsto.
Es.: PULL A FROM B1,B2
L’elemento cerca un’entità A prima nella coda B1 e se non la trova la cerca nella coda B2
MOST ENTITIES / (MOST FREE)
Richiama le entità dall'elemento con il maggior numero di entità o da quello con il maggior spazio libero. Es.: MOST ENTITIES B1,B2
LEAST ENTITIES / (LEAST FREE)
Richiama le entità dall'elemento con il minor numero di entità o da quello con il minor spazio libero. Es.: LEAST FREE B1, B2
Riepilogo Regole di Input (Output)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 63
Riepilogo Regole di Input (Output)
PERCENT
Richiama un’entità da un'origine scelta eseguendo un campionamento "random" su una lista di possibili origini. Es.: PERCENT / 1 B1 70.0, B2 30.0
L’elemento preleva le entità in modo “random” il 70% da una coda B1, il 30% da una coda B2
SEQUENCE
Richiama le entità da una lista di elementi rispettando una determinata sequenza (Failure Rule).
Es.: SEQUENCE / WAIT B1 # (1), B2 # (1), B3 # (1)
Prende 1 entità da B1 quindi 1 da B2, quindi 1 da B3; se non vi sono entità disponibili aspetta fino a che ve ne sia una.
Es.: SEQUENCE / NEXT B1#(1), B2#(2), B3#(1)
come sopra ma se un’entità non è disponibile continua provando quella successiva nella sequenza.
Es.: SEQUENCE / RESET B1#(1), B2#(2), B3#(1)
come sopra, ma se un’entità non è disponibile riprende la sequenza dall'inizio.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 64
Riepilogo Regole di Input (Output)
SELECT
Richiama le entità a seconda del risultato di una espressione.
Es.: SELECT on X Q1, Q2
Se X = 1 l’elemento prende un’entità da una coda Q1 altrimenti se X = 2 prende un’entità da Q2.
IF
Esecuzione in base alla condizione:
Es. IF NENTS (B1) >5
PULL from B1
ELSE
PULL from B2
ENDIF
Se ci sono più di 5 entità nella coda B1 prende un’entità da B1, altrimenti prende un’entità da B2.
Non è una regola di input/output, ma piuttosto un metodo per combinare insieme diverse regole.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 65
Riepilogo Regole di Input (Output)
QUEUE
Regola valida solo per le attività. Consente di creare una coda di Input dedicata
Es.: QUEUE (5)
L’attività ha una coda in input con capacità di 5 entità da cui preleva
MATCH
Consente all’elemento di scegliere selettivamente le entità. La regola Match può essere eseguita con tre differenti opzioni.
Es.: MATCH / ANY (B1#1 AND B2#2)
L’elemento selezionerà un’entità da B1 e due entità da B2.
Es.: MATCH / ATTRIBUTE COLOUR CHASSIS#1 AND DOORBUFF#4
L’elemento selezionerà entità con lo stesso valore di uno specificato attributo. Nell’esempio verrà richiamata una entità dall’elemento Chassis e 4 entità dal DOORBUFF tutte dello stesso colore.
Es.: MATCH / CONDITION (ATT2=5 AND ATT3=1) B1#1 AND B2#1 OR B3#2
L’elemento selezionerà entità con certe condizioni. Nell’esempio riportato verrà prelevata un’entità da una coda B1 e una da una coda B2 o entrambe da una coda B3. La condizione della selezione è quella per cui l’attributo ATT2 è uguale a 5 e ATT3 è uguale a 1.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 66
Origini e destinazioni delle entità
Le entità in ingresso al modello vengono prelevate da un’origine a capacità infinita
Le entità in uscita dal modello vengono inviate a destinazioni a capacità infinita
World
Lost
Served
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 67
Esercizi – Premessa
Gli esercizi di questo corso sono finalizzati a fare apprendere ai partecipanti l’uso applicato delle funzionalità offerte da Witness per la costruzione dei modelli.
Sono volutamente semplici per dare la possibilità ai partecipanti di focalizzare la propria attenzione sull’apprendimento delle funzionalità utilizzate e non sulla bontà del risultato numerico.
Si parte da un modello base che, con un approccio incrementale, viene via via arricchito di nuove funzionalità a mano a mano che queste vengono spiegate in teoria
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 69
Esercizio 4.1 – Costruire un modello
Obiettivo dell’esercizio
Costruzione di un modello base utilizzando entità, attività e code
Sperimentazione What-if
Descrizione
Un contact center è dimensionato per rispondere alle chiamate di tre diverse tipologie di servizi.
Le chiamate relative ai tre servizi (A, B e C) entrano rispettivamente su tre code dedicate Q1, Q2 e Q3. Un Risponditore automatico (ACT10) preleva una singola chiamata da una delle code, la processa e la inserisce nella coda degli operatori (Q4).
Un operatore preleva la chiamata dalla coda, la processa e la evade. Quest'ultima attività viene eseguita da due Operatori con le medesime caratteristiche (ACT20).
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 70
Esercizio 4.1 – Costruire un modello
Layout
ACT10
Q1
Q2
Q3
Q4 ACT20 ACT20
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 71
Esercizio 4.1 – Costruire un modello
Dati
Frequenza di arrivo delle chiamate:
‒ A: 1 ogni 2.5 minuti
‒ B: 1 ogni 5 minuti
‒ C: 1 ogni 7.5 minuti
Capacità delle code:
‒ Q1, Q2, Q3: 10 chiamate
‒ Q4: 50
Tempi medi di gestione per chiamata:
‒ ACT10 0.3 minuti
‒ ACT20 4.0 minuti
Icone da utilizzare
‒ Risponditore automatico: ICON = 288
‒ Operatori: ICON = 164
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 72
Esercizio 4.1 – Costruire un modello
Risultati attesi analizzando un periodo di 24 ore
Tempi medi di attesa in coda
Numero massimo di chiamate nella coda operatori
Saturazione degli operatori
Saturazione del risponditore automatico
What-if analysis
Effettuare alcuni esperimenti provando a variare:
‒ La regola di prelievo dalle code del risponditore ACT10
‒ Il numero di operatori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 73
Risultati Esercizio 4.1
2 Operatori
3 Operatori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 74
Risultati Esercizio 4.1
2 Operatori
3 Operatori
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnato
--- Attesa chiamata
Operatori Chiamate
Operatori Chiamate
studio zeta Processi e Organizzazione Statistiche
Informazioni in tempo reale (durante il run di simulazione)
Page 75 © Copyright 2003-2007 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Statistiche
A simulazione ferma Tasto destro del mouse -> Statistics…
Tasto Statistics Report dalla barra degli strumenti
Page 76 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Statistiche
Formato numerico
Si può selezionare, copiare ed incollare su Excel
Page 77 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Statistiche
Formato grafico
Page 78 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 79
Statistical Report
Summary Report
Explode
Used (Dove viene richiamato l’elemento)
Barra degli strumenti - Reporting
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 81
Esercizio 4.2
Obiettivo dell’esercizio
Introduzione di un tempo massimo di attesa in coda
Sperimentazione What-if
Descrizione
Si è notato che l’utente che ha effettuato la chiamata, dopo essere stato messo in attesa sulla coda operatori in genere riattacca dopo 2 minuti di attesa.
Dati
Tempo medio di abbandono: 2 minuti
Scegliere come regola di prelievo per ACT10 una Sequence/Next
2 Operatori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 82
Esercizio 4.2
Risultati attesi
Numero di abbandoni
Saturazione operatori e risponditore automatico
What-if analysis
Quanti operatori sarebbero necessari per ridurre a zero il numero di abbandoni?
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 83
Esercizio 4.2
2 Operatori
3 Operatori
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnato
--- Attesa chiamata
Operatori
Chiamate
Chiamate
Operatori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 85
Esercizio 4.3
Obiettivo dell’esercizio
Introduzione di un profilo di arrivo delle entità
Sperimentazione What-if
Descrizione
Il gruppo di lavoro ha rilevato che le chiamate arrivano sulla base del seguente profilo orario:
Dati
Operatori ACT20: 2
A B C
10 4 2
12 3 3
11 6 4
14 8 6
15 7 3
18 10 7
23 12 8
28 15 9
33 17 11
38 19 13
40 23 16
34 21 13
24 17 11
23 10 6
27 11 9
35 16 10
33 17 12
31 15 9
34 16 10
26 13 9
22 11 8
18 8 6
15 4 3
12 5 4
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 86
Esercizio 4.3
Risultati Attesi
Tempi medi di attesa in coda
Numero massimo di chiamate nella coda operatori
Numero di abbandoni
Saturazione operatori e risponditore automatico
What-if analysis
Quanti operatori sarebbero necessari per ridurre a zero il numero di abbandoni?
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 87
Risultati Esercizio 4.3
2 Operatori
3 Operatori
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnato
--- Attesa chiamata
Operatori
Operatori
Chiamate
Chiamate
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 88
Risultati Esercizio 4.3
6 Operatori
7 Operatori
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnato
--- Attesa chiamata
Operatori
Operatori
Chiamate
Chiamate
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 5 – PAUSE E AFTER
CALL WORK
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione Pause / Fermate
I guasti o fermate non programmate possono essere assegnate:
– Available time – sul tempo disponibile
– Busy time – sul tempo lavorato
– Tasks – sul numero di operazioni effettuate
Page 90 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Pause / Fermate interattive
Per “bloccare” una attività 1. Fermare la simulazione
2. Selezionare l’attività interessata facendo click sullo schermo.(Il nome appare nel box di selezione)
3. Premere il tasto con l’icona riportata qui di fianco.
L’ATTIVITA’ SI FERMA IMMEDIATAMENTE.
Per “riavviare” l’attività 1. Fermare la simulazione
2. Selezionare l’attività interessata facendo click sullo schermo. (Il nome appare nel box di selezione)
3. Premere il tasto con l’icona riportata qui di fianco.
L’ATTIVITA’ VIENE RIAVVIATA IMMEDIATAMENTE.
Page 91 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione After Call Work / Setup
I setup o riattrezzaggi (attività produttive che occupano l’attività non direttamente sull’entità da lavorare) possono essere assegnati:
– Number Of Tasks – sul numero di operazioni
– Entity change – al cambiamento delle tipologia di entità lavorata
– Value Change – quando cambia un certo valore Page 92 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 94
Esercizio 5.1 – Pause e After Call Work
Obiettivo dell’esercizio
Introduzione delle pause e dell’After Call Work nelle attività
Sperimentazione What-if
Descrizione
Il contratto degli operatori ACT20 prevede che ogni due ore gli operatori si assentino dalla loro postazione per una pausa di 15 minuti.
Inoltre ogni 20 chiamate risposte, gli operatori devono compilare dei moduli di feedback. Tale operazione richiede 1.5 minuti.
Dati
Operatori ACT20: 3
studio zeta Processi e Organizzazione Esercizio 5.1 – Pause e After Call Work
Risultati Attesi
Tempi medi di attesa in coda
Numero massimo di chiamate nella coda operatori
Numero di abbandoni
Saturazione operatori e risponditore automatico
What-if analysis
Quanti operatori sarebbero necessari affinché gli abbandoni non superino il 15% delle chiamate offerte?
Page 95 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Risultati Esercizio 5.1
Page 96 © Copyright 2014 Studio Zeta S.r.l.
3 Operatori
6 Operatori
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnati
--- Attesa chiamata
--- Pausa
--- After Call Work
Operatori
Operatori
Chiamate
Chiamate
studio zeta Processi e Organizzazione Risultati Esercizio 5.1
Page 97 © Copyright 2014 Studio Zeta S.r.l.
6 Operatori
Senza pause
6 Operatori
Con pause
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnati
--- Attesa chiamata
--- Pausa
--- After Call Work
Operatori
Operatori
Chiamate
Chiamate
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 6 - CAMPIONAMENTO E
DISTRIBUZIONI DI
PROBABILITA’
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
Numeri casuali – (PRN) Pseudo random
numbers
Disconnesse
Riproducibili
Page 99 © Copyright 2014 Studio Zeta S.r.l.
WITNESS
Stringa #1 Stringa #2 …con’t.. Stringa #3 Stringa #1000
.7432
.1122
.4383
.5437
.1001
.2645
.6456
.8901
.4412
.9971
.8712
.4378
.3988
.3312
.7213
.2213
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 100
Stringhe e sottostringhe
Witness mette a disposizione 4 miliardi di stringhe
diverse di numeri pseudo-casuali.
Ciascuna stringa contiene 10,000 sottostringhe.
Le sottostringhe vengono utilizzate quando gli elementi
hanno quantità maggiore di 1: ciascuna istanza
dell'elemento utilizzerà una sottostringa diversa della
stessa stringa principale
0.4714 0.5146 0.1139 0.9526 0.3865 0.8601 … … … 0.9526 0.3865 0.8601 …
Stringa 1
Sottostringa 1 Sottostringa 2 Sottostringa 10.000
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 101
Assegnazione stringhe e sottostringhe
Sono possibili due metodi di assegnazione delle stringhe di numeri pseudo-casuali:
‒ Assegnazione automatica: Witness assegna automaticamente e in modo univoco la stringa e la sottostringa da utilizzare nella distribuzione corrente.
Uniform (10,20): viene assegnata automaticamente alla distribuzione la stringa e la sottostringa di numeri pseudo-casuali
‒ Assegnazione manuale: l’utente sceglie la stringa da cui estrarre i numeri per la distribuzione corrente.
Uniform (10,20,3): viene assegnata alla distribuzione la stringa numero 3
Le stringhe da 1 a 1000 sono riservate all’assegnazione manuale
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 102
Assegnazione stringhe e sottostringhe
Esempi di assegnazione manuale delle stringhe:
‒ Normal(10,20,43): verrà utilizzata la stringa “43”
‒ Normal(10,20,43,10): verrà utilizzata la sottostringa "10"
della stringa "43"
‒ Normal(10,20,43,N): se la distribuzione è utilizzata ad
esempio nella durata di una attività di quantità 5 verrà
utilizzata:
o la prima sottostringa della stringa “43” nella prima attività
o la seconda sottostringa della stringa “43” nella seconda
attività
o ...
studio zeta Processi e Organizzazione Distribuzioni predefinite
Page 103 © Copyright 2014 Studio Zeta S.r.l.
BINOMIAL (PROB, N° Prove, PRNS)
PROB=0.1, N° Prove =5 PROB=0.1, N° Prove =10
PROB=0.5, N° Prove =5 PROB=0.5, N° Prove =10
PARAMETRI: Probabilità di successo: Reale
Numero di prove: Intero
• Intere (Es. 1)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 104
Distribuzioni predefinite
• Intere (Es. 2)
IUNIFORM (MIN, MAX, PRNS)
PARAMETRI: Valore minimo: Intero
Valore massimo: Intero
Min= 0 Max= 10
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 105
Distribuzioni predefinite
• Reali (Es. 1)
ERLANG (VALORE MEDIO, K, PRNS)
PARAMETRI: Valore Medio: Reale
Parametro K: Intero
Media= 1.0, K=1 Media= 1.0, K=3
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 106
Distribuzioni predefinite
• Reali (Es. 2)
NEGEXP (VALORE MEDIO, PRNS)
PARAMETRI: Valore Medio: Reale
Valore Medio = 1.0
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 107
Distribuzioni predefinite
• Reali (Es. 3)
TRIANGLE (MIN, MODA, MAX, PRNS)
PARAMETRI: Valore Minimo: Reale
Moda (Valore più probabile): Reale
Valore Massimo: Reale
Min Mode Max
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 108
Esempio di distribuzione
UNIFORM (MIN, MAX, PRNS)
UNIFORM (2.0, 6.0, 582)
0 1 2 3 4 5 6 7 8
2(0) 6(1)
0.658
0.3
0.51
((6-2)*0.658)+2 = 4.632
((6-2)*0.3)+2 = 3.2
((6-2)*0.51)+2 = 4.04
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 110
Esercizio 6.1 - Distribuzioni
Obiettivo dell’esercizio Utilizzo delle distribuzioni statistiche
Sperimentazione What-if
Descrizione Da una più attenta osservazione degli operatori si è notato che la
pausa può iniziare in un intervallo che va dai 10 minuti precedenti fino ai 15 minuti successivi rispetto alle due ore previste dal contratto. In aggiunta, la durata delle pause che è mediamente di 15 minuti può variare da un minimo di 12 minuti ad un massimo di 18 minuti.
Le chiamate hanno spesso durata variabile. Il gruppo di lavoro ha raccolto dati sui tempi di conversazione e si presume che questi ultimi seguano una distribuzione ERLANG con una media di 4 minuti ed un valore di K pari a 3.
La compilazione dei moduli riassuntivi richiede da un minimo di 1 minuto ad un massimo di 2, con valore medio pari a 1.5 minuti.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 111
Esercizio 6.1 - Distribuzioni
Risultati Attesi
Tempi medi di attesa in coda
Numero massimo di chiamate nella coda operatori
Numero di abbandoni
Saturazione operatori e risponditore automatico
What-if analysis
Quanti operatori sarebbero necessari affinché gli abbandoni non superino il 15% delle chiamate offerte?
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 112
Risultati Esercizio 6.1
3 Operatori
5 Operatori
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnati
--- Attesa chiamata
--- Pausa
--- After Call Work
Operatori
Operatori
Chiamate
Chiamate
studio zeta Processi e Organizzazione Distribuzioni definite dall’utente
Le distribuzioni definite dall’utente possono essere:
– Integer, nel caso il valore fornito sia un numero intero
– Real, nel caso il valore fornito sia un numero reale
– Name, nel caso il valore fornito sia un nome di un elemento di Witness
– Discrete, se i valori saranno campionati da un insieme discreto
– Continue, se i valori saranno campionati uniformemente tra i valori forniti alle celle al fine di determinare il valore da campionare.
Page 113 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Distribuzioni definite dall’utente
Per modellizzare i tempi (Durate, MTBF, ecc.) è opportuno utilizzare distribuzioni reali
Cominciare sempre una distribuzione con un record che abbia peso 0 per evidenziare il valore minimo
Gli step tra i valori NON devono essere per forza uniformi
Page 114 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Esercizio 6.2 - Distribuzioni
Obiettivo dell’esercizio: Utilizzo delle distribuzioni costruite dall’utente Sperimentazione What-if
Descrizione Sono stati raccolti dati sui tempi di abbandono. L’andamento dei tempi di
abbandono segue la seguente distribuzione:
Page 116 © Copyright 2014 Studio Zeta S.r.l.
0
10
20
30
40
50
60
0.5 1 1.5 2 2.5 3
studio zeta Processi e Organizzazione Esercizio 6.2 - Distribuzioni
Dati:
3 Operatori
Risultati Attesi
Tempi medi di attesa in coda
Numero di abbandoni
Saturazione operatori e risponditore automatico
What-if analysis
Quanti operatori sarebbero necessari affinché gli abbandoni non superino il 15% delle chiamate offerte?
Page 117 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Risultati Esercizio 6.2
© Copyright 2014 Studio Zeta S.r.l. Page 118
3 Operatori
5 Operatori
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Operatori
Operatori
Chiamate
Chiamate Legenda operatori:
--- Impegnati
--- Attesa chiamata
--- Pausa
--- After Call Work
studio zeta Processi e Organizzazione Leggere le distribuzioni da un file
“Import…” dalla finestra di Detail della distribuzione
Funzione READDIST(Distribution,Filename)
Il file deve avere estensione *.DST
Page 119 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Leggere le distribuzioni da Excel
“Import…” dalla finestra di Detail della distribuzione
Selezione del file Excel
Selezione delle celle
Page 120 © Copyright 2014 Studio Zeta S.r.l.
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 7 – RISORSE
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 122
Aggiunta di Risorse nel modello
Gli elementi Risorse vengono utilizzati quando: ‒ una certa attività necessita di una risorsa umana (e.g. supervisore) o
di uno strumento (e.g. Fax) per avere luogo
‒ le risorse sono condivise fra più attività, pertanto può capitare che le singole attività ritardino a causa della loro indisponibilità
Le Risorse possono essere necessarie: ‒ Per l’intera durata dell’attività (e.g. il Supervisore che aiuta l’operatore
a rispondere a un certo tipo di chiamata)
‒ per eseguire le operazioni di ACW o di riavvio (e.g fax necessario all’operatore per operazioni post-chiamata)
Vengono assegnate nelle Resource RULE dell’elemento che le richiede
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 123
Aggiunta di Risorse nel modello
SUPERVISORE
OPERATORE#2
JANE and WENDY
FRED OR JOE
IF TYPE = A
SUPERVISORE
ELSE
NONE
ENDIF
Si richiede una Resource SUPERVISORE
si richiedono 2 Resource OPERATORE
si richiedono 2 diverse Resource
si richiede o una Resource o l'altra
se l’entità gestita è di tipo A si richiede la Resource SUPERVISORE, altrimenti non si richiede nessuna Resource (NONE)
• Alcuni esempi di regole di chiamata:
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 124
Dettagliare un Risorsa
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 126
Esercizio 7.1 - Risorse
Obiettivo dell’esercizio:
Utilizzo delle Risorse
Sperimentazione What-if
Descrizione
Il servizio C è appena stato modificato e richiede uno skill particolare che gli operatori non hanno ancora acquisito. Pertanto, tutte le volte che gli operatori ricevono una chiamata di tipo C richiedono l’assistenza di un supervisore. Se il supervisore non è disponibile l’operatore aspetta con la chiamata in linea.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 127
Esercizio 7.1 - Risorse
Dati:
3 Operatori
Risultati Attesi
Tempi medi di attesa in coda
Numero di abbandoni
Saturazione operatori e tempi di attesa del supervisore
Saturazione del supervisore
What-if analysis
Effettuare alcuni esperimenti provando a variare: ‒ Il numero di supervisori
‒ Il numero di operatori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 128
Risultati Esercizio 7.1
3 Operatori
1 Supervisore
Saturazione
Supervisore
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Legenda operatori:
--- Impegnati
--- Attesa chiamata
--- Pausa
--- After Call Work
--- Attesa Supervisore Legenda supervisore:
--- Impegnato
--- Attesa chiamata
Operatori Chiamate
Supervisore
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 129
PRE-EMPTION
Priorità delle operazioni (senza interruzioni di lavoro)
‒ Specificare la priorità delle operazioni ( 1 > 2 > 3 ….)
‒ A parità di istante di chiamata la Risorsa andrà a servire per prima l’operazione con priorità più alta
Interruzione del lavoro delle Risorse
‒ Per permettere ad un’operazione di richiamare una Risorsa che è attualmente impegnata in un’altra mansione è necessario abilitare il “Pre-empt Resource” dell’operazione stessa.
‒ E’ necessario specificare il pre-empt level che seguirà la seguente formula :
Priorità dell’Elemento
su cui la Risorsa è
impegnata
Priorità
dell’Elemento che
richiede la Risorsa
Pre-empt level
dell’Elemento che
richiede la Risorsa
≥ −
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 130
PRE-EMPTION
Ciò può essere illustrato mediante un esempio: ‒ La Risorsa sarà spostata dal Task3 al Task1 in quanto la differenza di priorità è
2 ed il pre-empt level è 2.
‒ La Risorsa sarà anche spostata dal Task3 al Task2.
‒ Non sarà spostata però dal Task2 al Task1 perché c'è una differenza di priorità di 1 ma un pre-empt level di 2.
Task1
1
2
Operator to
restart
Task2
2
1
Operator to
cycle
Task3
3
N/A
Operator to
cycle
Priority
Resource
Pre-empt Level
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 131
PRE-EMPTION
Allowance
Possibilità di portare a termine l’operazione che attualmente una Risorsa sta svolgendo (senza provocare la sua interruzione immediata)
N.B. Va specificata sull’operazione che chiama la Risorsa
Time penalty
In aggiunta, se l’operazione che la Risorsa sta svolgendo è comunque interrotta è possibile specificare una penalità (in tempo) che rappresenta il tempo necessario per ripristinare le condizioni nelle quali si era abbandonata l’attività al momento dell'interruzione
N.B. Viene specificata sull’operazione che chiama la Risorsa
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 8 - ACTION ED ELEMENTI
LOGICI
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 134
Action
Possono essere utilizzate per:
‒ modificare variabili e attributi
‒ leggere informazioni contenute sulle entità (e.g tipologia di entità, tempo ciclo su una certa attività)
‒ leggere dati da file esterni
‒ memorizzare statistiche
‒ creare finestre di interfaccia tra il modello e l’utente
‒ cambiare la tipologia di entità (CHANGE)
‒ registrare un valore in un Istogramma (RECORD)
‒ leggere le caratteristiche dei turni da file
‒ Settare dei flag per controllare gli elementi nel modello (Es. mettere ON/OFF un’attività)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 135
Action
Le action vengono eseguite quando cambia lo stato di un elemento. Esempi di Action sono: ‒ sugli operatori / attività: o ACTIONS ON INPUT
o ACTIONS ON START
o ACTIONS ON FINISH
o ACTIONS ON OUTPUT
‒ sulle code: o ACTIONS ON INPUT
o ACTIONS ON OUTPUT
‒ sulle chiamate / entità: o ACTIONS ON CREATE
o ACTIONS ON LEAVE
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 136
Action
Altre Action sono: ‒ sugli operatori / attività:
o ACTIONS ON STOP
o ACTIONS ON RESUME
o ACTIONS ON START SETUP
o ACTIONS ON FINISH SETUP
‒ sui turni:
o START WORK
o END WORK
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 137
Action
Ci sono delle Action che vengono eseguite all’istante di inizio della simulazione o in instanti decisi dall’utente:
‒ sul modello:
o Initialize Actions
o Action on Import
o User Actions
o Immediate Actions
‒ su ciascun elemento:
o Initialize Actions
o User Actions
o Properties Actions
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 138
Initialize Action
Menu: Model -> Initialize Actions
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 139
Action
Esempi di istruzioni da utilizzare nelle Action sono:
CHANGE ‒ cambia la tipologia di entità
SET ICON ‒ modifica l’icona di un elemento (non di una entità)
SET ICON OP10 TO 100
SET QUANTITY ‒ modifica la quantità di un elemento
SET QUANTITY OF OP20 TO 3
SET QUANTITY Resource ‒ modifica il numero di risorse su un turno
SET QUANTITY Resource OF Operatore ON Turno1 TO 4
SET CAPACITY ‒ modifica la capacità di una coda
SET CAPACITY OF B4 TO 100
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 140
Commenti alle Action
Spesso avendo scritto un complesso set di Actions è facile dimenticare il loro scopo e significato (ad esempio quando si riprende il modello dopo molto tempo dalla sua prima stesura). È quindi importante documentare le Actions. Il simbolo "!" viene usato all'inizio di una riga per creare linee di commento. Il resto della riga potrà contenere qualsiasi testo richiesto dall’utente. WITNESS ignorerà questa riga quando la incontrerà durante l’esecuzione del modello.
Nota: I commenti possono essere posti in qualsiasi editor, per esempio nelle input/output rule e nelle Resource rule.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 142
Esercizio 8.1 - Action
Obiettivo dell’esercizio:
Utilizzo delle Action
Descrizione
Utilizzare l’istruzione SET QUANTITY per dimensionare gli operatori ACT20
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 143
Attributi
Sono valori legati ad una specifica chiamata/entità, e possono essere usati per descrivere una caratteristica dell’entità stessa. Alcuni esempi di attributi sono: ‒ tipologia di servizio/chiamata
‒ tempo di ingresso nel sistema
‒ durata
‒ priorità chiamata (e.g. tipologia cliente)
‒ costo o valore
Tipi di attributo:
‒ Integer (Interi)
‒ Real (Reali)
‒ String (Stringhe)
‒ Name (Nome di un elemento del modello Witness)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 144
Attributi universali
Vi sono 8 attributi che tutte le entità hanno predefiniti. Essi sono:
TYPE
Contiene il NOME dell’entità
DESC
Rappresenta una descrizione di 4 caratteri dell’entità (di default sono le prime 4 lettere del nome)
ICON
Contiene l’informazione del numero di icona associata all’entità
PEN
Se si è scelta un’icona di tipo “monocromatica”, identifica il colore con cui l’entità sarà rappresentata sullo schermo (secondo una codifica standard di Witness)
STAGE
Se le entità si muovono nel modello in base ad un proprio percorso definito nella pagina Route dell’entità stessa (“Entity Route”), contiene l’informazione del punto del percorso in cui l’entità si trova
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 145
Attributi universali
LENGTH
Lunghezza dell’entità
WIDTH
Larghezza dell’entità
HEIGHT
Altezza dell’entità
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 146
Caratteristiche Attributi
MODIFICATORI DEGLI ATTRIBUTI
Permettono di modificare le caratteristiche di un’entità che si trova in un punto qualunque del modello. La sintassi da utilizzare è la seguente:
elemento {AT posizione}: attributo
‒ Esempio: OP10(2) : PEN=1
Questa istruzione assegna all'Attributo universale PEN (colore) dell’entità che si trova nella seconda istanza dell’elemento Attività di nome OP10 il valore 1 (rosso).
‒ Esempio: BUFF AT 2:DESC="2a"
Questa istruzione assegna all'attributo universale DESC dell’entità che si trova in seconda posizione nella coda di nome BUFF la descrizione "2a".
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 147
Come usare gli Attributi
1. Definizione degli attributi ‒ Selezionare il tipo corretto (Integer, Real, String o Name) per
la caratteristica. ‒ Definire la quantità (N.B. Ricordare che la quantità si riferisce
al numero di caratteristiche non al numero di valori possibili per quella caratteristica).
2. Assegnazione degli attributi ‒ Scegliere il set di azioni appropriato dove assegnare il valore
alla caratteristica (spesso Actions ON Create dell’entità). ‒ L’espressione da utilizzare nell’Action è la seguente: Attributo = Espressione (esempio: TCiclo = 35)
3. Lettura degli attributi ‒ Selezionare il Detail dell'elemento che necessita di leggere
l'attributo. ‒ Digitare il nome dell'attributo nell'espressione, regola o azione
appropriata (e.g. in una funzione che calcola la durata)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 149
Esercizio 8.2 - Attributi
Obiettivo dell’esercizio:
Utilizzo degli attributi delle entità
Descrizione
Da un’analisi più attenta sulla durata delle chiamate è emerso che i diversi servizi hanno tempi medi di conversazione diversi.
Dati
Tempi medi di conversazione: ‒ Servizio A: 3 minuti
‒ Servizio B: 4 minuti
‒ Servizio C: 4.5 minuti
Si suppone che le durate seguano sempre con buona approssimazione una distribuzione ERLANG con parametro K=3.
Operatori: 3
Supervisore: 1
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 150
Esercizio 8.2 - Attributi
Risultati Attesi
Tempi medi di attesa in coda
Numero di abbandoni
Saturazione operatori e tempi di attesa del supervisore
Saturazione del supervisore
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 151
Risultati Esercizio 8.2
3 Operatori,
tempi di
conversazione
diversi in base
al servizio
3 Operatori,
tempi di
conversazione
uguali per tutti i
servizi (ES 7.1)
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Operatori
Operatori
Chiamate
Chiamate
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 152
Risultati Esercizio 8.2
3 Operatori,
tempi di
conversazione
diversi in base
al servizio
Saturazione
Supervisore
3 Operatori,
tempi di
conversazione
uguali per tutti i
servizi (ES 7.1)
Legenda supervisore:
--- Occupato
--- Attesa chiamata
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 154
Esercizio 8.3 - Attributi
Obiettivo dell’esercizio:
Accodamento delle entità in base al valore assunto dagli attributi
Sperimentazione What-if
Descrizione
La direzione ha decretato che, poiché il servizio C è a più alto valore, sarebbe opportuno privilegiarlo rispetto a tutti gli altri. Si sta valutando quindi la possibilità di modificare il metodo di accodamento nella coda operatori in modo che le chiamate di tipo C abbiano la precedenza sulle altre.
Dati
Priorità di risposta ai diversi servizi ‒ Servizio A: 2
‒ Servizio B: 2
‒ Servizio C: 1
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 155
Esercizio 8.3 - Attributi
Risultati Attesi
Tempi medi di attesa in coda
Numero di abbandoni totali e delle chiamate di tipo C
Saturazione operatori e tempi di attesa del supervisore
Saturazione del supervisore
What-if analysis
Effettuare alcuni esperimenti provando a variare:
‒ Il numero di operatori
‒ Il numero di supervisori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 156
Risultati Esercizio 8.3
3 Operatori Senza priorità
su chiamate C
3 Operatori Con priorità su
chiamate C
Legenda chiamate:
--- Entrate
--- Evase
--- Rifiutate
--- Abbandonate
Operatori
Operatori
Chiamate
Chiamate Legenda operatori:
--- Impegnati
--- Attesa chiamata
--- Pausa
--- After Call Work
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 157
Variabili
TIPI DI VARIABILI :
Integer (Intere)
Real (Reali)
String (Stringhe)
Name (Nome di un elemento del modello Witness)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 158
Variabili numeriche intere
Variabili Intere (“Integer”)
‒ Vengono inizializzate automaticamente al valore 0.
Vengono utilizzate ad esempio per :
‒ Registrare il numero di chiamate in ingresso, numero di abbandonate…
‒ Registrare il numero di linee occupate
‒ Rappresentare Flag logici (Es. ON/OFF , VERO/FALSO, RUN/STOP …)
‒ Registrare Ore o minuti...
‒ Incrementare o decrementare contatori in un ciclo.
‒ Accogliere il risultato di funzioni intere.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 159
Variabili numeriche reali
Variabili Reali (“Real”)
‒ Vengono inizializzate automaticamente al valore 0.0.
Vengono utilizzate ad esempio per :
‒ Registrare i tempi di attesa, livello di servizio…
‒ Rappresentare frazioni
‒ Registrare il TIME (variabile reale di sistema che indica il tempo corrente)
‒ Accogliere il risultato di funzioni reali
‒ Accogliere il risultato di operazioni con la virgola
‒ Accogliere i valori prodotti da una distribuzione reale
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 160
Variabili di tipo stringa
Variabili Stringa (“String”)
‒ Vengono inizializzate automaticamente al valore “” (stringa vuota).
Vengono utilizzate ad esempio per :
‒ Visualizzare informazioni sullo schermo
‒ Leggere delle stringhe di testo da file
‒ Registrare il nome di un servizio o di un gruppo di operatori
‒ Registrare una data, un mese, un giorno della settimana
‒ Registrare un colore
‒ Registrare un codice alfanumerico ( E.s. A456-2#9TG )
‒ Accogliere indirizzi, città, stati ...
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 161
Variabili di tipo nome
Variabili Nome (“Name”)
‒ Contengono il nome di un elemento definito in Witness, esempio ACT001.
‒ Vengono inizializzate automaticamente al valore NONE.
E’ differente da una variabile di tipo stringa :
‒ String => “ACT001” può anche non esistere, è solo una stringa di testo
‒ Name => ACT001 elemento definito dall’utente in Witness.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 162
Variabili multi-dimensione
Variabile
Quantità
Tipo
Esempio
Variabile
Quantità
Tipo
Esempio
X
1
Integer
X= 39
X
3
Real
X(3)= 56.4
1 1 2 3
X
3,2
String
X(3,1)= “Linea1”
X
3,3,2
Name
X(3,2,1)= Q1
1 2 3
1
2
1 2 3
1
2
3 1
2
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 163
Variabili di sistema
N
è una variabile Integer che contiene l’indice dell'elemento "corrente"
Esempio:
Define Variable:
TempoConv, Real, Quantity: 2
Initialize Action:
TempoConv(1) = 2.0
TempoConv(2) = 3.0
Detail OP10:
Cycle Time: TempoConv(N)
studio zeta Processi e Organizzazione Variabili di sistema
Output Rule dell’attività ACT: IF N=1
PUSH to B1
ELSE
PUSH TO B2
ENDIF
Input Rule per attività ACT: Output Rule per attività ACT: IF N=1 IF N<>3
PULL A FROM WORLD PUSH TO BUFF(N)
ELSE ELSE
PULL FROM BUFF(N-1) PUSH TO SERVED
ENDIF ENDIF
Page 164 © Copyright 2014 Studio Zeta S.r.l.
ACT B1
B2
ACT(1) BUFF(1) BUFF(2) ACT(2) ACT(3)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 165
Variabili di sistema
M (per le entità)
‒ variabile intera che indica il numero di un singolo componente di un lotto.
M (per le timeseries)
‒ numero progessivo dei plottaggi in una serie temporale (max 7 disponibili)
TIME
‒ variabile reale che contiene il tempo corrente della simulazione (e.g. 1234.34 )
WARMUP
‒ variabile reale che contiene il tempo di Warmup
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 166
Utilizzo delle variabili
Statistiche
se WITNESS non fornisce le statistiche necessarie, le variabili possono essere utilizzate per la creazione dei Reports (e.g. tempo di attesa in coda, efficienza, saturazione..)
Memorizzazione di dati
le variabili possono essere utilizzate per tenere in memoria dei dati (e.g. il tempo medio di un’operazione o di un guasto). Questo può essere particolarmente utile quando i dati devono essere letti da un file
Logiche di gestione
per il controllo del flusso delle entità, schedulazione di un lotto...
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 168
Esercizio 8.4 - Variabili
Obiettivo dell’esercizio:
Utilizzo delle variabili per immagazzinare statistiche
Descrizione
Nell’analisi delle telefonate abbandonate, si è deciso di considerare due gruppi di clienti: quelli che abbandonano dopo attese inferiori a 30 secondi e quelli che abbandonano dopo attese superiori.
Conteggiare e visualizzare il numero di chiamate abbandonate, totale e per ciascuno dei due gruppi.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 169
Risultati Esercizio 8.4
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 171
Esercizio 8.5 - Variabili
Obiettivo dell’esercizio:
Utilizzo delle variabili per immagazzinare statistiche
Sperimentazione What-if
Descrizione
La direzione ha fissato come target la risposta entro 30 secondi. Conteggiare e visualizzare il livello di servizio per quel target.
% di chiamate risposte entro il target
totale chiamate risposte dagli operatori
Livello di Servizio =
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 172
Esercizio 8.5 - Variabili
What-if analysis
Valutare la variazione del livello di servizio al variare del numero di operatori
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 173
Risultati Esercizio 8.5
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 174
Variabili Locali
Una variabile locale è una variabile creata all’interno di specifica Action o funzione e che può essere utilizzata esclusivamente all’interno di questa.
Per creare una variabile locale:
Dim <Nome variabile> As <Tipo variabile>
e.g. Dim Contatore as Integer - crea una variabile Contatore di tipo intero
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 175
Variabili Locali
L’utilizzo delle variabili locali rispetto a quelle globali comporta: ‒ Benefici
o Sicurezza: poiché esistono solo nell’istruzione dove sono state create si esclude la possibilità di utilizzarle o sovrascriverle accidentalmente in altre istruzioni
o Velocità: la velocità di esecuzione delle istruzioni contenenti variabili locali è maggiore
o Convenienza: vengono create solo quando e dove servono, senza necessità di definirle in anticipo
‒ Limiti o Non vengono generati report
o Non è possibile rappresentarle graficamente nel modello
o Non possono avere quantità maggiore di 1
o E’ possibile accedervi solo dalla Action o funzione in cui sono state create
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 176
Funzioni
Una funzione è una lista di istruzioni che prende in input alcuni valori (parametri), effettua dei calcoli e restituisce una risposta al “chiamante” (l’oggetto che ha richiamato la funzione)
Permette al programmatore di incapsulare una serie di comandi per riutilizzarli in qualunque momento
Sinonimi in altri linguaggi:
‒ C, VB Functions
‒ PASCAL Procedures
‒ FORTRAN, COBOL Subroutines
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 177
Funzioni predefinite
Funzioni di reporting e di stato (accedono ai valori dei reports)
‒ ISTATE Un numero che indica lo stato di uno specifico elemento
‒ NCREATE
Numero di entità di uno specifico tipo che sono state create
‒ NFREE
Ammontare di spazio libero in uno specifico elemento
‒ NENTS Numero di entità in uno specifico elemento
‒ PUTIL
Percentuale di tempo speso da uno specifico elemento in un determinato stato
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 178
Funzioni predefinite
Funzioni Aritmetiche (realizzano operazioni aritmetiche)
‒ FLOAT
Specifica un intero come un numero reale
‒ IFIX
Restituisce la parte intera di un numero reale
‒ MAX
Restituisce il valore massimo di una lista di valori interi fornita
‒ MIN
Restituisce il valore minimo di una lista di valori interi fornita
‒ MOD
Restituisce il resto di una divisione tra due interi
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 179
Funzioni predefinite
Funzioni che permettono la lettura e scrittura di dati in Excel:
‒ XLReadArray
Permette di immagazzinare il dato letto in una cella di un foglio Excel in una variabile Witness
XLReadArray("Dati input.xls","Dati","$B$9",TCicloOP10)
‒ XLWriteArray
Permette di scrivere il valore assunto da una variabile Witness in una cella di un foglio Excel
XLWriteArray(“Risultati.xls",“Risultati","$B$9",SaturazioneOP10)
‒ Funzioni che restituiscono il valore contenuto in una cella di un foglio Excel (XLCellToReal, XLCellToInteger, XLCellToName, XLCellToString)
‒ Funzioni che scrivono su una cella di un foglio excel (XLRealToCell, XLIntegerToCell, …, XLRangeToReal, XLRangeToInteger, …, XLRealToRange, XLIntegerToRange…, XLExtractBook etc)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 180
Esempi
NENTS
ISTATE
MAX
IF NENTS (B1) > 5
PULL A out of WORLD
ENDIF
IF ISTATE(Pressa(2))=1
PULL A out of WORLD
ENDIF
X = MAX (X1,X2,X3)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 181
Funzioni definite dall’utente
Le funzioni sono utili quando si ha la necessità di fare calcoli, per esempio per la durata di un’operazione (e.g. un tempo ciclo) che non permette la scrittura di tutta l'espressione (di calcolo) nella linea-formato prevista nel Detail Form. Possono essere anche usate per salvare set di istruzioni logiche da ripetersi identicamente in differenti punti del modello.
Alla funzione possono essere passati dei parametri, come ad esempio nomi di attività o il valore di una variabile, da utilizzare dentro la "sua" logica per determinare il valore della funzione stessa. Una volta calcolato questo valore da parte della funzione, esso viene restituito e usato laddove la funzione era stata richiamata.
Si usa una funzione Void ogni qualvolta la funzione esegue una serie di azioni senza produrre alcun valore
Per richiamare una funzione: Nome funzione( )
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 182
Dettagliare una funzione
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 183
Esempio di funzione
Il durata di una attività (DRILL) dipende dallo stato di usura dello strumento:
1. Define Function: Name:DRILLCYC
Type: Real
2. Detail DRILLCYC
Actions: IF LIFE(DRILL,1)>100
RETURN 2.0
ELSE
RETURN 2.5
ENDIF
3. Detail DRILL Duration: DRILLCYC ()
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 184
Funzioni definite dall’utente
Lo statement RETURN è utilizzato per restituire un valore una volta eseguita la funzione.
L’istruzione RETURN non viene utilizzata in una funzione di tipo VOID
Fare attenzione alle parentesi dopo il nome della funzione:
- Se la funzione non ha parametri non deve essere posto alcun valore fra le due parentesi (e.g. DRILLCYC())
- Se la funzione ha dei parametri il loro valore deve essere inserito fra le parentesi. L’ordine con cui vengono inseriti i valori deve essere lo stesso con cui i parametri compaiono nell’elenco parametri della funzione
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 186
Esercizio 8.6 - Funzioni
Obiettivo dell’esercizio:
Utilizzo delle funzioni definite dall’utente
Descrizione
Dei tre operatori che compongono il gruppo ACT20 il primo è un neo assunto pertanto i suoi tempi di conversazione sono più lunghi di circa un 10% rispetto a quelli degli altri operatori.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 187
Risultati Esercizio 8.6
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 9 - DEBUG
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione 9. Debug
• Witness consente di analizzare il codice “step by step” e
osservare il cambiamento di valori ed espressioni, proprio
come in un ambiente di programmazione
• È possibile analizzare il codice scritto in qualunque finestra
di editing
• Le operazioni di debugging vengono salvate nei “.sim” ma
non nei “.mod”
Page 189 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 190
9. Debug
• Dalla finestra di edit abilitare il Flag di debug
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 191
9. Debugger
• Durante il run del modello, ogni volta che si accede a quella parte di
codice, viene bloccata la simulazione e aperta la finestra di debug:
Automaticamente viene
attivato un breakpoint
all’inizio della funzione
È possibile aggiungere
altri breakpoint con il
pulsante “Toggle
breakpoint”
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 192
9. Debugger
• È possibile sia mandare avanti l’esecuzione step by step (viene
eseguita una linea di codice per volta), sia mandarla avanti
velocemente fino al prossimo breakpoint (go)
Se si incontra un richiamo
ad una funzione, si entra
in debugging nella
funzione richiamata
Se si incontra un richiamo
ad una funzione, questa
viene eseguita
velocemente e si passa
alla linea di codice
successiva
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 193
9. Debugger
• I valori delle variabili locali vengono visualizzati di default; qualunque
altra variabile che si intende monitorare va aggiunta con “add watch”
In “expression” è possibile
inserire il nome della
variabile da monitorare
(funziona anche il
copia/incolla)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 194
9. Debugger
• Nome e valore delle variabili aggiunte vengono visualizzati nella
finestra “Watch expression”
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 10 - TURNI
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 196
Turni di lavoro (Shifts)
Sono utili ad esempio per definire:
‒ intervalli per prendere il caffè
‒ pausa pranzo
‒ lavoro straordinario
E si usano quando:
‒ gruppi diversi di operatori lavorano su turni differenti (Full Time, Part Time)
‒ in alcune ore della giornata la copertura del fabbisogno di operatori avviene con part time
‒ variano le quantità di risorse nei differenti turni
‒ variano i turni a seconda del giorno della settimana
‒ alcune operazioni continuano oltre la fine di un turno
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 197
Caratteristiche dei turni
Uno schema di turni comprende un numero di periodi, ciascuno dei quali ha le seguenti caratteristiche:
‒ Working Time
Tempo di effettivo lavoro nel periodo considerato (on-shift).
‒ Rest Time
Tempo di NON lavoro (off-shift) nel periodo considerato.
‒ Overtime
Tempo di straordinario che sarà lavorato, immediatamente dopo il tempo di lavoro "working time" nel periodo considerato del turno. Questo in effetti riduce il "Rest Time" alla fine del periodo. Perciò l'Overtime non potrà essere più grande del Rest Time del periodo.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 198
Sotto-Turni (Sub-Shifts)
I turni possono essere dettagliati sia come "Main" (principali) che come "Sub-Shift" (sotto-turni).
Un Main Shift può comprendere un certo numero di Sub-Shifts. (e.g. un Main-Shifts "settimana" potrebbe comprendere 5 Sub-Shifts "giorno")
Solo i Main-Shifts possono essere applicati agli elementi del modello.
WT RT WT RT
Periodo 1 Periodo 2
Sub-Shift 1
WT RT WT RT
Periodo 1 Periodo 2
Sub-Shift 2
Shift
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 199
Dettagliare un turno
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 200
Applicazione dei turni
Chiamate/Entità - Non arriveranno entità "attive" durante il Rest-Time (periodo di riposo).
Code - Se è stato definito un Delay Time per la coda, in questo caso può essere applicato un turno.
Operatori/Attività – le operazioni non verranno svolte durante i periodi di riposo. Sono specificabili le opzioni di:
‒ disponibilità a finire l’operazione corrente alla fine del turno (allowance)
‒ penalità in tempo (time penalty) nel caso l’operazione corrente sia interrotta dalla fine del turno.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 201
Applicazione dei turni
Risorse - Viene dettagliata la quantità di risorse disponibili nel turno. Alla stessa risorsa possono essere applicati un certo numero di turni. Si può specificare:
‒ la disponibilità a finire l’operazione corrente alla fine di un turno
‒ penalità in tempo per l’interruzione di un’operazione a fine turno
Link File - Se l'opzione Time del Link File è "Relative" si può applicargli un turno. Le entità non arriveranno durante i periodi di Rest Time
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 203
Esercizio 10.1 - Turni
Obiettivo dell’esercizio:
Introduzione dei turni degli operatori
Descrizione
Gli operatori sono stati suddivisi in 4 team:
Per ciascun turno è previsto un supervisore
A fine turno gli operatori così come i supervisori devono finire la chiamata corrente. Danno pertanto una disponibilità di 15 minuti alla fine di ogni turno.
Suggerimento: Utilizzare la funzionalità CLONE per creare i 4 team di operatori
Team1 Team2 Team3 Team4
Turno 0:00-6:00 6:00-12:00 12:00-18:00 18:00-24:00
N° Operatori 3 4 4 3
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 204
Risultati Esercizio 10.1
studio zeta Processi e Organizzazione Leggere i turni da un file
“Import from file…” dalla finestra di Detail del turno.
Funzione READSHFT(Shift,Filename)
Il file deve avere estensione *.SFT
Page 205 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 207
Esercizio 10.2 - Turni
Obiettivo dell’esercizio:
Lettura dei turni degli operatori da un file di testo
Descrizione
Leggere i turni da un file
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 11 – INPUT E OUTPUT DEI
DATI
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione Modalità di interfacciamento
Page 209 © Copyright 2014 Studio Zeta S.r.l.
• 3 modalità:
– File di testo
– Funzioni di Witness
– COM
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 210
I File
Lettura Scrittura
Link File Link File Read Link File Write
File File Read File Write
studio zeta Processi e Organizzazione Link File
E’ un file che contiene una lista di entità, a ciascuna delle quali è associato l’istante di ingresso nel modello e il valore assunto dagli attributi che la caratterizzano
E’ possibile immagazzinare su un Link File le entità in uscita da un modello
Crea un’interfaccia fra Witness e un file esterno
Page 211 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 212
Link File
Witness filename - Nome dell’ elemento Link File in Witness
Actual Filename - Nome del file di testo a cui il Link File è collegato NB il nome del file può non coincidere con il nome del Link File in Witness
Time - Specifica il formato in cui viene espresso il tempo ‒ Absolute – Il tempo è espresso come tempo reale (assoluto) di arrivo
delle entità (ore 8:00, ore 15:00…)
‒ Relative – Il tempo viene espresso come intervallo fra due arrivi successivi (10 minuti dopo la precedente…)
Start Offset - Ritardo nell’istante di arrivo della prima entità (rispetto all’istante 0)
Delay - Ritardo nella successiva lettura del file
Output Rule - Specifica dove vengono indirizzate le entità che entrano nel modello
N.B.: Deve essere specificata altrimenti le entità vengono respinte.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 213
Link File Tipo READ
Viene utilizzato per schedulare l’arrivo delle entità
Il file da leggere deve essere un file di testo con estensione “*.PAR”
E’ meglio utilizzare programmi come “blocco note” per scrivere i file di testo, evitando programmi come Ms-Word
E’ sempre opportuno salvare il file nella medesima cartella del modello
studio zeta Processi e Organizzazione Link File Tipo READ
Esempio: Gli aerei arrivano all’Aeroporto Internazionale di Redditch secondo un ben definito orario. In particolare atterra una aereo alle ore 8:00, uno alle 10:00, uno alle 14:00, uno alle 15:30, uno alle 18:00 e uno alle 21:00
Page 214 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 215
Link File Tipo WRITE
Viene utilizzato per registrare l’istante di uscita dal modello di ciascuna entità e il valore assunto dagli attributi che la caratterizzano al momento dell’uscita
E’ possibile produrre un Link File come output di un modello e utilizzarlo come ingresso di un altro modello
Per immagazzinare i dati su un Link File di tipo WRITE:
‒ Definire un Link File tipo WRITE (ad Esempio OUT)
‒ Sostituire la regola di uscita “PUSH TO SERVED” con “PUSH TO OUT”
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 216
Files
Witness consente l’uso di file di dati nel modello
Utilizzando i file è possibile:
‒ importare dati dall’esterno (READ File) ad esempio numero di operatori per turno, tempi per operazioni di After Call Work…
‒ esportare dati all’esterno (WRITE File) ad esempio produrre delle statistiche personalizzate
I file che è possibile leggere sono file di testo (con estensione “.Dat” o “.txt”)
E’ sempre opportuno salvare il file nella medesima cartella del modello
studio zeta Processi e Organizzazione Files
Witness Filename: Nome dell’elemento in Witness
Actual Filename: nome del file di testo
Page 217 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 218
Lettura da File
Per leggere i dati da un file si utilizza il comando READ
Tale comando può essere utilizzato nelle Actions, ad esempio Initialize Actions, Actions on start di un’attività
I singoli dati nei file devono essere separati utilizzando:
‒ Un numero qualunque di spazi
‒ Una virgola “,”
‒ Un punto e virgola “;”
‒ Un dato per riga
Tutte le volte che Witness incontra un comando READ legge una riga successiva del file
I valori letti possono essere immagazzinati in variabili o attributi del tipo corrispondente
Witness riconosce come separatore decimale solo il “.”
studio zeta Processi e Organizzazione Lettura da File
READ <Filename> <lista delle variabili/attributi>
READ DatiCiclo OP10, OP20(1), OP20(2)
Dove
– DatiCiclo è un file di tipo READ
– OP10 è una variabile reale di quantità 1
– OP20 è una variabile reale di quantità 2 Page 219 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Esercizio 11.1 - File
Obiettivo dell’esercizio:
Lettura dei dati da un file di testo
Descrizione
Si stanno valutando le seguenti configurazioni in termini di numero di operatori:
Leggere da un file di dati il numero di operatori da impiegare nei diversi turni
Page 221 © Copyright 2014 Studio Zeta S.r.l.
Team 1 Team 2 Team 3 Team 4
N°
Operatori 4 4 4 4
N°
Operatori 4 5 5 5
studio zeta Processi e Organizzazione Risultati Esercizio 11.1
Page 222 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 223
Scrittura su File
Per scrivere dati su un file si utilizza il comando WRITE
Tale comando può essere utilizzato nelle Actions (e.g. Action on Finish di un’attività)
Tutte le volte che Witness incontra un comando WRITE genera una nuova riga in un file
Se si vuole salvare il file in una cartella diversa da quella in cui è contenuto il modello nell’Actual Filename è necessario scrivere il percorso completo della cartella:
C:\Modello\File01.dat
studio zeta Processi e Organizzazione Scrittura su File
WRITE <filename> <lista di valori/attributi>
WRITE NumeroAbbandoni “!Numero abbandoni per servizio”
WRITE NumeroAbbandoni “!Servizio A Servizio B”
WRITE NumeroAbbandoni NumAbb_A, NumAbb_B
Dove: – NumeroAbbandoni è un file di tipo WRITE
– NumAbb_A, NumAbb_B sono varibili intere
Page 224 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Scrittura su File
Caratteri da utilizzare per migliorare la formattazione di un file:
– WRITE FILE1 “\n”
Per introdurre una nuova riga
– WRITE FILE1 “\t”
Per introdurre una tabulazione
Page 225 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Scrittura su File
Per poter accedere al file che Witness sta scrivendo è necessario:
– Fermare il modello di simulazione (STOP) e riportarlo all’istante zero (BEGIN)
– In alternativa chiudere il file utilizzando l’istruzione CLOSE(Filename). Tale istruzione può essere scritta nelle Actions (ad esempio User Actions, User Commands)
Page 226 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 227
Funzioni di lettura/scrittura su Excel
Funzioni che permettono la lettura e scrittura di dati in Excel:
‒ XLReadArray
Permette di immagazzinare il dato letto in una cella di un foglio Excel in una variabile Witness
XLReadArray("Dati input.xls","Dati","$B$9",TCicloOP10)
‒ XLWriteArray
Permette di scrivere il valore assunto da una variabile Witness in una cella di un foglio Excel
XLWriteArray(“Risultati.xls",“Risultati","$B$9",SaturazioneOP10)
Sintassi:
XLReadArray (WorkbookName, WorksheetName, Range, Array)
studio zeta Processi e Organizzazione Esercizio 11.2 – Leggere dati da Excel
Obiettivo dell’esercizio:
Lettura dei dati da Excel
Descrizione
Si stanno valutando le seguenti configurazioni in termini di numero di operatori:
Leggere da Excel il numero di operatori da impiegare nei diversi turni
Page 229 © Copyright 2014 Studio Zeta S.r.l.
Team 1 Team 2 Team 3 Team 4
N°
Operatori 4 4 4 4
N°
Operatori 4 5 5 5
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 230
COM
Component Object Model
È una piattaforma di Microsoft per componenti software introdotta nel 1993
Permette la comunicazione tra processi e la creazione dinamica di oggetti con qualsiasi linguaggio di programmazione che supporta questa tecnologia
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 231
COM
Controllare Witness da Visual Basic:
‒ Definire Witness come oggetto:
Dim WitObj As Object
set WitObj = GetObject(,"WITNESS.WCL")
‒ Esempi di comandi:
WitObj.Run
WitObj.Stop
WitObj.Action ("SET QUANTITY ASSEMBLY 2")
WitObj.variable ("Cadenza") = 3
NCicli = WitObj.Function ("NOPS", "M1")
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 12 – ELEMENTI GRAFICI
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione Serie Temporali (Timeseries)
Consente di ottenere una rappresentazione grafica dei risultati sullo schermo attraverso una grafico che evolve nel tempo (e.g. pezzi prodotti per ora)
A intervalli definiti (Recording Interval) viene fatta una lettura dei dati nel modello e un “plot” di questi sul grafico
E’ possibile rappresentare fino a 7 valori sul medesimo grafico
Page 233 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 234
Serie Temporali (Timeseries)
Maschera di Detail di una Timeseries
studio zeta Processi e Organizzazione Serie Temporali (Timeseries)
Maschera di Display di una Timeseries
Page 235 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Esercizio 12.1 - Timeseries
Obiettivo dell’esercizio:
Utilizzo delle serie temporali per graficare l’andamento nel tempo delle grandezze
Descrizione
Visualizzare l’andamento orario delle chiamate abbandonate e delle chiamate evase
Page 237 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Risultati Esercizio 12.1
Page 238 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Istogramma
Grafico a barre che permettere di rappresentare sullo schermo il range (intervallo di variabilità) di uno specifico parametro (E.g. tempo di attesa in una coda)
Page 239 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Istogramma
Maschera di Detail di un istogramma
Page 240 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Istogramma
Maschera di Display di un Istogramma
Page 241 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 242
Istogramma
Per registrare i valori su un istogramma è necessario utilizzare i comandi: RECORD, ADDBAR o DRAWBAR
Tali comandi possono essere utilizzati nelle Actions (e.g. Actions on Output di una coda per registrare il tempo di permanenza nella coda)
RECORD - registra un valore su un istogramma
RECORD Valore in Istogramma
Es. RECORD NumInSys(A) in Hist
‒ Dove Hist è un elemento Istogramma
‒ Registra il numero di entità A presenti nel modello in un certo istante
studio zeta Processi e Organizzazione Istogramma
DRAWBAR - disegna una barra di una specificata altezza su un istogramma
DRAWBAR Istogramma Valore, Altezza, Colore Es. DRAWBAR Hist 5,Var1,3
– Dove Hist è un elemento Istogramma e Var1 è una variabile (ad es. Var1=10)
– Disegna una barra di colore verde e di altezza 10 in corrispondenza dell’intervallo 5 sulle ascisse
Page 243 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Istogramma
ADDBAR - incrementa di un valore dato l’altezza di una barra di un istogramma
ADDBAR Istogramma Valore, Incremento, Colore Es. ADDBAR Hist 5, 3, 2
Dove Hist è un elemento Istogramma
– Incrementa di 3 unità la barra che si trova nell’intervallo 5 delle ascisse (incremento rosso)
Page 244 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 245
Istogramma
Codifica dei colori per le istruzioni ADDBAR/DRAWBAR
Codifica Colore Codifica Colore
0 Nero 8 Grigio
1 Bianco 9 Grigio Scuro
2 Rosso 10 Rosso Scuro
3 Verde 11 Verde Scuro
4 Blue 12 Blue Scuro
5 Azzurro 13 Azzurro Scuro
6 Giallo 14 Giallo Scuro
7 Magenta 15 Magenta Scuro
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 247
Esercizio 12.2 - Histograms
Obiettivo dell’esercizio:
Utilizzo degli istogrammi per visualizzare i tempi di attesa in coda
Descrizione
Visualizzare su un istogramma la distribuzione dei tempi di attesa nella coda operatori
Visualizzare su un istogramma la distribuzione dei tempi di abbandono
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 248
Risultati Esercizio 12.2
studio zeta Processi e Organizzazione Diagrammi a torta (Pie Chart)
Grafico a torta molto utile se si vogliono rappresentare ad esempio delle percentuali
A intervalli definiti (Refresh Interval) viene fatta una lettura dei dati nel modello e viene aggiornato il grafico
Page 249 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Diagrammi a torta (Pie Chart)
Maschera di Detail di una Pie Chart Page 250 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Diagrammi a torta (Pie Chart)
Display
– Sectors (colori)
– Tilt (Inclinazione)
– Depth (spessore)
– Start Angle
– Key (legenda)
Maschera di Display di una Pie Chart
Page 251 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 253
Esercizio 12.3 – Pie Charts
Obiettivo dell’esercizio:
Utilizzo dei diagrammi a torta per visualizzare le saturazioni
Descrizione
Visualizzare la saturazione degli operatori con un grafico a torta
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 254
Risultati Esercizio 12.3
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 255
Icone
Un’icona è una figura o un simbolo compreso in un reticolo rettangolare di “Pixel”
Ogni pixel è un singolo punto di colore
Si possono utilizzare le icone per rappresentare visivamente diversi elementi di Witness
Le icone in Witness possono essere:
‒ Monocromatiche – sono le icone che cambiano colore con lo stato dell’elemento
‒ Colorate
Le Icone possono essere disegnate utilizzando un editor oppure importate da file di immagine
Le icone sono contenute nel Picture Gallery (View->Picture Gallery)
studio zeta Processi e Organizzazione Icone
Picture Gallery
Page 256 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Icone
Icon editor
Page 257 © Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione Importazione di un layout come icona
E’ possibile importare come icona anche un file *.dxf (file autocad)
Per inserirlo come sfondo al
modello si può utilizzare View -
> Screen Editor
Con il Display Edit si può poi
posizionare il disegno in un
layer diverso dal “Simulation
Layer” ed impostare le opzioni
desiderate (Movable, Visible)
del layer scelto usando View ->
Layers
Page 258 © Copyright 2014 Studio Zeta S.r.l.
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 13 – SALVATAGGIO DI UN
MODELLO
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 260
Salvataggio di un modello
Un modello Witness può essere salvato (File\Save as) nei seguenti modi: ‒ Model Files (*.mod) – viene salvato il modello con le proprie icone e il
file di Designer Element
‒ Model & Status Files (*.sim) – Viene salvato il modello e lo stato attuale della simulazione (con tutti i report). Tale file può essere aperto solo con la medesima versione di Witness che l’ha generato
‒ Model Library Files (*.lst) – viene salvato il listato del modello. Il file creato è editabile con word. Nel file di listato non vengono salvate le icone. In automatico, insieme al file .lst, viene salvato anche il file .icn
‒ Icons Only files (*.icn) – vengono salvate solo le icone (per riutilizzare in altri modelli la parte grafica)
‒ Designer Element Files (*.des) – viene salvata la finestra dei Designer Elements
‒ Module Files (*.mdl) – il modello viene salvato come modulo per poter essere importato in altri modelli
‒ Backup Files (*.bck) – tutte le volte che viene effettuato un salvataggio, in automatico il sistema salva la precedente versione
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 14 – ANALISI COSTI /
BENEFICI
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 262
Analisi costi/benefici
Si tratta di un’analisi economica effettuata tramite assegnazione di costi e ricavi che viene sintetizzata, al termine della simulazione, in un “balance sheet”
È possibile definire ad esempio: ricavi per chiamata gestita, costi per operazione effettuata, costi per attesa delle chiamate in coda, ecc.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 263
Analisi costi/benefici
Costi:
‒ Costi Fissi: sono calcolati sulla durata della simulazione (se è stato definita una unità di tempo, è possibile scegliere tra secondi, minuti, ore, ecc.)
‒ Costi Variabili: sono calcolati sull’utilizzo o sulla produttività (costi sull’Idle Time, sul Busy Time, per Operations, per Entity Created, ecc.)
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 264
Analisi costi/benefici
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 265
Analisi costi/benefici
studio zeta Processi e Organizzazione Analisi costi/benefici
Al termine della simulazione, per accedere al foglio di sintesi, “Cost and Revenue Report”
Page 266 © Copyright 2014 Studio Zeta S.r.l.
© Copyright 2014 Studio Zeta S.r.l.
studio zeta Processi e Organizzazione 15 - METODOLOGIA DEL
PROGETTO DI
SIMULAZIONE
CORSO WITNESS BASE PER CONTACT CENTER
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 268
Metodologia del progetto di simulazione
Specs
Criteri e esperimenti di
validazione del modello
Certificazione dei dati e
data-cleaning
Specs
Descrizione dettagliata di:
• Processi e Organizzazione
• Servizi e Flussi
• Parametri, Formule e logiche di
sistema
Risultati
degli
esperimenti
What-if?
Specs
• Campagne di Verifica del Progetto • (A normale carico di lavoro)
• Campagne di Verifica di Capacità • (Prove da sforzo al crescere dei carichi)
• Campagne di Sensitività (E.g. Al variare del mix di dei prodotti)
Sintesi dei Risultati
MANAGEMENT
SUMMARY
DEFINIZIONE SVILUPPO VALIDAZIONE SPERIMENTAZIONE
CONFRONTO
SCENARI
ALTERNATIVI
OBIETTIVI
DI
BUSINESS
SCELTA
Lora
n
Modello Un modello a calcolatore che riproduce i
processi e l’organizzazione reale
comportandosi dinamicamente in modo
coerente con il sistema stesso.
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 269
Obiettivi di business
La simulazione offre risposte QUANTITATIVE alle domande di business come, ad esempio:
a) A parità di operatori Italia, quanto migliora il TA se ottimizzo la distribuzione degli skill e dei livelli di skill tra gli operatori?
b) A parità di SLA Italia, quanti operatori posso risparmiare se ottimizzo la distribuzione degli skill e dei livelli di skill tra gli operatori?
c) Quante chiamate in più posso prendere se ottimizzo la distribuzione dei livelli di skill tra gli operatori mantenendo il TA target?
Devono essere chiaramente definiti e condivisi con modeller
Non possono essere obiettivi estemporanei
Non possono limitarsi alla sola costruzione di un modello di
simulazione
studio zeta Processi e Organizzazione Fasi di un Progetto di Simulazione
Page 270 © Copyright 2014 Studio Zeta S.r.l.
• IL RISULTATO TANGIBILE – La mappa dei processi, i flussi, i dati normalizzati e i parametri – Gli indici di prestazione ed economici da valutare – Gli scenari alternativi da confrontare
• IL RISULTATO INTANGIBILE – La conoscenza/visione comune del processo – La normalizzazione delle aspettative
DEFINIZIONE
OBIETTIVI
LIVELLO DI
DETTAGLIO
REPERIMENTO
DATI
• Definizione del problema • Definizione degli obiettivi della simulazione • Definizione delle logiche di flusso • Definizione degli scenari alternativi • Selezione dei dati in input e dei risultati in output
• Definizione del grado di dettaglio • Definizione del grado di parametrizzazione
OUTPUT
• Identificazione dei parametri e delle distribuzioni statistiche • Verifica della disponibilità dei dati • Verifica di coerenza dei dati con gli obiettivi
DEFINIZIONE SVILUPPO VALIDAZIONE SPERIMENTAZIONE
CONFRONTO
SCENARI
ALTERNATIVI
SCELTA
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 271
Progettazione del modello
Prima di costruire il modello, è utile schematizzare il
processo su carta
“Un giorno sulla carta salva un mese sul computer”
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 272
Livello di dettaglio
Ciò che dovrebbe essere incluso nel modello: dove
inizia e dove finisce il progetto?
Modellizzare il numero minimo di dettagli che permette il
raggiungimento degli obiettivi
Obiettivi e livello di dettaglio non devono essere
modificati in corso d’opera
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 273
Reperimento dati
I dati possono essere suddivisi in 3 categorie:
‒ Disponibili
‒ Non disponibili, ma rintracciabili
‒ Non disponibili e non rintracciabili
– Esperienza delle persone
– Analisi di sensitività
studio zeta Processi e Organizzazione Fasi di un Progetto di Simulazione
Page 274 © Copyright 2014 Studio Zeta S.r.l.
PROGETTAZIONE
MODELLO
VERIFICA
OUTPUT
COSTRUZIONE
MODELLO
VALIDAZIONE
• IL MODELLO E UN’INTERFACCIA UTENTE FUNZIONANTI
• Definizione dell’architettura del modello • Definizione dell’interfaccia per l’introduzione dei parametri • Specifiche del modello e dell’interfaccia
• Sviluppo del modello • Sviluppo dell’interfaccia utente
• Test funzionale del modello e dell’interfaccia utente • Verifica di coerenza
• Definizione dei dati per gli esperimenti di validazione • Definizione dei risultati attesi • Lancio degli esperimenti di validazione • Verifica dei risultati rispetto ai risultati attesi • Eventuale modifica del modello e revisione delle specifiche del processo
DEFINIZIONE SVILUPPO VALIDAZIONE SPERIMENTAZIONE
CONFRONTO
SCENARI
ALTERNATIVI
SCELTA
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 275
Costruzione del modello
Procedere a piccoli passi
Prima di procedere al passo successivo, è meglio
essere sicuri che lo step completato funzioni
correttamente
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 276
Verifica
Controllare il codice, testare il modello, analizzare i
report
Il modello rispecchia fedelmente la realtà?
L’output generato dal modello soddisfa gli obiettivi?
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 277
Validazione
La validazione è la verifica che il modello si comporta
coerentemente con la realtà che deve rappresentare
Si attua attraverso un serie di esperimenti condotti con dati
appositamente predisposti
La validazione conferisce credibilità al modello
L’output della simulazione può essere confrontato con
l’output reale per vedere se il modello si comporta
coerentemente
È difficile validare modelli di sistemi ipotetici, ma esperti del
sistema possono dare una propria valutazione della
ragionevolezza dei risultati
studio zeta Processi e Organizzazione Fasi di un Progetto di Simulazione
Page 278 © Copyright 2014 Studio Zeta S.r.l.
PROGETTAZIONE
PIANO
ESPERIMENTI
SINTESI
OUTPUT
CONFRONTO
DI SCENARI
ALTERNATIVI
PRESENTAZIONE
DEI RISULTATI
• Definizione del Piano degli Esperimenti • Lancio degli esperimenti • Analisi dei risultati • Verifica dell’aderenza con gli obiettivi della simulazione
• Definizione dei parametri di valutazione • Definizione dei “Pesi” relativi • Confronto delle soluzioni
• Identificazione delle raccomandazioni • Stesura della relazione per il management
• Presentazione dei Risultati al Management
• IL RISULTATO TANGIBILE – Valutazione quantitativa della capacità del sistema – Identificazione e quantificazione dei punti di inefficienza – Analisi quantitativa degli scenari alternativi
• IL RISULTATO INTANGIBILE – Metodo per: analisi quantitativa, ricerca degli “ottimi” e valutazione
delle soluzioni
DEFINIZIONE SVILUPPO VALIDAZIONE SPERIMENTAZIONE
CONFRONTO
SCENARI
ALTERNATIVI
SCELTA
studio zeta Processi e Organizzazione
© Copyright 2014 Studio Zeta S.r.l. Page 279
Sperimentazione
Warm-Up Period
‒ Tempo dopo il quale il sistema comincia a collezionare le statistiche
Lunghezza della simulazione
‒ Trovare l’evento casuale meno frequente e fare in modo che la
simulazione duri un tempo sufficiente da far accadere un numero di
estrazioni tra 10 e 20
‒ Almeno una volta, lanciare la simulazione per un tempo molto lungo
Numero di repliche
‒ Almeno da 4 a 6 repliche per ogni esperimento
‒ Non necessarie se si effettuano analisi di What-if