You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 61 Next »

Supervisor - Header Einstellungen

VariableWert
$SERVICE_LEVEL_SECONDS

  

Supervisor - Echtzeitstatistik

QuelleQuery
varCallData (CACHE)DataCache_AcdGroups_RealtimeVarCallData.sql
Eingrenzung

WHERE ( AcdGroupsID = $ACDGROUPSID )
AND
( bOutbound = 0 );

BedeutungEchtzeitanrufe die in der jeweilgen ACD Gruppe sind.
Berechnete WerteAcdSupervisor.Declarations.Realtime.Totals.xhtml

Zähler pro Gruppe

ÜberschriftBerechnungBedeutung

Akt. Anrufe

COUNT(*) AS ActCalls

Ausgabe: actCalls

Anzahl der Anrufe die aktuell in der jeweiligen ACD Gruppe sind.
Vor Queue

IFNULL ( SUM( CASE AcdCallStatesID
WHEN 0 THEN 1
WHEN 1 THEN 1
WHEN 2 THEN 1
WHEN 3 THEN 1
WHEN 9 THEN 1
WHEN 10 THEN 1
ELSE 0
END
), 0 ) AS PreQueueCalls,

Ausgabe: preQueueCalls

Alle Anrufe die in einer der folgenden Anrufstati sind:

  • Gruppenanfang
  • Ansage 1
  • Routing Applikation (nur Rückwärtskompatibilität)
  • Ansage 2
  • Tarifansage
  • Gesprächsaufzeichnungsansage

 

In Queue

IFNULL ( SUM( CASE AcdCallStatesID
WHEN 4 THEN 1
WHEN 8 THEN 1
ELSE 0
END
), 0 ) AS InQueueCalls,

Ausgabe: inQueueCalls

Alle Anrufe die in einer der folgenden Anrufstati sind:

  • Warteschleife
  • Warteschleife (Prio) - Weiterleitung in einer Gruppe von einem Agenten aus.

 

Servicelevel

IFNULL( SUM( CASE
WHEN $SERVICE_LEVEL_SECONDS < 1 THEN 1
WHEN STRFTIME( '%s', dtAcdFirstAgentConnect ) - STRFTIME( '%s', dtAcdFirstGroupStart ) < $SERVICE_LEVEL_SECONDS THEN 1
ELSE 0
END
), 0 ) AS InServiceCalls,

Ausgabe:

#{ item.actCalls eq 0 ? 0 : item.inServiceCalls * 100 / item.actCalls }

Bezogen auf die Zeitdifferenz zwischen Eintritt in die erste ACD Gruppe sowie erste erfolgreiche Verbindung mit einem Agenten, wenn dieser weniger ist als die eingestellten $SERVICE_LEVEL_SECONDS, wird der Anruf als "In Service" betrachtet.

Alle anderen Anrufe werden als "Nicht in Service" betrachtet.

Die Zahl der "In Service" Anrufe wird in Relation zur Gesamtzahl der Anrufe als Prozentzahl ausgegeben.

Erreichbarkeit

IFNULL( SUM( CASE
WHEN dtAcdAgentConnect IS NULL THEN 0
ELSE 1
END
), 0 ) AS AgentCalls,

Ausgabe:

#{item.actCalls eq 0 ? 0 : item.agentCalls * 100 / item.actCalls}

Ein Anruf wird als Agentenanruf gezählt, wenn es in der aktuellen ACD Gruppe mit einem Agenten verbunden wird.

Die Zahl der "Agentenanrufe" wird in Relation zur Gesamtzahl der Anrufe als Prozentzahl ausgegeben.

Last-Agent %

IFNULL ( SUM( CASE bAcdFirstAgentConnectLastAgent
WHEN 1 THEN 1
ELSE 0
END
), 0 ) AS LastAgentCalls,

#{ item.actCalls eq 0 ? 0 : item.lastAgentCalls * 100 / item.actCalls }

Die Kennzeichnung bAcdFirstAgentConnectLastAgent wird einem Gespräch zugeordnet wenn der Last-Agent Algorithmus erfolgreich dem Anrufer mit dem Last-Agent verbunden hat.

