Device, Method and User Interface for Switching between Graphical Representations of Data

A device with one or more processors and memory displays a first representation of a first subset of data from a data set. The first subset of data is associated with a first time period with more than a threshold number of discrete time steps. The first representation shows changes in the first subset of data over time. The device receives a request to view data associated with a second time period with no more than the threshold number of discrete time steps. In response, the device displays a second representation of a second subset of data from the data set. The second subset of data is associated with the second time period. The second representation aggregates the second subset of data over the second time period and shows divisions of the data in a respective set of one or more data-set dimensions.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
RELATED APPLICATIONS

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.

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 Displaying Relationships between Different Sets of Data,” filed ______, (Attorney Docket No. 070407-5010US); 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

The disclosed implementations relate generally to methods of data visualization.

BACKGROUND

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.

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

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.

In some implementations, a method includes, at a computing device with a display, displaying, in a data display panel, a first representation of a first subset of data from a data set. Respective data items in the data set are associated with corresponding discrete time steps of a plurality of time steps. The first subset of data includes data associated with a first time period that includes more than a threshold number of discrete time steps. The first representation is a first type of data visualization that shows changes in the first subset of data over time. The method further includes receiving a first input corresponding to a request to view data associated with a second time period that includes no more than the threshold number of discrete time steps, and, in response to receiving the first input, displaying, in the data display panel, a second representation of a second subset of data from the data set. The second subset of data includes data associated with the second time period. The second representation is a second type of data visualization that aggregates the second subset of data over the second time period and shows divisions of the data in a respective set of one or more data-set dimensions. The second type of data visualization is different from the first type of data visualization.

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

FIG. 1 is a conceptual block diagram of an online community in accordance with some implementations.

FIG. 2 is a block diagram of a client device in accordance with some implementations.

FIG. 3 is a block diagram illustrating the structure of web servers, database servers, and application servers in accordance with some implementations.

FIGS. 4A-4C are flow diagrams illustrating a method of switching between data visualizations based on time period for data in a data viewing interface in accordance with some implementations.

FIGS. 5A-5X illustrate methods of presenting, selecting, and changing views of data in accordance with some implementations.

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.

Like reference numerals refer to corresponding parts throughout the several views of the drawings.

DESCRIPTION OF IMPLEMENTATIONS

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.

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.

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).

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).

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.

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).

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:

    • 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;
    • 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;
    • 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;
    • 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. 5A-5X below and 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”;
    • 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. 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”;
    • 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
    • one or more browser cookies 226, which save state or other information for a web page or web application.

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:

    • 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;
    • 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;
    • 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;
    • 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;
    • 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.;
    • 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;
    • 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.;
    • 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);
    • 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;
    • one or more community interaction applications or interfaces 334, which are used by users 102 who participate in the online community 100;
    • 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. 5A-5X below and 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”;
    • 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. 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”;
    • 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”;
    • a KPI calculation engine 336, which computes correlation coefficients between sets of data;
    • 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).

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.

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-4C optionally correspond to instructions stored in a computer memory or computer readable storage medium.

Methods for Displaying Data

FIGS. 4A-4C are flow diagrams illustrating a method 400 of switching between data visualizations based on time period for data 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 re, optionally, combined and/or the order of some operations is, optionally, changed. As described below, the method 400 provides an intuitive way to switch between data visualizations based on time period for data 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.

In some implementations, the device displays (402), in a data display panel, a first representation of a first subset of data from a data set. Respective data items in the data set are (404) associated with corresponding discrete time steps of a plurality of time steps. The first subset of data includes (406) data associated with a first time period that includes more than a threshold number of discrete time steps. In some implementations, the threshold number of time steps is (408) 1. In some implementations the threshold number of time steps is (410) an integer greater than 1 (e.g., 2, 3, 4, 5, 10 or some other reasonable number). In some implementations, the size of the discrete time steps is (412) adjustable by user. The first representation is (414) a first type of data visualization that shows changes in the first subset of data over time (e.g., as shown in FIGS. 5A-5I). In some implementations, the first type of data visualization is (416) a line graph (e.g., as shown in FIGS. 5A-5I).

