The disclosed implementations relate generally to methods of data visualization.
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.
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 computing device with a display, displaying a user interface, including a data display panel, wherein the data display panel is configured to display a visual representation of a data set; and a plurality of data-selection interfaces. The plurality of data-selection interfaces include a first data-selection interface extending from the data display panel in a first direction, where the first selection interface includes a first plurality of options for selecting data to display in the data display panel based on divisions in a first data-set dimension; and a second data-selection interface extending from the data display panel in a second direction that is different from the first direction, where the second data-selection interface includes a second plurality of options for selecting data to display in the data display panel based on divisions in a second data-set dimension, and the second data-set dimension is different from the first data-set dimension. The method further includes displaying a visual representation of a subset of the data set in the data display panel; and receiving a first input corresponding to selection of an option from one of the data-selection interfaces. The method also includes, in response to receiving the first input: in accordance with a determination that the option was an option from the first plurality of options, changing the data displayed in the data display panel to display data corresponding to a respective division in the first data-set dimension that was not displayed immediately prior to receiving the first input; and in accordance with a determination that the option was an option from the second plurality of options, changing the data displayed in the data display panel to display data corresponding to a respective division in the second data-set dimension that was not displayed immediately prior to receiving the first input.
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.
FIGS. 5A-5BBB illustrate methods of presenting, selecting, and changing views of data in accordance with some implementations.
Like reference numerals refer to corresponding parts throughout the several views of the drawings.
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.
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
Although
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
The device displays (402) a user interface (e.g., as illustrated in FIGS. 5A through 5BBB) including a data display panel (e.g., the central region illustrated in FIGS. 5A-5BBB). The data display panel is configured to display a visual representation of a data set. In some implementations, the data set is a multi-dimensional data set that includes data organized in accordance with a plurality of different dimensions that correspond to independent variables that can be used to analyze the data.
The device also displays (404) a plurality of data-selection interfaces in the user interface (e.g., one or more of the peripheral regions illustrated in FIGS. 5A-5BBB). In some implementations, the device, displays (406) in the plurality of data-selection interfaces information indicating which divisions of a plurality of data-set dimensions, corresponding to the data-selection interfaces, are displayed in the data display field (e.g., as shown in FIGS. 5HH-5VV).
The plurality of data-selection interfaces include (408) a first data-selection interface extending from the data display panel in a first direction (e.g., the first data-selection interface is adjacent to or proximate to a first boundary/side of the data display panel). The first selection interface includes a first plurality of options for selecting data to display in the data display panel based on divisions in a first data-set dimension. In some implementations, some or all of the divisions in a data-set dimension correspond to respective predefined ranges of values in an independent variable in the data-set dimension. In some implementations, some or all of the divisions in a data-set dimension correspond to a set of one or more discrete values of an independent variable in the data-set dimension.
The plurality of data-selection interfaces include (410) a second data-selection interface extending from the data display panel in a second direction that is different from the first direction (e.g., the second data-selection interface is adjacent to or proximate to a second boundary/side of the data display panel). The second data-selection interface includes a second plurality of options for selecting data to display in the data display panel based on divisions in a second data-set dimension. The second data-set dimension is (412) different from the first data-set dimension.
In some implementations, the first direction is (414) opposite to the second direction (e.g., the first direction is up and the second direction is down, or the first direction is right and the second direction is left). In some implementations, the data display panel includes data axes that provide information regarding the data. In some implementations, one or more of these data axes is different from the data-set dimensions. For example, the data display area includes at least one axis that corresponds to a quantity of data units, so as to show a magnitude (e.g., an absolute magnitude such as the number of data units, or a relative magnitude such as a percentage of the data units) of data units (e.g., the dependent variable) that correspond to a particular division (e.g., value or range of values of an independent variable) in a respective data-set dimension.
In some implementations, the first data-set dimension is (416) independent of (e.g., orthogonal to) the second data-set dimension. Thus, in some implementations, the user can drill down in one data-set dimension to look at a specific set of divisions or subdivisions of data and then as the user switches between different divisions of data in the second data-set dimension, the same specific set of divisions or subdivisions of data with respect to the first data-set dimension will be displayed in the different divisions of the second data-set dimension. For example, if the user selects to view data divided by ordinary users, moderators and administrators, the user can then switch from viewing a comparison of the activity of these different groups of users in a first product support discussion forum for a first product to viewing a comparison of the activity of these different groups of users in a second product support discussion forum for a second product by switching an option in a data-selection interface from displaying the first forum to displaying the second forum, while maintaining the selection of the division of the data by ordinary users, moderators and administrators.
In some implementations, the plurality of data-selection interfaces include (418) a third data-selection interface extending from the data display panel in a third direction. In some implementations, the third direction is different from the first direction and different from the second direction. In some implementations, the third data-selection interface includes a third plurality of options for selecting data to display in the data display panel based on divisions in a third data-set dimension, and the third data-set dimension is different from the first data-set dimension and different from the second data-set dimension (e.g., the third data-selection interface is adjacent to or proximate to a third boundary/side of the data display panel).
In some implementations, the plurality of data-selection interfaces, include (420) a fourth data-selection interface extending from the data display panel in a fourth direction. In some implementations, the fourth direction is different from the first direction, the second direction and the third direction. In some implementations, the fourth data-selection interface includes a fourth plurality of options for selecting data to display in the data display panel based on divisions in a fourth data-set dimension, and the fourth data-set dimension is different from (optionally, each of) the first data-set dimension, the second data-set dimension, and the third data set dimension (e.g., the fourth data-selection interface is adjacent to or proximate to a fourth boundary/side of the data display panel).
In some implementations, two or more of the data-selection interfaces each correspond to (422) a different data-set dimension of a plurality of data-set dimensions of the data set. In some implementations (e.g., where two or more of the data-selection interfaces each correspond to a different data-set dimension), the plurality of data-set dimensions includes (424) a metric dimension that divides (e.g., classifies) data units in the data set by the type of metric that was used to produce the data units (e.g., the metric dimension answers the question “what is the data?”). For example, for data of a discussion board, a data unit would be classified as a response to a post, a post by a user, or other examples of metrics. An example of a data-selection interface including options corresponding to divisions in the metric dimension is described herein with reference to the region on the left side of the central data display panel in FIGS. 5A-5BBB.
In some implementations (e.g., where the plurality of data-set dimensions includes a metric dimension), a respective type of metric, corresponding to a respective division in the metric dimension, that was used to produce the data units, includes (426) a plurality of subdivision. In some implementations, a data-selection interface corresponding to the data-set metric dimension (e.g., the first data-selection interface) includes options (e.g., described herein with reference to the lower portion of the region on the left side of the central data display panel in FIGS. 5A-5BBB) for selecting data to display in the data display panel based on subdivisions in the respective division. In some implementations, the options for selecting data to display based on the subdivisions are displayed when (optionally, only when) the respective division is selected to be displayed.
In some implementations (e.g., where two or more of the data-selection interfaces each correspond to a different data-set dimension), the plurality of data-set dimensions includes (428) a user dimension that divides (e.g., classifies) data units in the data set by which user is associated with the data units (e.g., the user dimension answers the question “who is the data associated with?”). For example, for data of a discussion board, a data unit corresponding to a comment written by a respective user would be classified as comment by the respective user. An example of a data-selection interface including options corresponding to divisions in the user dimension is described herein with reference to the region on the right side of the central data display panel in FIGS. 5A-5BBB.
In some implementations (e.g., where two or more of the data-selection interfaces each correspond to a different data-set dimension), the plurality of data-set dimensions includes (430) a data-source dimension that divides (e.g., classifies) data units in the data set by the data source, of a plurality of data sources, from which the data units were received (e.g., the data-source dimension answers the question “where was the data generated?”). For example, for data of a website, a data unit corresponding to a comment written on a discussion board would be classified as being associated with the discussion board, while a comment written in a wiki would be classified as being associated with the wiki. An example of a data-selection interface including options corresponding to divisions in the data-source dimension is described herein with reference to the region on the top side of the central data display panel in FIGS. 5A-5BBB.
In some implementations (e.g., where the plurality of data-set dimensions includes a data-source dimension), the plurality of data sources includes (432) a first sub-domain and a second sub-domain associated with a same domain owner. For example, the data sources include different discussion boards within a hierarchy of discussion boards for a single website, as shown in the region on the top side of the central data display panel in FIGS. 5A-5BBB. In some implementations (e.g., where the plurality of data-set dimensions includes a data-source dimension), the plurality of data sources includes (434) a first domain associated with a first domain owner and a second domain associated with a second domain owner different from the first domain owner. For example, the data sources include different third party providers, such as Twitter, Facebook, or other third party providers.
In some implementations (e.g., where two or more of the data-selection interfaces each correspond to a different data-set dimension), the plurality of data-set dimensions includes (436) a time dimension that divides (e.g., classifies) data units in the data set by a time associated with the data units (e.g., the time dimension answers the question “when was the data generated?”). For example, for data of a website, a data unit corresponding to a comment written on November 30 would be classified as being a comment from November, while a comment written in a wiki on December 2 would be classified as being a comment from December. An example of a data-selection interface including options corresponding to divisions in the time dimension is described herein with reference to the region on the bottom side of the central data display panel in FIGS. 5A-5BBB.
In some implementations (e.g., where the plurality of data-set dimensions includes a time dimension), a data-selection interface corresponding to the time dimension (e.g., the fourth data-selection interface) includes (438) a first control for selecting a time range to display and a second control for selecting a step size in the time range. In some implementations (e.g., where the plurality of data-set dimensions includes a time dimension), the data set is subject to (440) one or more known reporting constraints (e.g., a beginning of the reporting period, an end of the reporting period and/or a minimum step size in the reporting period), and the first control and/or the second control indicate the one or more known reporting constraints for the data set. For example, the timeline has ends at the beginning and end of reportable data and/or the step size selector includes only available step sizes. In some implementations, the first control and the second control change when a different data set or a different subset of the data set with different reporting constraints is selected to be displayed in the data display panel.
The device also displays (442) a visual representation of a subset of the data set in the data display panel. After displaying the user interface including the data display panel, the plurality of data-selection user interfaces and the subset of data, the device receives (444) a first input (e.g., from the input device) corresponding to selection of an option from one of the data-selection interfaces. In response (446) to receiving the first input the device performs one or more of operations 448-454 depending on which data-selection interfaces was interacted with by the user. In accordance with a determination that the option was an option from the first plurality of options, the device changes (448) the data displayed in the data display panel to display data corresponding to a respective division in the first data-set dimension that was not displayed immediately prior to receiving the first input. In accordance with a determination that the option was an option from the second plurality of options, the device changes (450) the data displayed in the data display panel to display data corresponding to a respective division in the second data-set dimension that was not displayed immediately prior to receiving the first input. In some implementations, in response to receiving the first input, in accordance with a determination that the selected option was an option from the third plurality of options, the device changes (452) the data displayed in the data display panel to display data corresponding to a respective division in the third data-set dimension that was not displayed immediately prior to receiving the first input. In some implementations, in response to receiving the first input, in accordance with a determination that the selected option was an option from the fourth plurality of options, the device changes (454) the data displayed in the data display panel to display data corresponding to a respective division in the fourth data-set dimension that was not displayed immediately prior to receiving the first input.
In some implementations, the first data-selection interface includes (456) a first number of slots to display the first plurality of options for selecting divisions of the first data-set dimension to display in the data display panel, and the first data-set dimension includes a second number of divisions that exceeds the first number of slots (e.g., as shown in FIGS. 5D-5GG). In some implementations, the device receives (458) a second input corresponding to selection of a respective option in the first plurality of options, where the respective option is associated with a respective division of the first-data set dimension. In response (460) to receiving the second input, in accordance with a determination that first data corresponds to the respective division is displayed in the data display panel, the device ceases (462) to display the first data corresponding to the respective division in the data display panel (e.g., the device stops displaying previously displayed data corresponding to a previously selected division); and in accordance with a determination that second data corresponds to the respective division is not displayed in the data display panel, the device displays (464) the second data corresponding to the respective division in the data display panel (e.g., the device displays previously undisplayed data corresponding to a previously unselected division). Examples of ceasing to display and displaying data in response to user selection and de-selection of options in the data-selection interfaces are described in greater detail herein with reference to FIGS. 5HH-5VV. In some implementations the first data is the same as the second data.
In some implementations, the device receives (466) a third input corresponding to a request to view options for selecting one or more divisions of the first data-set dimension that do not correspond to currently displayed options in the first data-selection interface (e.g., the request includes a search query). In some implementations, in response to receiving the third input, the device displays (468) a representation of one or more divisions of the first data-set dimension that do not correspond to currently displayed options in the first data-selection interface (e.g., the response includes displaying a list of search results matching the search query, as shown in
In some implementations, the device receives (474) a fifth input corresponding to a request to remove a respective option of the first plurality of options from the first data-selection interface and in response to receiving the fifth input, ceasing (476) to display the respective option in the first data-selection interface. For example, the user can select a respective option to remove from a data-selection interface by selecting an option deletion affordance proximate to the respective option in the data-selection interface.
It should be understood that the particular order in which the operations in
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-5BBB 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-5BBB 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.
In the implementation illustrated in
The metric explorer 5000 also includes a metric selector 5020 and a metric attribute selector 5022. The metric selector 5020 and metric attribute selector 5022 specify what type of data is displayed in the data panel 5028 (i.e., relates to the “what” aspect of the data). In the implementation shown in
The implementation shown in
The metric explorer 5000 illustrated in
In
Once a channel is selected using the channel selector 5018 and/or node selector 5031, a user can choose among the metrics available for that channel using the metric selection interface (e.g., including the metric selector 5020 and the attribute selector 5022), as illustrated in
In some implementations, the user can enter a search term in a search field, and metrics relevant to the search term are provided in the metric selector 5020 for user selection. In some implementations where a metrics selector button 5042 is provided, additional metrics can be seen by clicking on the button 5042, or a designated portion thereof (e.g., the triangle shown in
Additional metrics that appear in the pop-up window 5036 can be selected by taking certain actions, such as clicking or double clicking on the metric using the mouse cursor 5038. This is illustrated in
There are various ways that metrics can be removed from the list 5034 or the list 5040. For example, selecting a metric in the list and pressing the “Delete” button on the keyboard, or right clicking on a metric in the list and selecting “delete” or “remove” from a contextual pop-up menu. It is also to be noted that the metrics shown in the list 5034 and the list 5040 are available for selection, but none of them has been selected to filter the data to be displayed in the data display panel yet. As will be shown later in the figures, each of the metrics presented in the metric selector panel can be selected and deselected (toggled on and off) using any conventional method of selection (e.g., a single mouse click or a double click).
In
A user using the metric explorer can select one or more of the ranks of users and view the data in the data panel 5028 for just those users. For example, in some circumstances, the user wishes to review the activity of Newbies to see how new users interact with the community. In some implementations, “All” is included in the rank list 5060, which selects that data for all users, regardless of rank. Because this is equivalent to selecting “all users,” some implementations do not include the “All” option.
Whereas the ranks and roles in
When a user wishes to review the data for a user who is not currently on the short list 5070, the add users button 5072 can be used to select additional users. Although not illustrated, invocation of the “add users” button 5072 would pop up a user selection list, which could be very long, and enable selection of one or more users. Once the selection is done, the pop up user selection window closes, and any additional users that were selected are added to the short list 5070. For example,
As illustrated in
FIGS. 5W-5EE illustrate the operation of the channel selector 5018 according to some implementations. Within a source channel (such as “Li” as shown in
In some implementations, selection of one or more nodes (e.g., communities or forums) in the node list 5076 is similar to the selection of users. This is illustrated in FIGS. 5AA-5DD. As shown in FIGS. 5AA-5BB, while holding the Shift key 5064 on the keyboard, a user is enabled to select a contiguous set of nodes, such as selected nodes 5078. Alternatively (or in addition), a user is enabled to select a non-contiguous set of nodes by holding down the keyboard Ctrl key 5068 and clicking on the desired nodes. This is illustrated in FIGS. 5CC-5DD. In this way, the selected nodes 5078 are expanded to include three additional nodes (e.g., “Community Suggestions”, “HiFi Ideas”, and “Show us your Home Theater!”). Additionally, the desired set of nodes are optionally configured to be selected in other ways. Once the desired set of nodes has been selected, a user closes the node list 5076 (e.g., by pressing a close button or save button), and the device (e.g., device 110) displaying the user interface shown in FIGS. 5AA-5DD displays the selected nodes 5080 in the channel selector 5018. This is illustrated in FIG. 5EE, showing the six selected nodes 5080 corresponding to the six selected nodes 5078 in the node list 5076.
FIG. 5FF illustrates that a user selects a particular metric 5082 in the metric selector panel 5020. Each metric has zero or more corresponding metric attributes, which the device (e.g., device 110) displaying the user interface shown in FIG. 5FF displays in the metric attribute selector panel 5022. The metric attribute list 5098 is illustrated in FIG. 5GG. Examples of individual attributes 5084-5096 are described with respect to FIG. 5GG, corresponding to the metric “post count” 5082.
For the post count metric 5082, one relevant attribute is the interaction state 5084. This is illustrated in FIG. 5GG. For example, a post can have replies, have no replies, may have received kudos (e.g., an indicator of positive review) from other users (or not), may be identified as an accepted solution of an issue, or may identify a problem (which may or may not have solutions posted by other users). Various implementations can use various combinations of these factors to define the “states” of a post. Depending on the implementation, there are two or more interaction states. In some implementations, there are several distinct attributes that track the state(s) of a post, such as one attribute that specifies whether there have been any replies, another attribute that specifies whether the post has received any kudos, and another attribute that indicates whether there is an accepted solution to an issue identified in the original post. Although not illustrated in FIG. 5GG, implementations include user interface controls for specification of attribute values. For example, some implementations include a drop-down box next to the “interaction state” label, and the drop-down box enables selection of the desired attribute value. In addition to the specific attribute values, a user can also select “all,” which means that the data will not be limited to any specific interaction state. In some implementations, a user can select more than one interaction state without selecting all of the interaction states.
FIG. 5GG illustrates a second attribute “interaction style” 5086 corresponding to the post count metric 5082. Typical values for interaction style are forum, blog, ideas, tribal knowledge base (TKB), contest, review, and so on. Just like “interaction state,” implementations of user interface include a user interface control for selection of an interaction style. For interaction style 5086, a user optionally selects a single style, so some implementations restrict the interface to a single selection. However, other implementations allow selection of multiple interaction styles, and some implementations provide a simple selection of “all” interaction styles.
FIG. 5GG illustrates the metric attribute “publication state” 5088, which is included in some implementations. In some implementations, the publication states 5088 are “draft,” “published,” and “revision.” This example also demonstrates that not all metric attributes necessarily work together. For example, for a blog interaction style, publication states of draft, published, and revision are, optionally, all be meaningful, whereas a forum interaction style optionally does not support drafts or revisions. Some implementations include a user interface control for selection of publication state, and various implementations generally allow selection of one or all publication states. Some implementations enable selection of multiple states without selecting all publication states.
Some implementations provide a “content type” metric attribute 5090, which allows for selection of specific content types. This is illustrated in FIG. 5GG. For example, the content type attribute 5090 can allow for selection of content that contains text only, content containing images (e.g., JPEGs), content that includes video, or content that includes attachments. As with other metric attributes, the user interface control for selection of content type optionally allows any combination of content types, optionally limits the selection to a single content type, and/or optionally allows selection of “all” content types.
FIG. 5GG includes the metric attribute “device type” 5092. Here, the device type is the type of device that a user used to create a post. In some implementations, devices are considered “desktop” or “mobile,” but in other implementations, device type is implemented with greater granularity. For example, the device type optionally indicates the operating system (e.g., Windows®, Mac OS X, iOS®, Android). The level of granularity provided in reporting is determined by what level of data was collected at the time of the post. User interface provides a drop down box with values “desktop”, “mobile”, and “all” as the selections for device type.
FIG. 5GG includes a metric attribute “origination” 5094, which selects posts based on where they originated. For examples, posts to an online community will, in some circumstances, originate from within the community, or from other third-party social media platforms (e.g., FaceBook™, or Twitter™). The list above is an example list, but not exhaustive. For example, a post could originate from Google+ or other social media source. Like the other metric attributes discussed previously, the device (e.g., device 110) displaying the user interface shown in FIG. 5GG provides a screen control for selection of with origination locations are included in the data. In some implementations, the options are “community” (indicating origination within the community), “Facebook”, “Twitter”, and “all”. Some implementations allow selection of any subset of origination locations.
All illustrated in FIG. 5GG, some implementations include additional metric attributes 5096. In general, attributes are measurable from a user's interaction, and provide some useful context information to a user who reviews the data regarding the metrics associated with the interaction. In some instances the context information can be retrieved from a user profile (e.g., gender).
The metric attribute list 5098 illustrated in FIG. 5GG includes all of the metric attributes that correspond to the selected metric 5082. When the complete attribute list is larger than the space in the metric attribute panel 5022, the user interface shown in FIG. 5GG provides scroll bars or other scrolling mechanism so that all of the attributes are enabled to be viewed. In some implementations, a user selects just the needed attributes and the values for those attributes, and the data is correspondingly filtered. In some implementations, unselected attributes do not affect the data selection (equivalent to selecting “all” values for those attributes). In some implementations, a user using the attribute selector is required select a value for each of the attributes. In some implementations, the default value for each attribute is typically “all.”
Because the metric attributes are generally independent of each other, the number of attribute combinations is very large. Indeed, even with the small number of attributes in the list 5098, there can be over 2000 combinations of attribute values, creating more than 2000 distinct metrics involving post counts 5082. Without greater resources for computing and data storage, some implementations compute and store the post counts for all of the various combinations of attributes. In some implementations, the data for each type of post count is quickly available. In some implementations, however, this is too many metrics to track individually. But a user will, in some circumstances, desire post counts for any attribute combination, so the system cannot just omit the data. The system does not know which specific counts will be useful to users reviewing the data.
To overcome this problem, some implementations automatically aggregate some standard counts (e.g., total counts) based on historical information about what data people generally review. In addition, the system has an event logging framework that logs every atomic event. For example, when a user makes a post, the logging framework saves context information such as the interaction style, content type, device type, and origination of the post. Other events related to the post change over time, such as the interaction state and publication state, and as those states change, the logging framework tracks the changes. Therefore, even if a certain post count has not been computed, the underlying data is available, so the count can be computed later if needed. This allows a user to slice and dice the data according to the user's needs.
In some implementations, the system itself “learns” from the way people select aggregations. For example, if more people are viewing a metric with a certain combination of metric attributes, that combination of attributes can be promoted to a standard metric. In some implementations, promotion of customized metrics to standard metrics is applied to individual communities or forums rather than universally. For example, if a user of the “ACME Hi Fi” community frequently uses a specific combination of attributes for a metric, then that combination is, optionally, computed automatically on all future data for the “ACME Hi Fi” community. This can occur automatically, or based on a decision by the user (e.g., saving a metric with a specific combination of attributes as a named metric).
Although the preceding discussion of metric attributes was based on the example of the “post count” metric 5082, the same analysis applies to the other metrics as well. Some attributes depend on the specific metric (e.g., interaction state and interaction style), but other attributes are independent of the selected metric (e.g., device type).
FIGS. 5HH-5BBB illustrate how selected data from the multi-dimensional data set is displayed in the data display panel 5028 according to some implementations, based on the selection criteria in the various data selection interfaces (e.g., channel selector 5018, metric selector 5020, metric attribute selector 5022, time range selector 5024, and user selector 5026). In FIGS. 5HH-5VV, the time grain selector 5054 is set to “day,” so range sliders 5048 and 5050 can be set to any day, giving a time range of one or more days. Each respective point on the corresponding graph 5100 aggregates data for a corresponding single day. In the examples in FIGS. 5HH-5VV, the lower slider 5048 is placed somewhere in July, 2010, and the upper slider 5050 is placed somewhere in November, 2010. As seen in the graph 5100 in data display panel 5028, a subset of the available data for this time range are selectively displayed in the data display panel 5028. In some implementations, the y-axis range is selected to match the value range of the actual data (e.g., 1100 to 1700), as shown in FIG. 5HH.
In FIG. 5HH, the data displayed represents posts by all users, as indicated in the user selector panel 5026.
In FIG. 5JJ, a user has selected the “VIP Member” rank, which becomes the set of selected ranks 5114. The data display panel 5028 displays a graph 5102 corresponding to the “VIP member” rank (e.g., the selected division in the “who” dimension). In some implementations, the color or pattern used to display graph 5102 corresponds to the highlighted color or pattern of the corresponding selected rank. This correspondence is particularly useful when displaying multiple graphs 5102 and 5104 corresponding to multiple selected ranks 5114, as shown in FIG. 5KK. The blue-colored graph 5102 corresponds to the post count of the blue highlighted rank “VIP Members” over time, and the orange-colored graph 5104 corresponds to the post count of the orange highlighted rank “HiFi Employee” over time. This concept is illustrated further in FIG. 5LL, where a green-colored graph 5106 is added, corresponding to the post count of the green highlighted rank “Moderator” over time.
In FIG. 5MM, a user has switched the user selection method control 5056 to “users,” but has not yet selected any specific users. In this implementation, the three graphs 5102, 5104, and 5106 remain displayed in the data display panel 5028. In this way, if the user switches back to the previous view (by rank), there is no need to reselect the desired ranks for display. In other implementations, the device (e.g., device 110) displaying the user interface shown in FIG. 5MM immediately clears the graphs 5102, 5104, and 5106 from the data panel 5028 as soon as the user selection method is switched to “users.”
FIGS. 5NN and 5OO display graphs 5110 and 5112 corresponding to users Tim and Jason, respectively. In FIG. 5NN, the selected users 5108 is just “Tim,” so only graph 5110 including a post count for “Tim” over time, is displayed in the data display panel 5028. In FIG. 5OO, the selected users 5108 includes “Jason” as well, so the data display panel 5028 includes the additional graph 5112 corresponding to a post count of posts made by Jason over time. Just like in the user selection by “ranks” where the colors of the individual graphs correspond to the highlighting color of the selected ranks, here, the colors of the individual graphs correspond to the highlighting color of the selected users. In some implementations, shading or patterns are used to differentiate the individual graphs, with the same shading or pattern used to highlight the corresponding users in the selected user list 5108. In some implementations, labels are provided in the data display panel 5028 to identify the user associated with each graph, similar to the reference characters “5110” and “5112” in FIG. 5OO. In some implementations, a limit on the number of users that can be selected concurrently is imposed in order to prevent the data display panel from becoming too cluttered. In some implementations, the user is allowed to determine what and how much data is to be presented in the 5PP-5VV 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. 5PP 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. 5QQ.
In FIG. 5RR, 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. 5SS, 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. 5TT, 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. 5SS to FIG. 5TT 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. 5TT, the graph 5126 extends more vertically because of the change in scaling of the y-axis. In FIG. 5UU, 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. 5SS).
In FIG. 5VV, 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. 5VV has adjusted the scale on the y-axis. The graphs 5124 and 5126 are the same as in FIG. 5UU, but are compressed vertically so that they can appear with the graph 5128.
FIGS. 5PP-5VV 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. 5WW-5XX 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. 5WW-5XX, the time grain selector 5054 is set to “month” as illustrated in FIG. 5WW. In some implementations, 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.
FIGS. 5WW and 5XX illustrate how the treemap is updated in the data panel 5028 when a user switches metrics. In FIG. 5XX, 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., 60 posts for “Cutting edge Hi-Fi” for March, 2010, as shown in FIG. 5WW). 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. 5YY-5BBB illustrate graphical displays in the data display panel 5028 when there is a single time grain selected and the user selection is not “all users.” In FIG. 5YY, nodes “HiFi Ideas” 5184, “Coder Ideas” 5186, and “CodeCave Blog” 5188 are selected, and the device (e.g., device 110) displaying the user interface shown in FIG. 5YY updates the bar graphs accordingly. Because the data is grouped by roles (the “group by” arrow 5132 is pointing to the user roles), the total length of each bar corresponds to the sum of the data for each of the nodes. In some implementations, each bar is subdivided to indicate the contribution from each of the nodes, as indicated in FIG. 5YY. In some implementations, each node that is selected is highlighted with a different color, and the corresponding color is used in the bar graphs to identify the graph portion corresponding to each node. For example, in the bar graph for users in the “VIP” role 5182, the blue portion 5190 indicates the number of posts in the “Engage with HiFi” node 5172. Similarly, in this same bar graph, the orange portion 5192 identifies the number of posts to the “HiFi Ideas” node 5184, the green portion 5194 identifies the number of posts to the “Coder Ideas” node 5186, and the purple portion 5196 identifies the number of posts to the “CodeCave Blog” node 5188 by users in the various roles. Just like the blue portion 5190, these other portions are limited to users in the “VIP” role 5182. In some implementations, the colors of the bars used to display metric values in the data display panel for respective nodes correspond to the colors of the font (or other features of the selection icon) used to indicate selection of the respective nodes. For example, as shown in FIG. 5YY, the font and bars for the “Engage with HiFi” and “HiFi Ideas” nodes are blue and orange respectively.
In FIGS. 5ZZ and 5AAA, a user unselects nodes 5184 and 5186, so the corresponding portions are removed from the bar graphs. As shown here, some implementations continue to display the unselected nodes 5184 and 5186 in the channel selector 5018. FIGS. 5ZZ and 5AAA also illustrate that the scaling on the x-axis automatically adapts based on the new sizes of the bars. In this example, the maximum x-axis scale (post count) in FIG. 5YY is 300, which drops to 200 in FIG. 5ZZ, and drops further to 160 in FIG. 5AAA. In FIG. 5BBB, a user has unselected user role “TKB Editor” 5180, and the device (e.g., device 110) displaying the user interface shown in FIGS. 5ZZ-5AAA has thus removed the corresponding bar graph. Because the bar for the “TKB Editor” 5180 was the longest one in the bar graph in FIG. 5AAA, removing the bar causes the x-axis of the bar graph to be resealed again.
As shown in
In some implementations, as shown in
In some implementations, as shown in
In some implementations, as shown in
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
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
In some implementations, as shown in
As described in earlier parts of the specification and shown in
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 with reference to FIGS. 5A-5BBB) 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
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
In some implementations, as shown in
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.
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 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); 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.
Number | Date | Country | |
---|---|---|---|
61734927 | Dec 2012 | US |