The present disclosure relates to computing and data processing and in particular to comparisons of data over time.
Data analytics software applications enable users to view and analyze large sets of data. A user may use analytics software to view data points and aggregations based on specific criteria, such as category, type, or time period. Such information may be used to plan for future activities. In order to make decisions, it may be important for the planning user to understand how one set of data compares to another set of data over one or more time periods. For instance, a report of sales per month may not be sufficient on its own to inform a user of whether that month's sales was good or not. In order to determine whether the sales were good or not, the user would need to know whether the sales were higher or lower compared to sales in a previous time period. For example, the sales for one month may be compared to the previous month, or to the same month in the previous year, in order to determine the performance for that month. Such comparisons may be crucial to user's understanding of the data and they may enable the user to draw useful conclusions to guide their planning and decision making.
It would be advantageous for data analytics software to provide comparisons of data over time. The present disclosure addresses these issue and others, as further described below.
The present disclosure provides a computer system. The computer system includes one or more processors and one or more machine-readable medium coupled to the one or more processors. The one or more machine-readable medium store computer program code comprising sets instructions. The instructions are executable by the one or more processors to generate a visualization including a plurality of data points based on data retrieved by querying a server. The visualization being for display on a user interface. The instructions are further executable by the one or more processors to determine a selection of one or more selected data points of the plurality of data points. The selection being made using the user interface. The instructions are further executable by the one or more processors to determine that a context of the visualization is based on time. The instructions are further executable by the one or more processors to determine one or more data comparisons by comparing each of the one or more selected data points to a corresponding data point in a previous time period. The instructions are further executable by the one or more processors to generate a second visualization including the one or more selected data points and the one or more data comparisons for presentation in the user interface.
The present disclosure provides one or more non-transitory computer-readable medium storing computer program code. The computer program code including sets of instructions to generate a visualization including a plurality of data points based on data retrieved by querying a server. The visualization being for display on a user interface. The computer program code further including sets of instructions to determine a selection of one or more selected data points of the plurality of data points. The selection made using the user interface. The computer program code further including sets of instructions to determine that a context of the visualization is based on time. The computer program code further including sets of instructions to determine one or more data comparisons by comparing each of the one or more selected data points to a corresponding data point in a previous time period. The computer program code further including sets of instructions to generate a second visualization including the one or more selected data points and the one or more data comparisons for presentation in the user interface.
The present disclosure further provides a computer-implemented method. The method includes generating a visualization including a plurality of data points. The visualization may be based on data retrieved by querying a server. The visualization may be used for display on a user interface. The method further includes determining a selection of one or more selected data points of the plurality of data points. The selection may be made using the user interface. The method further includes determining that a context of the visualization is based on time. The method further includes determining one or more data comparisons by comparing each of the one or more selected data points to a corresponding data point in a previous time period. The method further includes generating a second visualization including the one or more selected data points and the one or more data comparisons for presentation in the user interface.
The following detailed description and accompanying drawings provide a better understanding of the nature and advantages of the present disclosure.
In the following description, for purposes of explanation, numerous examples and specific details are set forth in order to provide a thorough understanding of the present disclosure. Such examples and details are not to be construed as unduly limiting the elements of the claims or the claimed subject matter as a whole. It will be evident to one skilled in the art, based on the language of the different claims, that the claimed subject matter may include some or all of the features in these examples, alone or in combination, and may further include modifications and equivalents of the features and techniques described herein.
As mentioned above, it may be important for the planning user to understand how one set of data compares to another set of data over different time periods in order to plan and make decisions. For example, a report of sales per month may not be sufficient on its own to inform a business user of whether that month's sales was good or not. In order to determine whether the sales were good or not, the user would need to know whether the sales were higher or lower compared to a previous time period. To get this information, the sales for that month may be compared to the previous month or to the same month in the previous year, for example. Such comparisons may be crucial to user's understanding of the data and they may enable the user to draw useful conclusions to guide their planning and decision making. Such comparisons of data over time may be referred to as a “variance.” In some embodiments, these comparisons of data over time may be added on top of an existing visualization (e.g., a chart or graph) of data.
Providing the comparisons of data over time can be advantageous because it may enable users to determine trends and make decisions based on those trends. Accordingly, it would be advantageous for data analytics software to provide comparisons of data over time. However, it may be difficult for a designer of the software application to predict which types of comparisons may be useful to the user given that each user's data will be different. Furthermore, generating such comparisons of data may require detailed knowledge of the underlying data (e.g., the reports) and detailed knowledge of the data analytics software (e.g., menus and configuration settings), thereby limiting the number of people capable of creating comparisons of the data.
The present disclosure describes techniques for automatically recommending creation of comparisons of data over time in the user interface of an analytics application. By following the recommendations, comparisons of data over time may be configured by users without detailed knowledge of the underlying data and detailed knowledge of the data analytics software. The recommendations and the comparisons of data over time are described in further detail below.
The comparisons of data over time may be presented within a visualization of data (e.g., chart, graph, table, etc.) in a user interface of an analytics application, for example. The visualization may be presented within a collection of data visualizations (e.g., a dashboard, page, or story). Features of the present disclosure include automatically generating recommendations for creating comparisons over time based on the data used in a visualization. These recommendations may be presented to users as they view visualizations of data in the analytics application, within the visualization, along side the visualization, or within a menu corresponding to the visualization. Including recommendations to create comparisons of data over time along with the visualization is advantageous because it improves discoverability of the data comparisons feature, helping to ensure that such comparisons are included which may improve planning and decision making as described herein.
Another feature of the present disclosure is enabling creation of comparison of data for view-time users (e.g., non-designers or non-admin users) in addition to design-time users. In some prior solutions, view-time users may not have permission to modify the visualization to include comparisons of data, or the view-time users may have lacked the expertise to create such comparisons. The techniques described herein provide recommendations to view-time users in addition to the design-time users such that both may create and include comparisons of data in their visualizations. Furthermore, different view-time users may create and save (e.g., bookmark) different comparisons of data over time for the same visualization.
Given the importance of reviewing comparisons of data over time, the present disclosure automatically generates recommendations to create such variances or comparisons of data over time in situations where it would be possible to incorporate the comparisons into the visualization (e.g., a chart or graph in a user interface of an analytics application). For example, the recommendations may be displayed in a visualization configuration menu or panel used by a designer of the visualization, and also in a context-menu used by viewers of the visualization. By utilizing the recommendations, users may be able to apply a time filter to the visualization and create comparisons of data over time in just a few clicks in the user interface, as further described below.
In order to determine whether comparisons over time may be provided, the analytics application may determine whether time (e.g., a time period) is in a context of a particular visualization. For example, the visualization may be filtered based on a particular time period (e.g., a chart showing sales by region over the past year) or the visualization may include time along an axis (e.g., sales per month, per quarter, or per year). If time is in the visualization's context such that comparisons over time may be determined, then recommendations to create data comparisons based on time may be generated and presented in the user interface. The user may select the recommendation and in response, the software may calculate the comparisons and present them in the user interface (e.g., along side or on top of the data for the existing visualization). Furthermore, the user may select particular time periods (e.g., by selecting one or more bars of a bar graph, lines in a chart, or data points, etc.) and recommendations for comparisons may be generated based on those time periods and presented in the user interface. If the user selects the current time period (e.g., the current years, the current quarter, or the current month), the software may enable the user to add a dynamic comparison to the visualization that tracks the current time period. That is, the dynamic comparison may be automatically adjusted based on the current month as time goes on.
In addition, the user may want to view the data and dynamic comparisons in the visualization as they were in the past. The analytics application may provide a control selection in the user interface allowing the user to select a custom current time period that is different from the actual current time period. For example, if it is currently the fourth quarter, the user may use the control selection to set the second quarter as the current time period. The visualization may be updated to show data as if the current date were actually in the second quarter. Thus, the user can review data in the visualization as it would have displayed in the past, thereby enabling them to review the comparisons over time from that perspective.
An exemplary computer system providing the analytics application is described below with respect to
The improved techniques for recommending and generating time period data comparisons may be implemented in a front-end of a cloud-based application, for example. The cloud application may be implemented by a web browser of the front-end computer. The cloud application may query and receive data from a remote back-end computer over a network. The queried data may be used for visualizing the data (e.g., in charts and graphs). The data at the back-end computer may be referred to as being “in the cloud.” While cloud applications are described herein, the techniques for time based data comparisons may be implemented in any other software applications or platforms.
The front-end computer 150 may include a user interface software module 151, an interface data querying software module 152, an interface processing software module 153, and a front-end storage software module 154. In some embodiments, the user interface 151, data querying 152, and interface processing 153 modules may be implemented by a web browser executed by the front-end computer 150.
The user interface software module 151 may be configured to generate, render, and display a user interface. Example user interfaces that may be generated by the user interface software module 151 are shown in
The data querying software module 152 may be configured to generate queries to send to the back-end computer 170. The queries may request data to be processed and visualized on the user interface. For example, the data querying module 152 may send queries to the back-end server 170 to receive information on a data model to be visualized as charts and graphs in the user interface.
The interface processing software module 153 may be configured to determine or detect changes to the user interface, generate visualizations (e.g., charts and graphs), and generate recommendations for comparisons, as further described below.
The front-end storage module 154 may be configured to store data to and retrieve data from a memory of the front-end computer 150 (not shown). The memory may be a system memory or a file system of the front-end computer 150, for example. The front-end storage module 154 may handle storage of interface configuration data and models and storage of query responses, for example. The front-end computer 150 and the back-end computer 170 may be configured to communicate with each other over a network (not shown), such as the Internet or an intranet.
The back-end computer includes a data provisioning software module 171 and a back-end storage software module 172. The back-end computer 170 may be a server computer or a system of more than one computer, for example. The back-end computer 170 provides back-end processing for the cloud application provided by the front-end computer 150. The back-end computer 170 may be a server computer or a system of more than one computer, for example. The back-end computer 170 provides back-end processing for the cloud application provided by the front-end computer 150.
The data provisioning module 171 may be configured to receive and process the queries send by the data querying module 152 of the front-end computer 150. For example, the back-end computer may store a dataset formatted from source data (e.g., reports or logs) and a data model may be generated based on the data set. The data provisioning module 171 may provide information of the data model in response to queries from the front-end computer 150. The front-end computer 150 may use the information included in the query responses sent by the data provisioning module 171 to generate charts and/or graphs of the model generated based on the dataset, for example. The data model to be visualized as charts and graphs may include measures and dimensions. A “measure” may refer to a set of category of a numerical values in a model. For example, gross margin, sales price, quantity sold, revenue, and discount may be measures in the model. Values of the same measure can be summed together to get a cumulative value. A “dimension” may refer to a qualitative description of the data in the model. For example, time (e.g., year, quarter, month, etc.), category, location, product, manager, and store may be dimensions in the model.
The features and advantages of the analytics application providing recommendations for comparisons of data over time are further described below.
At 201, the method may generate a visualization including a plurality of data points based on data retrieved by querying a server, the visualization for display on a user interface. An exemplary visualization including a plurality of data points based on data retrieved by a server is described below with respect to
At 202, the method may determine a selection of one or more selected data points of the plurality of data points. The selection may be made using the user interface. An example of a selection of one or more selected data points of the plurality of data points is described below with respect to
At 203, the method may determine that a context of the visualization is based on time. For example, time or a time period may be a dimension of the visualization such that it is along an axis, or time may be used to filter the data being shown in the visualization. If a context of the visualization is based on time, then it may be possible to determine comparisons of data over time. Referring to
At 204, the method may determine one or more data comparisons by comparing each of the one or more selected data points to a corresponding data point in a previous time period. For example, if the period is quarters of the year, the data points for a particular quarter may be compared to the preceding quarter. An example of the data comparisons is described below with respect to
At 205, the method may generate a second visualization including the one or more selected data points and the one or more data comparisons for presentation in the user interface. An example of a visualization including the one or more data comparisons is described below with respect to As shown in
In some embodiments, the method may further determine whether the one or more selected data points includes a current time period. An example of one or more selected data points including a current time period is described below with respect to
In some embodiments, the method may further generate a recommendation, for displaying in the user interface, to generate dynamic comparisons based on the determination of whether the one or more selected data points includes the current time period. An example of such a recommendation is described below with respect to
Referring back to
In this example, the current time (e.g., the actual date that the user is using the software and viewing this visualization) is within Q3 of the year 2020. In
In order to make the recommendations, the software determines that time is in the visualization (i.e., it is along the x-axis) and that the current time period is not selected (i.e., Q3 is not selected). The software generates recommended time-based data comparisons based on the user's selection of the two data points. In this example, the recommended comparisons are comparisons to the previous period, the previous year, and the previous quarter. The software may be configured such that the “previous period” comparison may change along with the time hierarchy level (e.g., year, quarter, month, etc.) of the visualization. For example, if the user sets the visualization to display data by year, then the previous period comparison will be year to year. If the user sets the visualization to display by month, then the previous period comparison will be month to month.
In this example, the current time (e.g., the actual date that the user is using the software and viewing this visualization) is within Q3 of the year 2020. In
As shown in
Another advantage of the techniques described herein is that a viewer of the visualization (e.g., the visualizations shown in
For example, as shown in
An example computer system 1010 is illustrated in
Computer system 1010 may be coupled using bus 1005 to a display 1012 for displaying information to a computer user. An input device 1011 such as a keyboard, touchscreen, and/or mouse is coupled to bus 1005 for communicating information and command selections from the user to processor 1001. The combination of these components allows the user to communicate with the system. In some systems, bus 1005 represents multiple specialized buses, for example.
Computer system also includes a network interface 1004 coupled with bus 1005. Network interface 1004 may provide two-way data communication between computer system 1010 and a network 1020. The network interface 1004 may be a wireless or wired connection, for example. Computer system 1010 can send and receive information through the network interface 1004 across a local area network, an Intranet, a cellular network, or the Internet, for example. In the Internet example, a browser, for example, may access data and features on backend systems that may reside on multiple different hardware servers 1031-1034 across the network. The servers 1031-1034 may be part of a cloud computing environment, for example.
The computer system 1010 may implement a computer implemented method for generating comparisons of data. The computer-implemented method may include generating a visualization including a plurality of data points based on data retrieved by querying a server, the visualization for display on a user interface. The computer-implemented method may include determining a selection of one or more selected data points of the plurality of data points, the selection made using the user interface. The computer-implemented method may include determining that a context of the visualization is based on a time period. The computer-implemented method may include determining one or more data comparisons by comparing each of the one or more selected data points to a corresponding data point in a previous time period. The computer-implemented method may include generating a second visualization including the one or more selected data points and the one or more data comparisons for presentation in the user interface.
In some embodiments, the determination that the context of the visualization is based on time may include determining that a time period is used along an axis of the visualization or determining that the visualization is filtered based on the time period.
In some embodiments, the computer-implemented method may include generating a recommendation, for displaying in the user interface, to generate comparisons based on the determination that the context of the visualization is based on time.
In some embodiments, the computer-implemented method may include determining whether the one or more selected data points includes a current time period. The computer-implemented method may also include generating a recommendation, for displaying in the user interface, to generate dynamic comparisons based on the determination of whether the one or more selected data points includes the current time period.
In some embodiments, the data comparisons are dynamically determined based on the current time period.
In some embodiments, the current time period is one of the current year, the current quarter, or the current month.
In some embodiments, the visualization is a bar chart or a line chart.
The above description illustrates various embodiments of the present disclosure along with examples of how aspects of the particular embodiments may be implemented. The above examples should not be deemed to be the only embodiments, and are presented to illustrate the flexibility and advantages of the particular embodiments as defined by the following claims. Based on the above disclosure and the following claims, other arrangements, embodiments, implementations, and equivalents may be employed without departing from the scope of the present disclosure as defined by the claims.
This application claims the benefit of U.S. Provisional Patent Application No. 63/066,764, titled “TIME PERIOD DATA COMPARISON” and filed on Aug. 17, 2020, the content of which is hereby incorporated herein by reference in its entirety for all purposes.
Number | Date | Country | |
---|---|---|---|
63066764 | Aug 2020 | US |