After (e.g., while) displaying the first representation of the first subset of the data, the device receives (418) a first input (e.g., from the input device) corresponding to a request to view data associated with a second time period that includes no more than the threshold number of discrete time steps. In response to receiving the first input, the device displays (420), in the data display panel, a second representation of a second subset of data from the data set. The second subset of data includes (422) data associated with the second time period. The second representation is (424) a second type of data visualization that aggregates the second subset of data over the second time period and shows divisions of the data in a respective set of one or more data-set dimensions (e.g., data-set dimensions other than the dimension of time). The second type of data visualization is (426) different from the first type of data visualization (e.g., as shown in FIGS. 5J-5V).

In some implementations, the second representation shows (428) divisions of data along a plurality of data-set dimensions simultaneously (e.g., via size of box, shading, color, saturation, tone/topic hierarchy, number of posts, topics/node structure, number of posts, sentiment or other dimensions, as described herein with reference to FIGS. 5W-5X). In some implementations, the second type of data visualization is (430) a treemap (e.g., as shown in FIGS. 5J-5V).

In some implementations, after displaying the second representation of the second subset of the data from the data set, the device receives (432) a second input corresponding to a request to view data associated with a third time period that has no more that the threshold number of discrete time steps. In response to receiving the second input, the device displaying (434), in the data display panel, a third representation of a third subset of data from the data set. In some implementations, the third subset of data includes (436) data associated with the third time period; and the third representation is (438) the second type of data visualization that aggregates the third subset of data over the third time period and shows divisions of the data in the respective set of one or more data-set dimensions (e.g., as shown in FIGS. 5M-5T). In some of implementations, where second type of data visualization is a treemap (e.g., as shown in FIGS. 5J-5V), switching from the second representation to the third representation includes changing the values shown in the treemap without redrawing the treemap to show the changes in the relative quantity of data in the different divisions (e.g., as shown in FIGS. 5R-5S). In some implementations, where second type of data visualization is a treemap (e.g., as shown in FIGS. 5J-5V), switching from the second representation to the third representation includes redrawing the treemap to show the changes in the relative quantity of data in the different divisions (e.g., as shown in FIGS. 5R-5T).

In some implementations, after displaying the second representation of the second subset of data the device receives (446) a third input corresponding to a request to display additional information corresponding to a respective division that is visually represented in the second representation. In some implementations, the second representation of the second subset of data includes (442) an indication that the respective division includes a plurality of subdivisions that can be viewed in greater detail in the data display panel. For example, the section of the treemap corresponding to the respective division shows subdivisions of the respective division, optionally as subdivisions of the section of the treemap that correspond to the relative amounts of data corresponding to the subdivisions, as shown in elements 5134 and 5136 in FIG. 5J and element 5146 in FIG. 5K. In some implementations, in response to receiving the third input, the device replaces (444) display of at least a portion of the second representation of the second subset of data with a third representation of a third subset of data from the data set that emphasizes subdivisions of the respective division and corresponds to the second time period (e.g., as shown in FIGS. 5J-5K and FIGS. 5K-5L).

In some implementations, after displaying the third representation of the third subset of data the device receives (446) a third input corresponding to a request to display a fourth subset of data from the data set that is associated with a third time period that includes more than the threshold number of discrete time steps. In some implementations, in response to receiving the third input, displaying (448), in the data display panel, a fourth representation of a fourth subset of data from a data set, where the fourth subset of data includes (450) data associated with the third time period, and the fourth representation is (452) the first type of data visualization that shows changes in the fourth subset of data over time and data emphasizes subdivisions of the respective division. For example, the third representation is a representation of subdivisions of the respective division aggregated over the second time period (e.g., one time step) and the fourth representation is a line graph that illustrates changes in data corresponding to the subdivisions of the respective division over the third time period (e.g., a plurality of time steps).

