Contents
- 1 Importing Contact Groups into Advisors
- 1.1 Data for Contact Groups
- 1.2 Importing Contact Groups into Primary and Backup WA Servers
- 1.3 Contact Group Synchronization Log
- 1.4 File Names for Contact Groups
- 1.5 Contact Group File Header
- 1.6 Importing Contact Groups with Fifteen Minute Forecasts into WA
- 1.7 Metrics Correspondences among WFM Systems
Importing Contact Groups into Advisors
This page provides the information you need to import Contact Groups into Performance Management Advisors.
Data for Contact Groups
Workforce Advisor accepts data from three WFM systems:
- Genesys Workforce Management (WFM)
- IEX TotalView
- Aspect eWFM
See Workforce Advisor in the Genesys 7.x - 9.x Product Availability table of the Genesys Interoperability Guide for information about supported versions.
WA requests data from Genesys WFM directly using the API of Genesys WFM. The properties that govern this are set at installation. The properties are stored in the conf/WorkforceAdvisor.properties file.
The WorkforceUtilization-GenesysMetricsMapping.properties file is another properties file specific to importing from Genesys WFM. The properties in the file let you choose the KPIs that WA imports from Genesys WFM. For information about how to map those KPIs to WA’s metrics, see Metrics Correspondences among WFM Systems.
Input data sets with forecasts from IEX TotalView are sent by FTP to a port number chosen when installing WA Server. The port number is preserved in a property in the conf/WorkforceAdvisor.properties file. WA’s FTP functionality listens on that port for incoming data.
IEX TotalView can send data to WA directly using FTP. That is, it is not necessary to first write the data to files on the disk, and then send those to WA by FTP.
One data set from IEX TotalView can contain data from more than one contact group.
After WA accepts one of these data sets , it backs it up in a file in the Advisors directory. The file is placed in the subdirectory apache-tomcat-<version>\bin\ftpdir\iex. There you can find the latest version of the data that WA accepted, although WA does not use this file. Changing this file does not affect WA.
The conf/WorkforceUtilization.properties file has properties that tell WA how to remove these files from the backup directory:
- iexLogCleaner.repeatInterval: The default setting checks for files to remove every 12 hours.
- iexLogCleaner.period: The default setting removes files older than three days.
Sending IEX TotalView files to WA using an FTP server
Unlike eWFM forecast data that WA fetches, IEX files are pushed to WA. WA does not read the IEX data sets until an external FTP server pushes them to WA.
Note that IEX TotalView can send data to WA directly using FTP. That is, it is not necessary to first write the data to files on the disk, and then send those to WA by FTP.
If you want to use FTP to push data from files on disk to WA, you require the following, in addition to the IEX files:
- A batch file that contains the following:
REM sends the current IEX file to the ftp service in WU on port 6021.
ftp -s:sendIEXFile.txt
pause - A SendIEX.txt file that contains the names of the IEX files:
open localhost 6021
iex
iex!bat
bin
send "<<Enter your IEX filename here and repeat this line for every IEX file that exists>>"
quit
Use a Cron-job to send the IEX files on a daily basis using the FTP server. To create a Cron-job on a Windows system, go to Start > Accessories > System tools > Scheduled Tasks. Create a new scheduled task and set up the batch file to run automatically at specific times.
Changing the Password Used by WA Server's FTP Server
35px|link= As you can see from the example commands above, the default username to connect to WA Server with FTP is iex and the default password is iex!bat.
To change this password, update the encrypted password stored in WA Server's ftpUsers.properties file.
- Choose the new password.
- Use any utility available online to produce an MD5 hash of the password. You cannot use the Advisors password encryption utility for this task.
- In the hashed result, replace lower-case letters with upper-case ones, if necessary. This makes the new hashed password consistent with existing hashes.
- Go to the apache-tomcat-<version>\webapps\wu-server\WEB-INF\classes directory.
- Edit ftpUsers.properties.
- Replace ftpserver.user.iex.userpassword with the MD5 hash of your new password.
- Save the file.
- Restart WA Server.
- Update the password in your SendIEX.txt file.
Input files from Aspect eWFM are read from a directory chosen at installation. WA preserves the directory path in a property in the conf/WorkforceUtilization.properties file.
WA reads the files at an interval configured by a property in the conf/WorkforceAdvisor.properties file. That file also has properties that determine the field separator character and date format it uses when reading the file's data. WA does not back up these files, nor does it delete them after reading them.
One file from Aspect eWFM can contain data for only one contact group.
How WA Distributes Metrics from eWFM
For the distributed scenario of data from Aspect eWFM, the data for each contact group is in more than one file. The metrics for one forecast contact group are in one file.
Metrics for related staff contact groups are in one or more different files.
WA apportions the metrics’ values from the forecast contact group among the staff contact groups, and then ignores the forecast contact group. That is, essentially it imports only the staff contact groups, but these have all the necessary metrics.
Below is how WA apportions the metrics' values from the forecast contact group to the related staff contact groups. For one staff contact group:
Staff CG RVOL = (Forecast CG RVOL * (Staff CG SGRSCH / Sum(SGRSCH of all Staff CGs related to Forecast CG))
Staff CG RSL = Forecast CG RSL
Staff CG RDELAY SEC = Forecast CG RDELAY SEC
Staff CG RAHT = Forecast CG RAHT
Importing Contact Groups into Primary and Backup WA Servers
In a deployment of WA Server that supports warm standby HA, WA Server is installed on two different systems.
The same is true in a deployment that supports cold standby.
In such deployments, the configuration to import contact groups must be done on both of those systems.
If you perform the configuration, for example, only on the system that runs the primary WA Server, and then that system fails over to the backup system, the WA Server that runs there will not have any forecast data about contact groups to use in its calculations. The WA dashboards will display N/A for contact groups' metrics and metrics that depend on them.
Contact Group Synchronization Log
WA does not create a separate log file to record the effect of an import of data for contact groups from any system. WA logs the data in the advisors.log file of the Tomcat in which the WA Server is deployed. This log file is in the Advisors deployment directory, in subdirectory apache-tomcat-<version>/logs.
This logging is controlled by a category in the log4j.properties file in the Advisors/conf directory. The category is com.informiam.workforceutilization.service.integration.batch.ContactGroupImporterImpl and, by default, is set to INFO, which will output the messages described here.
An example of an entry in the log is:
ContactGroupImportLogEntry{
logDate=Fri Jun 01 22:34:58 EDT 2012,
netNewContactGroups=[ContactType{id=WFMProd01-Complaints, name='Complaints'}],
inactivatedContactGroups=[],
reactivatedContactGroups=[]}
This log entry says that:
- On the last import of a contact group or set of them, there was one new contact group.
- The new contact group’s source system's name is WFMProd01.
- The group’s ID in its system of origin, (as far as Advisors can determine), is Complaints. The name is Complaints.
File Names for Contact Groups
The names of the files with contact group data have special meaning, as described in the following sections. The file names carry this meaning because the contents of the file cannot carry it.
From IEX TotalView
The format of the name of a file from IEX TotalView is:
sourceSystemName.anyText
The segment .anyText is mandatory, but can simply be the file’s extension. For example:
IEXSystem1.ContactGroupsForecastData.txt
Prod02.DailyForecast.csv
The source system name establishes a namespace for the names of all the contact groups that the file contains. It allows Advisors to distinguish contact groups with the same name from different WFM systems.
Source system names are case-sensitive. Source names must be unique across all sources. That is, data from IEX TotalView and Aspect eWFM cannot have the same source name.
Once you first import a file with a given source system name, you should not change it. If you change it, WA will not recognize that the contact groups come from the same source system. It will create in the Advisors database a new set of contact groups with a different source system name.
The source system name appears in the Administration module, in the Contact Groups Configuration page, Contact Group Details tab. It can also qualify contact groups’ names in other places in which Advisors displays them.
Advisors assigns the type forecast to all contact groups from IEX TotalView. This type also appears in the Administration module, in the Contact Groups Configuration page, Contact Group Details tab. Advisors does not use this type; it is for information only.
From Aspect eWFM
The format of the name of a file from Aspect eWFM is:
sourceSystemName.contactGroupName.anyText.csv
The segment .anyText is optional. WA ignores it if it is present. If you replace anyText with a timestamp, you can use this text to differentiate the same data sent at different times. This prevents WA from trying to read a file that something else is currently writing. For example:
AspectSystem1.RS.csv
Aspect.RS.csv
ewfm.03_RET.csv
Aspect1.04DESQ.2011-09-13.csv
The source system name establishes a namespace for the contact group whose name follows it in the file name. It allows Advisors to distinguish contact groups with the same name from different WFM systems.
Source system names are case-sensitive. Source names must be unique across all sources. That is, data from IEX TotalView and Aspect eWFM cannot have the same source name.
Once you first import a file with a given source system name, you should not change it. If you change it, WA will not recognize that the contact groups come from the same source system. It will create in the Advisors database a new set of contact groups with a different source system name.
The source system name appears in the Administration module, in the Contact Groups Configuration page, Contact Group Details tab. It can also qualify contact groups’ names in other places in which Advisors displays them.
The contact group name is the name of the contact group.
If the contact group name starts with FG, then Advisors assigns the type forecast to the contact group; otherwise it assigns the type staff. This type (forecast) also appears in the Administration module, in the Contact Groups Configuration page, Contact Group Details tab. Advisors does not use this type; it is for information only.
You can put multiple files in the ewfm folder for a given sourceSystemName.contactGroupName. Genesys recommends that you format the files using the following convention to ensure WA imports the most recent file:
<sourceSystemName>.<contactGroupName>.<yyyyMMddhhmmss>
For example:
- Pipkins1.CAE.20130605101010.csv
- Pipkins1.CAE.20130605111010.csv
These two files have the same sourceSystemName and contactGroupName, but the time values differ. WA compares these values and imports the most recent file. From the previous example, WA imports the line items in the Pipkins1.CAE.20130605111010.csv file, and ignores the Pipkins1.CAE.20130605101010.csv file.
Distributed and Undistributed Scenarios
From Aspect eWFM, the real-time data for one contact group is in:
- One file (the undistributed scenario)
- More than one file (the distributed scenario)
For WA to read these files, you must follow a convention about where to put them in the file system.
For the undistributed scenario, put the files into the directory you supplied for WA at installation.
For the distributed scenario, the data for each contact group is in more than one file. Metrics for forecast contact groups are in one file. Metrics for related staff contact groups are in one or more different files.
Put the file of forecast contact group metrics in the directory supplied for WA at installation.
Put the files of staff contact groups in a subdirectory of that directory. The name of the subdirectory should be the name of the file of the forecast contact group.
Example
Data for the forecast contact group is in:
Aspect.A_FCAST_GROUP.csv
Data for the staff contact groups is in:
Aspect.A_STF_GROUP_1.csv
Aspect.A_STF_GROUP_2.csv
Aspect.A_STF_GROUP_3.csv
Aspect.A_STF_GROUP_4.csv
- In the directory chosen at installation, put Aspect.A_FCAST_GROUP.csv.
- In that directory, create a subdirectory named Aspect.A_FCAST_GROUP.
- In the subdirectory, put the other files. The names of these files do not matter. WA knows they belong to Aspect.A_FCAST_GROUP.csv because the directory name matches its file name.
You can mix both scenarios. That is, you could also put Aspect.A_CONTACT_GROUP.csv in the top directory, and WA would read and interpret it as usual.
See How WA Distributes Metrics from eWFM for information about how the distributed scenario affects the way WA collects metric values for contact groups.
Contact Group File Header
Each file must have a header exported by the WFM system so that Workforce Advisor knows which metrics are present, and their order. The columns in these files can be in any order. The only requirement is that the column’s header, in the first row, must be in the same position in that row as the data in the following rows for that column. For example, if period is the fifth column header, then the values for period must be the fifth value in each row.
In a file from IEX TotalView, the header records are as follows:
#fields:date|period|TZ|custID|saGroupID|saGroupName|ssGroupID|ssGroupName|buID|
buName|ctID|ctName|acdID|modify|fcstContactsReceived|fcstContactsHandled|fcstAHT|
fcstSLPct|slPctObj|slTime|fcstOcc|maxOcc|fcstASA|asaObj|fcstReq|revPlanReq|commitPlanReq|schedOpen
#sort:date,period,TZ,custID,saGroupID,saGroupName,ssGroupID,ssGroupName,buID,buName,
ctID,ctName,acdID,modify,fcstContactsReceived,fcstContactsHandled,fcstAHT,fcstSLPct,slPctObj,
slTime,fcstOcc,maxOcc,fcstASA,asaObj,fcstReq,revPlanReq,commitPlanReq,schedOpen
The #sort record is not necessary.
For Aspect eWFM, the forecast and staff groups are either in one of the following formats:
- One file (undistributed)
- Two files (distributed)
The header records are as follows:
- Undistributed scenario
In the one file for both forecast and staff groups, WA uses the data from the following fields:
START_TIME, HOUR, MINUTE, RVOL, RAHT, RSL, RDELAY SEC, SGRREQ, SGRSCH - Distributed scenario
In a file of metrics for forecast contact groups, WA uses the data from the following fields:
START_TIME, HOUR, MINUTE, RVOL, RAHT, RSL, RDELAY SEC, SGRREQ, SGRSCH
In a file of metrics for staff contact groups, WA uses the data from the following fields:
START_TIME, HOUR, MINUTE, SGRSCH, SGRREQ, RDELAY SEC
WA does not use the PRI_INDEX, ROUTING_SET, or STOP_TIME fields.
WA uses the following fields from eWFM data files:
- START_TIME—WA uses the date component of the start time to determine the day, month, and year to which the data applies.
- HOUR, MINUTE—WA uses these fields to determine the time of day to which the data applies.
Importing Contact Groups with Fifteen Minute Forecasts into WA
Workforce Advisor will accept data in which the forecast intervals are 15 minutes instead of 30 minutes. It will accept such data from any of the supported WFM systems.
Because WA is designed to display metrics only for a 30-minute forecast period that starts on the current half hour, WA has to combine the metrics from 15-minute periods in order to use them.
The simplest case is two 15-minute forecast periods, starting on a half hour and 15 minutes after that. For example, two periods starting at 09:00 (period 1) and 09:15 (period 2). The information below describes how WA combines the forecast metrics from these periods into metrics for the 30-minutes period starting at 09:00.
In the equations, a metric for period 1 is M1, and a metric for period 2 is M2.
- FNCO for 30 minutes = FNCO1 + FNCO2.
- If either FNCO1 or FNCO2 is null, then the result is the value of the other.
- If both are null, then the result is null.
- FNCOTotal for 30 minutes = FNCOTotal1 + FNCOTotal2.
- If either FNCOTotal1 or FNCOTotal2 is null, then the result is the value of the other.
- If both are null, then the result is null.
- FAHT for 30 minutes = (FAHT1 * FNCO1 + FAHT2 * FNCO2) / (FNCO1 + FNCO2).
- If either metric from period 1 is null, then the result is FAHT2.
- If either metric from period 2 is null, then the result is FAHT1.
- If the denominator is 0, then the result is null.
- FSL for 30 minutes = (FSL1 * FNCO1 + FSL2 * FNCO2) / (FNCO1 + FNCO2).
- If either metric from period 1 is null, then the result is FSL2.
- If either metric from period 2 is null, then the result is FSL1.
- If the denominator is 0, then the result is null.
- REQ for 30 minutes = (REQ1 * FNCO1 * FAHT1 + REQ2 * FNCO2 *FAHT2) / (FNCO1 * FAHT1 + FNCO2 *FAHT2).
- If any metric from period 1 is null, then the result is REQ2.
- If any metric from period 2 is null, then the result is REQ1.
- If the denominator is 0, then the result is null.
- SCH for 30 minutes = (SCH1 * FNCO1 * FAHT1 + SCH2 * FNCO2 *FAHT2) / (FNCO1 * FAHT1 + FNCO2 *FAHT2).
- If any metric from period 1 is null, then the result is SCH2.
- If any metric from period 2 is null, then the result is SCH1.
- If the denominator is 0, then the result is null.
- AdjREQ for 30 minutes = (AdjREQ1 * FNCO1 * FAHT1 + AdjREQ2 * FNCO2 *FAHT2) / (FNCO1 * FAHT1 + FNCO2 *FAHT2).
- If any metric from period 1 is null, then the result is AdjREQ2.
- If any metric from period 2 is null, then the result is AdjREQ1.
- If the denominator is 0, then the result is null.
- AdjSCH for 30 minutes = (AdjSCH1 * FNCO1 * FAHT1 + AdjSCH2 * FNCO2 *FAHT2) / (FNCO1 * FAHT1 + FNCO2 *FAHT2).
- If any metric from period 1 is null, then the result is AdjSCH2.
- If any metric from period 2 is null, then the result is AdjSCH1.
- If the denominator is 0, then the result is null.
WA combines 15-minute periods as follows:
- Period 1 starting at n:00 and period 2 at n:15 combine to one 30-minute period starting at n:00.
- Period 1 starting at n:30 and period 2 at n:45 combine to one 30-minute period starting at n:30.
- A missing period 1 starting at n:00 and available period 2 starting at n:15 combine to one 30 minute period starting at n:00 that has the metrics from period 2.
- A missing period 1 starting at n:30 and available period 2 starting at n:45 combine to one 30 minute period starting at n:30 that has the metrics from period 2.
- Period 1 starting at n:00 and a missing period 2 starting at n:15 combine to one 30 minute period starting at n:00 that has the metrics from period 1.
- Period 1 starting at n:30 and a missing period 2 starting at n:45 combine to one 30 minute period starting at n:30 that has the metrics from period 1.
Metrics Correspondences among WFM Systems
The Table below shows the relationships among the WFM metrics from different WFM systems. If a metric is not available from a WFM system, then its name in the Table, in the context of that system, is '–'.
Notes:
- Name shows the data in the NAME column of the METRICS table in the Advisors database.
- Display Name shows the data in the DISPLAY_NAME column of the METRICS table in the Advisors database.
- IEXTotalView names are in the headers of files imported from that system.
- Aspect eWFM names are in the headers of files imported from that system.
- Genesys WFM's names are constants in com.genesyslab.wfm7 ... EPerfInfoItems. They are supplied to WFMPerformanceService750Soap.getPerformanceData(). If these parameters are not correct, you can map different ones to WA's canonical names in the conf/WorkforceUtilization-GenesysMetricsMapping.properties file.
Name | Display Name | WA Canonical Name | IEX TotalView | Aspect eWFM | Genesys WFM |
---|---|---|---|---|---|
FNCO | Forecast NCO | fcstContactsReceived | fcstContactsReceived | RVOL | PERF_ITEM_FRC_IV |
FAHT | Forecast AHT | fcstAHT | fcstAHT | RAHT | PERF_ITEM_FRC_AHT |
FSL | Forecast SL% | fcstSLPct | fcstSLPct | RSL | PERF_ITEM_FRC_CALC_SERVICE_PCT |
FASA | Forecast ASA | fcstASA | fcstASA | RDELAY SEC | PERF_ITEM_FRC_CALC_ASA |
REQ | Required Staff | fcstReq | fcstReq | SGRREQ | PERF_ITEM_FRC_REQ_STAFFING |
SCH | Scheduled Staff | schedOpen | schedOpen | SGRSCH | PERF_ITEM_SCH_COVERAGE |
AdjREQ | Adjusted Required Staff | fcstReqAdj | – | SGRREQ JU | – |
AdjSCH | Adjusted Scheduled Staff | schedOpenAdj | – | SGRSCH J | – |
FNCOTotal | Forecast NCO Total | fcstContactsReceivedTotal | – | RVOL_TOTAL | – |