Die Zahl der "Last Agent Anrufe" wird in Relation zur Gesamtzahl der Anrufe als Prozentzahl ausgegeben.

Agentenanrufe

IFNULL( SUM( CASE
WHEN dtAcdAgentConnect IS NULL THEN 0
ELSE 1
END
), 0 ) AS AgentCalls,

Ausgabe: agentCalls

Ein Anruf wird als Agentenanruf gezählt, wenn es in der aktuellen ACD Gruppe mit einem Agenten verbunden wird.
Agentenanrufe (↑)

IFNULL( SUM( CASE
WHEN dtAcdAgentConnect IS NULL THEN 0
WHEN nSkillAfterCorrection > nSkillReal THEN 1
ELSE 0
END
), 0 ) AS AgentCallsUpSkill,

Ausgabe: agentCallsUpSkill

Wenn ein Anruf an einem Agenten verteilt wird, der eine Skillkorrektur nach Oben hat, wird der Anruf in diese Spalte gezählt.
Agentenanrufe (•)

IFNULL( SUM( CASE
WHEN dtAcdAgentConnect IS NULL THEN 0
WHEN nSkillAfterCorrection = nSkillReal THEN 1
ELSE 0
END
), 0 ) AS AgentCallsSameSkill,

Ausgabe: agentCallsSameSkill

Wenn ein Anruf an einem Agenten verteilt wird, der keine Skillkorrektur hat, wird der Anruf in diese Spalte gezählt.
Agentenanrufe (↓)

IFNULL( SUM( CASE
WHEN dtAcdAgentConnect IS NULL THEN 0
WHEN nSkillAfterCorrection < nSkillReal THEN 1
ELSE 0
END
), 0 ) AS AgentCallsDownSkill,

Ausgabe: agentCallsDownSkill

Wenn ein Anruf an einem Agenten verteilt wird, der eine Skillkorrektur nach Unten hat, wird der Anruf in diese Spalte gezählt.
Anrufe in Servicelevel

IFNULL( SUM( CASE
WHEN $SERVICE_LEVEL_SECONDS < 1 THEN 1
WHEN STRFTIME( '%s', dtAcdFirstAgentConnect ) - STRFTIME( '%s', dtAcdFirstGroupStart ) < $SERVICE_LEVEL_SECONDS THEN 1
ELSE 0
END
), 0 ) AS InServiceCalls,

Ausgabe: inServiceCalls

Bezogen auf die Zeitdifferenz zwischen Eintritt in die erste ACD Gruppe sowie erste erfolgreiche Verbindung mit einem Agenten, wenn dieser weniger ist als die eingestellten $SERVICE_LEVEL_SECONDS, wird der Anruf als "In Service" betrachtet.

Alle anderen Anrufe werden als "Nicht in Service" betrachtet.

Die Zahl der "In Service" Anrufe wird als Zahl ausgegeben.

Last-Agent Anrufe

IFNULL ( SUM( CASE bAcdFirstAgentConnectLastAgent
WHEN 1 THEN 1
ELSE 0
END
), 0 ) AS LastAgentCalls,

Ausgabe: lastAgentCalls

Die Kennzeichnung bAcdFirstAgentConnectLastAgent wird einem Gespräch zugeordnet wenn der Last-Agent Algorithmus erfolgreich dem Anrufer mit dem Last-Agent verbunden hat.

Die Zahl der "Last Agent Anrufe" wird ausgegeben.

Ø Wartezeit

IFNULL( SUM( CASE
WHEN dtAcdFirstAgentConnect IS NOT NULL AND dtAcdFirstGroupStart IS NOT NULL THEN STRFTIME( '%s', dtAcdFirstAgentConnect ) - STRFTIME( '%s', dtAcdFirstGroupStart )
WHEN dtAcdGroupActionStart IS NOT NULL AND dtAcdFirstGroupStart IS NOT NULL THEN STRFTIME( '%s', dtAcdGroupActionStart ) - STRFTIME( '%s', dtAcdFirstGroupStart )
WHEN dtAcdFirstGroupStart IS NOT NULL THEN STRFTIME( '%s', DATETIME( 'now', 'localtime' ) ) - STRFTIME( '%s', dtAcdFirstGroupStart )
ELSE 0
END
), 0 ) AS ActTotalWaitingTime,