It should be understood that the particular order in which the operations in FIGS. 4A-4C 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, 700 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-4C. 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, 700 and 800 in U.S. Provisional Patent Application No. 61/734,927). For brevity, these details are not repeated here.

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.

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.

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.

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.

FIGS. 5A-5X 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.

FIGS. 5A-5V illustrate various implementations that provide a simpler and more effective user interface for displaying level 1 data and level 2 data. The level 1 data and the level 2 data are examples of a multi-dimensional data set, where data units within the multi-dimensional data set can be selectively displayed in the user interface using various data selection interfaces (or data selectors). In some implementations, each data set dimension represents a respective aspect of the data set. For example, dimensions of the data set can be related to the “who”, “what”, “when”, and “where” aspects of the data set, respectively. In some implementations, each data set dimension further includes multiple “divisions”, where each division represents a filter for a subset of the available data. For example, divisions in the “who” dimension can include various categories, roles, and/or ranks of users. Divisions in the “what” dimension can include various types of raw metrics and analytics (collectively called “metrics”). Divisions in the “what” dimension can be further filtered or limited by a “how” dimension, which provides attributes or context for the data in the “what” dimension. Divisions in the “when” dimension can include various time periods and/or time ranges. Divisions in the “where” dimension can include various sources or channels from which the data is collected. For example, the “where” dimension can include various channels (e.g., community, various other third-party social media sites, and so on) from which the metrics data is collected. Sometimes, the “where” dimension also include subdivisions representing sub-topics and/or sub-communities within a community or data channel. The “who”, “what”, “when”, and “where” data-set dimensions are merely illustrative for the kinds of data-set dimensions that can be represented by the data selection interfaces shown below. Not all dimensions need to be present in a data set, and not all dimensions present in the data set need to have a respective data selection interface in various implementations.

FIGS. 5A-5G illustrate graphs in the data display panel 5028 with various channel selections. In some implementations, when no specific forum or node has been selected, the data display panel is empty as illustrated in FIG. 5A where only axes are displayed in the data display panel. In some implementations, when no specific forum or node is selected, the graph 5116 displays data for the entire community, as illustrated in FIG. 5B.

In FIG. 5C, the “community Suggestions” node or forum 5118 has been selected in the channel selector interface, so the graph 5124 (e.g., a graph of the number of posts in the “Community Suggestions” forum of the “Li” community over time) corresponding to the node 5118 is presented in the data display panel 5028. In this implementation, the blue color of the graph 5124 corresponds to the blue highlighting of the “Community Suggestions” node 5118. In FIG. 5D, the node “Show us your Home Theater!” 5122 is selected in addition to the “Community Suggestions” node, and graph 5126 (e.g., a graph of the number of posts in the “Show us your Home Theater!” forum of the “Li” community over time) corresponding to the node 5122 displays in the data panel 5028. The green color of the graph 5126 corresponds to the green highlighting of the node 5122. As noted previously with the selection of users, some implementations use shading, patterns, or labels to correlate graphs with selected options (in this case, nodes or sub-domains). In FIG. 5E, the “Community Suggestions” node 5118 has been unselected, so only the graph 5126 corresponding to the “Show us your Home Theater” node 5122 is displayed in the data display panel 5028. Comparison of FIG. 5D to FIG. 5E illustrates that some implementations adjust the range on the y-axis based on the data range(s) for the selected graphs(s). Whereas graph 5124 required the larger range of 10 to 70, graph 5126 can be displayed in the smaller range of 15 to 45. In FIG. 5E, the graph 5126 extends more vertically because of the change in scaling of the y-axis. In FIG. 5F, the “Community Suggestions” node 5118 has been reselected, and thus graphs 5124 and 5126 both appear in the data display panel 5028 (as in FIG. 5D).

