Understanding babelforce call reporting

babelforce offers you a unique insight into call data. Actually, with babelforce you are able to report on every detail of a call's history:
  • How many calls per queue
  • Wait time before pickup or hangup
  • Number of call attempts to an agent
  • Talk time
  • Finish reasons
  • etc.

In this article, we want to guide you through some example KPIs after explaining the basics. 

Find the data you need

To get started, open the call reporting view which you find if you log into your babelforce manager app or directly follow this link: https://apps.babelforce.com/manager2/manager/reporting/calls

The first thing you want to do is restricting the time period of the call records. You could download all available data, however, babelforce download is restricted to a set of 5000 lines so we always suggest you narrow it down if you have a result greater 5000.

You can see the total number of results next to the header "Call reporting", right above the time filter. On the right hand side you can download the data as csv by clicking on the blue button.

mceclip1.png

Next, let's dive into the filtering options:

Available filter options

mceclip2.png

 

Number Filter Name Filter criteria that can be selected
1 Time Filter Select the start and the end date. You can go as far back as data is available.
2 Select Call Type You can select
  • Inbound Calls
  • Outbound Calls
3 Select Call Domain You can select
  • Internal Call
  • External Call
4 Select the Call Source You can select
  • via Queue
  • From API
  • From Browser Phone
  • From Outbound Dialer
  • From call transfer
5 Select the maximal duration of a call You can select
  • Calls no longer than 5 seconds
  • Calls no longer than 10 seconds
  • Calls no longer than 30 seconds
6 Select the minimal duration You can select
  • Calls at least 1 second long
  • Calls at least 5 second long
  • Calls at least 30 second long
  • Calls at least 1800 second long
  • Calls at least 3600 second long
7 Select anonymous calls You select between
  • Anonymous calls
  • Not anonymous calls
8 Select Call State You can select
  • Purged
  • In Progress
  • Completed
  • Queued
  • Ringing
  • Bridged
9 Select Call Finish Reason You can select
  • Busy
  • Declined
  • Canceled
  • Failed
  • Hangup
  • Passive Hangup
  • System Hangup
  • Transferred
  • Timeout 
  • Unreachable
10 Free search search Field Plug in anything you want
 
Now this list doesn't tell you much for now but it will be very useful once you know what filter you need for which KPI.
 

Some theory

Every incoming call that is attempting to connect to an agent or is successfully connected has at least two parts. The Parent call and the Child call(s). 
 
If you take out all filters from your report (in case you already have some Inbound calls in your account) you can actually see them. The small manikin in the screenshot is such a parent call. Every parent (inbound) call (marked with the arrow in the screenshot) can have a large number of child (outbound) calls, depending on whether or not an agent took the presented calls from the platform. In the example you can see two child calls. The first one lasted 0 seconds. Hence, this outbound call was not accepted while the second call, which was connected to agent Christina, had a duration of 19 seconds. Callers don't know about these outbound calls as they are conducted by the platform.
 
mceclip4.png

The example above shows inbound calls + two outbound calls. You recognize an inbound call just by looking at them by a number of parameters:

  • Blue= Inbound Call
  • The calls have a queue associated
  • the call domain is external (it came in from an external source). This is shown by the sign of the empty circle.

Outbound calls are more complex as they depend on the source. Outbound calls can be a number of things but can be recognized as well:

  • Orange = Outbound Call
  • The arrow leads out of the telephone receiver
  • Outbound calls that are the child of an inbound call always have a queue associated. They also have the a queue symbol (small rectangle)
  • Outbound calls initiated by an agent who uses external devices have API written next to the circle. 

As the matrix below reveals, only outbound calls conducted via API (meaning you use an external hard- or softphone to make babelforce calls) have a parent and child call. Browser and outbound dialer calls each have one parent call only.

mceclip0.png

Filter scenarios

The table below lists a number of scenarios that might be relevant for you when building your own reporting. It explains how to set the filter and what you get as a result.

The question The Filter Explanation
How many incoming calls did I receive today? Date Filter: Today
Type: Inbound Call
You will see the exact number of calls received today. You won't see call attempts to agents, only which agent talked to the customer in the end (if at all) and you will also see the queue the call waited in.
How many of these calls were accepted by agents? Date Filter: Today
Type: Inbound Call
You can use the same filter as above. You see that a call was successfully connected to an agent if there is the agent's name next to the queue name. Of course this won't give you the exact number of connected calls. Best you download the CSV and filter out all Inbound calls without agent name.
I have multiple queues, how can I see how many calls each queue got? Date Filter: Today
Type: Inbound Call
In case you already downloaded the CSV - great, you'll need it. Either do a count if function by queue or create a pivot table. Then you see how many calls you received. If you don't know how to do that don't worry. We're offering some resources.
I only want to see calls that were longer than 30 seconds. Date Filter: Today
Type: Inbound Call
Duration: Greater or equal to 30
 
How do I see the talk time of calls from this week? Date Filter: This week
Type: Outbound Call
Source: Queue
Duration: Greater or equal to 1
Again, we are going to look at calls to the agents that were successfully connected (that we achieve by defining a duration great 0).
Now, download the CSV. In the column "Duration" you have the actual talk time as the duration is measured from the moment the agent started talking to the customer end ends when the agent or customer is finishing the call. In case of transfer, you have a second outbound call associated with an inbound call. You can now take an average or the median to analyze talk time.
How many calls did a certain agent take yesterday? Day Filter: Today
Type: Outbound Call
Source: Queue
Duration: greater or equal to 1
Free filter: type agent name
With this filter you are looking at all calls from yesterday via a queue which were successfully connected to a specific agent.

These outbound calls are initiated by the platform because of an inbound call. By saying that the duration is at least 1 second you avoid looking at calls agents didn't take. By typing the agent's name you only see the agent you want to look at.
Did agents reject calls? And if so, I want to know by agent how many in the last month. Date Filter: Last month
Type: Outbound Calls
Source: Queue
Finish reason: Decline
Again we are looking at the other part of an incoming call. This time we are not investigating successful connections but only those that were rejected. The finish reason "declined" easily shows you all calls that fall under this category.

To see which agents rejected how many calls you first download the dataset as CSV and do the same as we did for queues: create a count if function or a pivot table that counts declined calls. Feel free to check out our example CSV.
How many outbound calls did my team do last week? Date Filter: Last week
Tpe: Outbound Call
Domain: Intern (only needed for API)
Source: API and/or webRTC
Here you are looking at all Outbound Call that were either created via API (in case you use an external phone device) or via webRTC (for those who use Browser Phone). API outbound calls have two parts, therefore, you need to define which part you want to look at: the internal domain is the first part of the call, so the part initiated by the agent. If the call is then connected to a customer you will have an external domain as well. So in case you're only interested in how many outbound calls were actually connected in the end, select domain = external. In our example, however, you'll see every outbound call initiated by an agent. 
How do I recognize whose calls where connected via OBD today? Date Filter: Last week
Type: Outbound Call
Domain: External
Source: Outbound Dialer
Now we'll only look at outbound call from source Outbound Dialer that have the domain external. This way you can be sure that your agent connected to a customer (it might have been an answer machine as well but you know that your agent was definitely connected to someone or something).
 
We hope this introduction gives you an idea how babelforce reporting works. Once you got the hang of the Parent and Child calls it's actually really easy and a great way to analyze your data.
If you want, you can look at our example reporting sheet. Find out more about it in this article
Have more questions? Submit a request