Ausgabe:

#{item.actCalls ne 0 ? item.actTotalWaitingTime / item.actCalls : 0}

Wenn der Anruf mit einem Agenten verbunden ist, wird die Zeit zwischen erster Gruppeneintritt und erste Verbindung mit einem Agenten als Wartezeit gemessen.

Wenn der Anruf aus der Queue ausgeleitet wird um beispielsweise eine Voice-Mail aufzuzeichnen, dann wird die Zeit zwischen erster Gruppeneintritt und Ausführung der Regel gemessen.

Ansonsten wird die Zeit zwischen Eintritt in die erste ACD Gruppe und aktuelle Urhzeit gemessen.

Diese Zeit entspricht die Wartezeit des Anrufers seit Eintritt in die erste ACD Gruppe.

Diese Zahl wird durch die Anzahl der aktuellen Anrufe geteilt und als durchschnittliche Zeit ausgegeben.

Max. Wartezeit

IFNULL( MAX( CASE
WHEN dtAcdFirstAgentConnect IS NOT NULL AND dtAcdFirstGroupStart IS NOT NULL THEN STRFTIME( '%s', dtAcdFirstAgentConnect ) - STRFTIME( '%s', dtAcdFirstGroupStart )
WHEN dtAcdGroupActionStart IS NOT NULL AND dtAcdFirstGroupStart IS NOT NULL THEN STRFTIME( '%s', dtAcdGroupActionStart ) - STRFTIME( '%s', dtAcdFirstGroupStart )
WHEN dtAcdFirstGroupStart IS NOT NULL THEN STRFTIME( '%s', DATETIME( 'now', 'localtime' ) ) - STRFTIME( '%s', dtAcdFirstGroupStart )
ELSE 0
END
), 0 ) AS ActMaxWaitingTime,

Ausgabe: actMaxWaitingTime

Dieser Wert ist das Maximum aller Wartezeiten die für die Durschnittsberechnung Ø Wartezeit genutzt werden.
Ø Queuezeit

IFNULL( SUM( CASE
WHEN AcdCallStatesID IN ( 4, 8 ) THEN
CASE
WHEN dtAcdFirstAgentConnect IS NOT NULL AND dtAcdFirstQueueStart IS NOT NULL THEN STRFTIME( '%s', dtAcdFirstAgentConnect ) - STRFTIME( '%s', dtAcdFirstQueueStart )
WHEN dtAcdFirstQueueStart IS NOT NULL THEN STRFTIME( '%s', DATETIME( 'now', 'localtime' ) ) - STRFTIME( '%s', dtAcdFirstGroupStart )
ELSE 0
END
ELSE 0
END
), 0 ) AS ActTotalQueueTime,

Ausgabe:

#{item.inQueueCalls ne 0 ? item.actTotalQueueTime / item.inQueueCalls : 0}

Für alle Anrufe, die aktuell in der ACD Warteschleife sind:

Wenn der Anruf mit einem Agenten verbunden ist, wird die Zeit zwischen erster Eintritt in die erste ACD Warteschleife und erste Verbindung mit einem Agenten als Queuezeit gemessen.

Ansonsten wird die Zeit zwischen Eintritt in die erste ACD Warteschleife und aktuelle Urhzeit gemessen.

Diese Zeit entspricht die Queuezeit des Anrufers seit Eintritt in die erste ACD Warteschleife.

Diese Zahl wird durch die Anzahl der aktuellen Anrufe geteilt und als durchschnittliche Zeit ausgegeben.

Max. Queuezeit