In FIG. 5G, the “HiFi Ideas” node 5120 has been selected in addition to the nodes 5118 and 5122, so three graphs 5124, 5126, and 5128 are displayed in the data display panel 5028. The orange color of the graph 5128 (e.g., a graph of the number of posts in the “HIFI Ideas” forum of the “Li” community over time) corresponds to the orange highlighting of the “HiFi Ideas” node 5120. Because the post counts for the “HiFi Ideas” node 5120 are much greater than the post counts for the other two nodes, the device (e.g., device 110) displaying the user interface shown in FIG. 5G has adjusted the scale on the y-axis. The graphs 5124 and 5126 are the same as in FIG. 5, but are compressed vertically so that they can appear with the graph 5128.

FIGS. 5A-5G illustrate variations in the channel selection without changing any of the other selectors. Each of these figures uses the “post count” metric, with no specific attribute selections, for the time period mid July, 2010 to mid November, 2010, and includes data for all users.

FIGS. 5H-5I illustrate how data is displayed in the data panel 5028 when a user selects multiple nodes in the channel selector 5018 and multiple users (or multiple groups of users using ranks or roles) in the user selector 5026. As explained earlier, selection of multiple users or user groups generally results in a graph for each of the users or groups of users; similarly, selection of multiple nodes in the channel selector generally results in a graph for each of the nodes. In some implementations (not illustrated), there is a separate graph for each (node, user selection) combination. In the example in FIG. 5H, there are three selected nodes in the channel selector, and three selected user roles in the user selector, so nine distinct (node, user role) graphs are optionally displayed in the data display panel 5028. Because each graph corresponds to a node/role combination, colors, shading, and patterns are insufficient to identify a combination. In some implementations, each graph is given a label, which identifies a respective combination of options selected in two different dimensions (e.g., the channel and user dimensions).

Creating a separate graph for each (node, user selection) combination is both visually hard to understand, and generally does not correspond to what a user wants to see. Instead, preferred implementations enable grouping of the selected data. For example, if a user wants a separate graph for each selected role, then the data for the selected nodes can be grouped together for each selected role. Conversely, if the user wants a graph for each of the nodes, then the data for all of the selected roles can be grouped together for each of the selected nodes. In some implementations, this is implemented using a “Group By” arrow button 5132 (i.e., an example of a dimension selector). In some of some implementations, there is a label “Group By” 5130 adjacent to the arrow button 5132 to provide more information to the user using the user interface shown in FIGS. 5H-5I.

As will be shown in later figures, when the group by arrow 5132 points to the user selector 5026, there is a single graph for each of the selected roles. The data for each graph is limited to the selected nodes rather than using data for the entire community.

Similarly, as will be shown in later figures, when the group by arrow 5132 points to the channel selector 5018, as illustrated in FIG. 5I, there is a single graph for each of the selected nodes. The data for each graph is limited to the selected users (e.g., selected roles “Advanced Studio,” “BlogAuthor,” and “HiFi_Employee.”)

In some implementations the “Group By” label 5130 and group by arrow 5132 only appear when there are multiple selections for both nodes and users/user groups.

FIGS. 5J-5V illustrate various implementations of a user interface for the display of data when the selected time range is just one unit of time (i.e., the size of the time range equals the size of one time grain). In some implementations, the user interface elements correspond to those of prior figures, including a data display panel (e.g., the data display panel 5028), various data selection interfaces (e.g., the channel selector 5018, metric selectors 5020, 5022, time range selector 5024, and the user selector 5026), a time grain selector 5054, lower and upper time selection sliders 5048, 5050 and a time range indicator 5052. In the preceding figures, the time grain has been “day,” but in FIGS. 5J-5V, the time grain selector 5054 is set to “month” as illustrated in FIG. 5J. Although not illustrated in FIG. 5J, when the time grain selector 5054 is change to a larger grain (e.g., “day” to “month”), the sliders 5048 and 5050 automatically align or “snap” to the nearest position that aligns with the new grain. For example, with a time grain of “month,” the sliders 5048 and 5050 optionally align with month boundaries in order to select entire months.

