Home > LiveOps EXTRAS! > Application Notes > App Note 024 - Understanding Telephony Billing

App Note 024 - Understanding Telephony Billing

Abstract

Many customer would like to report on the actual minutes used by their call center.  The Historical Reporting tool that is included within the LiveOps Administrative Web Portal is very powerful and contains several hundred data points spanning several dozen customizable report types.  This Application Note will walk you through the steps to create reports that accurately account for the billable minutes used by your Call Center.

Report Fields

It is important to understand the formulas behind the different report fields.  It is also important to understand the many different types of stages a customer interaction can go through.

As a starter, let’s define a few important report variables we will use in this Application Note:

 

Variable

Definition

Calculation

Call Length 

Total inbound telephony time from the start of the call to the end of wrap up.

This is the sum of Arrival Time, Queue Time, Callback Entry Time, Caller Talk Time, Hold Length, and PostCall Length.

Agent Telephony Time

Total telephony time of connections to agents.

This is the sum of Ring Time and Agent Time.

External Telephony Time

Total telephony time for connections to external third parties.

This is the sum of External Ring Time and External Agent Talk Time.

Outbound Customer Telephony Time

Total outbound telephony time to the customer for outbound calls or return calls.

This is the sum of Customer Ring Time, Caller Talk Time, Hold Length, and PostCall Length.

Call Segments And Call Interactions

Keep in mind that each call into, or out of, your Call Center is comprised of multiple call legs.  Each call leg is called a "Call Segment" or call leg.

 

For example, the initial call by a customer into your LiveOps Call Center tenant is considered an INBOUND Call Segment.  That customer call may wind through several different campaigns, gathering information and/or collecting different menu selections.  Each of those Campaign sessions constitutes a separate Call Segment.  Finally the caller is assigned an appropriate skill, priority and agent pool and is placed into a queue.

 

In our example, let’s say that a virtual hold “Callback while in queue” is offered to the caller.  The caller enters their phone number, records a brief message, then hangs up.  When an Agent becomes available, the Contact Center dials the Agent’s direct phone number and plays the customer’s message.  Then the Call Center dials the customer’s number.  The call to the Agent is an OUTBOUND Call Segment.  The call to the Customer is another OUTBOUND Call Segment.  

 

All the Call Segments in the example above are tied to a single “Call Interaction.”  Below is an example of the above steps using the Call Visualizer aspect of the LiveOps Historical Reporting tool:

 

telco1.png

 

When using the LiveOps Historical Reporting tool with the goal of tracking actual Telco minutes used, you must isolate and report on each different PSTN connection within the many different Call Segments of a complete Call Interaction.

 

In the rest of this Application Note, we will use the Historical Reporting tool to extract:

  • Inbound calls, and
  • Outbound calls

 

We will break up the outbound call reporting into three sub-components: 

  • Outbound calls to reach Agents
  • Outbound calls to reach Customers
  • Outbound calls to reach External Third Parties (via a transfer or conference)

Inbound Calls - Calculation

First, we will create a report to account for all the inbound call minutes.  This includes calls that ultimately reach an agent, calls that are abandoned before arriving in a queue (Early Abandons) as well as those calls that exit a queue without reaching an agent (abandoned calls, overflow calls, transferred calls, etc.).

 

Use the LiveOps Historical Report tool to create a report with the following parameters:

 

Report:

Call Segment - Group

Date:

Choose your date range

Group By:

Callcenter ID (or Campaign Name, Phone Number, Phone Number Owner, etc.)

Show Fields:

All Segments

Call Length

After Call Work Time

(Add any other fields you prefer)

Where:

Callcenter* = Your Call Center Name (* not needed for stand-alone tenants)

Inbound / Outbound / Dialout = “Inbound”

Customer Ring Time = “=0”

EXAMPLE:  

telco10.png

Note: To improve accuracy in inbound minutes, this report excludes call segments that are the result of a “Callback while in queue” action.  Callback calls are counted in the “Calls to Customer” section below.

