<!doctype html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8">        <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9">               <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js">                      <!--<![endif]-->
<head>
    <meta charset="utf-8">

    <title>Using data visualisation to beat the call centre curse</title>

    <link type="text/css" rel="stylesheet" href="/_assets/css/general/basic.css" />
    <link rel="canonical" href="https://www-2018.swansea.ac.uk/press-office/news-archive/2017/usingdatavisualisationtobeatthecallcentrecurse.php" /> 





<meta name="viewport" content="width=device-width, initial-scale=1.0;">
<meta property="su:page-type" content="News Item">
<meta property="su:section-id" content="112621">

    <script type="text/javascript" src="/_assets/vendor/enhance.js"></script>
    <script type="text/javascript">

        var SU =        {
                            customScripts: {
                                preRepositioning:  [],
                                postRepositioning: []
                            }
                        },

            dataLayer = [],

            styles =    [
                            '/_assets/css/general/desktop.css',
                            {
                                href: '/_assets/css/common/ie.css',
                                iecondition: 'all'
                            },
                            {
                                href: '/_assets/css/common/ie7.css',
                                iecondition: 7
                            },
                            {
                                href: '/_assets/css/common/ie8.css',
                                iecondition: 8
                            }
                        ],
        
            scripts =   [
                           '/_assets/js/common/modernizr-jquery.all.min.js'
                        ];
        

        

        

        scripts = scripts.concat([
            '/_assets/vendor/jquery-plugins/cycle2/jquery.cycle2.js',
            '/_assets/vendor/jquery-plugins/cycle2/jquery.cycle2.swipe.js',
            '/_assets/vendor/jquery-plugins/auto-complete/jquery.auto-complete.js',
            '/_assets/vendor/mustache.js',
            '/_assets/js/common/console.js',
            '/_assets/js/common/su.js',
            '/_assets/js/common/su/http/link.js',
            '/_assets/js/common/jquery-plugins/jQuery.showCookieMessage.js',
            '/_assets/vendor/jquery-plugins/ba-throttle-debounce/jquery.ba-throttle-debounce.js',
            '/_assets/js/common/jquery-plugins/jQuery.initialiseNavigation.js',
            '/_assets/js/common/jquery-plugins/jQuery.inputClear.js',
            '/_assets/js/general/desktop/enhanceFooterLinks.js',
            '/_assets/js/general/desktop/jQuery.initialiseSplashGallery.js',
            '/_assets/js/general/desktop/jQuery.initialiseFeaturedGallery.js',
            '/_assets/js/general/desktop/jQuery.initialiseTabPods.js',
            '/_assets/js/general/desktop/jQuery.initialiseQuadSliders.js',
            '/_assets/js/general/desktop/jQuery.stripeTableRows.js',
            '/_assets/vendor/jquery-plugins/ba-bbq/jquery.ba-bbq.js',
            '/_assets/js/general/desktop/jQuery.initialiseExpanders.js',
            '/_assets/vendor/jquery-plugins/cookie/jquery.cookie.js',
            '/_assets/vendor/jquery-plugins/jBreadCrumb/js/jquery.easing.1.3.js',
            '/_assets/vendor/jquery-plugins/jBreadCrumb/js/jquery.jBreadCrumb.1.1.js',
            '/_assets/js/general/desktop.js',
            '/_assets/js/precedent/coreFunctions.js'
        ]);

        enhance({
            loadStyles: styles,
            loadScripts: scripts,
            forcePassText: 'Enhanced version',
            forceFailText: 'Basic version'
        });
    </script>


</head>

<body id="content" class="layout-general-wrapper">
 

    <div id="general" class="layout-general">

        <!--noindex-->
        <div id="header" class="layout-header">
<h1 id="logo" class="logo">
    <span class="logo-text">Using data visualisation to beat the call centre curse</span>
    <a id="logo-link" href="https://www.swansea.ac.uk/">

        <img class="logo-image" src="/_assets/images/precedent/logo.en.png" alt="Swansea University Logo" />

    </a>
</h1>
            <div id="skipToContent" class="skip-to-content">
                <a class="skip-to-content-link" tabindex="1" href="#content-items" title="skip to content">Skip to content</a>
            </div>