The alignment of the sliders 5048 and 5050 with the time grain is shown in FIG. 5J, where the time range selection is just September, 2010 (a single month). In this case, there is only one unit of time, so it would be not be useful to display a time-series graph with a single point. Instead, some implementations switch the display type from a line graph to a treemap or bar graph, depending on the selections in the community selector 5018 and user selector 5026. For example, in some implementations, when the user selector is set to “all users,” the device (e.g., device 110) displaying the user interface presents a treemap, as illustrated in FIG. 5J. In this case, the data for all users is included, and broken into counts for the top level nodes in the community. As Seen in FIG. 5J, the ten rectangles “Hi-Fi Products” 5134, “Engage with Hi-Fi” 5136, “Home Theater Q&A” 5138, etc. correspond to the top level nodes in the node list 5076. The size of each rectangle and the number below the node name indicate the number of posts to that node for all users in September, 2010 (corresponding to the time range selection). In some implementations, the use of two (or more) different fill colors for the rectangles indicates that some of the top level nodes include subnodes. For example, the top level node “Hi-Fi Products” 5134 is a node with subnodes, so the device (e.g., device 110) displaying the user interface shown in FIG. 5J the node 5134 in a dark blue fill color, whereas the top level node “Home Theater Q&A” 5138 has no subnodes, so the device (e.g., device 110) displaying the user interface shown in FIG. 5J the node 5138 with a light blue fill color. In some implementations, nodes that have subnodes include outlines of the subnodes, as illustrated in the “Hi Fi Products” node 5134.

When a node (such as “Hi-Fi Products” node 5134 in FIG. 5J) has subnodes, a user can drill-down to see the detail, as shown in FIG. 5K. In some implementations, double-clicking on node 5134 brings up the detail, as shown in FIG. 5K. There are various user interface mechanisms that are, optionally, employed to bring up the detail. For example, in response to a user having selected the “Hi-Fi Products” node 5134 shown in FIG. 5J, the “Hi-Fi Products” node indicator 5144 is displayed in the node selector 5018, as illustrated in FIG. 5K. In FIG. 5K, another treemap is displayed, but this time, in response to selection of the “Hi-Fi Products” node 5144, the display is limited to data for that node. The Hi-Fi Products node includes 15 subnodes, each displayed as a rectangle in the treemap, including subnodes “Home Theater” 5140 and “Speakers” 5142. Although drilling down has limited the data to the specific “Hi-Fi Products” node 5144, the other selectors remain the same. The user selection still has the value, “all users,” the time range selector still has the range September, 2010, and the metric selector is still set to “post count” without selection of any particular metric attributes. As illustrated in FIGS. 5J and 5K, the total post count for node 5134 (1034 posts) is equal to the sum of the post counts for all of the subnodes (149+127+124+113+111+85+73+65+61+34+30+28+13+11+10).

FIG. 5K shows that the node “MP3 Players” 5146 has subnodes. This is illustrated both by the dark blue color of node 5146 and the outlines of subrectangles within the node. Double clicking on the node 5146 causes further drill-down detail to be displayed, as illustrated in FIG. 5L. In this Figure, The “MP3 Player” node 5146 is expanded to show the three subnodes “iPod Touch” 5148, “iPod Nano” 5150, and “iPod Shuffle” 5152. In the channel selection panel 5018, the “MP3 Players” node selection 5154 is displayed, indicating that the treemap shown in the data display panel 5028 represents data just for the “MP3 Players” subnode 5146. Because the other selection criteria are unchanged, the post count for node “MP3 Players” 5146 equals the total of the post counts for the three subnodes 5148, 5150, and 5152 (i.e., 73=42+22+9).

From the drilled down treemap in FIG. 5L, a user can return to the previous treemap. In some implementations, a user returns to the previous treemap by clicking on a button or icon, such as arrow button 5156 in FIG. 5L. In some implementations, a user can return to the previous treemap by pressing the ESC key on the keyboard, a function key such as F7, or a keyboard combination (e.g., switching from displaying the user interface shown in FIG. 5L back to the user interface shown in FIG. 5K). The user can return to the top level treemap in the same way, using a button or icon 5156, or pressing a designated key or key combination (e.g., switching from displaying the user interface shown in FIG. 5K back to the user interface shown in FIG. 5J).