IFNULL( MAX( CASE
WHEN AcdCallStatesID IN ( 4, 8 ) THEN
CASE
WHEN dtAcdFirstAgentConnect IS NOT NULL AND dtAcdFirstQueueStart IS NOT NULL THEN STRFTIME( '%s', dtAcdFirstAgentConnect ) - STRFTIME( '%s', dtAcdFirstQueueStart )
WHEN dtAcdFirstQueueStart IS NOT NULL THEN STRFTIME( '%s', DATETIME( 'now', 'localtime' ) ) - STRFTIME( '%s', dtAcdFirstGroupStart )
ELSE 0
END
ELSE 0
END
), 0 ) AS ActMaxQueueTime

Ausgabe: actMaxQueueTime

Für alle Anrufe, die aktuell in der ACD Warteschleife sind:

 Dieser Wert ist das Maximum aller Queuezeiten die für die Durschnittsberechnung Ø Queuezeit genutzt werden.

Summenzeile

ÜberschriftBerechnungBedeutung

Akt. Anrufe

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_ActCalls"
value="#{realtimeGroupDataBean.sumOfColumn('ActCalls')}"
scope="request"/>

Ausgabe:

#{realtimeGroupDataBean_sumOfColumn_ActCalls}

Die Gesamtzahl der Spalte "Akt. Anrufe" aus allen angezeigten Datenreihen.
Vor Queue

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_PreQueueCalls"
value="#{realtimeGroupDataBean.sumOfColumn('PreQueueCalls')}"
scope="request"/>

Ausgabe:

#{realtimeGroupDataBean_sumOfColumn_PreQueueCalls}

Die Gesamtzahl der Spalte "Vor Queue" aus allen angezeigten Datenreihen.

In Queue

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_InQueueCalls"
value="#{realtimeGroupDataBean.sumOfColumn('InQueueCalls')}"
scope="request"/>

Ausgabe:

#{realtimeGroupDataBean_sumOfColumn_InQueueCalls}

Die Gesamtzahl der Spalte "In Queue" aus allen angezeigten Datenreihen.

 

Servicelevel

Berechnung:

<c:set var="realtimeGroupDataBean_InServicePercent"
value="#{realtimeGroupDataBean_sumOfColumn_ActCalls eq 0 ? 0 : realtimeGroupDataBean_sumOfColumn_InServiceCalls * 100 / realtimeGroupDataBean_sumOfColumn_ActCalls}"
scope="request"/>

Ausgabe:

#{realtimeGroupDataBean_InServicePercent}

Die Summe der Spalte "Anrufe in Servicelevel" für alle angezeigte Datenreihen, geteilt durch die Summe der Spalte "Akt. Anrufe" als Prozentzahl ausgegeben.

Erreichbarkeit

Berechnung:

<c:set var="realtimeGroupDataBean_AvailabilityPercent"
value="#{realtimeGroupDataBean_sumOfColumn_ActCalls eq 0 ? 0 : realtimeGroupDataBean_sumOfColumn_AgentCalls * 100 / realtimeGroupDataBean_sumOfColumn_ActCalls}"
scope="request"/>

Ausgabe:

#{realtimeGroupDataBean_AvailabilityPercent}

Die Summe der Spalte "Agentenanrufe" für alle angezeigte Datenreihen, geteilt durch die Summe der Spalte "Akt. Anrufe" als Prozentzahl ausgegeben.
Last-Agent %

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_LastAgentCalls"
value="#{realtimeGroupDataBean.sumOfColumn('LastAgentCalls')}"
scope="request"/>

Ausgabe:

#{ ( realtimeGroupDataBean_sumOfColumn_ActCalls eq 0 ) ? 0 : realtimeGroupDataBean_sumOfColumn_LastAgentCalls * 100 / realtimeGroupDataBean_sumOfColumn_ActCalls}

Die Summe der Spalte "Last-Agent Anrufe" für alle angezeigte Datenreihen, geteilt durch die Summe der Spalte "Akt. Anrufe" als Prozentzahl ausgegeben.
Agentenanrufe

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_AgentCalls"
value="#{realtimeGroupDataBean.sumOfColumn('AgentCalls')}"
scope="request"/>

Anzeige:

#{realtimeGroupDataBean_sumOfColumn_AgentCalls}