<div id="globalNavWrapper" class="header-links">
    <ul id="globalNav" class="header-links-list">
    
        <!-- navigation object : SU_audience navigation --><li class="header-links-list-item"><a href="http://myuni.swan.ac.uk/">Current Students</a></li><li class="header-links-list-item"><a href="https://staff.swansea.ac.uk/">Staff</a></li><li class="header-links-list-item"><a href="http://www.swanseauniversity.com.cn">&#20013;&#25991;</a></li>
        
        

    </ul>
</div>
            
            <div id="globalSearch" class="global-search-form">
<div class="global-search-form">
	<form action="https://www.swansea.ac.uk/search/">
	  <div>
	    <input type="hidden" name="c" value="swansea-web" />
	    <input
           id="global-search-form-q"
	       type="text"
	       name="q"
	       placeholder="Site Search"
	       size="31"
	       class="global-search-form-query"
	    />
	    <input class="global-search-form-submit" type="submit" value="GO" />
	  </div>
	</form>
</div>

<script class="register-custom-scripts">
(function () {
    SU.customScripts.postRepositioning.push(function () {
    
        var endpoint = 'https://swansea.funnelback.co.uk/s/suggest.json',

            unique = function(arr) {
                var hash = {}, result = [];
                for ( var i = 0, l = arr.length; i < l; ++i ) {
                    if ( !hash.hasOwnProperty(arr[i]) ) {
                        hash[ arr[i] ] = true;
                        result.push(arr[i]);
                    }
                }
                return result;
            },
            
            setHandler = function() {
                $('#global-search-form-q').off().autoComplete({
                    source: function(term, response) {
                        console.log("You typed [" + term + "]");
                        $.getJSON(
                            endpoint,
                            {
                                collection:    'swansea-web',
                                partial_query: term
                            },
                            function(data) {
                                response(unique(data));
                            }
                        );
                    }
                });
            };
    
        console.group('Initialising auto complete');
        window.setTimeout(function () {
            setHandler();
        }, 500);
        
        console.groupEnd();
    });
}());
</script>
            </div>
            
            <div id="naviBar" class="main-nav">
<!-- navigation object : SU_Main_Nav -->

            </div>
        </div>
        <!--endnoindex-->
        
        <div class="layout-container">
            <div id="main" class="layout-content">
                <div id="contentHeader" class="content-header">

                    <!--noindex-->
<div class="breadCrumbHolder module">
    <div class="breadCrumb module">
        <ul>
            <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
                <a href="https://www.swansea.ac.uk/" itemprop="url">
                    <span itemprop="title">Home</span>
                </a>
            </li>
            <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb">
                <a href="https://www.swansea.ac.uk/press-office/" itemprop="url">
                    <span itemprop="title">Press Office</span>
                </a>
            </li>
	</ul>
    </div>
</div>
                    <!--endnoindex-->

                    <h1 class="content-header-heading">Using data visualisation to beat the call centre curse</h1>
                </div>

                <div id="splash-items" class="layout-splash">
                </div>

                <!--noindex-->
                <div class="layout-content-nav">
                    <div id="secondaryNavWrapper"></div>
                </div>
                <!--endnoindex-->

                <div id="content-items" class="layout-content-items content-items">
                    <div class="layout-featured-items">
                    </div>

                    <div class="layout-article-items">
  <div class="news-item-fulltext">
<p style="padding: 1.5em; text-align: center; background-color: #ffc266; font-weight: bold">
    Please note, this page has been archived and is no longer being updated.
</p>
    <p class="news-item-summary">The following article by Dr Robert Laramee, Associate Professor in Data Visualisation and Richard Roberts, PhD candidate in Data Visualisation, was first published by The Conversation.</p>

    <div class="news-item-content">
        <h1><img alt="File 20170707 23720 q96r8o" src="https://cdn.theconversation.com/files/177337/width754/file-20170707-23720-q96r8o.jpg" style="font-size: 12px;" /><span class="attribution" style="font-size: 12px;"><a class="source" href="https://www.shutterstock.com/image-vector/isometric-office-cubicles-men-women-working-230150206?src=AUIZWsnHIiEeDHyVz2ktyw-1-87">Jesus Sanz/Shutterstock</a>&nbsp;</span><span style="font-size: 12px;"><a href="https://theconversation.com/profiles/robert-laramee-328576">R</a></span></h1>