FIG. 5M illustrates results of drilling down into the “Engage with HiFi” node 5136. Once this node is selected, the “Engage with HiFi” selection indicator 5158 is displayed in the channel selection panel 5018, and the four subnodes “Show us your Home Theater” 5160, “Cutting Edge Hi-Fi” 5162, “HiFi Ideas” 5164 and “test” 5166 are displayed in the treemap. Because no other selection criteria have changed, the total post count for the node “Engage with HiFi” 5136 is the sum of the post counts for the four subnodes 5160, 5162, 5164, and 5166 (i.e., 723=251+236+145+91). As shown by the time range sliders 5048 and 5050 (as well as the time range bar 5052), the data presented in the treemap is for September, 2010.

FIGS. 5N-5S illustrate how the display changes as the time range selection is moved. In each of these figures, a single month is selected, and the data in the treemap is updated to show the data for that particular month. Implementations provide various mechanisms for changing the time range selection. In some implementations, a user can change the time range selection by dragging one or both of the time range sliders 5048 and 5050. In some implementations, a user can modify the time range selection by clicking and dragging the time selection bar 5052. In some implementations, the sliders 5048 and 5050 or bar 5052 can be selected by clicking, then moved by using the left and right cursor keys on a keyboard.

In the sequence of FIGS. 5M-5S, a user moves the time range from September, 2010 to March, 2010 without letting go of the mouse button. In the illustrated implementation, the numeric data in the treemap is updated at each step in the process, but the sizes and shapes of the rectangles in the treemap remain the same. After reaching March, 2010, the user releases the mouse button, and the treemap is redrawn, as illustrated in FIG. 5T. In particular, the “test” subnode has zero posts in March 2010, as shown in FIG. 5S, so after redrawing the treemap, there is no rectangle for the “test” subnode as shown in FIG. 5T. In some implementations, the entire treemap is redrawn at each step in the process, even when the mouse button has not been released. In some implementations, nodes with zero or small counts are displayed with a minimal size so that they remain visible in the user interface shown in FIGS. 5M-5S.

FIGS. 5U and 5V illustrate how the treemap is updated in the data panel 5028 when a user switches metrics. In FIG. 5U, a user has switched to the “page view” metric 5170, which has much higher numbers (e.g., 58,901 page views for “Cutting edge Hi-Fi”) than the “post count” metrics shown in other Figures (e.g., 236 posts for “Cutting edge Hi-Fi” for September, 2012, as shown in FIG. 5M). In FIG. 5V, the user has switched back to the “post count” metric 5168. The contrast of these two metrics shows an interesting point: whereas “Cutting edge Hi-Fi” has a greater number of page views than “Show us your Home Theater,” more users have made posts to “Show us your Home Theater.” By comparing the data for different metrics, different time ranges, different users, etc., a user is enabled to identify important information about an online community.

FIGS. 5W-5X describe and illustrate the use of treemaps in disclosed implementations. A treemap is an effective way to represent hierarchical data—with each display showing one node and the subnodes of that node. The relative sizes of the regions in the treemap identify the relative sizes of the subnodes. In the examples provided, the regions in each treemap are rectangular, but this is not required. The regions can have any shape, including circular cells or voronoi cells. The size of a treemap cell optionally corresponds to the data for any specified metric (the same metric applies to all cells in a given treemap). Common metrics are page views or post counts. In some implementations, the color of a cell represents the position of the cell in the hierarchy. For example, in some implementations a cell is yellow if the cell has no subnodes, and is blue if it does have subnodes. In some implementations, the color of each cell identifies a category for the cell, and does not represent position within the hierarchy. In some implementations, color tone represents a data characteristic, such as the relative age of the underlying data. Some implementations also use color saturation to identify a characteristic of the data.