RESULTS:    

  • Take the total Call Length and subtract the total After Call Work.
  • The result will be a very close approximation of your actual inbound call times

 

CALCULATIONS:

  • Call Length (232,499 min) - After Call Work (9,654 min) = Total Inbound Minutes (222,845 min)

 

NOTES:

  • Platform Billing reports are pulled from Trunk-side usage timers.  
  • Customer Historical CDR reports are pulled from Agent-side usage timers.   
  • This can cause slight differences in time for any given call.
  • We have found that about 20 percent of the calls in any given date range will show as being one second shorter on the actual billing (trunk-based) reports than on the customer (agent-based) reports.

Outbound Calls - Calculation #1

CALLS TO AGENTS & CALLS TO EXTERNAL/THIRD PARTIES:

Next, we will create a report to display all the calls that have some segment with an outbound call to reach an agent or an external third party.  Remember that an “inbound call” is actually comprised of an ingress call (customer to platform) and an egress call (platform to agent).  So, we must include both inbound and outbound call interactions.  We therefore have removed the “Where Inbound / Outbound / Dialout = Inbound” filter that was used in the above example.

 

We can use this one report to gather times for both calls to Agents and calls to External numbers (such as a three-party conference or a transfer to an external number).

 

Use the LiveOps Historical Report tool to create a report with the following parameters:

 

Report:

Call Segment - Group

Date:

Choose your date range

Group By:

Callcenter ID (or Campaign Name, Phone Number, Phone Number Owner, etc.)

Show Fields:

All Segments

Ring Time

Agent Time

External Ring Time

External Agent Talk Time

(Add any other fields you prefer)

Where:

Callcenter* = Your Call Center Name (* not needed for stand-alone tenants)

IMPORTANT: Do not add any other filters!

EXAMPLE:

telco11.png

 

RESULTS:

  • Take the Agent Ring Time and add the Agent Time.
  • The result will be a very close approximation of actual outbound call times to Agents.

 

  • Take the External Ring Time and add the External Agent Talk Time.
  • The result will be a very close approximation of actual outbound call times to third parties.

 

CALCULATIONS:

  • Agent Ring Time (3,214) + Agent Talk Time (124,331) = Total Outbound Agent Minutes (127,545)
  • External Ring Time (499) + External Agent Talk Time (8,124) = Total Outbound External Minutes (8,623)

Outbound Calls - Calculation #2

CALLS TO CUSTOMERS:

Finally we will run a report that addresses any callbacks to customers.  This is primarily encountered when a Call Flow uses the virtual hold “Callback while in queue” action.

 

This report grabs all the Call Segments where there is a call placed to a customer number.  We use the “Customer Ring” parameter in a “Where” clause to isolate these particular Call Segments.

 

Use the LiveOps Historical Report tool to create a report with the following parameters:

 

Report:

Call Segment - Group

Date:

Choose your date range

Group By:

Callcenter ID (or Campaign Name, Phone Number, Phone Number Owner, etc.)

Show Fields:

All Segments

Customer Ring Time

Caller Talk Time

(Add any other fields you prefer)

Where:

Callcenter* = Your Call Center Name (* not needed for stand-alone tenants)

Customer Ring Time = “>0”

 

EXAMPLE:

telco12.png

 

RESULTS:

  • Take the Customer Ring Time and add the Caller Talk Time.
  • The result will be a very close approximation of actual outbound call times to Customers.

 

CALCULATIONS:

  • Customer Ring Time (2,024) plus Caller Talk Time (33,380) = Total Outbound Customer Minutes (35,406)

Adjustments And Caveats

There are several factors that will cause a customer’s historical report to be slightly different from the actual LiveOps Platform’s Billing Report.  These can include:

1) Trunk-side verses Agent-side perspective

The billing reports are extracted from usage reports on the actual trunks within the Platform; whereas the Historical Call Detail Record (CDR) Reports a customer runs from within their Call Center tenant is from the viewpoint of the Agent. 

 