<p>Have you ever found yourself locked in a circular conversation about a missing bolt for your barbecue? Have you ever listened to classical hits for ten minutes while you wait to argue about a discrepancy on your bank statement? If so, then you will understand the pain of the call centre. The good news is that a dive into call data can help make the pain go away.</p>
<p>The past two decades have seen a massive expansion of the call centre industry. In the UK alone, there are now an estimated 5,000 in operation, employing about a million workers and <a href="https://www.statista.com/forecasts/397597/united-kingdom-call-centers-revenue-forecast-nace-n8220">generating revenue of &pound;2.3 billion</a>.</p>
<p>Some <a href="http://www.bbc.co.uk/news/magazine-12691704">liken call centres</a> to the modern equivalent of factories; the public face and first contact in an economy now dominated by the services industries. Long wait times and extended conversations where customers are bounced from operator to operator have the potential to create negative, long-lasting impressions. These are situations everyone wants to avoid.</p>
<p>But how to make sense of all the calls? Across the UK, over a quarter of a million calls provide more than 4m data points (or so-called &ldquo;call events&rdquo;) every day. When data is recorded at this scale, it is easy to get lost in the weeds and lose sight of the bigger picture.</p>
<h2>Call and answer</h2>
<p>But when we visualise this data, there is a way to sift through this massive amount of information to reveal larger trends and find trouble spots. We find ways to help callers and managers smooth the whole experience.</p>
<p>Our team created software to build images from 24 hours of anonymised call centre activity data of over 200,000 calls from a local company, QPC Ltd, which has a range of clients including Vodafone and Virgin. The sample image below may look complicated, but it shows how hot spots can be easily identified and targeted. Each tiny, individual rectangle represents a single phone call. And each rectangle, or cell, is ordered by the time at which the call started. The size and colour of the cells represents the length of each call.</p>
<p><img alt="" src="https://cdn.theconversation.com/files/176090/width754/file-20170628-31284-43amhv.png" /> <span class="caption">Sample image generated using the software. Red spots indicate problematic areas that users can zoom in to inspect.</span></p>
<p>These images can be modified to focus on call length, wait times, resolved calls and so on. And we can zoom in and out to get either a high level view or a detailed inspection of a particular record. The information gets broken down into more meaningful blocks of information. So each hour is broken into into six ten-minute blocks, and each call split into the period when the caller is listening to a pre-recorded message, the time queuing, and the time talking to an actual human.</p>
<p>If you have ever dialled in to a call centre you&rsquo;ll know that there can be multiple times that all of these happen on a single call. And so we gave each of these &ldquo;events&rdquo; their own time stamps so we could better gather detailed information.</p>
<p><a href="http://cs.swan.ac.uk/%7Ecsbob/research/callCenter/treemap/roberts16interactive.pdf">This approach</a> is a simpler way to gather insights for those managing the call centre and trying to handle the huge flow of calls. Call centres can find patterns in caller behaviour and spot any outliers. They can identify when we, the callers, abandon ship and hang up in frustration. They can work out how to filter calls more sensibly, and discover the moments when wait times increase and decrease.</p>
<p><iframe height="260" src="https://www.youtube.com/embed/EOieJLjVxUA?wmode=transparent&amp;start=0" width="440"></iframe></p>
<h2>Beating the odds</h2>
<p>Perhaps more importantly this data visualisation offers some simple tips to make callers lives easier too. Next time you grit your teeth and dive into a world of hold music and apologetic recorded messages, consider these three simple pieces of advice.</p>
<p><strong>Don&rsquo;t call at lunchtime.</strong> Not only are you on your lunch break, so are a number of staff at the call centre. Expect to wait. Or to give up.</p>
<p><strong>Avoid evening calls.</strong> The rate of abandoned calls increases during the day and peaks in the evening from 8pm.</p>
<p><strong>Bite the bullet and call early.</strong> Our visualisation shows early morning calls yield the shortest queue and call times.</p>
<p><iframe height="260" src="https://www.youtube.com/embed/6g4dkBF5anU?wmode=transparent&amp;start=0" width="440"></iframe></p>
<p>There are some <a href="http://dx.doi.org/10.2312/stag.20161370">worthwhile insights</a> behind this advice. Using the visualization software, we can observe a dense cluster of abandoned calls typically between 1.10pm and 1:15pm. Perhaps these are the callers who thought they could get everything done while unwrapping a ham sandwich, but who soon think better of it.</p>
<p>The number of abandoned calls is clearly linked to wait time. You might wonder who is calling in between midnight and 8am, and they might be thinking twice too, as callers during these hours are twice as likely to abandon as those that dial in during normal business hours. We also get impatient after 8pm, when the percentage of callers who abandon takes another sharp rise.</p>
<p>One reason that those evening calls start to clog up the system might be that this is when the furious are calling in. Staff at QPC Ltd identified a special group which calls in the evening, waits longer than 15 minutes to talk to an agent, and then speaks to the agent for up to 15 minutes. It thought this is indicative of dissatisfied customers, prepared to wait to get the point across, and stick around until they get results. The normal average call length is a little over five and a half minutes.</p>
<p><img alt="The Conversation" height="1" src="https://counter.theconversation.edu.au/content/80172/count.gif?distributor=republish-lightbox-basic" width="1" />Just be thankful you are not in that small but unfortunate group which suffers more than five &ldquo;queue events&rdquo; and ends up speaking to the agent for more than an hour. The only hope is that the call centre managers can spot these outliers in the data and call them back to check the pain was all worth it.</p>
<p><a href="https://theconversation.com/profiles/robert-laramee-328576">Robert Laramee</a>, Associate Professor in Data Visualization, <em><a href="http://theconversation.com/institutions/swansea-university-2638">Swansea University</a></em> and Richard Roberts, PhD Candidate in Data Visualisation, <em><a href="http://theconversation.com/institutions/swansea-university-2638">Swansea University</a></em></p>
<p><img src="/media/conversation-logo-3ef91e0a2031c5d9350f37bac3cf5273ef6da3660ffaf7c422b9695f09b6f171.png"
alt="The Conversation " title="The Conversation " /></p>
<p>This article was originally published on <a href="http://theconversation.com">The Conversation</a>. Read the <a href="https://theconversation.com/using-data-visualisation-to-beat-the-call-centre-curse-80172">original article</a>.</p>
    </div>

    <ul class="news-item-post-info-container vcard">
        <li class="news-item-post-info author">
           Posted by
            <span class="fn">Delyth Purchase</span>
            &lt;<a class="email" href="mailto:d.purchase@swansea.ac.uk">d.purchase@swansea.ac.uk</a>&gt;
        </li>

        <li class="news-item-post-info">
            <a href="/press-office/news-archive/2017/usingdatavisualisationtobeatthecallcentrecurse.php" rel="bookmark">
                <abbr class="published" title="2017-07-11T12:11:00+01:00">Tuesday 11 July 2017 12.11 BST</abbr>
            </a>
        </li>

        <li class="news-item-post-info updated-container">
            <abbr class="updated" title="2019-09-20T11:53:54+01:00">Friday 20 September 2019 11.53 BST</abbr>
        </li>

        <li class="news-item-post-info">
        	<span class="fn org">Swansea University</span>
        </li>
    </ul>