Die Summe der Spalte "Agentenanrufe" für alle angezeigte Datenreihen.
Agentenanrufe (↑)

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_AgentCallsUpSkill"
value="#{realtimeGroupDataBean.sumOfColumn('AgentCallsUpSkill')}"
scope="request"/>

Anzeige:

#{realtimeGroupDataBean_sumOfColumn_AgentCallsUpSkill}

Die Summe der Spalte "Agentenanrufe (↑)" für alle angezeigte Datenreihen.
Agentenanrufe (•)

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_AgentCallsSameSkill"
value="#{realtimeGroupDataBean.sumOfColumn('AgentCallsSameSkill')}"
scope="request"/>

Anzeige:

#{realtimeGroupDataBean_sumOfColumn_AgentCallsSameSkill}

Die Summe der Spalte "Agentenanrufe (•)" für alle angezeigte Datenreihen.
Agentenanrufe (↓)

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_AgentCallsDownSkill"
value="#{realtimeGroupDataBean.sumOfColumn('AgentCallsDownSkill')}"
scope="request"/>

Anzeige:

#{realtimeGroupDataBean_sumOfColumn_AgentCallsDownSkill}

Die Summe der Spalte "Agentenanrufe (↓)" für alle angezeigte Datenreihen.
Anrufe in Servicelevel

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_InServiceCalls"
value="#{realtimeGroupDataBean.sumOfColumn('InServiceCalls')}"
scope="request"/>

Anzeige:

#{realtimeGroupDataBean_sumOfColumn_InServiceCalls}

Die Summe der Spalte "Anrufe in Servicelevel" für alle angezeigte Datenreihen.
Last-Agent Anrufe

Berechnung:

<c:set var="realtimeGroupDataBean_sumOfColumn_LastAgentCalls"
value="#{realtimeGroupDataBean.sumOfColumn('LastAgentCalls')}"
scope="request"/>

Anzeige:

#{realtimeGroupDataBean_sumOfColumn_LastAgentCalls}

Die Summe der Spalte "Last-Agent Anrufe" für alle angezeigte Datenreihen.
Ø Wartezeit

Anzeige:

#{ ( realtimeGroupDataBean_sumOfColumn_ActCalls eq 0 ) ? 0 : supervisorRealtimeGroupData.sumOfColumn('ActTotalWaitingTime') / realtimeGroupDataBean_sumOfColumn_ActCalls }

Die Summe der Spalte 'ActTotalWaitingTime' (siehe Berechnung für Feld "Ø Wartezeit"), geteilt durch die Summe der Spalte "Akt. Anrufe".
Max. Wartezeit

Anzeige:

#{supervisorRealtimeGroupData.maxOfColumn('ActMaxWaitingTime')}

Der Maximum Wert der Spalte "Max. Wartezeit".
Ø Queuezeit

Anzeige:

#{ ( realtimeGroupDataBean_sumOfColumn_InQueueCalls eq 0 ) ? 0 : supervisorRealtimeGroupData.sumOfColumn('ActTotalQueueTime') / realtimeGroupDataBean_sumOfColumn_InQueueCalls }

Die Summe der Spalte 'ActTotalQueueTime' (siehe Berechnung für Feld "Ø Queuezeit"), geteilt durch die Summe der Spalte "In Queue".
Max. Queuezeit

Anzeige:

#{supervisorRealtimeGroupData.maxOfColumn('ActMaxQueueTime')}

Der Maximum Wert der Spalte "Max. Queuezeit".

Supervisor - Agenten

QuelleQuery

AcdAgentGroupMapping, AcdAgentGroupMappingTypes, Users, AcdAgentStatus, varCallData

DataCache_AcdGroups_RealtimeAgentData.sql
Eingrenzung

FROM AcdAgentGroupMapping
JOIN AcdAgentGroupMappingTypes
ON AcdAgentGroupMapping.AcdAgentGroupMappingTypesID = AcdAgentGroupMappingTypes.ID
JOIN Users
ON AcdAgentGroupMapping.UsersID = Users.ID
JOIN AcdAgentStatus
ON Users.AcdAgentStatusID = AcdAgentStatus.ID
LEFT JOIN varCallData
ON Users.varCallDataID = varCallData.ID
WHERE ( AcdAgentGroupMapping.AcdGroupsID = $ACDGROUPSID )
AND
( bInvisible = 0 );

