Forecast Import File
At a Glance
File name: Forecast-[YYMMDD][HHMM].xml, where [YYMMDD] is the date in YYMMDD format, and [HHMM] is the time in HHMM format.
File type: XML
Forecast data import files allow you to import forecast data for one or more contact types (CTs) into IEX WFM Integrated. If you currently cut and paste forecast spreadsheet data into the IEX WFM Adjust Forecast screen, this is a more efficient way of moving that data.
Key Facts about Forecast Data Files
- You can import daily values or periodic values. Daily values are allocated to periods within the date based on the existing forecast distribution.
- You can include multiple CTs in the same data file.
- Each file must contain the elements described in the Document Type Definition.
-
Element tags are case-sensitive.
-
Date and time elements should use the CT's time zone.
- Field length for all entity names and user-defined data items is 64 characters unless otherwise noted.
- Limit file names to 30 characters.
-
Maximum file size is 5 MB.
-
If errors occur during file processing, the data may not import properly. Check file formatting before contacting your IEX WFM Integrated Account Representative.
General Processing Information
For each updated period:
-
The revised data fields are updated with imported data (as opposed to the original data fields). This includes periods updated as a result of importing a daily value to be distributed to periods within that date.
-
Forecast Requirement values are updated after the data import writes the imported values to the database. The forecast objectives stored in the Forecast record are used to calculate the Forecast Requirement values.
-
For multi-skill customers:
- Requirements are not stored with multi-skill efficiency applied. No processing for multi-skill efficiency is needed.
- Multi-skill efficiency values are not automatically updated by the import. You must run a simulation to update these values.
-
For periods where the CT:
-
Is not workload-based, Contacts Handled is set to 0.
-
Is workload-based, Contacts Handled is set to the same value as contactsReceived. After the IEX WFM Integrated processes the import file, you should regenerate a Plan (forecast) for the workload-based CT to recalculate the Contacts Handled values.
-
DailyData Elements
-
If you import a daily value using the dailyData element (rather than using periodData), the existing forecast data is used to distribute the daily values. CT hours are not honored. Data is imported to periods that already have forecast data. If a period has a 0 for the existing forecast value, that period will still have a 0 after the daily values are distributed. You cannot use dailyData and periodData in the same import.
-
If you specify a contactsReceived value, it's distributed to the periods in the day based on the existing distribution of values within that day.
-
If you specify an averageAHT value, each period's AHT
Average Handle Time is the average amount of time an agent spent handling an interaction is adjusted so the resulting daily AHT value matches this imported value.
-
If you specify an absoluteAHT value, each period's AHT is set to the value you specify.
-
You cannot use averageAHT and absoluteAHT in the same dailyData element for a ctID.
-
If you don't specify a value for contactsReceived, averageAHT, or absoluteAHT, the existing values for the date remain unchanged. For example, if you only want to import contacts received, don't include any AHT values so the existing aren't altered.
Forecast Document Type Definition
Use this as the template to structure the data in your import file. The specific elements in this template are explained in the next section.
<?xml version="1.0" encoding="UTF-8" ?> <!ELEMENT forecastImport (ctForecast*) > <!ELEMENT ctForecast (ctID, forecastData+)> <!ELEMENT forecastData (date, (periodData+ | dailyData))> <!ELEMENT periodData (time, contactsReceived?, absoluteAHT?)> <!ELEMENT dailyData (contactsReceived?, (averageAHT | absoluteAHT)?)> <!ELEMENT ctID (#PCDATA)> <!ELEMENT date (day, month, year)> <!ELEMENT contactsReceived (#PCDATA)> <!ELEMENT averageAHT (#PCDATA)> <!ELEMENT absoluteAHT (#PCDATA)> <!ELEMENT time (#PCDATA)> <!ELEMENT day (#PCDATA)> <!ELEMENT month (#PCDATA)> <!ELEMENT year (#PCDATA)> <!ATTLIST periodData recID NMTOKEN #IMPLIED> <!ATTLIST dailyData recID NMTOKEN #IMPLIED>
Element Specifications
This section explains the elements, or fields, for use in Forecast import files.
Root Element
The root element is forecastImport.
Child Elements
Element | Child Element or Attribute | Description | Valid Values |
---|---|---|---|
ctID | IEX WFM Integrated contact type (CT) ID for the forecast data to be imported. |
0-999999999 |
|
ctForecast |
Contains the ctID and all data to be imported for that ID for the specified date. For each ctForecast element, IEX WFM Integrated expects an active forecast to exist for the specified CT date. If there isn't an active forecast for that date, the record is not imported. If this element contains an invalid child, or a child with invalid values, the invalid child is omitted from import. All valid elements are imported. This applies to mandatory and optional child elements. |
||
forecastData | Date and type of data to be imported for the ctID. | ||
date |
Date of the forecast data. This date must be after the date on which the import file is processed. Forecast records for past dates cannot be modified. |
||
day | Day of the month for the date. | 1-31 | |
month | Month for the date. | 1-12 | |
year | Year for the date. | Any year | |
periodData |
Indicates that the forecast data is for a single 15- or 30-minute period. For each date and ctID, you can include either periodData or dailyData. You cannot use dailyData and periodData in the same import. periodData does not allow an averageAHTelement. If you don't specify a value for contactsReceived or absoluteAHT, the existing value for the time period doesn't change. For example, if you only want to import contacts received, don't include any AHT |
||
recID |
Unique, user-defined record ID. This attribute is optional for periodData, but can be helpful in finding specific records. |
||
time |
Defines the beginning of the period on the date for which forecast data will be imported. |
HH:MM, using a 24-hour clock 00:00 through 23:45 |
|
contactsReceived |
Periodic forecast contacts received for this date and time for the specified ctID. |
0.00 through 65000.00 | |
absoluteAHT | Periodic AHT value for the date and time for the specified ctID. | 0.00 through 999999.00 | |
dailyData |
Indicates the forecast data is a daily total. For each date and ctID, you can include either periodData or dailyData. You cannot use dailyData and periodData in the same import. |
||
recID |
Unique, user-defined record ID. This attribute is optional for dailyData, but can be helpful in finding specific records. |
||
contactsReceived |
Defines the periodic forecast contacts received for this date and time for the specified ctID. |
0.00 through 999999.00 | |
averageAHT |
Defines the daily AHT value to use for the date for the specified ctID. Only valid for dailyData elements. Each period’s AHT value for the date is adjusted so the resulting daily AHT value matches this imported value. You cannot use averageAHT and absoluteAHT in the same dailyData element for a ctID. |
0.00 through 999999.00 | |
absoluteAHT |
The AHT value used for each period of the day. You cannot use averageAHT and absoluteAHT in the same dailyData element for a ctID. |
0.00 through 999999.00 |
Sample Input File
<?xml version="1.0"encoding="UTF-8" ?> <forecastImport> <ctForecast> <ctID>200</ctID> <forecastData> <date><day>4</day><month>7</month><year>2004</year></date> <periodData recID=”2001”> <time>00:00</time> <contactsReceived>300</contactsReceived> <absoluteAHT>301</absoluteAHT> </periodData> <periodData recID=”2002”> <time>00:30</time> <contactsReceived>300</contactsReceived> <absoluteAHT>301</absoluteAHT> </periodData> <periodData recID=”2003”> <time>01:00</time> <contactsReceived>300</contactsReceived> <absoluteAHT>301</absoluteAHT> </periodData> <periodData recID=”2004”> <time>01:30</time> <contactsReceived>300</contactsReceived> <absoluteAHT>301</absoluteAHT> </periodData> </forecastData> </ctForecast> <ctForecast> <ctID>202</ctID> <forecastData> <date><day>4</day><month>7</month><year>2004</year></date> <dailyData recID=”2021”> <contactsReceived>2000</contactsReceived> <averageAHT>350</averageAHT> </dailyData> </forecastData> <forecastData> <date><day>5</day><month>7</month><year>2004</year></date> <dailyData recID=”2022”> <contactsReceived>2500</contactsReceived> <averageAHT>320</averageAHT> </dailyData> </forecastData> <forecastData> <date><day>6</day><month>7</month><year>2004</year></date> <dailyData recID=”2023”> <contactsReceived>2250</contactsReceived> <averageAHT>325</averageAHT> </dailyData> </forecastData> </ctForecast> <ctForecast> <ctID>203</ctID> <forecastData> <date><day>4</day><month>7</month><year>2004</year></date> <dailyData recID=”2031”> <contactsReceived>2000</contactsReceived> <averageAHT>301</averageAHT> </dailyData> </forecastData> </ctForecast> </forecastImport>