</div>

                    </div>

                    <div class="layout-related-items">
                    </div>
                </div>


            </div>

            <!--noindex-->
            <div id="footer" class="layout-footer">
                <ul id="footerLinks" class="footer-links">
<!-- navigation object : SU_footer navigation --><li class="footer-links-list-item"><a href="/the-university/contact/">Contact Us</a></li><li class="footer-links-list-item"><a href="/personnel/jobs/">Jobs</a></li><li class="footer-links-list-item"><a href="/the-university/colleges/">Colleges</a></li><li class="footer-links-list-item"><a href="/press-office/">Press</a></li><li class="footer-links-list-item"><a href="https://www.swansea.ac.uk/about-us/safety-and-security/health-and-safety/">Health &amp; Safety</a></li><li class="footer-links-list-item"><a href="/includes/footer/disclaimer-and-copyright/">Disclaimer &amp; Copyright</a></li><li class="footer-links-list-item"><a href="/includes/footer/site-map/">Site map</a></li><li class="footer-links-list-item"><a href="/includes/footer/privacyandcookies/">Privacy and Cookies</a></li><li class="footer-links-list-item"><a href="http://www.swan.ac.uk/course-search/">Course Search</a></li>
                </ul>

                <div id="footerDisclaimer" class="footer-disclaimer">
                    <p class="footer-disclaimer-text">Swansea University is a registered charity. No. 1138342.</p>
                </div>
            </div>
            <!--endnoindex-->

        </div>

    </div>


