Ytica's Analytics Data Model is designed for ease of use and maximum performance. There are few things to be aware especially if you are working with custom measures.

Activity and Talk Time Intra-Day Segmentation

Activity Time and Talk Time are attributed to the time period in which they started. This may cause artifacts when reporting by 15 minute, 30 minute or hourly intervals. Especially over reporting and underreporting Activity Time in the individual time intervals. Although daily reporting may also be affected it is less common as agents usually do not spend time overnight in other activities than being Offline.

The below chart shows how the activity time is currently attributed to the time intervals within a day. Notice that the activity is reported in the time when in started. Also notice that the time intervals following the activity may have zero activity time or activity time may be lower because of the beginning of the interval attributed to the previous activity.

We plan to improve attribution of Activity Time in an upcoming release so each interval will only have activity that really happened in it. Talk Time will be still attributed in this way.

Agents and Supervisors Datasets

Agents dataset and Supervisors dataset may contain people you do not actually consider agents or supervisors.

  • Everybody who ever handled a conversation is present in Agents dataset.
  • Everybody who ever assessed a conversation is present in Supervisors dataset.

This means that one person can be in both Agents and Supervisors datasets. For example when agents rate their own conversations they are in both the datasets.

Handling Team versus Team

When reporting by teams make sure you pick the right team to segment or filter the data. As agents can move between teams over time reporting by their current team would be very inaccurate and would skew historical team statistics in some cases.

  • Handling Team - The team in which agents were when handling a given conversation. This is usually the right team to use for reporting as it keeps data related to a team even after the agent moves to another team. It also prevents agents from bringing historical data from the previous team influencing the new team.
  • Team - Use in cases when you are sure you want to show in which team an agent currently is.

Non-Conversation Segments

In most cases Segments represent actual talk between customers and agents. However to make analytics simple we use non-conversation segments to link datasets between each other and enable you to see more data side-by-side.

Non-Conversation Segments should not influence measures reporting as they have empty values in all relevant measures . However sometimes when you see non-conversation segments you might want to filter them out explicitly.

A measure like the below may include Segments that are not related to any conversation.


The below measure will include only the Segments that are related to an actual conversation.

SELECT COUNT (Segment) WHERE Kind = Conversation

Non-Conversation Segments have most measures and attributes empty this means that filtering by other attributes will also filter out non-conversation segments. Aggregation functions also filter out empty values. All the measures below will exclude non-conversation segments.

SELECT COUNT (Segment) WHERE Abandoned = No
SELECT COUNT (Segment) WHERE Wrap Up > 0
SELECT AVG (Talk Time) 

Internal Conversations

Each Segment has one Agent who handled it and one Customer who took part in the conversation. There is always exactly one agent and exactly one customer. This might behave in a bit unexpected.

In internal Conversations the calling Agent is actually represented in the Customers dataset. Agents in Customers dataset have attribute Type equal to Agent. You can filter out Agents from the Customer dataset with the following condition.

SELECT COUNT (Customer) WHERE Type <> Agent
Did this answer your question?