As a comparison, consider your mobile phone.  It tracks cellular minutes used and mobile data used.  But those numbers are only a close approximation (or estimate) of the actual minutes and data usage charges you receive from your wireless phone provider.  The carrier’s reports are used for billing.  The customer counters are expected to be close but not perfectly identical to the billing report.

2) Carrier differences

An incoming customer call may arrive on a trunk from Carrier A.  The call to the Agent might use a trunk from Carrier B and the external 3rd party that is joined in through a conference call might use trunks from Carrier C.  Each carrier bills differently, has different timers and ring announcements.

Because of the difference in perspective (agent-side vs. trunk-side) and due the uniqueness of each carrier used, you may see a small difference in the reported time for a call when comparing the Trunk reports to the Agent reports.

It is not uncommon for 15-25% of all calls to be different by a second or so.  In many cases, the Trunk report will be found to be 1 second shorter than the Customer report for these calls.  These are very small discrepancies but, at the end of each month, it means the customer is billed for less time than their CDR reports would seem to indicate. 

3) Thirty-Second minimums (Inbound)

Tenants are billed for the time used for each call.  Calls are billed down to an interval of one second.

Any inbound call segment that is less than 30 seconds will be rounded up to 30 seconds.  (This does not apply to outbound calls.)

If your call center receives a lot of short inbound calls, your billing report will show more minutes than you actually used.

4) Complex call routing scenarios

The reports discussed in this Application Note are applicable for standard customers using standard PSTN trunks provided by LiveOps.

Customers with international DID/DDI/TFN inbound numbers, customers with outbound international dialing, customers using MPLS, SIP, Direct Voice Peering (DVP) or partner-provided (third-party) trunking via an NNI, as well as customers using WebRTC for agent audio, cannot as easily and accurately estimate their billable minutes using these standard reporting tools.

Customer Example

Let’s look at a customer example and compare the actual LiveOps Platform billing usage report with the Customer’s Historical Report equivalents.

The Platform billing report for Customer 366 looks like the following for the month of April, 2015:

 

telco13.png

 

Note: This platform reports show both the ACTUAL ingress minutes used, as well as the minutes BILLED due to the “30 second minimum” rounding up of short calls.

The Customer’s Historical CDR reports for the same period for customer 366 were used in the above three examples. 

The chart below summarizes the combination of all data:

 

 

Platform Actual

Platform Billed
(30 sec. Minimum)

Tenant
CDR Reported

Accuracy %

Inbound Minutes

222,304

223,864

222,845

99.75 %

Outbound Minutes - Customer

36,749

 

35,406

96.35 %

Outbound Minutes - Agent

127,545

 

127,545

100 %

Outbound Minutes - External

8,624

 

8,623

100 %

    Total Outbound Minutes

172,918

 

171,574

99.20 %

Detailed Analysis

  • The External outbound minutes are nearly a perfect match.
  • The Agent outbound minutes are an exact match.
  • The Customer outbound minutes reported by the tenant is slightly lower than the actual usage.
  • The Inbound minutes reported by the customer is slightly higher than the actual usage.

 

With further analysis, it was seen that of the 33,320 inbound calls, more than 2,400 (~ 7%) used the virtual hold “Callback while in queue” feature.  This feature ‘shifts’ the call timers to different columns within the reports.  The Platform billing reports sees these minutes as calls “Outbound to Customer” but the Historical Reporting CDR tool reports these minutes in the “Incoming” category (since the call is technically part of an inbound queue).

 

Please be aware of, and adjust for, these nuances when trying to compare your tenant CDR reports to your billing statement.

Version Information

Date Version Contributor Content
July, 2015 1.0 Jeff Rowley Initial AppNote
You must to post a comment.
Last modified
11:14, 27 Jul 2015

Tags

This page has no custom tags.

Classifications

This page has no classifications.