<script id="desktop-header-template" type="text/x-tmpl-mustache">

    <div id="header" class="layout-header">
        <div class="skip-to-content" id="skipToContent">
            {{{ skipToContent }}}
        </div>

        <h1 id="logo" class="logo">
            {{{ logo }}}
        </h1>

        <div id="globalNavWrapper" class="header-links">
            <ul id="globalNav" class="header-links-list">
                {{{ globalNav }}}
            </ul>
        </div>

        <div id="globalSearch" class="global-search-form">
            {{{ globalSearch }}}
        </div>
                    
        <div id="naviBar" class="main-nav">
            <ul id="mainNav" class="main-nav-list">
                {{{ mainNav }}}
            </ul>
        </div>
    </div>

</script>


<script id="mobile-header-template" type="text/x-tmpl-mustache">

    <div id="header" class="layout-header">
        <span class="layout-menu-bar">
            <a id="layout-menu-bar-toggle" class="layout-menu-bar-toggle" href="#">{{mobile.linksText}}</a>
        </span>

        <a id="logo-link" href="{{mobile.logoLinkHref}}">
            <img class="logo-image" alt="{{mobile.logoAlt}}" src="{{mobile.logoSrc}}" />
        </a>
    </div>

</script>


<script id="desktop-menu-template" type="text/x-tmpl-mustache">

    <div class="layout-content-nav">
        <div id="secondaryNavWrapper">
             <ul id="secondaryNav" class="content-nav content-nav-items">
                 {{{secondaryNav}}}
             </ul>
         </div>
    </div>

</script>


<script id="mobile-menu-template" type="text/x-tmpl-mustache">

    <div class="layout-content-nav">
        <div id="globalNavWrapper">
            {{{globalNav}}}
        </div>

        <div id="naviBar">
            {{{mainNav}}}
        </div>

        <div id="secondaryNavWrapper">
             <ul id="secondaryNav">
                 {{{secondaryNav}}}
             </ul>
         </div>
    </div>

</script>


<script id="desktop-tabs-pod-template" type="text/x-tmpl-mustache">

    <h2 class="tabs-pod-title">{{ podTitle }}</h2>
    <div class="tabs-pod-tabs">

        <ul class="tabs-item-list">
{{#tabs}}
            <li class="tabs-item-list-tab-item tabs-pod-tabs-tab-heading">
                <a class="tabs-item-list-tab-item-link" href="#">{{ tabHeading }}</a>
            </li>
{{/tabs}}
        </ul>

{{#tabs}}
        <div class="tabs-pod-tabs-tab">
            <div class="tabs-pod-tabs-tab-content">
                {{{ tabContent }}}
            </div>
        </div>
{{/tabs}}

    </div>

</script>


<script id="mobile-tabs-pod-template" type="text/x-tmpl-mustache">

    <h2 class="tabs-pod-title">{{ podTitle }}</h2>
    <div class="tabs-pod-tabs">
{{#tabs}}
        <div class="tabs-pod-tabs-tab">
            <h3 class="tabs-pod-tabs-tab-heading is-collapsed">
                <a href="#">{{ tabHeading }}</a>
            </h3>
            <div class="tabs-pod-tabs-tab-content" style="display: none">
                {{{ tabContent }}}
            </div>
        </div>
{{/tabs}}
    </div>

</script>


</body>

</html>