BedeutungZähler für Agenten und Agentenanrufe. Nicht sichtbare Agenten werden in der gesamten Berechnung ausgeblendet.
Berechnete WerteKeine

Zähler pro Gruppe

ÜberschriftBerechnungBedeutung

Angem.

IFNULL( SUM( CASE
WHEN ( AcdAgentStatus.bLoggedIn = 0 ) OR ( AcdAgentGroupMapping.bLoggedIn = 0 ) THEN 0
WHEN ( bMultiChannelAgent = 1 ) AND ( MaxParallelCalls IS NOT NULL ) THEN MaxParallelCalls
ELSE 1
END
), 0 ) AS AgentsLoggedIn,

Ausgabe: agentsLoggedIn

Für Agenten die in einem Status sind, die nicht mit "Angemeldet" gekennzeichnet ist: 0.

Für Agenten die in einem Status sind, die mit "Angemeldet" gekennzeichnet ist:

1, wenn der Agent einem normalen Agent ist

Anzahl der Kanäle, wenn der Agent einem Multichannel-Agent ist

Diese Werte werden summiert ausgegeben.

Frei

IFNULL( SUM( CASE
WHEN ( AcdAgentGroupMapping.bLoggedIn = 0 ) OR ( TelStatusID <> 0 ) OR ( TransactionCodeMandatoryStatisticsPartAID IS NOT NULL ) THEN 0
WHEN bMultiChannelAgent = 1 THEN IFNULL( MaxParallelCalls, 1 )
ELSE 1
END
), 0 ) AS AgentsFree,

Ausgabe: agentsFree

Für Agenten die abgemeldet sind, dessen Telefon belegt ist, oder die ein Transaction-Code für den letzten Anruf noch erfassen müssen, oder die in Pause sind, oder die in der Nachbearbeitung sind, 0.

Ansonsten:

1, wenn der Agent einem normalen Agent ist

Anzahl der Kanäle, wenn der Agent einem Multichannel-Agent ist

Diese Werte werden summiert ausgegeben.

Im Gespräch

IFNULL( SUM( CASE
WHEN ( varCallDataID IS NOT NULL ) AND ( AcdAgentGroupMapping.bLoggedIn = 1 ) THEN 1
ELSE 0
END
), 0 ) AS AgentsBusy,

Ausgabe: agentsBusy

Wenn der Agent angemeldet ist, und einen Gespräch zugewiesen bekommen hat (auch ggf. kurz bevor es klingelt), dann 1

Ansonsten 0

Diese Werte werden summiert ausgegeben.

 

Langtelefonierer

IFNULL( SUM( CASE
WHEN varCallData.bLongCallAlarmed = 1 THEN 1
ELSE 0
END
), 0 ) AS AgentsLongCalls,

Ausgabe: agentsLongCalls

bLongCallAlarmed wird für ein Gespräch gesetzt, wenn dieser die für die ACD Gruppe konfigurierte "Long Call" Zeit überschreitet.

Diese Spalte beinhaltet die Anzahl solcher "Long Calls".

Nachbearbeitung

IFNULL( SUM( CASE
WHEN STRFTIME( '%s', Users.dtLastCall ) > STRFTIME( '%s', DATETIME( 'now', 'localtime' ) ) THEN 1
ELSE 0
END
), 0 ) AS AgentsPostCall,

Ausgabe: agentsPostCall

Diese Spalte beinhaltet die Anzahl der Agenten die in der automatischen Nachbearbeitung sind.
Pause

IFNULL( SUM( CASE
WHEN ( AcdAgentGroupMapping.bLoggedIn = 0 ) OR ( bPause = 0 ) THEN 0
WHEN bMultiChannelAgent = 1 THEN IFNULL( MaxParallelCalls, 1 )
ELSE 1
END
), 0 ) AS AgentsPause,

Ausgabe: agentsPause

Für abgemeldeten Agenten oder für Agenten die nicht in Pause sind, 0