FIG. 5W illustrates one example of a treemap for displaying data for an online community. The hierarchy here is the topic hierarchy of the online community, the size of each treemap cell corresponds to the number of posts for that cell, and the different colors identify different topics. FIG. 5X illustrates using a treemap to represent stock market data. In this example, the total market is forms a hierarchy based on industry. At the top level, the nodes (corresponding to the cells) are “Health Care,” Financial,” “Energy,” etc. These general industry categories are further subdivided, as indicated by the smaller rectangles. Whereas some implementations of an online community have cell size based on the number of posts, a treemap for a stock market has cell size based on market capitalization, or just the number of companies in each industry. In some implementations of an online community for the stock market, the size of each cell corresponds to the number of user posts regarding the companies in each sector. In the implementation in FIG. 5X, the interface 222 provides configuration options 5356, which control the display of data. For example, green hues indicate an increase in stock prices, whereas red hues indicate decreases in stock prices. At a glance, a user can see that the health care sector is down, whereas the financial sector is up. In some implementations, the colors represent consumer sentiment, with green being positive, red being negative, and black being neutral. In this scenario, consumers are positive about the financial sector on this day, but somewhat unhappy about the other sectors.

FIG. 6 illustrates examples of a data flow and architecture supporting the level 1, level 2 and/or level 3 data reporting and visualization, e.g., in the metric explorers described above. 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.

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.

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.

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.

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) via the metric explorers described above. As shown in FIG. 6, metric explorer 5612 (e.g., the user interfaces described above with reference to FIGS. 5A-5V), and widgets (e.g., the widgets described 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.

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.

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.

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.

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.

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.

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 (e.g., the user interfaces described above with reference to FIGS. 5A-5V) and the standard and customized widgets and dashboards (e.g., the user interfaces described with reference to FIGS. 9-142 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”). 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.

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.

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.

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.), and 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.

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.

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.

Claims

1. A method, comprising:

at a computing device with a display: displaying, in a data display panel, a first representation of a first subset of data from a data set, wherein: respective data items in the data set are associated with corresponding discrete time steps of a plurality of time steps; the first subset of data includes data associated with a first time period that includes more than a threshold number of discrete time steps; and the first representation is a first type of data visualization that shows changes in the first subset of data over time; receiving a first input corresponding to a request to view data associated with a second time period that includes no more than the threshold number of discrete time steps; and in response to receiving the first input, displaying, in the data display panel, a second representation of a second subset of data from the data set, wherein: the second subset of data includes data associated with the second time period; the second representation is a second type of data visualization that aggregates the second subset of data over the second time period and shows divisions of the data in a respective set of one or more data-set dimensions; and the second type of data visualization is different from the first type of data visualization.

2. The method of claim 1, wherein the threshold number of time steps is 1.

3. The method of claim 1, comprising:

after displaying the second representation of the second subset of the data from the data set, receiving a second input corresponding to a request to view data associated with a third time period that has no more that the threshold number of discrete time steps; and
in response to receiving the second input, displaying, in the data display panel, a third representation of a third subset of data from the data set, wherein: the third subset of data includes data associated with the third time period; and the third representation is the second type of data visualization that aggregates the third subset of data over the third time period and shows divisions of the data in the respective set of one or more data-set dimensions.

4. The method of claim 1, wherein the size of the discrete time steps is adjustable by user.

5. The method of claim 1, wherein the first type of data visualization is a line graph.

6. The method of claim 1, wherein the second type of data visualization is a treemap.

7. The method of claim 1, wherein the second representation shows divisions of data along a plurality of data-set dimensions simultaneously.

8. The method of claim 1, further comprising, after displaying the second representation of the second subset of data:

receiving a third input corresponding to a request to display additional information corresponding to a respective division that is visually represented in the second representation; and
in response to receiving the third input, replacing display of at least a portion of the second representation of the second subset of data with a third representation of a third subset of data from the data set that emphasizes subdivisions of the respective division and corresponds to the second time period.

9. The method of claim 8, wherein the second representation of the second subset of data includes an indication that the respective division includes a plurality of subdivisions that can be viewed in greater detail in the data display panel.

10. The method of claim 8, further comprising, after displaying the third representation of the third subset of data:

