Free Trial
andrew neel cckf4TsHAuw
Help Desk

Manager’s dream: Using integrated analytic tools in LiveAgent

Andrej Csizmadia

Andrej Csizmadia

August 25, 2016
Last modified on January 4, 2022 at 2:17 pm

Monitoring overall performance, usage statistics, satisfaction ratings or workload reports are a huge part of support team manager’s day. Analyzing data could be overwhelming so we made everything to make it seamless and effortless. Anyone who is interested in data per se can fulfill his dreams with our built-in tools or REST API support. Possibilities are endless so let’s have a look at few examples.

1. Monitoring overall performance of support team

Knowledge about support team performance is absolutely essential to deliver exquisite customer service. LiveAgent’s Perfomance report is just the tool you’ve been looking for. In default view, you can see graphic representation of all the answers, outgoing or incoming calls, chat messages, chats, rewards, rebukes and many others. Nothing is stopping you to go even deeper: change the time interval, go through data day by day or set a custom filter for specific agent/department/season.

LiveAgent analytics

Pros and report lovers can go to the next level. We offer an option to export your report into CSV file which can be processed further by specialized software like Microsoft Excel or some other analytics program of your choice.

2. Agent report

Another important built-in feature is agent report. This is the place where you can get quick overview about performance of your specific team members. If you have a shiny star in your team it will show up right here. Is one of your agents underperforming? Investigate why, go through his tickets and have a word or two about what can be done better.

LiveAgent agent report

There are no limits or borders. Use your set of custom filters and once again – export to CSV file is fully supported. Excel macros can do some analytics magic as well.

3. Set your SLAs and monitor the hell out of them

We at Quality Unit fully understand that you may have specific business rules and expectations you need to meet. LiveAgent is ready to be customized to your liking. Firstly, let’s begin with what SLA means in customer support space.

By our definition, SLA Rules and SLA Levels bring a dynamic and efficient system by which you can ensure you and your support representatives provide answers to new Tickets in time. SLA Rules can set SLA Levels to New Tickets (with specific conditions) or stop other rules. You can read more about this in features section of our website.

LiveAgent SLA

What interests us here is reporting. According to your own set of rules LiveAgent offers a report of fulfilled and missed SLAs from a specific time range and Department. Individual entries can be sorted by Department, Agent and Date. And you guessed it – export to CSV file is fully supported.

In SLA Log report you’ll find list of fulfilled and missed SLAs from a specific time range and Department. Individual entries can be sorted by Requester, Ticket ID, SLA Start time, Department, Agent, Due date, Closed and SLA remaining/overdue time. Want to go further? Use CSV export and your macros. Nothing is stopping you to have complete overview about your support team performance.

LiveAgent SLA blog

We have walked you through analytic tools in LiveAgent. Now it’s time to show you how exactly all those mentioned metrics can work for you and what would be the better example than workflow of our own beloved support team manager David.

This is where our analytics can shine. Right piece of code in a right place can make all the difference. Let us remind you that LiveAgent has full support for REST API which can make weekly or monthly evaluation a breeze. So how does it work, you may ask? Here is the explanation.

Regarding support team performance, David uses simple script which automatically brings up values from LiveAgent statistics. In this use case, we are talking about number of ticket answers, chats and calls per agent. After that script multiply these values by constants which consist of overall length of beforementioned activities. Next step is in script is to calculate how many of answers, chats and calls particular agent did in an hour (weighted average of current month). Result is a simple table with agent name, his KPI (key performance indicator) in particular order from best performer to last one.

Important reminder: Our developers will be happy to help with setting up your own scripts correctly. Try our exceptional 24/7 support.

Have a look at his magical formula with annotations (see notes):


$serverUrl = ""; // note: without trailing slash
$apiKey = "EXAMPLE X"; //note: please, enter your own API key
// note: date format, see
$dateFrom = date('Y-m-01'); // note: from the first of this month
$dateTo = date('Y-m-t'); // note: until today
// note: agent IDs can be found in the database in table qu_g_agents in column userid
$agentIds = array('d0e169f1', '1e0bf836', '27064566', '0e7e0883', 'cff51e75', 'd533bef4', 'd4d647a6', '20a0b96e');
// note:  columns from which you want to compute KPI, see
$columns = "answers,chats,calls,worktime";

function array_orderby()
   $args = func_get_args();
   $data = array_shift($args);
   foreach ($args as $n => $field) {
       if (is_string($field)) {
           $tmp = array();
           foreach ($data as $key => $row)
               $tmp[$key] = $row[$field];
           $args[$n] = $tmp;
   $args[] = &$data;
   call_user_func_array('array_multisort', $args);
   return array_pop($args);

$apiUrl = "$serverUrl/api/reports/agents?&date_from=$dateFrom&date_to=$dateTo&apikey=$apiKey&columns=$columns";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $apiUrl);
if ($curl_response === false) {
   $info = curl_error($ch);
   die("error occured during curl exec. Additional info: " . var_export($info));

// process $curl_response here
$results = json_decode($curl_response, true);
$newResults = array();

foreach($results['response']['agents'] as $row => $values) {    
   if ($values['worktime'] > 0 && in_array($values['id'], $agentIds)) {
// note: the next line defines the formula for computing KPI
       $kpi = ($values['answers'] + $values['chats']/2.12 + $values['calls']*1.25) * 60 / $values['worktime'];
       $newResults[] = array('lastname'=>$values['lastname'],'firstname'=>$values['firstname'], 'kpi'=>$kpi);

$final = array_orderby($newResults, 'kpi', SORT_DESC);
foreach($final as $id => $row) {
   echo (1+$id) . '. ' . $row['firstname'] . ' ' . $row['lastname'] . ' ' . round($row['kpi'],2) . "\n";

This whole performance evaluation is a question of mere seconds and copying and pasting code to command line. This is how result looks:

LiveAgent analytics

See? Easy as that. For those, who like competing, or would like to earn an extra bonus, David sends out the current results. Good competition among the friends in office has never killed nobody. Remember, never judge your team by performance only, always consider the quality!

LiveAgent analytics
Andrej Csizmadia

Andrej Csizmadia

Growth Marketer

Andy is Growth Marketer at LiveAgent. Previously, he studied International Relations and Business Diplomacy and was active as a volunteer in the world's largest student run organization, AIESEC. Running, music and reading books are his favourite free-time activities.

Our website uses cookies. By continuing we assume your permission to deploy cookies as detailed in our privacy and cookies policy.