U.S. patent application number 14/098501 was filed with the patent office on 2014-06-19 for device, method and user interface for displaying relationships between different sets of data.
This patent application is currently assigned to Lithium Technologies, Inc.. The applicant listed for this patent is Lithium Technologies, Inc.. Invention is credited to Michael Wu.
Application Number | 20140173444 14/098501 |
Document ID | / |
Family ID | 50932491 |
Filed Date | 2014-06-19 |
United States Patent
Application |
20140173444 |
Kind Code |
A1 |
Wu; Michael |
June 19, 2014 |
Device, Method and User Interface for Displaying Relationships
between Different Sets of Data
Abstract
A device with one or more processors and memory display, in a
data display panel, a plurality of nodes associated with a data
set. The plurality of nodes include a first set of one or more
nodes and a second set of one or more nodes distinct from the first
set of nodes. The data set includes information indicating a
magnitude of a relationship between nodes in the first set of nodes
and nodes in the second set of nodes. The device receives a first
input corresponding to selection of a first node in the first set
of nodes. In response to receiving the input, the device displays,
in the data display panel, a visual indication of a magnitude of a
relationship between the first node and one or more nodes in the
second set of nodes.
Inventors: |
Wu; Michael; (Oakland,
CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Lithium Technologies, Inc. |
Emeryville |
CA |
US |
|
|
Assignee: |
Lithium Technologies, Inc.
Emeryville
CA
|
Family ID: |
50932491 |
Appl. No.: |
14/098501 |
Filed: |
December 5, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
61734927 |
Dec 7, 2012 |
|
|
|
Current U.S.
Class: |
715/734 |
Current CPC
Class: |
G06F 16/248 20190101;
G06F 3/0481 20130101; G06F 3/04842 20130101; G06Q 50/01 20130101;
G06F 16/904 20190101 |
Class at
Publication: |
715/734 |
International
Class: |
G06F 3/0481 20060101
G06F003/0481 |
Claims
1. A method, comprising: at a computing device with a display:
displaying, in a data display panel, a plurality of nodes
associated with a data set, wherein: the plurality of nodes include
a first set of one or more nodes and a second set of one or more
nodes distinct from the first set of nodes; and the data set
includes information indicating a magnitude of a relationship
between nodes in the first set of nodes and nodes in the second set
of nodes; receiving a first input corresponding to selection of a
first node in the first set of nodes; and in response to receiving
the input, displaying, in the data display panel, a visual
indication of a magnitude of a relationship between the first node
and one or more nodes in the second set of nodes.
2. The method of claim 1, wherein the first set of nodes correspond
to a first set of divisions in a first data-set dimension.
3. The method of claim 2, wherein the second set of nodes
correspond to a second set of divisions in a second data-set
dimension different from the first data-set dimension.
4. The method of claim 1, further comprising, in response to
receiving the first input, displaying a visual indication of the
magnitude of the relationship between the first node and a
plurality of nodes in the second set of nodes.
5. The method of claim 1, further comprising, in response to
receiving the first input, displaying a visual indication of the
magnitude of the relationship between the first node and each node
in the second set of nodes.
6. The method of claim 1, further comprising: receiving a second
input corresponding to selection of a second node the second set of
nodes for which a respective visual indication of a magnitude of a
relationship between the first node and the second node is
displayed; and in response to receiving the second input, ceasing
to display the respective visual indication of the magnitude of the
relationship between the first node and the second node.
7. The method of claim 1, further comprising, while the first node
is selected: receiving a third input corresponding to selection of
a second node the second set of nodes for which a respective visual
indication of a magnitude of a relationship between the first node
and the second node is not displayed; and in response to receiving
the third input, displaying a respective visual indication of the
magnitude of the relationship between the first node and the second
node.
8. The method of claim 1, further comprising: receiving a fourth
input corresponding to a request to display sub-nodes of a second
node the second set of nodes for which a respective visual
indication of a magnitude of a relationship between the first node
and the second node is displayed; and in response to receiving the
fourth input: displaying a plurality of sub-nodes of the second
node, including a first sub-node and a second sub-node; displaying
a visual indication that indicates a magnitude of relationship
between the first node and the first-sub node of the second node;
and displaying a visual indication that indicates a magnitude of
relationship between the first node and the second-sub node of the
second node.
9. The method of claim 1, wherein: the visual indication of the
magnitude of the relationship between the first node and one or
more nodes in the second set of nodes includes a visual indication
of a magnitude of a relationship between the first node and a
second node the second set of nodes; and the method further
comprises: receiving a fifth input corresponding to a request to
display sub-nodes of the first node; and in response to receiving
the fifth input: displaying a plurality of sub-nodes of the first
node, including a first sub-node and a second sub-node; displaying
a visual indication that indicates a magnitude of relationship
between the first-sub node of the first node and the second node;
and displaying a visual indication that indicates a magnitude of
relationship between the second-sub node of the first node and the
second node.
10. The method of claim 9, wherein: the first node includes more
sub-nodes than can be displayed in the data display panel; and
displaying the plurality of sub-nodes of the first node includes
displaying a subset of the sub-nodes associated with the first
node.
11. The method of claim 10, wherein the subset of the sub-nodes
associated with the first node is selected automatically based on
predefined criteria.
12. The method of claim 10, wherein the subset of the sub-nodes
associated with the first node is selected based on user-provided
criteria.
13. The method of claim 1, wherein: the visual indication of the
magnitude of the relationship between the first node and one or
more nodes in the second set of nodes includes a connector between
the first node and the one or more nodes in the second set of
nodes; a first connector width of the connector proximate to the
first node corresponds to an aggregate magnitude of the
relationship between the first node and the one or more nodes in
the second set of nodes; and a second connector width of the
connector proximate to a respective node in the second set of nodes
corresponds to a magnitude of the relationship between the first
node and the respective node.
14. The method of claim 1, wherein the relationship between the
first node and the one or more second nodes is a flow of network
traffic.
15. A computing device, comprising: one or more processors; and
memory; one or more programs, wherein the one or more programs are
stored in the memory and configured to be executed by the one or
more processors, the one or more programs including instructions
for: displaying, in a data display panel, a plurality of nodes
associated with a data set, wherein: the plurality of nodes include
a first set of one or more nodes and a second set of one or more
nodes distinct from the first set of nodes; and the data set
includes information indicating a magnitude of a relationship
between nodes in the first set of nodes and nodes in the second set
of nodes; receiving a first input corresponding to selection of a
first node in the first set of nodes; and in response to receiving
the input, displaying, in the data display panel, a visual
indication of a magnitude of a relationship between the first node
and one or more nodes in the second set of nodes.
16. The device of claim 15, wherein the one or more programs
include instructions for, in response to receiving the first input,
displaying a visual indication of the magnitude of the relationship
between the first node and each node in the second set of
nodes.
17. The device of claim 15, wherein the one or more programs
include instructions for: receiving a second input corresponding to
selection of a second node the second set of nodes for which a
respective visual indication of a magnitude of a relationship
between the first node and the second node is displayed; and in
response to receiving the second input, ceasing to display the
respective visual indication of the magnitude of the relationship
between the first node and the second node.
18. A non-transitory computer readable storage medium storing one
or more programs, the one or more programs comprising instructions,
which when executed by a computing device with one or more
processors cause the device to: display, in a data display panel, a
plurality of nodes associated with a data set, wherein: the
plurality of nodes include a first set of one or more nodes and a
second set of one or more nodes distinct from the first set of
nodes; and the data set includes information indicating a magnitude
of a relationship between nodes in the first set of nodes and nodes
in the second set of nodes; receive a first input corresponding to
selection of a first node in the first set of nodes; and in
response to receiving the input, display, in the data display
panel, a visual indication of a magnitude of a relationship between
the first node and one or more nodes in the second set of
nodes.
19. The non-transitory computer readable storage medium of claim
18, wherein the one or more programs include instructions which,
when executed by the computing device, cause the device to, in
response to receiving the first input, display a visual indication
of the magnitude of the relationship between the first node and
each node in the second set of nodes.
20. The non-transitory computer readable storage medium of claim
18, wherein the one or more programs include instructions which,
when executed by the computing device, cause the device to: receive
a second input corresponding to selection of a second node the
second set of nodes for which a respective visual indication of a
magnitude of a relationship between the first node and the second
node is displayed; and in response to receiving the second input,
cease to display the respective visual indication of the magnitude
of the relationship between the first node and the second node.
Description
RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data" which is incorporated
herein by reference in its entirety.
[0002] This application is related to the following applications:
U.S. patent application Ser. No. ______, "Device, Method and User
Interface for Presenting Analytic Data," filed ______, (Attorney
Docket No. 070407-5001US); U.S. patent application Ser. No. ______,
"Device, Method and User Interface for Determining a Correlation
between a Received Sequence of Numbers and Data that Corresponds to
Metrics," filed ______, (Attorney Docket No. 070407-5009US); U.S.
patent application Ser. No. ______, "Device, Method and User
Interface for Switching between Graphical Representations of Data,"
filed ______, (Attorney Docket No. 070407-5011US); and U.S. patent
application Ser. No. ______, "Device, Method and User Interface for
Emphasizing Divisions in Data," filed ______, (Attorney Docket No.
070407-5012US), which are incorporated by reference herein in their
entirety.
TECHNICAL FIELD
[0003] The disclosed implementations relate generally to methods of
data visualization.
BACKGROUND
[0004] An online community is a website designed for users to
interact with each other, usually with some common theme. Unlike a
traditional website, in which the website owner controls all of the
content, an online community enables and encourages users to
participate in the content. Users post comments, replies to
comments, questions, and answers to other users' questions; more
experienced users develop articles and knowledge bases, and lead
forum discussions or blogs.
[0005] Business entities now recognize the value of having an
online community for the business. In this case, the community
focus is on the products or services of the business, and users
participate in the community just like any other online community.
While online communities can be beneficial for marketing, online
communities are not just a marketing gimmick. For example, real
users post real questions, and the questions are frequently
answered by other users in the community. Of course an online
community is much more than just a question and answer board.
SUMMARY
[0006] It is import to measure the success and "health" of an
online community. To make these measurements, an abundance of data
is tracked about user interactions with the community. Every
interaction is tracked, as well as information about the
interaction, such as where it originated, what time, what type of
computing device the user was using, the content of the interaction
itself (such as a post), as well as subsequent responses to the
interaction, such as other users designating the comment or answer
as useful. This abundance of data is almost too much, and previous
methods of reviewing the data have been cumbersome or ineffective.
Because of the shortcoming of previous attempts, implementations of
the present invention provide simpler and more effective ways of
reviewing interaction data for an online community.
[0007] In some implementations, a method includes, at a computing
device with a display, displaying, in a data display panel, a
plurality of nodes associated with a data set, where the plurality
of nodes include a first set of one or more nodes and a second set
of one or more nodes distinct from the first set of nodes, and the
data set includes information indicating a magnitude of a
relationship between nodes in the first set of nodes and nodes in
the second set of nodes. The method further includes receiving a
first input corresponding to selection of a first node in the first
set of nodes; and in response to receiving the input, displaying,
in the data display panel, a visual indication of a magnitude of a
relationship between the first node and one or more nodes in the
second set of nodes.
[0008] In accordance with some embodiments, a computer system
(e.g., a search client system or search server system) includes one
or more processors, memory, and one or more programs; the one or
more programs are stored in the memory and configured to be
executed by the one or more processors and the one or more programs
include instructions for performing the operations of the method
described above. In accordance with some embodiments, a
non-transitory computer readable storage medium has stored therein
instructions which when executed by one or more processors, cause a
computer system (e.g., a search client system or search server
system) to perform the operations of the methods described
above.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is a conceptual block diagram of an online community
in accordance with some implementations.
[0010] FIG. 2 is a block diagram of a client device in accordance
with some implementations.
[0011] FIG. 3 is a block diagram illustrating the structure of web
servers, database servers, and application servers in accordance
with some implementations.
[0012] FIGS. 4A-4D are flow diagrams illustrating a method of
displaying a magnitude of a relationship between nodes
corresponding to a data set in a data viewing interface in
accordance with some implementations.
[0013] FIGS. 5A-5DD illustrate methods of presenting, selecting,
and changing views of analytic data in accordance with some
implementations.
[0014] FIG. 6 illustrates an example of a data flow and
architecture for collection of analytics data for an online
community and presentation of analytic data for that online
community in accordance with some implementations.
[0015] Like reference numerals refer to corresponding parts
throughout the several views of the drawings.
DESCRIPTION OF IMPLEMENTATIONS
[0016] Reference will now be made in detail to implementations,
examples of which are illustrated in the accompanying drawings. In
the following detailed description, numerous specific details are
set forth in order to provide a thorough understanding of the
present invention. However, it will be apparent to one of ordinary
skill in the art that the present invention may be practiced
without these specific details. In other instances, well-known
methods, procedures, components, and circuits have not been
described in detail so as not to unnecessarily obscure aspects of
the implementations.
[0017] FIG. 1 illustrates an example of an environment in which
disclosed implementations operate. In the middle is one or more
communication networks 112, such as the Internet, that link
together the various computing devices. Users 102 are individual
people who access the communication networks 112 using electronic
devices 104, such as desktop computers, laptop computers, tablet
computers, smartphones, PDA's, etc. The communication networks are
also connected to one or more Social Media sites 106, such as
Facebook, Youtube, etc.
[0018] Also connected to the communication network 112 is an online
community 100 for a business entity. An online community 100
provides public forums, bulletin boards, blogs, and other
information. Unlike a traditional business website, an online
community is maintained by everyone, including the users 102. Users
102, for example, can post questions about products or services
provided by the business entity, or can post answers to other users
questions. An online community can increase profitability of the
business entity in many ways, including reducing the costs for
customer support (users find the information in the community) and
reducing the cost of search engine optimization (for example,
because search engines review the user generated community
content).
[0019] An online community 100 includes one or more web servers 114
that handle the incoming web requests, and one or more application
server 116 that provide the user interface functionality for the
community. The online community 100 also includes one or more
database servers 118 that store the data for the community,
including logs of user interactions. In some implementations, the
database servers 118 also store binary files, image files, video
files, and so on. In some implementations, binary, image, and video
files are stored on the application servers 116, of other file
servers (not shown).
[0020] In addition to the users 102 who interact directly with the
online community 100, managers, stakeholders, and executives 108 of
the business entity review the community interaction data. As
described in more detail below, some people (e.g., managers,
stakeholders and/or executives) 108 review the raw data, and other
people 108 review analytic computed data. The people 108 utilize
client devices 110 to access the interaction data over the
communication network 112. Like a user device, a client devices can
be desktop computers, laptop computers, tablet computers,
smartphones, PDA's, etc.
[0021] Although FIG. 1 illustrates Web Servers 114, application
servers 116, and database servers 118 as physically distinct
devices, the functionality can be combined in various different
ways. For example, the web server software and application server
software optionally runs on the same server(s).
[0022] FIG. 2 illustrates an example of a client device 110. A
client device 110 generally includes one or more processing units
(CPUs) 202, one or more network or other communications interfaces
204, memory 214, and one or more communication buses 212 for
interconnecting these components. The communication buses 212
optionally include circuitry (sometimes called a chipset) that
interconnects and controls communications between system
components. A client device 110 also includes a user interface 206,
for instance a display 208 and a keyboard or other input mechanism
210. Some client devices 110 display a keyboard 210 on the display
208 as needed. Some client devices 110 utilize a touchscreen or
touch-sensitive display 208. Memory 214 optionally includes
high-speed random access memory, such as DRAM, SRAM, DDR RAM or
other random access solid state memory devices; and optionally
includes non-volatile memory, such as one or more magnetic disk
storage devices, optical disk storage devices, flash memory
devices, or other non-volatile solid state storage devices. Memory
214 optionally includes mass storage that is remotely located from
the central processing unit(s) 202. Memory 214, or alternately the
non-volatile memory device(s) within memory 214, comprises a
computer readable storage medium. In some implementations, memory
214 or the computer readable storage medium of memory 214 stores
the following programs, modules and data structures, or a subset
thereof: [0023] an operating system 216 (e.g., Windows, Mac OS X,
iOS, Android, or Linux) that generally includes procedures for
handling various basic system services and for performing hardware
dependent tasks; [0024] a network communications module 218 that is
used for connecting the client device 110 to servers or other
computing devices via one or more communication networks, such as
the Internet, other wide area networks, local area networks,
metropolitan area networks, and the like; [0025] a web browser 220
(e.g., Internet Explorer, Safari, Chrome) that is used to access
web pages, web applications, and other resources over a
communication network, such as the Internet, other wide area
networks, local area networks, metropolitan area networks, and the
like; [0026] a metric explorer interface 5000, enabling a user to
graphically view data from user interaction with an online
community or other social media, and to select many different
aspects (or dimensions) of what data is viewed, and how the data is
viewed. The metric explorer interface is described in more detail
with reference to FIGS. 9-005 to 9-141 of U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data"; [0027] an actionable
analytics interface 222, enabling a user to graphically review
calculated analytic data based on users' interactions with an
online community or other social media. The actionable analytics
interface 222 is described in more detail with reference to FIGS.
5A-5DD below and FIGS. 9-142 to 9-206 of U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data"; [0028] a return on
investment (ROI) calculation interface 224, enabling a user to
compute the return on investment for an online community 100, or
compute correlations between business key performance indicators
(KPIs) and various metrics. The ROI calculation interface 224 is
described in greater detail with reference to FIGS. 9-207 to 9-236
of U.S. Provisional Patent Application No. 61/734,927, filed Dec.
7, 2012, entitled "Systems and Methods for Presenting Analytic
Data"; and [0029] one or more browser cookies 226, which save state
or other information for a web page or web application.
[0030] FIG. 3 illustrates an example of a server, such as a web
server 114, an application server 116, or a database server 118. A
server 114/116/118 generally includes one or more processing units
(CPUs) 302, one or more network or other communications interfaces
304, memory 314, and one or more communication buses 312 for
interconnecting these components. The communication buses 312
optionally include circuitry (sometimes called a chipset) that
interconnects and controls communications between system
components. The server 114/116/118 optionally includes a user
interface 306, for instance, a display 308 and a keyboard or other
input device 310. Memory 314 optionally includes high-speed random
access memory, such as DRAM, SRAM, DDR RAM or other random access
solid state memory devices; and optionally includes non-volatile
memory, such as one or more magnetic disk storage devices, optical
disk storage devices, flash memory devices, or other non-volatile
solid state storage devices. Memory 314 optionally includes mass
storage that is remotely located from the central processing
unit(s) 302. Memory 314, or alternately the non-volatile memory
device(s) within memory 314, comprises a computer readable storage
medium. In some implementations, memory 314 or the computer
readable storage medium of memory 314 stores the following
programs, modules and data structures, or a subset thereof: [0031]
an operating system 316 (e.g., Linux or Unix) that generally
includes procedures for handling various basic system services and
for performing hardware dependent tasks; [0032] a network
communications module 318 that is used for connecting the server
114/116/118 to other servers or other computing devices via one or
more communication networks, such as the Internet, other wide area
networks, local area networks, metropolitan area networks, and the
like; [0033] web server software 320 (e.g. Apache web server or
Apache Tomcat) that receives web requests, and delivers appropriate
web pages or other resources in response to the requests; [0034]
database server software 322 (e.g., MySQL or other structured query
language (SQL) database engine), which stores organized relational
data for the online community 100, and provides the data as needed;
[0035] a database 324 that contains one or more community
interaction logs. The log database(s) track information about user
interactions with the online community. For example, clicking to
view a web page generates a "page view" event, which is logged. The
log record for this event optionally includes the user name or ID,
the time of the page view, which page was viewed, etc.; [0036] a
forum database 326, which includes data for one or more community
forums. This includes all data and metadata for posts to each
forum, as well as configuration information about each forum;
[0037] a blog database 328, which stores blogs for one or more
individuals, including all of the content of the blog, as well as
comments, etc.; [0038] a tribal knowledge base database 330, which
is an organized collection of articles that have generally
proceeded through a review process, providing useful information on
a topic (e.g., how to utilize a feature of a product provided by
the business entity); [0039] an application server 332, which
provides the functionality of the online community 100 and
functionality to access the interaction data 324 generated by users
102 of the online community 100; [0040] one or more community
interaction applications or interfaces 334, which are used by users
102 who participate in the online community 100; [0041] a metric
explorer interface 5000, which is used by users (e.g., Managers) to
review the raw interaction data. This is described in more detail
with reference to FIGS. 9-005 to 9-141 of U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data"; [0042] an actionable
analytics interface 222, which is used by users (e.g.,
Stakeholders) to review computed analytic data based on the
interactions of users 102 with the online community 100. The
actionable analytics interface 222 is described in more detail with
reference to FIGS. 5A-5DD below and FIGS. 9-142 to 9-206 of U.S.
Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012,
entitled "Systems and Methods for Presenting Analytic Data"; [0043]
a KPI/ROI calculation interface 224, which is used by users (e.g.,
Executives) to evaluate the return on investment for an online
community. In some implementations, the interface 224 computes
correlations between business key performance indicators and
community metrics. This is described in greater detail with
reference to FIGS. 9-207 to 9-236 of U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data"; [0044] a KPI calculation
engine 336, which computes correlation coefficients between sets of
data; [0045] a data export application 338, which converts
retrieved data into various external file formats, including CSV
(comma separated values), PDF (portable document format), PNG
(portable network graphics), and XLS (Microsoft Excel).
[0046] Although FIG. 3 shows examples of servers, it is intended
more as functional description of the various features which are,
in some circumstances, present in a set of servers than as a
structural schematic of the implementations described herein. In
practice, and as recognized by those of ordinary skill in the art,
items shown separately could be combined and some items could be
separated. For example, some items shown separately in FIGS. 1 and
3 could be implemented on single servers and single items could be
implemented by one or more servers. The actual number of servers
used to implement the web servers, application servers, and
database servers, and how features are allocated among them will
vary from one implementation to another, and optionally depends in
part on the amount of data traffic that the system must handle
during peak usage periods as well as during average usage
periods.
[0047] Each of the methods described herein are, optionally,
performed by instructions that are stored in a computer readable
storage medium and that are executed by one or more processors of
one or more servers or clients. Each of the operations shown in
FIGS. 4A-4D optionally correspond to instructions stored in a
computer memory or computer readable storage medium.
Methods for Displaying Data
[0048] FIGS. 4A-4D are flow diagrams illustrating a method 400 of
displaying a magnitude of a relationship between nodes
corresponding to a data set in a data viewing interface in
accordance with some implementations. The method 400 is performed
at a computing device (e.g., Client Device 110 in FIG. 2, Web
Server 114 in FIG. 3, Application Server 116 in FIG. 3, or Database
Server 118 in FIG. 3) with a display and an input device (e.g., a
mouse, a trackpad, a touch screen or voice control module). Some
operations in method 400 are, optionally, combined and/or the order
of some operations is, optionally, changed. As described below, the
method 400 provides an intuitive way to display a magnitude of a
relationship between nodes corresponding to a data set in a data
viewing interface. The method reduces the cognitive burden on a
user when viewing data, thereby creating a more efficient
human-machine interface. For battery-operated electronic devices,
enabling a user to view data faster and more efficiently conserves
power and increases the time between battery charges.
[0049] The device displays (402), in a data display panel, a
plurality of nodes associated with a data set, (e.g., as shown in
FIGS. 5B-5DD). The plurality of nodes include (404) a first set of
one or more nodes and a second set of one or more nodes distinct
from the first set of nodes. In some implementations, the first set
of nodes correspond (406) to a first set of divisions in a first
data-set dimension. In some implementations, the second set of
nodes correspond (408) to a second set of divisions in a second
data-set dimension different from the first data-set dimension.
[0050] The data set includes (410) information indicating a
magnitude of a relationship between nodes in the first set of nodes
and nodes in the second set of nodes. In some implementations, a
magnitude of a relationship between a first node and a second node
is based on a number of data points that are associated with both
the first node and the second node relative to a total number of
data points in the data set. In some implementations, a magnitude
of a relationship between a first node and a second node is based
on a number of data points that are associated with both the first
node and the second node relative to a total number of data points
associated with the first node. For example, if the first node is a
respective source of internet traffic (e.g., a search engine such
as Google.com) and the second node is a respective section of a
website (e.g., user forums) that receives internet traffic, the
magnitude of the relationship between the respective source and the
respective section of the website is an amount of internet traffic
(e.g., a number of requests/communications or a quantity of data
transferred) that the respective section of the website receives
from the respective source (e.g., as determined based on referrer
information in the internet traffic).
[0051] After displaying the plurality of nodes in the data display
panel, the device receives (412) a first input (e.g., from the
input device) corresponding to selection of a first node in the
first set of nodes (e.g., as shown in FIG. 5B). In response (414)
to receiving the input, the device displays (416), in the data
display panel, a visual indication of a magnitude of a relationship
between the first node and one or more nodes in the second set of
nodes (e.g., as shown in FIG. 5C). In some implementations, the
visual indication of the magnitude of the relationship between the
first node and one or more nodes in the second set of nodes
includes (418) a connector between the first node and the one or
more nodes in the second set of nodes. In some implementations, a
first connector width of the connector (e.g., a line width of the
connector when the connector is a line) proximate to the first node
corresponds to an aggregate magnitude of the relationship between
the first node and the one or more nodes (e.g., the nodes for which
the relationship with the first node is currently displayed) in the
second set of nodes. In some implementations, a second connector
width of the connector proximate to a respective node in the second
set of nodes corresponds to a magnitude of the relationship between
the first node and the respective node (e.g., as shown in FIGS.
5B-5R).
[0052] In some implementations, the visual indication includes a
number providing a relative or absolute value corresponding to the
magnitude of the relationship between the first node and the one or
more nodes in the second set of nodes. In some implementations, the
visual indication includes a number providing a relative or
absolute value corresponding to the magnitude of the relationship
between the first node and the respective node. In some
implementations, the first connector width is the same as the
second connector width. In some implementations, the first
connector width is different from the second connector width. In
some implementations, the one or more nodes in the second set of
nodes includes a plurality of nodes.
[0053] In some implementations, the relationship between the first
node and the one or more second nodes is (424) a flow of network
traffic. In some implementations, the first node is a source of
network traffic and the one or more second nodes are destinations
of network traffic. In some implementations, the first node and the
one or more second nodes are represented by words (or other
symbols) visually identifying the sources and destinations of
network traffic.
[0054] In some implementations, in response to receiving the first
input, the device displays (426) a visual indication of the
magnitude of the relationship between the first node and a
plurality of nodes in the second set of nodes (e.g., as shown in
FIGS. 5C-5H). In some implementations, in response to receiving the
first input, the device displays (428) a visual indication of the
magnitude of the relationship between the first node and each node
in the second set of nodes (e.g., as shown in FIGS. 5C-5H).
[0055] In some implementations, after displaying the visual
indication of the magnitude of the relationship between the first
node and one or more nodes in the second set of nodes, the device
receives (430) a second input (e.g., from the input device)
corresponding to selection of a second node the second set of nodes
for which a respective visual indication of a magnitude of a
relationship between the first node and the second node is
displayed. In some implementations, in response to receiving the
second input, the device ceases (432) to display the respective
visual indication of the magnitude of the relationship between the
first node and the second node (e.g., as shown in FIGS. 5H-5I).
[0056] In some implementations, after displaying the visual
indication of the magnitude of the relationship between the first
node and one or more nodes in the second set of nodes, while the
first node is selected, the device receives (434) a third input
(e.g., from the input device) corresponding to selection of a
second node the second set of nodes for which a respective visual
indication of a magnitude of a relationship between the first node
and the second node is not displayed. In some implementations, in
response to receiving the third input, the device displays (436) a
respective visual indication of the magnitude of the relationship
between the first node and the second node (e.g., as shown in FIGS.
5I-5J).
[0057] In some implementations, after displaying the visual
indication of the magnitude of the relationship between the first
node and one or more nodes in the second set of nodes, the device
receives (438) a fourth input (e.g., from the input device)
corresponding to a request to display sub-nodes of a second node
the second set of nodes for which a respective visual indication of
a magnitude of a relationship between the first node and the second
node is displayed. In some implementations, in response (440) to
receiving the fourth input, the device displays (442) a plurality
of sub-nodes of the second node, including a first sub-node and a
second sub-node, the device displays (444) a visual indication that
indicates a magnitude of relationship between the first node and
the first-sub node of the second node, and the device displays
(446) a visual indication that indicates a magnitude of
relationship between the first node and the second-sub node of the
second node (e.g., as shown in FIGS. 5Q-5R and FIG. 5DD).
[0058] In some implementations, the visual indication of the
magnitude of the relationship between the first node and one or
more nodes in the second set of nodes includes (448) a visual
indication of a magnitude of a relationship between the first node
and a second node the second set of nodes. In some implementations,
after displaying the visual indication of the magnitude of the
relationship between the first node and one or more nodes in the
second set of nodes, the device receives (450) a fifth input (e.g.,
from the input device) corresponding to a request to display
sub-nodes of the first node. In some implementations, in response
(452) to receiving the fifth input, the device displays (454) a
plurality of sub-nodes of the first node, including a first
sub-node and a second sub-node.
[0059] In some implementations, the first node includes (456) more
sub-nodes than can be displayed in the data display panel (e.g.,
there are more sub-nodes that correspond to the first node than
there are slots in the data display panel to display
representations of the sub-nodes), and displaying the plurality of
sub-nodes of the first node includes displaying a subset of (e.g.,
less than all of) the sub-nodes associated with the first node
(e.g., as shown in FIGS. 5W-5DD). In some implementations, the
subset of the sub-nodes associated with the first node is selected
(458) automatically (e.g., selected by the device without user
intervention) based on predefined criteria. For example, the device
selects the most popular nodes across multiple data sets or selects
the nodes with the highest magnitude relationship with the second
node. In some implementations, the subset of the sub-nodes
associated with the first node is selected (460) based on
user-provided criteria. For example, the device selects sub-nodes
that match a user specified search query such as "com," as shown in
FIG. 5AA.
[0060] In some implementations in response to receiving the fifth
input, the device displays (462) a visual indication that indicates
a magnitude of relationship between the first-sub node of the first
node and the second, and displays (464) a visual indication that
indicates a magnitude of relationship between the second-sub node
of the first node and the second node (e.g., as shown in FIGS.
5M-5Q).
[0061] It should be understood that the particular order in which
the operations in FIGS. 4A-4D have been described is merely an
example and is not intended to indicate that the described order is
the only order in which the operations could be performed. One of
ordinary skill in the art would recognize various ways to reorder
the operations described herein. Additionally, it should be noted
that details of other processes described in U.S. Provisional
Patent Application No. 61/734,927, filed Dec. 7, 2012, entitled
"Systems and Methods for Presenting Analytic Data" with respect to
other methods described therein (e.g., methods 400, 500, 600 and
800 in U.S. Provisional Patent Application No. 61/734,927) are also
applicable in an analogous manner to method 400 described above
with respect to FIGS. 4A-4D. For example, the inputs, data display
panels, data selection interfaces, and data-set dimensions
described above with reference to method 400 optionally have one or
more of the characteristics of the inputs, data display panels,
data selection interfaces, and data-set dimensions described in
U.S. Provisional Patent Application No. 61/734,927, filed Dec. 7,
2012, entitled "Systems and Methods for Presenting Analytic Data"
with reference to other methods described therein (e.g., methods
400, 500, 600 and 800 in U.S. Provisional Patent Application No.
61/734,927). For brevity, these details are not repeated here.
[0062] Participation in an online community or other social media
generates a lot of data. For example, when a user posts a question,
comment, or answer, the post itself is recorded, as well as the
date/time of the post, who made the post, etc. Different people
related to the community or social media are interested in
different aspects of the data. In some implementations, the parties
who review the data (e.g., users of the device described above) are
categorized into three roles, including Managers, Stakeholders, and
Executives.
[0063] A manager is someone who participates in the day-to-day
management of an online community platform. Manager reviews the
direct measurements of participation by community members. For
example, a manager would review raw metrics such as the total
number of posts, the total number of posts of specific types (e.g.,
questions, answers), the number of fans, the number of discussion
threads and the lengths of those threads, the number of times
particular content is viewed by users, the comments or ratings
received by each particular user and/or posts, and so on. These
quantities are directly measurable by clicks, button presses, and
other recorded user interactions, and constitute level 1 data. In
general, the level 1 data reviewed by managers comprises raw
metrics and simple reports based on the raw metrics.
[0064] A business stakeholder is someone who derives business value
from the online community. Business stakeholders are less
interested in the raw metrics collected about a community, and are
more interested in data that shows the success or effectiveness of
an online community or other social media. For example, a
stakeholder reviews market share or share of the advertising in the
market, or other data that demonstrates how well the media content
resonates with the participants of the community. The data of
interest to the business stakeholders are actionable analytics
generated from the raw metrics. Various statistical and analytical
techniques can be used to generate the analytics from the raw
metrics. Frequently the actionable analytics have complex and
non-linear relationships with the raw metrics from which the
analytics are derived. The level 2 data reviewed by business
stakeholders comprises actionable analytics.
[0065] Finally, business executives review data that ties social
media directly to business objectives. Generally, the business
objectives are financial, such as revenue or profit, but also
include less tangible objectives such as customer satisfaction. The
level 3 data reviewed by business executives comprise key
performance indicators (KPI's), return on investment (ROI), and so
on. The level 3 data is derived from the raw metrics and the
actionable analytics associated with the community, as well as
additional data (e.g., returns, revenues, and customer satisfaction
metrics) provided by the entity using the community to promote its
business objectives.
[0066] FIGS. 4A-4DD below describe a user interface displayed on a
display that is coupled to a computing device with one or more
processors and memory that store programs that are configured to be
executed by the one or more processors. Below, when a user is
described as performing an operation associated with a displayed
user interface (e.g., selecting an option, activating an
affordance, or the like), the computer is detecting an input
provided by the user (e.g., using a user input device such as a
mouse, a touchpad, a keyboard, voice commands, etc.), and the
computing device is responding to the detected input by updating
the user interface and/or performing an associated operation in
accordance with the detected input. Thus, for example, when a user
"selects a time range to be displayed," the device is detecting an
input generated by a user with an input device (e.g., a mouse,
trackpad or keyboard) that corresponds to selecting the time range,
and the device is responding to the input that corresponds to
selecting the time range by selecting the time range.
[0067] FIG. 5A illustrates some drawbacks of previous techniques
for displaying bipartite data. In these figures, the data
represents "referrer" traffic. That is, for users reaching a
certain website, where were they referred from. FIG. 5A presents
the referrer traffic data as a bipartite graph 5372, with lines
connecting each referrer in the first column 5374 to the
corresponding referred sites in the second column 5376. The jumble
of lines is also not easy to understand.
[0068] FIGS. 5B-5R illustrate converting a bipartite graph into a
more usable data visualization according to some implementations.
In some implementations, the referrers in the first column 5378 are
grouped together into logical groupings, such as "Search Engines,"
"Social Networks," and "Others" Similarly, in some implementations,
the destination websites for which referral traffic is measured are
grouped in the second column 5380. For example, the groups of
destination websites include "Forum", "Blogs", "Ideas", "TKB", and
"Events."
[0069] With this grouped bipartite structure, a user can select a
single group node in the referrer column (e.g., a first set of
nodes), such as by selecting node 5382 in FIG. 5B to see the amount
of traffic referred from that node. This is illustrated in FIG. 5C.
In FIG. 5C, the "Search Engine" node 5382 had 30,267 referrals 5384
in the selected reporting period. These referrals from the "Search
Engine" node are split among the five destination groups in the
destination column (i.e., a second set of nodes). The destination
groups in the destination column are represented by the "Forums"
node 5392, the "Blogs" node, the "Ideas" node, the "TKB" node, and
the "Events" node. The forums group 5392 received 8232 referrals
5390 from the search engine group 5382. As illustrated in FIG. 5C,
there is a single line or edge 5386 emanating from the "Search
Engine" referral group 5382, whose size is proportional to the
number of referrals (i.e., 30267 in this illustration). Somewhere
between the referrer column 5378 and the destination column 5380,
the single curve 5386 splits into five curves, each leading to one
of the destination groups. The sizes (e.g., thickness) of these
curves are similarly proportional to the number of referrals from
the "Search Engine" group to each of the destination group in the
destination column. In this example, the curve 5388 going to the
Forums group 5392 has the second largest width because it has the
second largest amount of referral traffic (i.e., 8232 referrals, as
shown in count 5390). As shown in FIG. 5C the total counts add
up--the total 30,267 equals the sum of the counts to the
destinations (i.e., referred websites)
(8232+12732+5132+1039+3132=30267). FIG. 5D is similar to FIG. 5C,
illustrating the referral traffic from the "Social Networks" group.
In some implementations, a user can switch to viewing the data from
a desired node by clicking on the desired node. FIGS. 5E-5G
illustrate that the same functionality can be applied on the nodes
in the destination column. In these figures, a user has selected a
destination group in the destination column, and the graph shows
all of the referrals that have led to that destination group from
each of the referral groups.
[0070] In some implementations, a data display panel is used to
present the relationship data between a first group of nodes and a
second group of nodes. As illustrated in FIGS. 5B through FIG. 5H,
a first set of nodes are presented in a first column (e.g., the
referrer column), and a second set of nodes are presented in a
second column (e.g., the destination column) parallel to the first
column. In some implementations, the first set of nodes represent
divisions in a first data set dimension (e.g., different groups of
referrers), and the second set of nodes represent divisions in a
second data set dimension (e.g., different groups of destinations
for the referral traffic). Each node in the first set is related to
at least one of the nodes in the second set by some type of
relationship (e.g., relationship between a referrer and a
destination of the referral). A magnitude of a relationship between
a first node in the first column and a second node in the second
column is based on a number of data points that are associated with
both the first node and the second node. In a particular example, a
magnitude of a relationship between a referrer node "Search Engine"
and a destination node "Blogs" is the amount of referral traffic
going from the referrer node "Search Engine" to the destination
node "Blogs". In this example, as shown in FIG. 5C, the magnitude
of relationship is 12,732 referrals. Similarly, in this particular
example, a magnitude of a relationship between a destination node
"Forums" and a referrer node "Social Networks" is the amount of
referral traffic going from the referrer node "Social Network" to
the destination node "Forums". In this example, as shown in FIG.
5E, the magnitude of relationship is 3201 referrals.
[0071] In some implementations, a user can select one of the nodes
in the first column, and in response to the selection, a visual
indication of a magnitude of a relationship between the selected
node in the first column and one or more nodes in the second column
is presented. As shown in FIG. 5C, when a first node "Search
Engine" is selected in the referrer column, visual indications
(e.g., lines of various thicknesses) leading from the first node to
the various nodes in the destination column are displayed. The
thicknesses of the lines correspond to the amount of referral
traffic going from the referrers represented by the first node to
the destinations represented by the second node. In some
implementations, the actual numbers of the referrer traffic leaving
the first node is presented near the first node and the thickness
of the line originating from the first node corresponds to the
amount of referrer traffic leaving the first node. In addition, the
actual numbers of the referrer traffic arriving at each of the
nodes in the second column are presented near each of the nodes in
the second column. The thickness of the line originating from the
first node is split into several lines each leading to a respective
node in the second column. The thicknesses of the lines leading to
each of the nodes in the second column correspond to the amount of
referrer traffic arriving at the node. As shown in FIGS. 5C and 5D,
when a different referrer node is selected in the first column, a
different set of lines are presented to represent the magnitude of
relationships between the newly selected node in the first column
and the various nodes in the second column.
[0072] In some implementations, a user can select one of the nodes
in the second column, and in response to the selection, a visual
indication of a magnitude of a relationship between the selected
node in the second column and one or more nodes in the first column
is presented. As shown in FIG. 5E, when a node "Forums" is selected
in the destination column, visual indications (e.g., lines of
various thicknesses) linking the selected node to the various nodes
in the referrer column are displayed. The thicknesses of the lines
correspond to the amount of referral traffic going from the
referrers represented by the various nodes in the referrer column
to the destinations represented by the selected node. In some
implementations, the actual numbers of the referrer traffic leaving
the each node in the referrer column is presented near the node and
the thickness of the line originating from the node corresponds to
the amount of referrer traffic leaving the node. In addition, the
actual numbers of the referrer traffic arriving at the selected
node in the destination column are presented near the selected node
in the destination column. The thicknesses of the lines originating
from the various nodes in the referrer column are merged into a
single thicker line leading to the selected node in the destination
column. The thicknesses of the lines leading to the selected node
in the destination column correspond to the amount of referrer
traffic arriving at the selected node. As shown in FIGS. 5E and 5G,
when a different destination node is selected in the second column,
a different set of lines are presented to represent the magnitude
of relationships between the newly selected node in the second
column and the various nodes in the first column.
[0073] FIGS. 5H-5M illustrate that a user can limit the referral
graph on both ends at the same time. In some implementations,
holding down the Shift or Ctrl key on the keyboard while selecting
another node modifies the selected graph so that the previously
selected node is still selected, as well as the newly selected
node. For example, in FIG. 5H, a user has selected the Search
Engine node 5382, and thus the graph shows the traffic to each of
the five destination groups in the second column. Subsequently, in
FIG. 5I, a user has additionally selected the "Blogs" group 5394 in
the second column. Having selected just the Search Engine node 5382
in the first column and the Blogs node 5394 in the second column,
the graph shows just the traffic between these two nodes. The lines
indicating the magnitudes of relationships between the "Search
Engine" node and the other nodes in the second column have been
removed in response to the selection of the Blog node in the second
column. In FIG. 5J, the user has further selected the "Ideas" node
5396 in the second column. Based on the concurrent selection of the
three nodes 5382, 5394, and 5396, the interface displays the lines
indicating the amount of traffic (i.e., the magnitudes of
relationships in this example) going from the "Search Engine" node
5382 in the first column to the two selected destination group
nodes 5394 and 5396. As shown in FIG. 5J, the left side portion of
the line originating from the selected node (e.g., "Search Engine"
node 5382) in the first column represents the total amount of
referral traffic going from the selected node in the first column
to the two selected nodes in the second column. The right portion
of the line splits into two lines each leading to a respective one
of the two selected nodes in the second column. The thicknesses of
the two lines are representative of the respective amounts of
referral traffic going to the two selected nodes in the second
column.
[0074] In FIG. 5K, the user has additionally selected the "Events"
website group 5400, so that the four nodes 5382, 5394, 5396, and
5400 are all selected. Based on this selection, the interface
displays a graph showing the traffic from the referrer node "search
engines" 5382 to the three selected destination nodes 5394, 5396,
and 5400. Again, the left portion of the line have a thickness
indicative of the total amount of traffic going from the selected
node in the first column to the three selected nodes in the second
column. The right portion of the line splits into three different
lines, with respective thicknesses indicative of the respective
amounts of referral traffic going to the three selected destination
nodes in the second column.
[0075] In some implementations, using the same technique to select
additional nodes, a user can deselect a currently selected node,
which is illustrated in FIG. 5L. In this figure, a user has
deselected the "Ideas" node 5396, so only the lines showing the
referral traffic to the selected "Blogs" node 5394 and "Events"
node 5400 remain displayed, and the line showing the traffic to the
"Ideas" node is no longer displayed in the user interface. In
addition, the number showing the amount of referral traffic
originated from the "Search Engine" node is also modified
accordingly. In FIG. 5M, a user has deselected the "Events" node
5400 as well (e.g., by clicking on the "Event" node 5400), as a
result, only the "search engine" node 5382 in the first column and
the "Blogs" node 5394 in the second column remain selected. As a
result, the line between the "search engine" node 5382 to the
deselected "Events" node 5400 is no longer displayed, and only the
line between the "Search Engines" node and the "Blogs" node remains
in the user interface. The thickness of the line represents the
amount of referral traffic going from entities represented by the
"Search Engines" node to the entities represented by the "Blogs"
node.
[0076] FIGS. 5M-5R illustrate drilling down within one or more of
the nodes to reveal information about the sub-nodes of the one or
more nodes. In some implementations, a user expands a node group by
clicking on an expand icon, such as expand icon 5402 in FIG. 5M.
When a node (e.g., "Search Engines" node 5382) is currently
selected and the node has one or more sub-nodes representing
sub-groups of entities within the group of entities represented by
the node, the expand icon 5402 can be presented proximate to that
node in the user interface. After the user clicks on the expand
icon 5402, the user interface provides additional detail, as shown
in FIG. 5N. In some implementations, the expand icon 5402 changes
its appearance to indicate that the associated node has been
expanded, as shown in FIG. 5N. In this figure, expand icon 5402 is
pointing downward, showing that the data has been expanded, whereas
the expand icon 5404 associated with the "Social Networks" node is
pointing to the right, indicating that the "Social Networks" node
has not been expanded. In this example, the "Search Engine" node
5382 has expanded to identify three sub-nodes (e.g., sub-nodes
representing search engines "google" 5406, "bing" 5408, and "yahoo"
5410). Whereas the interface previously provided a single curve
from the "Search Engine" node 5382 to the "Blogs" node 5394, the
interface now provides three curves individually from each of the
sub-nodes of the expanded node 5382 in the first column to the
selected node (e.g., the "Blogs" node 5394) in the second column.
The thicknesses of the three curves originating from the three
sub-nodes each represents the respective amount of referral traffic
going from the entities represented by a respective one of the
sub-nodes. The three curves eventually merge into a single curve
leading to the selected node in the second column. The thickness of
the merged curve represents the total amount of referral traffic
going from the three sub-nodes in the first column to the selected
node in the second column.
[0077] FIG. 5O illustrates that additional nodes can be selected,
even when one or more nodes have been expanded. In this figure, a
user has additionally selected the "Events" node 5400 in the second
column (e.g., by holding down the Shift or Ctrl buttons while
clicking on the "Events" node 5400), and thus the interface
provides data for this newly selected node as well. In this figure,
there are three curves from the three individual sub-nodes of the
selected "Search Engine" node 5382, each of the three curves
originates from a respective one of the sub-nodes 5406, 5408, and
5410. As shown in FIG. 5O, the three curves eventually merge and
then split into two curves each going to one of the two selected
nodes 5394 and 5400 in the second column. As illustrated here, the
total amount of referral traffic originated from the three
sub-nodes in the first column equals the total amount of referral
traffic arriving at the two selected destination nodes in the
second column (10457+3010+2307=15864=12732+3132). The thickness of
each curves that ends at a respective node or sub-node are
indicative of the amount of referral traffic originated or received
at the entities represented by the respective node or sub-node.
[0078] FIGS. 5P and 5Q illustrate that currently selected
sub-nodes, such as the sub-nodes representing individual search
engines in the first column, can be deselected (e.g., by clicking
on a currently selected sub-node). In FIG. 5P, the sub-node
representing the "yahoo" search engine 5410 has been deselected by
a user input (e.g., a click) received while the sub-node was
selected and an indication of a magnitude of relationship with
another node in the second column was shown in the user interface.
In FIG. 5Q the sub-node representing the "bing" search engine 5408
has been deselected as well by an additional user input (e.g., a
click on the currently selected sub-node).
[0079] FIG. 5R illustrates that a currently selected destination
node in the second column can be expanded in the same way as a
currently selected referrer node in the first column. In this
example, an expand icon 5412 has been selected for the "Blogs" node
5394, so the "Blogs" node expands to display all of its sub-nodes
5414 (e.g., sub-nodes representing the individual blogs 5414 under
the "Blogs" node). When a currently destination node is expanded
and its sub-nodes displayed in the user interface, the curves
linking the selected nodes in the first column to the selected
nodes in the second column are modified as well. For example, the
curve that previously represented the amount of referral traffic
going to the selected "Blogs" node 5394 is now split into four
separate curves, each leading to a respective one of the sub-nodes
5414. The thicknesses of the four separate curves are indicative of
the respective amounts of referral traffic arriving at the four
sub-nodes.
[0080] FIGS. 5M-5R illustrate drilling down a single level in a
node hierarchy. In these illustrations, there are only two levels,
but in other implementations, there are three or more levels. In
some implementations, the same techniques are applied to expand
nodes to additional sub-levels. In some implementations, a
respective expand icon is presented proximate to all nodes that
have sub-nodes (such as icons 5402 and 5412). When an expand icon
associated with a particular is selected, the node expands to
reveal all of its sub-nodes. In addition, a respective expand icon
can be presented proximate to each revealed sub-node that has its
own set of sub-nodes. When the expand icon associated with a
revealed sub-node is selected, the set of sub-nodes of the revealed
sub-node are presented. Meanwhile, the curves linking the selected
nodes/sub-nodes in the first column and the selected
nodes/sub-nodes in the second column are modified (e.g., split,
merged, and/or made thicker or thinner) to reflect the magnitudes
of relationships between the currently selected nodes/sub-nodes in
the two columns.
[0081] FIGS. 5S-5DD further illustrate implementations that
graphically display Internet referrer traffic. The internet
referrer traffic is used as an illustrative example of the kind of
hierarchical and relational data that can be selectively visualized
using the bipartite user interfaces described in this
specification. The hierarchical aspect of the data set means that
at least one of the data-set dimensions is hierarchical, and the
data can be divided into a hierarchy of groups (represented as
nodes and sub-nodes in a respective column in the user interface).
The relational aspect of the data set means that the data is
associated with at least one group (e.g., represented as a sub-node
and the sub-node's parent node(s)) in a first data-set dimension
(e.g., represented by a first column in the user interface), and at
least another group (represented as a sub-node and the sub-node's
parent node(s)) in a second data-set dimension (e.g., represented
by a second column in the user interface).
[0082] As shown in FIG. 5S, the user interface shows how nodes can
be expanded and filtered in a first dimension (e.g., the referrer
dimension). On the referrer side (e.g., a first column), an "All
traffic" node 5416 is presented initially, with an expand icon 5418
displayed proximate to the "All traffic" node 5416. Initially, the
icon 5418 is unexpanded. In this example, expanding the "all
traffic" node 5416 (e.g., by selecting the expand icon 5418)
presents the three sub-nodes "Search Engine" 5382, "Social
Networks" 5404, and "Others" 5420 in the first column as shown in
FIG. 5T. Each of these sub-nodes 5382, 5404, and 5420 has its own
set of sub-nodes, as indicated by the expand icons 5402, 5422, and
5426. Expanding the "Search Engine" node 5382 reveals the sub-nodes
"google" 5406, "bing" 5408, and "yahoo" 5410, as illustrated
previously in FIG. 5U. There are no expand icons adjacent to the
"google", "bing", and "yahoo" sub-nodes, because, in this example,
the data set does not have further divisions beyond the groups
represented by these sub-nodes. As a result, these sub-nodes cannot
be expanded further in this example. In FIG. 5V, a user has
collapsed the "search engine" node 5382 (e.g., by clicking on the
expand icon 5402), and the node's previously revealed sub-nodes are
concealed again. The user has also expanded the "Social Networks"
node 5404 (e.g., using expand icon 5422). In this example, the
"Social Networks" node 5404 has four sub-nodes 5424 which have now
been revealed. None of the sub-nodes 5424 has any further
sub-nodes.
[0083] In FIG. 5W, a user has further expanded the "Others" node
5428, for example by clicking on the expand icon 5426. The list of
sub-nodes 5428 for node 5428 is too long to fit on the display at
one time, so the list is truncated in this example. In FIG. 5X, a
user has collapsed the "Social Networks" node 5404, providing more
space for the sub-node list 5428 for the "Others" node 5420. Even
with more space, the list 5428 is still too big.
[0084] FIG. 5Y illustrates that, in some implementations, a filter
capability for node list is provided. A dialog box is, optionally,
invoked in any of a variety of different ways, including menu
commands, toolbar icons, or popup menus (e.g., right clicking on
the "others" label in the display). In some implementations, the
interface displays a filter dialog box 5430 automatically whenever
the number of sub-nodes exceeds a specific threshold (e.g., 10).
The filter dialog box 5430 enables a user to limit the set of
sub-nodes presented in the list 5428.
[0085] In FIG. 5Z, a user has typed the filter string "g" 5432A
into the filter dialog box 5430, and thus the filtered list 5428A
includes only those nodes whose names or identifiers include the
letter "g". In FIG. 5AA, a user has entered the filter string "com"
5432B in the filter dialog box 5430, so the corresponding filtered
list 5428B includes only referral nodes with "com" in the name or
URL. In FIG. 5BB, a user has typed an additional "m" for the filter
to create the filter string "comm" 5432C in the dialog box 5430.
This leads to an even smaller filtered list 5428C of sub-nodes. In
some implementations, the filter dialog box pops up automatically
when there are too many sub-nodes at the current location in the
hierarchy. In some implementations, a threshold number (e.g., 10 or
20) is predefined for the user interface or for a particular data
set. In some implementations, the threshold is based on the total
number of displayed nodes instead of the number of sub-nodes at one
specific node. In some implementations, the threshold is the
maximum number of nodes that can be displayed within the user
interfaced based on the current size of the data window or panel.
In some implementations, the threshold is configurable. In some
implementations, filters are, optionally, applied to the community
hierarchy as well. That is, a user can apply filters in the
referral hierarchy (as illustrated in FIGS. 5S-5BB) or to the
hierarchy of community websites to which the traffic is being
referred (i.e., the destination hierarchy). This is particularly
valuable when there are many categories or boards within a
community. The referral hierarchy shown in FIG. 5Z is merely
illustrative of a hierarchy (e.g., different groups and sub-groups
of referral destinations) that exists in a second data-set
dimension (e.g., the dimension of referral destinations) and in
some circumstances other hierarchies are used in an analogous
manner.
[0086] FIG. 5CC provides a simple example of a community 5438 with
five sub-nodes "Forums" 5392, "Blogs" 5394, "Ideas" 5396, "Tribal
Knowledge Base (TKB)" 5398, and "Events" 5400. Each of these
sub-nodes has a respective set of a small number of sub-nodes. When
the total number of nodes and sub-nodes in a data set dimension is
small enough for the user interface, the filters are, optionally,
not needed. However, when the number of nodes and sub-nodes in the
second column is large, the same filtering as shown with respect to
the nodes in the first column are, optionally, applied.
[0087] FIG. 5DD illustrates that selecting a node or sub-node, such
as sub-node 5440 in the first column, anywhere within the hierarchy
prompts the interface to display a graph of all of the referral
traffic involving that node. In FIG. 5DD, only a node in the first
column is selected, as a result, the lines representing referral
traffic from the selected node in the first column to each of the
nodes/sub-nodes shown in the second column are displayed. In some
implementations, the thicknesses of the lines would indicate the
respective amounts of traffic going to each of the sub-nodes in the
second column. In this conceptual figure, the exact counts of the
referral traffic have been omitted, and the widths of the curves
have not been adjusted to indicate the amount of traffic to or from
each node/sub-node. As illustrated previously with respect to FIGS.
5B-5R, additional nodes can be selected (within either
hierarchy/column), and the interface will display the traffic
between the selected nodes.
[0088] FIG. 6 illustrates examples of a data flow and architecture
supporting the level 1, level 2 and/or level 3 data reporting and
visualization. FIG. 6 is merely illustrative, and in actual
implementations, more or fewer components are, optionally, used
than those shown. In addition, some components optionally support a
different set of functions than those described.
[0089] As shown in FIG. 6, application 5602 ("LIA") provides the
platform that supports one or more online communities, e.g., online
communities associated with various business entities (e.g.,
retailers, cosmetic companies, consumer electronics companies,
etc.). The users (e.g., users 102 in FIG. 1) of the online
communities generate content (e.g., blog posts, reviews, comments,
ratings, answers, replies, etc.), and data related to their
interactions (e.g., posting, rating content, registration, replying
to questions, providing comments, etc.) with the communities are
stored in persistent log 5604. Persistent log 5604 is scalable,
fault tolerant, and has built-in redundancy to guard against
failures. Persistent log 5604 stores all the data associated with
the user interaction with the online communities (e.g., community
interaction logs 324, forum data 326 and the like are stored at a
database server 118 that is associated with online community 100 as
shown in FIGS. 1 and 3). The data includes, for example, data
related to the "who", "what", "when", and "where" aspects of the
user interactions with the online communities. In addition,
attributes information (related to the "how" aspect) is also stored
in association with the "what" aspect of the data.
[0090] In some implementations, as shown in FIG. 6, metrics and
attributes are defined by the designer of application 5602, and the
definitions of the metrics and attributes are stored in a
definition store 5606. In general, metrics are raw data concerning
various actions or interactions performed by the users of the
communities. Examples of metrics include page views, posts, kudos,
answers, replies, registrations, comments, logins, etc. Attributes
generally refer to the context information (e.g., device type,
time, community name, topics, keywords, etc.) associated with
particular actions or metrics. Sometimes, attributes also include
environmental variables associated with particular actions or
metrics. In some implementations, the definitions of metrics and
attributes are stored as definition files, and definitions files
can be modified, added, and/or deleted from the definition store
5606.
[0091] In some implementations, as shown in FIG. 6, based on the
definitions of metrics and attributes, some standard aggregation
5608 are defined and stored. Examples of standard aggregations 5608
include total views, average number of posts per day, average
response time, total number of posts, etc. These standard
aggregations are simple computations (e.g., additions,
multiplications, averages, etc.) based on the raw interaction data
recorded for the communities and stored in the persistent logs
5604. The standard aggregations 5608 can be easily defined using
various scripting language, and can be retrieved by queries.
[0092] In some implementations, as shown in FIG. 6, standard
aggregations computed based on actual data recorded on the
communities are stored as standard view data 5610. The standard
view data 5610 can be quickly retrieved and displayed to a viewer
(e.g., a community manager, stakeholder and/or executive). As shown
in FIG. 6, metric explorer 5612 (e.g., the user interfaces
described with reference to FIGS. 9-005 to 9-141 of U.S.
Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012,
entitled "Systems and Methods for Presenting Analytic Data" and
FIGS. 5B-5DD above), and widgets (e.g., the widgets described above
with reference to FIGS. 9-207 to 9-236 of U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data") and dashboard 5614 are
supported by a general purpose visualization engine 5616. The
metric explorer 5612, widgets and dashboard 5614, and the general
purpose visualization engine 5616 access the standard view data
5610 directly and present the standard aggregations and raw metrics
to the user, e.g., using the example user interfaces described
earlier. One advantage of computing and storing the standard view
data 5610 is fast response time during interaction with the metric
explorer 5612 and the widget and dashboard 5614, as indicated in
FIG. 6.
[0093] In some implementations, in addition to the standard
aggregations, more complex analytics and metrics (also referred to
as advanced analytics 5618) are defined, as shown in FIG. 6. For
example, advanced analytics algorithms are used to compute various
community health factors (e.g., CHI, FEI, etc.). Other advanced
analytics include metrics for measuring influence of users, hotness
of topics, etc. Typically, these more advanced analytics are not
simple aggregations of raw interactions data recorded on the
communities. Instead, more complex algorithms (e.g., statistical
methods, machine learning methods, non-linear analysis, etc.) are
used to derive these analytics. Typically, these analytics have a
non-linear relationship with the various metrics used to derive the
analytics. In addition, these advanced analytics typically are
based on a large number (e.g., hundreds) of standard metrics.
[0094] In some implementations, the definitions of the advanced
analytics 5618 (also referred to as "derivative definitions") are
stored with the metric definitions and attribute definitions in the
definition store 5606. In some implementations, the advanced
analytics algorithms are implemented using various computing
languages (e.g., matlab, Java, etc.), as shown in FIG. 6. In some
implementations, as shown in FIG. 6, persistent log 5604 and
standard view data 5610 both serve as the data sources for
computing the advanced analytics 5618. In some implementations,
data derivatives 5620 computed based on actual metrics data
according to the advanced analytics algorithms are stored with the
standard view data 5610, for quick retrieval and presentation by
the metric explorer 5612 and widget and dashboard 5614, as shown in
FIG. 6.
[0095] In some implementations, as shown in FIG. 6, an offline data
derivative archive 5622 is implemented to store prior versions of
the data derivatives. In some implementations, the advanced
analytics algorithms are continuously improved and revised
overtime, and the data derivatives 5620 derived using the older
versions of the advanced analytics algorithms are stored in the
offline data derivative archive 5622 with the their respective
version numbers. In some implementations, the data stored in the
offline data derivatives archive 5622 are used to evaluate the
effectiveness of the advanced analytics algorithms, and provide
benchmarking and comparison data for evaluating and validating the
algorithms.
[0096] As described in earlier parts of the specification and shown
in FIG. 6, a customer intelligence center 5624 is used to provide
integrated data service for community managers, and stakeholders
and executives of business entities providing the online
communities. The customer intelligence center 5624 is an integrated
suite of services, providing the metric explorer, and widgets and
dashboard for users to selectively review data associated with
various online communities. As described earlier, the customer
intelligence center 5624 (e.g., as illustrated by the user
interfaces shown in FIGS. 9-150 to 9-161 of U.S. Provisional Patent
Application No. 61/734,927, filed Dec. 7, 2012, entitled "Systems
and Methods for Presenting Analytic Data") not only provides
standard, predefined metrics, and advanced analytics to the users,
but also allows users to define customized metrics and customized
user interfaces (e.g., metrics explorers, widgets and dashboards),
customized reports and visualizations. In addition, the customer
intelligence center 5624 also allows a user (e.g., community
manager, stakeholder, and executive) to establish a notification
system which sends an alert to the user when certain predefined
trigger conditions have been met. For example, a trigger condition
can be a threshold value of a particular metric or data derivative,
and/or a combination of different threshold values for a number of
metrics and data derivatives. The customer intelligence center 5624
access data stored in the standard view data 5610 and data
derivatives 5620 to support its functions.
[0097] Since the customer intelligence center 5624 allows a user to
customize the metrics, aggregations, and data derivatives that can
be reviewed in the customer intelligence center 5624. The
definitions 5626 of the customized metrics, aggregations, and data
derivatives are stored with the standard aggregations 5608. In some
implementations, a metric/attribute to script/query translator 5628
is implemented and used to provide an interface between the
customer intelligence center 5624 and the customized aggregations
5626 and standard aggregations 5608.
[0098] In some implementations, the data calculated according to
the customized metrics, aggregations, and analytics are stored as
custom view data 5630. The custom view data 5630, standard view
data 5610, and data derivatives 5620 (e.g., as stored in database
server(s) 118) together serve as the data source for the reports
and visualizations shown to users via the metric explorer and the
standard and customized widgets and dashboards (e.g., the user
interfaces described with reference to FIGS. 9-005 to 9-236 of U.S.
Provisional Patent Application No. 61/734,927, filed Dec. 7, 2012,
entitled "Systems and Methods for Presenting Analytic Data" and
FIGS. 5B-5DD above). By storing the custom view data 5630, standard
view data 5610, and data derivatives 5620, the responsiveness for
the metric explorer and widgets and dashboards can be improved.
[0099] In some implementations, as shown in FIG. 6, definitions of
the customized metrics, aggregations, widgets, and reports are
stored in the definition store 5606, together with the definitions
of standard metrics, attributes, and data derivatives. In some
implementations, the stored definitions of the customized metrics,
aggregation, widgets, and reports are reused by their creators. In
some implementations, the stored definitions of the customized
metrics, aggregation, widgets, and reports searchable and utilized
by other users who, in some circumstances, will find them useful
for reviewing their own community data in the customer intelligence
center 5624.
[0100] In some implementations, the customer intelligence center
5624 allows a user (e.g., community manager, stakeholder and/or
executives) to establish the criteria for having notifications sent
to a user-specified recipient. In some implementations, a general
purpose notification system 5632 is utilized. A user defines the
trigger event for the notification, the type of information to be
included in the notification, the format of the notification, and a
rate limit for the notification. Examples of trigger events for a
notification include a community health indicator (e.g., CHI) value
having dropped below a threshold value, an average response time
for a particular sub-community having reached a maximum acceptable
value, new registration rate having dropped below a minimum
threshold value, etc. In some implementations, a trigger event can
also be a combination of several conditions. In some
implementations, the user is allowed to specify what information
the notification would include. For example, the user can require
the notification to include actual values of certain metrics and
data derivatives, and/or visualizations and reports of certain
metrics/time periods/channels/users, etc. In some implementations,
the notifications are provided as an email alert, a text message,
or some other kinds of messages. In some implementations, the user
is allowed to specify a preferred rate limit for the notifications.
For example, a rate limit of 2 notifications per day means even if
a trigger event has been met more than twice in a particular day,
only two notifications are sent to the user. In some
implementations, each notification sent to the user can include an
aggregated report related to multiple trigger events that have
occurred in the past but not yet been notified to the user due to
the rate limit. The rate limit allows the user to control the
number of notifications received each month/day/hour, so that the
user is not overwhelmed by too many notification messages.
[0101] As described earlier, the metric explore 5612 is able to
present community data on various metrics filtered by various
attributes. The metrics explorer 5612 obtains the definitions of
the metrics and attributes from the definition store 5606. In
addition to the interaction data recorded on the online communities
supported by the platform application 5602, in some
implementations, the metric explorer also provides data from other
third-party channels 5634, as shown in FIG. 6. For example, data
from third-party channels, such as third-party blogs, micro-blogs
(e.g., twitter), social networks (e.g., Facebook, Google+, etc.),
other social media (e.g., Youtube, Flickr, etc.), can be
selectively presented in the metric explorer as well. The
integration of social media channels 5634 into the metric explorer
allows users to have a broader view of the impact and health of
their online communities and business objectives.
[0102] In some implementations, as shown in FIG. 6, persistent logs
5604 also store data related to the usage of the customer
intelligence center 5624, such as what customization the user has
made to the metrics explorer, widgets and dashboards, what
customized metrics, aggregations, reports, and widgets have been
created by the customers, what notifications have been implemented
by the customers, how frequently each types of metrics,
aggregations, data derivatives are reviewed by the customers, what
times periods the customers typically wish to review, etc. The data
related to the usage of the customer intelligence center 5624 can
be used to generate additional definitions that are useful for many
other customers. The usage data can also be used to determine what
standard and customer view data to compute and store for easy and
fast access. The usage data is in general useful for improving the
overall efficiency and usability of the customer intelligence
center.
[0103] The foregoing description, for purpose of explanation, has
been described with reference to specific implementations. However,
the illustrative discussions above are not intended to be
exhaustive or to limit the invention to the precise forms
disclosed. Many modifications and variations are possible in view
of the above teachings. The implementations were chosen and
described in order to best explain the principles of the invention
and its practical applications, to thereby enable others skilled in
the art to best utilize the invention and various implementations
with various modifications as are suited to the particular use
contemplated.
* * * * *