receiving a third input corresponding to a request to display a fourth subset of data from the data set that is associated with a third time period that includes more than the threshold number of discrete time steps; and
in response to receiving the third input, displaying, in the data display panel, a fourth representation of a fourth subset of data from a data set, wherein: the fourth subset of data includes data associated with the third time period; and the fourth representation is the first type of data visualization that shows changes in the fourth subset of data over time and data emphasizes subdivisions of the respective division.

11. 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 first representation of a first subset of data from a data set, wherein: respective data items in the data set are associated with corresponding discrete time steps of a plurality of time steps; the first subset of data includes data associated with a first time period that includes more than a threshold number of discrete time steps; and the first representation is a first type of data visualization that shows changes in the first subset of data over time; receiving a first input corresponding to a request to view data associated with a second time period that includes no more than the threshold number of discrete time steps; and in response to receiving the first input, displaying, in the data display panel, a second representation of a second subset of data from the data set, wherein: the second subset of data includes data associated with the second time period; the second representation is a second type of data visualization that aggregates the second subset of data over the second time period and shows divisions of the data in a respective set of one or more data-set dimensions; and the second type of data visualization is different from the first type of data visualization.

12. The device of claim 11, wherein the threshold number of time steps is 1.

13. The device of claim 11, wherein the one or more programs include instructions for:

after displaying the second representation of the second subset of the data from the data set, receiving a second input corresponding to a request to view data associated with a third time period that has no more that the threshold number of discrete time steps; and
in response to receiving the second input, displaying, in the data display panel, a third representation of a third subset of data from the data set, wherein: the third subset of data includes data associated with the third time period; and the third representation is the second type of data visualization that aggregates the third subset of data over the third time period and shows divisions of the data in the respective set of one or more data-set dimensions.

14. The device of claim 11, wherein the first type of data visualization is a line graph.

15. The device of claim 11, wherein the second type of data visualization is a treemap.

16. 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:

displaying, in a data display panel, a first representation of a first subset of data from a data set, wherein: respective data items in the data set are associated with corresponding discrete time steps of a plurality of time steps; the first subset of data includes data associated with a first time period that includes more than a threshold number of discrete time steps; and the first representation is a first type of data visualization that shows changes in the first subset of data over time;
receiving a first input corresponding to a request to view data associated with a second time period that includes no more than the threshold number of discrete time steps; and
in response to receiving the first input, displaying, in the data display panel, a second representation of a second subset of data from the data set, wherein: the second subset of data includes data associated with the second time period; the second representation is a second type of data visualization that aggregates the second subset of data over the second time period and shows divisions of the data in a respective set of one or more data-set dimensions; and the second type of data visualization is different from the first type of data visualization.

17. The non-transitory computer readable storage medium of claim 16, wherein the threshold number of time steps is 1.

18. The non-transitory computer readable storage medium of claim 16, wherein the one or more programs include instructions which, when executed by the computing device, cause the device to:

after displaying the second representation of the second subset of the data from the data set, receive a second input corresponding to a request to view data associated with a third time period that has no more that the threshold number of discrete time steps; and
in response to receiving the second input, display, in the data display panel, a third representation of a third subset of data from the data set, wherein: the third subset of data includes data associated with the third time period; and the third representation is the second type of data visualization that aggregates the third subset of data over the third time period and shows divisions of the data in the respective set of one or more data-set dimensions.

19. The non-transitory computer readable storage medium of claim 16, wherein the first type of data visualization is a line graph.

20. The non-transitory computer readable storage medium of claim 16, wherein the second type of data visualization is a treemap.

Patent History
Publication number: 20140181728
Type: Application
Filed: Dec 5, 2013
Publication Date: Jun 26, 2014
Applicant: Lithium Technologies, Inc. (Emeryville, CA)
Inventor: Michael Wu (Oakland, CA)
Application Number: 14/098,505
Classifications
Current U.S. Class: Window Or Viewpoint (715/781)
International Classification: G06F 3/0481 (20060101); G06F 3/0484 (20060101);