Contact center data visualization system and method
A data visualization system is disclosed that includes an interaction database, a retrieval component, a display component, and a contour generator. The interaction database is maintained in a computer memory of interaction data representing interactions between customers and at least one merchant. The retrieval component is configured to retrieve from the interaction database data representing interactions between customers and the merchant, and to construct a finite set of data values from the retrieved data. The display component is configured to display a graphical representation of a merchant and a graphical representation of each of the set of data values centered on respective data points disposed on a representation of a bell-shaped curve. The contour generator configured to generate and display one or more contour lines at least partly around each data point to form a bell-shaped curve, in which the areas of representation around each data point are shown in a series of contour lines, and the nature of the contour lines for each data point are preferably represented to gradually drop off or fan away from each data point, wherein each data point is displayed as a local maximum at an apex of the bell-shaped curve.
Latest Bally Gaming, Inc. Patents:
This application is a continuation of U.S. application Ser. No. 12/197,204, filed on Aug. 22, 2008, which is a continuation of U.S. application Ser. No. 10/345,649, filed on January 16, 2003, now U.S. Pat. No. 7,627,668, issued on Dec. 1, 2009, which is a continuation of International Application No. PCT/NZ01/00143, filed on Jul. 17, 2001, which claims priority to New Zealand Application No. 505784, filed on Jul. 17, 2000, the contents of which are incorporated herein by reference in their entirety.
FIELD OF INVENTIONThe invention relates to a data visualisation system and method, particularly but not solely designed for use in visualising contact centre data. Contact centres could include call centres, telemarketing organisations, and web-based customer service and marketing organisations.
BACKGROUND TO INVENTIONThe low cost of data storage hardware has led to the collection of large volumes of data. Merchants, for example, generate and collect large volumes of data during the course of their business. To complete effectively, it is necessary for a merchant to be able to identify and use information hidden in the collected data. Where the merchant operates a call centre, this data could include operational parameters such as the average time a caller spends waiting and the geographic location from which each caller interacts with the merchant. The task of identifying this hidden information has proved very difficult for merchants.
Traditionally, analysis of data has been achieved by running a query on a set of data records stored in a database. The merchant or other party first creates a hypothesis, converts this hypothesis to a query, runs the query on the database, and interprets the results obtained with respect to the original hypothesis.
One disadvantage of this verification-driven hypothesis approach is that the merchant must form the desired hypothesis in advance. This is merely confirming what the merchant already suspects and does not provide the merchant with information which may be unexpected. Another disadvantage is that the merchant needs to have available the technical knowledge to formulate the appropriate queries.
SUMMARY OF INVENTIONIn broad terms in one form the invention comprises a data visualisation system comprising a data value memory in which is maintained a finite set of data values, each data value associated with at least one time value; a display arranged to display a representation of each data value centred on respective data points; and a contour generator arranged to generate and display a contoured representation around each data point such that each data point is displayed as a local maximum.
In another preferred form, the invention comprises a data visualisation system comprising a data value memory in which is maintained a finite set of data values, each data value associated with at least one time value; a display arranged to display a representation of each data value centred on respective data points; and a contour generator arranged to generate and display one or more contour lines around each data point, each contour line representing data values which are less than the data value of the data point around which the contour line is displayed.
In a further preferred form, the invention comprises a data visualisation system comprising a data value memory in which is maintained an interaction database of interaction data representing interactions between customers and merchants, the interaction data associated with at least one time value; a retrieval device arranged to retrieve from the interaction database data representing interactions between customers and merchants and to construct a finite set of data values from the retrieved data; and a display arranged to display a graphical representation of at least one merchant and to superimpose one or more contoured representations of the data values on the graphical representation of the merchant such that each data value is displayed as a local maximum.
In yet a further preferred form, the invention comprises a method of data visualisation comprising the steps of maintaining in a data value memory a finite set of data values, each data value associated with at least one time, value; displaying a representation of each data value centred on respective data points; and generating and displaying a contoured representation around each data point such that each data point is displayed as a local maximum.
In yet another preferred form, the invention comprises a method of data visualisation comprising the steps of maintaining in a data value memory a finite set of data values, each data value associated with at least one time value; displaying a representation of each data value centred on respective data points; and generating and displaying one or more contour lines around each data point, each contour line representing data values which are less than the data value of the data point around which the contour line is displayed.
In a further preferred form, the invention comprises a method of data visualisation comprising the steps of maintaining in an interaction database interaction data representing interactions between customers and merchants, the interaction data associated with at least one time value; retrieving from the interaction database data representing interactions between customers and merchants; constructing a finite set of data values from the retrieved data; displaying a graphical representation of at least one merchant; and superimposing a contoured representation of the data values on the graphical representation of the merchant such that each data value is displayed as a local maximum.
In yet another preferred form, the invention comprises a data visualisation computer program comprising a finite set of data values maintained in a data value memory, each data value associated with at least one time value; a contour generator arranged to generate and display a contoured representation around a series of data points such that each data point is displayed as a local maximum.
In a further preferred form the invention comprises a data visualisation computer program comprising a finite set of data values maintained in a data value memory, each data value associated with at least one time value; a contour generator arranged to generate and display one or more contour lines around a series of data points, each contour line representing data values which are less than the data value of the data point around which the contour line is displayed.
In yet another preferred form the invention comprises a data visualisation computer program comprising an interaction database of interaction data maintained in a memory, the interaction data representing interactions between customers and merchants, the interaction data associated with at least one time value; a retrieval component operable to retrieve from the interaction database data representing interactions between customers and merchants and to construct a finite set of data values from the retrieved data; and a display component arranged to display a graphical representation of at least one merchant and to superimpose one or more contoured representations of the data values on the graphical representation of the merchant such that each data value is displayed as a local maximum.
Preferred forms of the data visualisation system and method will now be described with reference to the accompanying figures in which:
Clients 20A and 20B, for example, are connected to a network 22, such as a local area network or LAN. The network 22 could be connected to a suitable network server 24 and communicate with the workstation as shown. Client 20C is shown connected directly to the workstation using for example a serial connection or WAP connection. Clients 20D, 20E and 20F are shown connected to the workstation through the Internet 26. Client 20D is shown as connected to the Internet 26 with a dial-up connection and clients 20E and 20F are shown connected to a network 28 such as a local area network or LAN, with the network 28 connected to a suitable network server 30.
The preferred system 10 further comprises a data repository 40, for example a data warehouse maintained in a memory. It is envisaged that the data repository may alternatively comprise a single database, a collection of databases, or a data mart. The preferred data repository 40 includes data from a variety of sources. The data repository may include, for example, interaction data 42 representing interactions between customers and merchants as will be more particularly described below. The data repository may also include data from other sources for example census data 44, data from merchant customer databases 46, data from merchant loyalty programmes 48 and/or promotion data 50 held by a merchant or other organisation.
In one form, the invention is arranged to display data representing interactions between customers and merchants. Typically, a merchant will operate a contact centre as part of its business. A contact centre could include a call centre in which customers contact a merchant over a telecommunications network and the interaction is handled by a customer service operator within the merchant organisation. Alternatively, a merchant may operate a call centre as its core business and could process calls for one or more third party merchants. The merchant may operate a call centre in one or more geographic locations.
It is also envisaged that a contact centre could include a telemarketing organisation in which one or more operators within a telemarketing organisation initiate contact with one or more customers or potential customers over a telecommunications network. The aim of the interaction would be to engage the customer or potential customer in a contract for goods or services of benefit to both parties. It is also envisaged that the merchant may operate a web-based customer service centre in which a merchant operates from one or more web sites which are accessed by customers over a computer network. The customers could transmit queries for the merchant by way of email, messages or interactive chat sessions. It is also envisaged that the merchant may operate a web-based marketing or advertising organisation in which one or more operators will initiate contact over a computer network with customers or potential customers, or alternatively the system could initiate contact automatically with a customer or potential customer providing a particular operator as the point of contact should the customer wish to contact the organisation. The invention will be described with reference to a call centre, although it is envisaged that the scope of the invention includes any form of contact centre.
Typically, each customer 60 for example customer 60A, 60B and 60C will contact one or more merchants 70 for example merchant 70A, 70B or 70C through a public-switched telephone network 80. As each customer interacts with a merchant, the interaction generates interaction data 42 which is then migrated to the data repository 40. The interaction data could be stored as a plurality of interaction data sets in the form of records in a relational database. Each record may include a merchant identifier used to identify a particular merchant, and where a merchant operates from more than one geographical location, the merchant identifier or some other identifier included in the record could identify the geographic location in which the interaction occurs or the geographic location from which the customer initiates the interaction.
Where a merchant organisation employs a plurality of operators, each operator could be identified by an operator identifier in the interaction data. Each interaction data set for example could include an operator identifier which, in the case of a call centre, could be the telecommunication or other network address within the organisation for that operator. It is envisaged that the operator identifier could include any other unique identifier for that operator, for example operator name. It is also envisaged that the operator identifier could include a network address where the merchant operates a web-based contact centre.
The record could also include a customer identifier and may have stored other data, for example residential address and family size of the customer. Further information could be stored in the customer database 46, in the loyalty programme database 48 and/or promotional database 50. Such data could be migrated to the data repository 40.
The record could also include data such as the date and/or time at which the interaction between the customer and the merchant took place. The date and/or time value is an example of a time value with which each interaction is associated. It is envisaged that the interaction record could include the time an interaction commenced and the time an interaction ended. The duration of each interaction could then be calculated from the difference in the two time values to enable various statistics to be displayed, as will be described below. The duration of the interaction could be stored in the interaction data set for ease of access, or could simply be calculated when needed.
It is also envisaged that the interaction data set could include a call type identifier. A call type identifier could distinguish an interaction intended for customer services from an interaction intended for other parts of an organisation, for example administration, repairs, marketing and so on.
The interaction data 42 is migrated to the data repository 40, generally by way of daily updates or in real time. It is advantageous to cleanse, catalogue and validate the interaction data during migration of the data to the data repository, and this task could be performed by either the merchant or by a third party. Once stored in the data repository 40, the data could be linked to other sources of data for subsequent retrieval, for example the census data 44, the customer database 46, data from a merchant loyalty programme 48 and/or promotion data 50 held by the merchant.
The data repository 40 could be maintained by a merchant or alternatively could be maintained by a third party. Updates to the data repository could be carried out by the merchant directly, or alternatively the merchant could provide batched data to a third party for updating the data. Alternatively, a third party could be entrusted with the task of collecting the interaction data and migrating the data to the data repository.
The personal computer or workstation 12 preferably operates under the control of appropriate operating and application software, and has a data memory 90 connected to a server 92. The invention includes a retrieval device or retrieval component 94 which in one form comprises a software-implemented query enabling retrieval of data from the data repository 40, and in another form comprises a memory on which the query is installed and operating. The data retrieved using the retrieval device 94 is processed with the server 92. A contour generator 96 which in one form comprises a computer-implemented software program generates a contoured representation or series of contour lines in order to display a representation of the data on a client workstation 20, as will be described below. A display component (not shown) could comprise a conventional display software module interfaced to the contour generator and operable to display data on a client 20. Preferred forms of the contour generator computer program 96 are also described below.
The representation 200 is arranged to display the average time a caller spends in each interaction, or the average duration of each interaction. This key performance indicator, or KPI, is preferably graphically represented either centred on, adjacent, or near to the representation of individual call centres 202. There are a finite number of call centres operated by the merchant, and the individual average service times for each call centre represent a finite set of data values. These data values are graphically illustrated as data points in the representation 100. For example, the data value of call centre 202A is graphically illustrated as data point 204A, and the data value for call centre 202B is graphically illustrated as data point 204B.
The preferred representation 200 is colour-coded, and the average duration of interactions involving each call centre is illustrated by representing the corresponding data points in the appropriate colour to represent the correct average service time for each call centre.
The areas of the representation 200 around each data point are shown as a series of contour lines. The nature of the contours for each data point are preferably represented to gradually drop off or fan away from each data point. Each data point could be represented by x and y co-ordinates indicating the relative position of each data point in the representation. Each data point could also have a z value representing the height or magnitude of the data point. This z value could indicate, for example, the duration or data value at a particular data point. The contour lines represent z data values which are less than the data value of the data point around which the contour lines are displayed. In this way, each data value is centred on a data point. Each data point is displayed as a local maximum, as surrounding values drop off or fall away around each point.
In some circumstances, the z values will comprise a discrete set, with each of the data values from the discrete set represented as a contour line. Alternatively, where the data values form part of a continuum, then it is envisaged that the data values be grouped into a discrete number of data sets. For example, where a z value represents a time value, the contour lines could represent time values between 0 and 20 seconds, 20 seconds and 40, 40 seconds and 60 seconds, and so on, up to a discrete number of data sets.
This contoured method of representing data values is more particularly described in our patent specification WO 00/77862 to Compudigm International Limited filed on 14 Jun. 2000 entitled “Data Visualisation System and Method” which is incorporated by reference.
Referring to
The value of p is preferably 2 or 3. As the value of p is increased, the data point is represented having a steeper shoulder and a flatter peak with steeper walls.
The value of a defines the horizontal distance between the axis 206 and the point of maximum drop-off the resulting curve, which in practice defines the width of the contoured “hill”. The value of a could be, for example, the point of “half height” of the value. Small values of a will result in fuse detail in a contoured representation and larger values of a will result in a less detailed representation.
As shown at 302, a set of data values is constructed from the retrieved data. This set of data values could include for example average service time per caller over a certain period for each call centre.
It is envisaged that the set of data values could be stored in data memory 90 to increase efficiency of the system as indicated at 304, which could comprise volatile main RAM or non-volatile mass storage of the workstation on which the invention 12 is implemented. Referring to step 306, the set of data values are retrieved from the volatile or non-volatile data memory and as shown at 308, a set of data points is constructed to represent the data values. Appropriate x and y values are generated for each data point to space the data points over a generated representation.
Referring to step 310, a contoured representation of the data values is generated and displayed on a client workstation 20. The individual drop-off for each data point is calculated and displayed in the appropriate colour and shading corresponding to the z value at each point.
It is envisaged that the invention generate individual displays of contoured representations. It is also envisaged that the invention generate animated sequences of representations by generating two or more “still” representations at various time intervals and superimposing successive representations over earlier representations to generate an animated sequence.
As indicated at 312, where such an animated sequence is required, further representations will be needed and if the necessary data is obtainable from the data memory as indicated 314, it is retrieved from the data memory as indicated at 306; otherwise further data is retrieved from the data repository at 300.
Each representation could show summary visualisations of caller patterns, caller source patterns, and call centre operational parameters. The summary images could be either animated sequences or stills. The invention could produce flash sequences, for example, one or more frames and typically fewer than six frames, in sequence that are displayed in forward or reverse order in real time in response to the manipulation of some device, for example, manipulation of pointing device 110. The summary representations could include contours, shaded thematics, labels and icons.
Referring back to
The interaction data from which the representation is obtained could include a customer origin identifier. Alternatively, customer origin data could be stored in one or more further databases and indexed by customer identifier.
It is envisaged that a customer provenance representation could be generated for any merchant customer application to which the system is applied. For example, where the merchant operates a call centre, the system could generate a customer provenance representation showing the geographic area from which customers are calling the merchant. The customer provenance representation could be generated as an alternative to or in addition to the representation of the merchant.
Each interaction record generated by the merchant customer interaction could include a customer identifier. This customer identifier could be linked to a physical address, within the requirements of any privacy restrictions, provided to a merchant by a customer at the time of registration or log-on. Alternatively, a geographic location could be inferred from the interaction itself. For example, a customer using a public switched telephone network has an originating number in that network from which a geographic indicator could be extracted.
The preferred representation of data displays a particular value at a finite set of data points based on the representation, for example data points 402A, 402B, 402C, 402D, 402E, 402F and 402G. Each data point 402 preferably represents a call centre operated by the merchant. The value at each data point is preferably represented as a contoured representation, having a defined value centred on each data point with the values over the representation dropping away between data points. Data points with large values are presented as higher peaks than data points with lower values.
It will be appreciated that the representation could be filtered in a suitable manner. For example, representation 400 could show a contoured map of all incoming calls of two minutes duration or less, or calls of a particular nature for example first or second level IT support requirements. The invention could visualise data derived from or by any number of call centre geographic locations and inbound or outgoing calls, and calls that require data from multiple operators and/or call centres.
Referring to
In
Referring to
The representation of each operator could be further supplemented with a numeric value which could show a running count of how many calls the operator has fielded within a predefined time period which have exceeded the threshold time limit per call. Operator 702A, for example, has fielded six calls which have exceeded the threshold, operator 702B has fielded two calls which have exceeded the threshold and operator 702C has fielded five calls which exceeded the threshold.
It is also envisaged that the average time per call for each operator could be shown as a contoured value, for example, 704A, 704B and 704C. It will be readily appreciated that operator 702A has the greatest average time for each interaction, operator 702C has the next greatest average time per interaction and operator 702B has the next greatest average time per interaction.
In a similar manner to the contour representations described above, the z value of each data point, for example data point 706, is represented as a local maximum, with (x, y) values around data point 706 gradually falling off or dropping away. To calculate individual z values, a notional, substantially perpendicular, line 708 is represented extending outwardly from data point 706 through the contoured representation. To calculate the z value of a point neighbouring data point 706, a notional line 710 is drawn from the (x, y) co-ordinate in question to the data point 706 and the angle (θ) between lines 708 and 710 calculated. The z value of the (x, y) co-ordinate could be calculated as follows, where a and p are defined as above in equation (1):
It will also be appreciated that the performance of call centres could depend on various operator characteristics, for example, experience, performance levels for example average calls processed per hour, and/or characteristics of the working environment, for example, the impact of operator location on the operator's average performance. For example, an operator located near a hallway may not perform as well as an operator not located near a hallway.
In some circumstances, an operator will not perform as well in one location than in another location. Operator 806A is shown displayed in red which indicates that the average time an operator spends on a customer interaction is greater when the operator is in the position shown in bank 802 than the overall average for that operator.
The invention may, for example, calculate the overall mean time an operator spends on calls and calculate the standard deviation of this average time. The operator is then measured when placed in the position shown in bank 802 and the mean time spent on calls calculated from this average. Where the new mean is significantly less, for example, two or three standard deviations from the overall mean, the invention could display the operator in a red colour.
On the other hand, where the particular location has a positive impact, for example, where the new mean is two or three standard deviations greater than the overall mean, the operator could be shown in blue, for example, 806B. Where there is no significant impact, the operator could be shown in grey, for example, 806C. In some circumstances, the operator could be inactive and be shown in white, for example, 806D.
The average call length for each operator could be shown as a contoured representation, for example, 808A, 808B and 808C.
The representation 800 could also usefully contrast the two teams 802 and 804 to measure performance of each team relative to the other.
Referring to
It can be readily perceived from representation 900 that organisation 902A has a high number of queued callers and a high drop-out rate and will require further call centre operators. Organisation 902B on the other hand has a smaller number of calls queued and has a lower drop-off rate so major reorganisation is not necessary.
The invention has the effect that merchants and other organisations do not need to follow the traditional approach of forming a hypothesis in advance and then verifying the hypothesis, although the representations generated by the system may be useful for verifying a particular hypothesis. The system presents data in an easily interpreted and intuitive manner which may be useful in identifying unexpected trends in the data.
The foregoing describes the invention including preferred forms thereof. Alterations and modifications as will be obvious to those skilled in the art are intended to be incorporated within the scope hereof, as defined by the accompanying claims.
Claims
1. A data visualization system comprising:
- an interaction database maintained in a computer memory of interaction data representing interactions between customers and at least one merchant;
- a retrieval component configured to retrieve from the interaction database data representing interactions between customers and the merchant, and to construct a finite set of data values from the retrieved data;
- a display component configured to display a graphical representation of a merchant and a graphical representation of each of the set of data values centered on respective data points disposed on a representation of a bell-shaped curve; and
- a contour generator configured to generate and display one or more contour lines at least partly around each data point to form a bell-shaped curve, in which the areas of representation around each data point are shown in a series of contour lines, and the nature of the contour lines for each data point are preferably represented to gradually drop off or fan away from each data point, wherein each data point is displayed as a local maximum at an apex of the bell-shaped curve.
2. The system of claim 1, wherein the representation is color-coded.
3. The system of claim 1, wherein each data point has a “z” value representing a height or magnitude of the data point.
4. The system of claim 3, wherein the contour lines represent “z” data values which are less than the data value of the data point around which the contour lines are displayed.
5. The system of claim 3, wherein a drop-off for each data point is calculated and displayed in a color and shading that corresponds to the “z” value at each point.
6. A data visualization system comprising:
- an interaction database maintained in a computer memory of interaction data representing interactions between customers and at least one merchant;
- a retrieval component configured to retrieve from the interaction database data representing interactions between customers and the merchant, and to construct a finite set of data values from the retrieved data;
- a display component configured to display a graphical representation of a merchant and a graphical representation of each of the set of data values centered on respective data points disposed on a representation of a paraboloid; and
- a contour generator configured to generate and display one or more contour lines at least partly around each data point to form a paraboloid, in which the areas of representation around each data point are shown in a series of contour lines, and the nature of the contour lines for each data point are preferably represented to gradually drop off or fan away from each data point, wherein each data point is displayed as a local maximum at an apex of the paraboloid.
7. The system of claim 5, wherein the representation is color-coded.
8. The system of claim 5, wherein each data point has a z value representing a height or magnitude of the data point.
9. The system of claim 7, wherein the contour lines represent “z” data values which are less than the data value of the data point around which the contour lines are displayed.
10. A data visualization system comprising:
- an interaction database maintained in a computer memory of interaction data representing interactions between customers and at least one merchant;
- a retrieval component configured to retrieve from the interaction database data representing interactions between customers and the merchant, and to construct a finite set of data values from the retrieved data;
- a display component configured to display a graphical representation of a merchant and a graphical representation of each of the set of data values centered on respective data points disposed on a representation of a contoured hill; and
- a contour generator configured to generate and display one or more contour lines at least partly around each data point to form a contoured hill, in which the areas of representation around each data point are shown in a series of contour lines, and the nature of the contour lines for each data point are preferably represented to gradually drop off or fan away from each data point, wherein each data point is displayed as a local maximum at an apex of the contoured hill;
- wherein the contour generator generates animated sequences of representations by generating two or more still representations at different time intervals and superimposing successive representations over earlier representations to generate an animated sequence.
11. The system of claim 10, wherein the representations define graphical spatial representations in the form of a topographical map.
12. The system of claim 11, wherein the map shows individual cities in a particular country.
13. The system of claim 10, wherein the representations display customer provenance.
5150312 | September 22, 1992 | Beitel et al. |
5214281 | May 25, 1993 | Rowe |
5526476 | June 11, 1996 | Motokado et al. |
5796932 | August 18, 1998 | Fox et al. |
5930764 | July 27, 1999 | Melchione et al. |
6067502 | May 23, 2000 | Hayashida et al. |
6211887 | April 3, 2001 | Meier et al. |
6232984 | May 15, 2001 | Chuah et al. |
6266618 | July 24, 2001 | Ye et al. |
6282547 | August 28, 2001 | Hirsch |
6466211 | October 15, 2002 | Havre et al. |
6470383 | October 22, 2002 | Leshem et al. |
6477533 | November 5, 2002 | Schiff et al. |
6529197 | March 4, 2003 | Ballard et al. |
6654497 | November 25, 2003 | Kondo et al. |
7627668 | December 1, 2009 | Cardno et al. |
20010024497 | September 27, 2001 | Campbell et al. |
20010044751 | November 22, 2001 | Pugliese, III et al. |
20020016774 | February 7, 2002 | Pendlebury |
20020022977 | February 21, 2002 | Schiff et al. |
20030107571 | June 12, 2003 | Mulgan et al. |
20050078111 | April 14, 2005 | Cardno et al. |
20050192825 | September 1, 2005 | Cardno et al. |
20060178918 | August 10, 2006 | Mikurak |
505784 | July 2000 | NZ |
WO00/77682 | December 2000 | WO |
WO02/07007 | January 2002 | WO |
- www.esri.com, retrieved from Internet Archive Wayback Machine <www.archive.org>, Date Range: Feb. 15, 1998-Jul. 5, 1998.
Type: Grant
Filed: May 18, 2010
Date of Patent: Sep 17, 2013
Patent Publication Number: 20100268662
Assignee: Bally Gaming, Inc. (Las Vegas, NV)
Inventors: Andrew John Cardno (Wllington), Grant Frederick Margison (Wellington), Michael John Douglas Hornsby (Wellington)
Primary Examiner: Jonathan Ouellette
Application Number: 12/782,642
International Classification: G06Q 10/10 (20120101); G06Q 30/02 (20120101); G06Q 10/06 (20120101); G06Q 30/06 (20120101); G06Q 10/08 (20120101);