Ansonsten für normale Agenten 1, für Multi-Channel-Agenten die Anzahl der konfigurierten Kanäle.

Diese Werte werden summiert ausgegeben.

Besetzt

IFNULL( SUM( CASE
WHEN AcdAgentGroupMapping.AcdMissedCallCounterBusy > 0 THEN 1
ELSE 0
END
), 0 ) AS AgentsFailedBusy,

Ausgabe: agentsFailedBusy

Für Agenten die einem oder mehrere Gespräche für diese ACD Gruppe durch ein besetztes Telefon verpasst haben, wird eine 1 gezählt.

Ansonsten wird 0 gezählt.

Diese Werte werden summiert ausgegeben.

Keine Antwort

IFNULL( SUM( CASE
WHEN AcdAgentGroupMapping.AcdMissedCallCounterNoAnswer > 0 THEN 1
ELSE 0
END
), 0 ) AS AgentsFailedNoAnswer,

Ausgabe: agentsFailedNoAnswer

Für Agenten die einem oder mehrere Gespräche für diese ACD Gruppe durch keine Antwort verpasst haben, wird eine 1 gezählt.

Ansonsten wird 0 gezählt.

Diese Werte werden summiert ausgegeben.

Ø Anrufe

IFNULL( SUM( CASE
WHEN AcdAgentGroupMapping.bLoggedIn = 0 THEN 0
ELSE AcdAgentGroupMapping.AcdLoginTotalCalls
END
), 0 ) AS AcdLoginTotalCalls,

 

Ausgabe:

#{ item['agentsLoggedIn'] eq 0 ? 0 : item['acdLoginTotalCalls'] / item['agentsLoggedIn'] }

Für Agenten die angemeldet sind: die Anzahl der Anrufe für diese ACD Gruppe seit der Anmeldung.

Für Agenten die abgemeldet sind, 0.

Diese Zahlen werden summiert und durch die Zahl der Agenten die angemeldet sind geteilt.

Somit ergibt sich die durchschnittliche Zahl der Anrufe pro Agent seit der Anmeldung (unabhängig davon wann dieser war).

Ø Auslastung

IFNULL( SUM( CASE
WHEN AcdAgentGroupMapping.bLoggedIn = 0 THEN 0
ELSE AcdAgentGroupMapping.AcdLoginCallSeconds
END
), 0 ) AS AcdLoginCallSeconds,

IFNULL( SUM( CASE
WHEN AcdAgentGroupMapping.bLoggedIn = 0 THEN 0
ELSE STRFTIME( '%s', DATETIME( 'now', 'localtime' ) ) - STRFTIME( '%s', AcdAgentGroupMapping.dtAcdLoggedIn )
END
), 0 ) AS AcdLoginSeconds

Ausgabe:

#{ item['acdLoginSeconds'] eq 0 ? 0.0 : item['acdLoginCallSeconds'] * 100 / item['acdLoginSeconds'] }

In dieser Berechnung werden nur Agenten berücksichtigt, die angemeldet sind.

Diese Prozentzahl gibt aus, in Relation zur Login Zeit in der jeweiligen ACD Gruppe, wieviel Prozent der Zeit mit Telefonate für die jeweilige ACD Gruppe verbracht wurden.

Die Telefoniezeit wird ohne Whisper Ansage berechnet.

 

Gesamt

IFNULL( SUM(
CASE
WHEN bMultiChannelAgent = 1 THEN IFNULL( MaxParallelCalls, 1 )
ELSE 1
END
), 0 ) AS AgentsTotal,

Ausgabe: agentsTotal

Diese Spalte gibt an die Gesamtzahl der konfigurierten Agenten für diese ACD Gruppe.

Bei Multi-Channel Agenten wird die Anzahl der konfigurierten Kanäle gezählt, für normale Agenten 1.

 

Summenzeile

ÜberschriftBerechnungBedeutung

Angem.

  
Frei  
Im Gespräch  
Langtelefonierer  
Nachbearbeitung  
Pause  
Besetzt  
Keine Antwort  
Ø Anrufe  
Ø Auslastung  
Gesamt  

 

 

  • No labels