Automated generation of dashboards for scorecard metrics and subordinate reporting

Information

  • Patent Grant
  • 7716592
  • Patent Number
    7,716,592
  • Date Filed
    Thursday, March 30, 2006
    18 years ago
  • Date Issued
    Tuesday, May 11, 2010
    14 years ago
Abstract
An interactive dashboard providing scorecard presentation with subordinate reports is automatically generated and configured based on centrally managed metadata definitions. The dashboard may be customized based on subscriber credentials, past preferences, and the like. The dashboard may be deployed to one or more locations to be consumed and further customized by end users.
Description
BACKGROUND

Key Performance Indicators, also known as KPI or Key Success Indicators (KSI), help an organization define and measure progress toward organizational goals. Once an organization has analyzed its mission, identified all its stakeholders, and defined its goals, it needs a way to measure progress toward those goals. Key Performance Indicators are used to provide those measurements.


Scorecards are used to provide detailed and summary analysis of KPI's and aggregated KPI's such as KPI groups, objectives, and the like. Scorecard calculations are typically specific to a defined hierarchy of the above mentioned elements, selected targets, and status indicator schemes. Business logic applications that generate, author, and analyze scorecards are typically enterprise applications with multiple users (subscribers), designers, and administrators. It is not uncommon, for organizations to provide their raw performance data to a third party and receive scorecard representations, analysis results, and similar reports.


Scorecards and dashboards provide “at-a-glance” information about business performance across the enterprise. While scorecards provide a visual representation of standard KPIs, dashboards provide an illustrative representation of business performance across an entire organization. Dashboards highlight critical areas of interest against which further detailed information may be requested.


Some business applications are limited in coordinating scorecard services. Typically, manual configuration is required to create an interactive dashboard where a user can drill down across metrics in a scorecard. Other applications create a dashboard by first creating a website, then creating a storage container (also referred to as “list”), creating a special form of the web page for that list, and adding the appropriate web parts to configure them in the desired format with the desired associations.


It is with respect to these and other considerations that the present invention has been made.


SUMMARY

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.


Aspects are directed to automatically generating a dashboard template based on a scorecard selection and enabling a subscriber to customize the dashboard. Definitions associated with the template are stored in metadata. The dashboard may be deployed to one or more locations to be consumed and further customized by end users independent of a web presentation platform.


These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of aspects as claimed.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of an exemplary computing operating environment;



FIG. 2 illustrates a system where example embodiments may be implemented;



FIG. 3 illustrates an example scorecard architecture according to embodiments;



FIG. 4 illustrates a screenshot of an example scorecard;



FIG. 5 illustrates an example deployment UI for generating dashboards with scorecard metrics and subordinate reporting;



FIG. 6 illustrates a conceptual diagram of a scorecard presentation with zones for applications that provide subordinate reporting based on scorecard information;



FIG. 7 illustrates different examples of subordinate report placement in a scorecard presentation;



FIG. 8 illustrates a screenshot of an example scorecard presentation with multiple associated zones; and



FIG. 9 illustrates a logic flow diagram of a process for automated generation of dashboards with scorecard metrics and subordinate reporting in a business logic system.





DETAILED DESCRIPTION

As briefly described above, a dashboard providing a scorecard view along with selected subordinate reports may be defined based on subscriber selections and deployed to one or more servers using centrally managed metadata. In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.


Referring now to the drawings, aspects and an exemplary computing operating environment will be described. FIG. 1 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. While the embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.


Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.


Embodiments may be implemented as a computer process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.


With reference to FIG. 1, one exemplary system for implementing the embodiments includes a computing device, such as computing device 100. In a basic configuration, the computing device 100 typically includes at least one processing unit 102 and system memory 104. Depending on the exact configuration and type of computing device, the system memory 104 may be volatile (such as RAM), non-volatile (such as ROM, flash memory, etc.) or some combination of the two. System memory 104 typically includes an operating system 105 suitable for controlling the operation of a networked personal computer, such as the WINDOWS® operating systems from MICROSOFT CORPORATION of Redmond, Wash. The system memory 104 may also include one or more software applications such as program modules 106, scorecard application 120, dashboard module 122, and reporting application(s) 124. Scorecard application 120 manages business evaluation methods, computes KPI's, and provides scorecard data to reporting application(s) 124. In some embodiments, scorecard application 120 may itself generate reports based on metric data.


Dashboard module 122 manages coordination and presentation of subordinate reports with scorecard application 120. Dashboard module 122 may be an integrated part of scorecard application 120 or a separate application. Scorecard application 120, dashboard module 122, and reporting application(s) 124 may communicate between themselves and with other applications running on computing device 100 or on other devices. Furthermore, any one of scorecard application 120, dashboard module 122, and reporting application(s) 124 may be executed in an operating system other than operating system 105. This basic configuration is illustrated in FIG. 1 by those components within dashed line 108.


The computing device 100 may have additional features or functionality. For example, the computing device 100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 1 by removable storage 109 and non-removable storage 110. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. System memory 104, removable storage 109 and non-removable storage 110 are all examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computing device 100. Any such computer storage media may be part of device 100. Computing device 100 may also have input device(s) 112 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 114 such as a display, speakers, printer, etc. may also be included. These devices are well known in the art and need not be discussed at length here.


The computing device 100 may also contain communication connections 116 that allow the device to communicate with other computing devices 118, such as over a network in a distributed computing environment, for example, an intranet or the Internet. Communication connection 116 is one example of communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.


Referring to FIG. 2, a system where example embodiments may be implemented, is illustrated. System 200 may comprise any topology of servers, clients, Internet service providers, and communication media. Also, system 200 may have a static or dynamic topology. The term “client” may refer to a client application or a client device employed by a user to perform business logic operations. Scorecard service 202, database server 204, and report server 206 may also be one or more programs or a server machine executing programs associated with the server tasks. Both clients and application servers may be embodied as single device (or program) or a number of devices (programs). Similarly, data sources may include one or more data stores, input devices, and the like.


A business logic application may be run centrally on scorecard service 202 or in a distributed manner over several servers and/or client devices. Scorecard service 202 may include implementation of a number of information systems such as performance measures, business scorecards, and exception reporting. A number of organization-specific applications including, but not limited to, financial reporting, analysis, marketing analysis, customer service, and manufacturing planning applications may also be configured, deployed, and shared in system 200. In addition, the business logic application may also be run in one or more client devices and information exchanged over network(s) 210.


Data sources 212, 214, and 216 are examples of a number of data sources that may provide input to scorecard service 202 through database server 204. Additional data sources may include SQL servers, databases, non multi-dimensional data sources such as text files or EXCELS sheets, multi-dimensional data source such as data cubes, and the like. Database server 204 may manage the data sources, optimize queries, and the like.


Users may interact with scorecard service 202 running the business logic application from client devices 222, 224, and 226 over network(s) 210. In one embodiment, additional applications that consume scorecard-based data may reside on scorecard service 202 or client devices 222, 224, and 226. Examples of such applications and their relation to the scorecard application are provided below in conjunction with FIG. 3.


Report server 206 may include reporting applications, such as charting applications, alerting applications, analysis applications, and the like. These applications may receive scorecard data from scorecard service 202 and provide reports directly or through scorecard service 202 to clients.


Network(s) 210 may include a secure network such as an enterprise network, or an unsecure network such as a wireless open network. Network(s) 210 provide communication between the nodes described above. By way of example, and not limitation, network(s) 210 may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.


Many other configurations of computing devices, applications, data sources, data distribution and analysis systems may be employed to implement a business logic application automatically generating dashboards with scorecard metrics and subordinate reporting.


Now referring to FIG. 3, example scorecard architecture 300 is illustrated. Scorecard architecture 300 may comprise any topology of processing systems, storage systems, source systems, and configuration systems. Scorecard architecture 300 may also have a static or dynamic topology.


Scorecards are a simple method of evaluating organizational performance. The performance measures may vary from financial data such as sales growth to service information such as customer complaints. In a non-business environment, student performances and teacher assessments may be another example of performance measures that can employ scorecards for evaluating organizational performance. In the exemplary scorecard architecture 300, a core of the system is scorecard engine 308. Scorecard engine 308 may be an application that is arranged to evaluate performance metrics. Scorecard engine 308 may be loaded into a server, executed over a distributed network, executed in a client device, and the like.


In addition to performing scorecard calculation, scorecard engine may also provide report parameters associated with a scorecard to other applications 318. The report parameters may be determined based on a subscriber request or a user interface configuration. The user interface configuration may include a subscriber credential or a subscriber permission attribute. The report parameter may include a scorecard identifier, a scorecard view identifier, a row identifier, a column identifier, a page filter, a performance measure group identifier, or a performance measure identifier. The performance measure may be a KPI, a KPI group, or an objective. The page filter determines a period and an organizational unit for application of the scorecard calculations.


Data for evaluating various measures may be provided by a data source. The data source may include source systems 312, which provide data to a scorecard cube 314 or to the scorecard service directly. Source systems 312 may include multi-dimensional databases such as an Online Analytical Processing (OLAP) database, other databases, individual files, and the like, that provide raw data for generation of scorecards. Scorecard cube 314 is a multi-dimensional database for storing data to be used in determining Key Performance Indicators (KPIs) as well as generated scorecards themselves. As discussed above, the multi-dimensional nature of scorecard cube 314 enables storage, use, and presentation of data over multiple dimensions such as compound performance indicators for different geographic areas, organizational groups, or even for different time intervals. Scorecard cube 314 has a bi-directional interaction with scorecard engine 308 providing and receiving raw data as well as generated scorecards.


Scorecard database 316 is arranged to operate in a similar manner to scorecard cube 314. In one embodiment, scorecard database 316 may be an external database providing a caching service that may also be used as a redundant back-up database service.


Scorecard builder 302 may be a separate application, a part of the performance evaluation application, and the like. Scorecard builder 302 is employed to configure various parameters of scorecard engine 308 such as scorecard elements, default values for actuals, targets, and the like. Scorecard builder 302 may include a user interface such as a web service, a Graphical User Interface (GUI), and the like.


Strategy map builder 304 is employed for a later stage in scorecard generation process. As explained below, scores for KPIs and parent nodes such as Objective and Perspective may be presented to a user in form of a strategy map. Strategy map builder 304 may include a user interface for selecting graphical formats, indicator elements, and other graphical parameters of the presentation.


Data Sources 306 may be another source for providing raw data to scorecard engine 308. Data sources may be comprised of a mix of several multi-dimensional and relational databases or other Open Database Connectivity (ODBC)-accessible data source systems (e.g. Excel, text files, etc.). Data sources 306 may also define KPI mappings and other associated data.


Scorecard architecture 300 may include scorecard presentation 310. This may be an application to deploy scorecards, customize views, coordinate distribution of scorecard data, and process web-specific applications associated with the performance evaluation process. For example, scorecard presentation 310 may include a web-based printing system, an email distribution system, and the like. A user interface for scorecard presentation 310 may also include an overview of available scorecards for a subscriber to select from. Scorecard presentation 310 may further include a matrix or a list presentation of the scorecard data. The scorecard presentation and one or more zones for other applications may be displayed in an integrated manner.


Dashboard module 320 is configured to interact with scorecard engine 308, scorecard presentation 310, other applications 318, and manage automated generation of dashboards with scorecard metrics and subordinate reporting.


Other applications 318 may include any application that receives data associated with a report parameter and consumes the data to provide a report, perform analysis, provide alerts, perform further calculations, and the like. The data associated with the report parameter includes content data and metadata. Other applications may be selected based on the report parameter, a subscriber request, or a user interface configuration. The user interface configuration may include a subscriber credential or a subscriber permission attribute. Other applications 318 may include a graphical representation application, a database application, a data analysis application, a communications application, an alerting application, or a word processing application.



FIG. 4 illustrates a screenshot of an example scorecard. As explained before, Key Performance Indicators (KPIs) are specific indicators of organizational performance that measure a current state in relation to meeting the targeted objectives. Decision makers may utilize these indicators to manage the organization more effectively.


When creating a KPI, the KPI definition may be used across several scorecards. This is useful when different scorecard managers might have a shared KPI in common. The shared use of KPI definition may ensure a standard definition is used for that KPI. Despite the shared definition, each individual scorecard may utilize a different data source and data mappings for the actual KPI.


Each KPI may include a number of attributes. Some of these attributes include frequency of data, unit of measure, trend type, weight, and other attributes. The frequency of data identifies how often the data is updated in the source database (cube). The frequency of data may include: Daily, Weekly, Monthly, Quarterly, and Annually.


The unit of measure provides an interpretation for the KPI. Some of the units of measure are: Integer, Decimal, Percent, Days, and Currency. These examples are not exhaustive, and other elements may be added without departing from the scope of the invention.


A trend type may be set according to whether an increasing trend is desirable or not. For example, increasing profit is a desirable trend, while increasing defect rates is not. The trend type may be used in determining the KPI status to display and in setting and interpreting the KPI banding boundary values. The trend arrows displayed in scorecard 400 indicate how the numbers are moving this period compared to last. If in this period the number is greater than last period, the trend is up regardless of the trend type. Possible trend types may include: Increasing Is Better, Decreasing Is Better, and On-Target Is Better.


Weight is a positive integer used to qualify the relative value of a KPI in relation to other KPIs. It is used to calculate the aggregated scorecard value. For example, if an Objective in a scorecard has two KPIs, the first KPI has a weight of 1, and the second has a weight of 3 the second KPI is essentially three times more important than the first, and this weighted relationship is part of the calculation when the KPIs' values are rolled up to derive the values of their parent Objective.


Other attributes may contain pointers to custom attributes that may be created for documentation purposes or used for various other aspects of the scorecard system such as creating different views in different graphical representations of the finished scorecard. Custom attributes may be created for any scorecard element and may be extended or customized by application developers or users for use in their own applications. They may be any of a number of types including text, numbers, percentages, dates, and hyperlinks.


One of the benefits of defining a scorecard is the ability to easily quantify and visualize performance in meeting organizational strategy. By providing a status at an overall scorecard level, and for each perspective, each objective or each KPI rollup, one may quickly identify where one might be off target. By utilizing the hierarchical scorecard definition along with KPI weightings, a status value is calculated at each level of the scorecard.


First column of scorecard 400 shows example elements perspective 420 “Manufacturing” with objectives 422 and 424 “Inventory” and “Assembly” (respectively) reporting to it. Second column 402 in scorecard 400 shows results for each measure from a previous measurement period. Third column 404 shows results for the same measures for the current measurement period. In one embodiment, the measurement period may include a month, a quarter, a tax year, a calendar year, and the like.


Fourth column 406 includes target values for specified KPIs on scorecard 400. Target values may be retrieved from a database, entered by a user, and the like. Column 408 of scorecard 400 shows status indicators.


Status indicators 430 convey the state of the KPI. An indicator may have a predetermined number of levels. A traffic light is one of the most commonly used indicators. It represents a KPI with three-levels of results—Good, Neutral, and Bad. Traffic light indicators may be colored red, yellow, or green. In addition, each colored indicator may have its own unique shape. A KPI may have one stoplight indicator visible at any given time. Indicators with more than three levels may appear as a bar divided into sections, or bands. Column 416 includes trend type arrows as explained above under KPI attributes. Column 418 shows another KPI attribute, frequency.



FIG. 5 illustrates an example deployment UI for generating dashboards with scorecard metrics and subordinate reporting. Deployment UI 500 shows an example of many ways of interfacing with a subscriber to generate and deploy a dashboard based on scorecard information. First portion of the UI designated by reference numeral 510 provides options for the dashboard in dropdown menu style. The options are title 511 (e.g. “FY 06 Q1 Review”), document library 512 for defining a source for support documentation, layout 513 for the layout of the scorecard presentation, and reports views 514 to indicate a number of the subordinate reports to be presented along with the scorecard. A preview 515 may also be included to provide feedback to the subscriber. A deploy button allows the subscriber to deploy the dashboard once all options have been selected. Progress monitor 516 shows a status of deployment progress.


A second portion of the deployment UI designated by reference numeral 520 includes a network address (Site URL 522) for the deployment location. A list of already deployed pages 524 is also provided. Control buttons 526 enable the subscriber to deploy a selected page, open for editing, or remove from the list of available pages.


Embodiments are not limited to the example UI layouts and methods described above. Dashboard options may be provided and input received from subscribers in many other ways including, but not limited to, drag and drop style controls, directory-tree style listing of options, graphic (icons) presentation of options, and the like.



FIG. 6 illustrates conceptual diagram 600 of a scorecard presentation with zones for applications that consume scorecard information. Diagram 600 includes scorecard view 602 with scorecard 620, overview 604 and zones 1 through 3 (606, 608, 610).


Scorecard view 602 is the scorecard presentation screen of a scorecard application. It presents example scorecard 620 for “Manufacturing Evaluation” for first quarter of 2005 (Q1-2005). Elements of scorecard 620 such as KPI's, objectives, columns, indicators, and the like have been described previously. Overview 604 is another user interface (UI) of the scorecard application that presents a subscriber available scorecards for selection. In some embodiments, scorecard 620 may be selected dynamically based on subscriber credentials, UI configuration, and the like.


According to some embodiments, the scorecard application may include one or more zones for displaying user interfaces of other applications associated with the scorecard application. Such applications may include a graphical representation application, a database application, a data analysis application, a communications application, an alerting application, and a word processing application. These applications may receive data associated with the scorecard and present various UI's to the user such as an interactive chart, an alert UI, a communication forum for subscribers, and the like. A layout of the zones may be determined by a default configuration of the scorecard application, user selection, and the like.


According to one embodiment, page filters, row slices, column slices, and the like may be sent from a scorecard view through a query string to another application. This enables a subscriber to create a custom view that displays selected data in an active cell in a scorecard view. The information may be passed to the other application in form of a query string.


In another embodiment, a query string is generated when the subscriber selects data in a scorecard that has page filters. The items in the query string may be in form of well-formed XML fragments. Each XML fragment may contain a root node for page filters, row slices, and column slices. The root node might or might not contain child nodes, depending on what page filters, row slices, or column slices are passed. Other information that is passed in the query string may include the scorecard ID, the objective ID, and the KPI measure ID.


Data associated with the scorecard (e.g. query strings in form of XML fragments) may be provided to the other applications in zones 606, 608, and 610. According to another embodiment, data associated with the scorecard may be provided by a target application to the scorecard application for updating the scorecard. Blocks and illustrations of diagram 600 are exemplary, and do not constitute a limitation on embodiments. Other embodiments may be implemented using different number of zones, different layouts, and scorecard views.



FIG. 7 illustrates different examples of subordinate report placement in a scorecard presentation. Dashboard layout may include a scorecard presentation accompanied by a number of selected subordinate reports. As described previously, the subordinate reports may include charts, diagrams, analyses, as well as discussion threads, document libraries, and the like. Placement of subordinate reports in the dashboard layout in relation to the scorecard presentation may be based on size and number of subordinate reports, as well as their type(s).


For example, dimensions of reports may be selected based on their information content. A chart may be presented in a more proportional window, while a spreadsheet analysis may be presented in a more elongated window (zone). Example layout 702 shows a scorecard presentation with zones 1 and 2 to its right for two separate subordinate reports, and zone 3 at the bottom for yet another report. A width of zone 3 is selected to match the total width of the scorecard presentation and zones 1 and 2 adjacent to it.


Example layout 704 shows a similar placement of the three zones with zones 1 and 2 placed laterally this time, instead of one over the other. Zone 3 is still dimensioned to match the total width of the zones and scorecard presentation above it. Example layout 706 shows the scorecard presentation and zones 1, 2 similarly positioned to example layout 702, while zone 3 is not sized to match the total width this time. The change in the dimension may be intended to accommodate a type of subordinate report to be placed in zone 3.



FIG. 8 illustrates a screenshot of an example scorecard presentation with multiple associated zones. Scorecard 802 is shown with two subordinate charts (806 and 808) in an application editor (830).


Scorecard 802 summarizes metrics for a particular division and financial period of an organization. Page filters, such as departments, organizational units, and period, are provided above the scorecard presentation in dropdown menu style. Scorecard 802 includes different levels of KPI's and objectives along with associated actuals, targets, and status indicators. By selecting among the available time periods and organizational units, a subscriber changes source data for the scorecard.


Subordinate reports 806 and 808 show two different charts based on scorecard 802. The data for the presented charts may be passed by the scorecard application to the charting application such as Microsoft EXCEL®. Other applications such as those listed before may also be presented in subordinate reports 806 and 808. Furthermore, a layout of the subordinate reports may be set depending on the report type, scorecard presentation dimensions, and the like.


While the subordinate reports are shown with limited UI elements, other applications may include UI elements that enable a subscriber to submit modifications to the report parameters (scorecard elements that are passed to the applications). In that case, the submitted modifications may be received by the scorecard application and scorecard 802 updated based on the modifications. Other scorecard presentations, target applications, status indicators, and the like may be implemented using the principles described herein.


Dashboard 800 includes additional elements such as RSS Viewer application 822, which may be used to display RSS feeds associated with the scorecard application and the presented scorecard. Further elements for dashboard 800 include Contacts 812, which lists names and contact information for subscribers associated with the presented scorecard; General Discussion forum 814, which may be used to facilitate a discussion among subscribers; and Announcements 816, which may be used to provide information such as alerts to subscribers related to the presented scorecard.


For example, alerts with different conditions may be assigned to the scores specific to individual levels or aggregate levels (e.g. objectives). Alerts may be based on absolute value comparisons (e.g. actual to target, actual to a threshold, and the like), status indicators (e.g. traffic light scheme, banding, trend scheme), range comparisons (e.g. actual or actual to target ratio within a range, outside a range, and the like), or on/off target determinations.


The example implementation of a dashboards, scorecards, and subordinate reports in FIGS. 3 through 8 is intended for illustration purposes only and should not be construed as a limitation on embodiments. Other embodiments may be implemented using the principles described herein.



FIG. 9 illustrates a logic flow diagram of a process for automated generation of dashboards with scorecard metrics and subordinate reporting in a business logic system. Process 900 may be implemented in a business logic application.


Process 900 begins with operation 902, where a scorecard selection is received. The scorecard selection may be received from a subscriber selection among a number of available scorecards, from subscriber credentials, from past preferences, and the like. The scorecard selection is typically associated with a number of subordinate reports. According to some embodiments, an association between KPIs, scorecards, and subordinate reports is provided, in that each KPI has a subordinate report, and as KPIs are assembled into a scorecard to evaluate a particular ensemble of metrics, the pre-defined subordinate reports and associated analytics are brought along. Moreover, the behavior of the subordinate reports may also be predefined and designed to work within the dashboard layout selected. Processing moves from operation 902 to operation 904.


At operation 904, a number of dashboard layout options are provided to the subscriber. Dashboard layout options may depend on subscriber credentials (or permissions), the scorecard selection, system resources, and the like. Dashboard layout options may be provided along with a preview of available options. Processing advances from operation 904 to operation 906.


At operation 906, a dashboard layout selection is received. The dashboard layout selection may include the selected scorecard presentation along with its associated subordinate reports in a selected format. A “What You Get Is What You See” (WYSIWYG) preview may be provided upon receiving the dashboard layout selection.


At following operation 908, metadata is updated with the dashboard layout information. To instantiate, deploy, and centrally manage a dashboard independent of a web platform, layout information including links may be provided in the metadata eliminating a need to generate a separate document or documents integrating the scorecard components to form the dashboard. Processing moves from operation 98 to operation 910.


At operation 910, the dashboard is instantiated. Following instantiation of the dashboard, it may be deployed at operation 912 to one or more servers for consumption and/or further customization by end users, or to be centrally managed and only viewed by end users. After operation 912, processing moves to a calling process for further actions.


The operations included in process 900 are for illustration purposes. Automatic generation of dashboards with scorecard metrics and subordinate reporting may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein.


The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.

Claims
  • 1. A method to be executed at least in part in a computing device for automated generation of a dashboard based on scorecard metrics, comprising: providing a predetermined number of dashboard layout options in response to a scorecard selection, wherein each dashboard layout option includes a scorecard presentation and at least one subordinate report;receiving a dashboard layout selection; andinstantiating the dashboard based on the scorecard selection and the dashboard layout selection, wherein the layout information is included in metadata.
  • 2. The method of claim 1, further comprising: receiving a location selection; anddeploying the dashboard to the selected location.
  • 3. The method of claim 2, further comprising providing a preview of the instantiated dashboard before deployment.
  • 4. The method of claim 2, wherein the location defines one of a server and a place in an enterprise architecture.
  • 5. The method of claim 2, further comprising setting permissions for subscribers upon deployment.
  • 6. The method of claim 5, further comprising enabling a subscriber to further customize the dashboard after deployment.
  • 7. The method of claim 1, wherein the at least one subordinate report is generated based on the scorecard selection.
  • 8. The method of claim 1, wherein the dashboard layout selection is determined based on a subscriber credential.
  • 9. The method of claim 1, wherein the dashboard layout selection is determined based on a set of past subscriber preferences.
  • 10. The method of claim 1, further comprising generating a workflow upon deployment.
  • 11. A computer-readable storage medium having computer executable instructions for generating and managing a dashboard in a business logic system, the instructions comprising: determining available dashboard options based on a selection of a scorecard and subordinate reports associated with the scorecard;instantiating a dashboard in response to receiving a dashboard selection, wherein layout information associated with the dashboard is stored in metadata; anddeploying the dashboard to at least one location in an organizational architecture.
  • 12. The computer-readable storage medium of claim 11, wherein the deployed dashboard is one of centrally managed using the layout information in the metadata and locally customized by a subscriber.
  • 13. The computer-readable storage medium of claim 11, wherein the location includes a server.
  • 14. The computer-readable storage medium of claim 11, wherein determining the dashboard options includes dynamically determining size and placement of the scorecard presentation and the subordinate reports based on a type and number of the subordinate reports.
  • 15. The computer-readable storage medium of claim 11, wherein the instructions further include providing a link in the deployed dashboard for a subscriber to activate actions associated with a business process whose performance the scorecard measures.
  • 16. A system for generating a dashboard based on a scorecard and subordinate reports, comprising: a scorecard application configured to compute scorecard metrics and provide a scorecard presentation based on the computed scorecard metrics;a reporting application configured to provide at least one subordinate report based on the scorecard presentation; anda dashboard module configured to: present a predetermined number of dashboard layout options, wherein each dashboard layout option includes a scorecard presentation and at least one subordinate report;receive a dashboard layout selection; andinstantiate the dashboard based on the dashboard layout selection, wherein the layout information is included in metadata.
  • 17. The system of claim 16, wherein the dashboard module is further configured to deploy the dashboard to at least one location such that further customization can be performed using the metadata.
  • 18. The system of claim 16, wherein the dashboard module is further configured to deploy the dashboard to a plurality of locations, and wherein the dashboard is centrally managed using the layout information in the metadata.
  • 19. The system of claim 16, wherein the dashboard layout options are determined based on the scorecard presentation and a number and types of subordinate reports to be included in the dashboard.
  • 20. The system of claim 16, wherein the dashboard module is integrated with the scorecard application.
US Referenced Citations (182)
Number Name Date Kind
5018077 Healey May 1991 A
5253362 Nolan Oct 1993 A
5473747 Bird Dec 1995 A
5675553 O'Brien, Jr. et al. Oct 1997 A
5680636 Levine Oct 1997 A
5758351 Gibson et al. May 1998 A
5797136 Boyer et al. Aug 1998 A
5832504 Tripathi et al. Nov 1998 A
5845270 Schatz Dec 1998 A
5926794 Fethe Jul 1999 A
5956691 Powers Sep 1999 A
6012044 Maggioncalda et al. Jan 2000 A
6023714 Hill et al. Feb 2000 A
6119137 Smith et al. Sep 2000 A
6141655 Johnson Oct 2000 A
6163779 Mantha Dec 2000 A
6182022 Mayle et al. Jan 2001 B1
6216066 Goebel et al. Apr 2001 B1
6230310 Arrouye et al. May 2001 B1
6233573 Bair May 2001 B1
6249784 Macke Jun 2001 B1
6308206 Singh Oct 2001 B1
6321206 Honarvar Nov 2001 B1
6345279 Li et al. Feb 2002 B1
6389434 Rivette May 2002 B1
6393406 Eder May 2002 B1
6421670 Fourman Jul 2002 B1
6493733 Pollack Dec 2002 B1
6516324 Jones Feb 2003 B1
6519603 Bays Feb 2003 B1
6529215 Golovchinsky et al. Mar 2003 B2
6578004 Cimral Jun 2003 B1
6628312 Rao Sep 2003 B1
6658432 Alavi et al. Dec 2003 B1
6677963 Mani et al. Jan 2004 B1
6687878 Eintracht Feb 2004 B1
6772137 Hurwood et al. Aug 2004 B1
6775675 Nwabueze Aug 2004 B1
6831575 Wu et al. Dec 2004 B2
6831668 Cras Dec 2004 B2
6842176 Sang'Udi Jan 2005 B2
6850891 Forman Feb 2005 B1
6859798 Bedell et al. Feb 2005 B1
6874126 Lapidous Mar 2005 B1
6898603 Petculescu May 2005 B1
6900808 Lassiter May 2005 B2
6959306 Nwabueze Oct 2005 B2
6963826 Hanaman et al. Nov 2005 B2
6968312 Jordan et al. Nov 2005 B1
6973616 Cottrille Dec 2005 B1
6988076 Ouimet Jan 2006 B2
6995768 Jou Feb 2006 B2
7013285 Rebane Mar 2006 B1
7015911 Shaughnessy et al. Mar 2006 B2
7027051 Alford et al. Apr 2006 B2
7058638 Singh Jun 2006 B2
7181417 Langseth et al. Feb 2007 B1
7349862 Palmer et al. Mar 2008 B2
7412398 Bailey Aug 2008 B1
7440976 Chan et al. Oct 2008 B2
7496852 Eichorn et al. Feb 2009 B2
7509343 Washburn et al. Mar 2009 B1
7587665 Crow et al. Sep 2009 B2
7599848 Wefers et al. Oct 2009 B2
7613625 Heinrich Nov 2009 B2
20010004256 Iwata et al. Jun 2001 A1
20010054046 Mikhailov et al. Dec 2001 A1
20020038217 Young Mar 2002 A1
20020049621 Bruce Apr 2002 A1
20020052740 Charlesworth May 2002 A1
20020059267 Shah May 2002 A1
20020078175 Wallace Jun 2002 A1
20020087272 Mackie Jul 2002 A1
20020091737 Markel Jul 2002 A1
20020099578 Eicher et al. Jul 2002 A1
20020133368 Strutt et al. Sep 2002 A1
20020169658 Adler Nov 2002 A1
20020169799 Voshell Nov 2002 A1
20020194042 Sands Dec 2002 A1
20020194090 Gagnon et al. Dec 2002 A1
20020194329 Alling Dec 2002 A1
20030004742 Palmer et al. Jan 2003 A1
20030028419 Monaghan Feb 2003 A1
20030040936 Nader et al. Feb 2003 A1
20030069773 Hladik et al. Apr 2003 A1
20030093423 Larason et al. May 2003 A1
20030110249 Buus et al. Jun 2003 A1
20030144868 MacIntyre et al. Jul 2003 A1
20030146937 Lee Aug 2003 A1
20030182181 Kirkwood Sep 2003 A1
20030187675 Hack Oct 2003 A1
20030204430 Kalmick et al. Oct 2003 A1
20030204487 Sssv Oct 2003 A1
20030212960 Shaughnessy et al. Nov 2003 A1
20030225604 Casati et al. Dec 2003 A1
20030226107 Pelegri-Llopart Dec 2003 A1
20040030741 Wolton et al. Feb 2004 A1
20040030795 Hesmer et al. Feb 2004 A1
20040033475 Mizuma et al. Feb 2004 A1
20040059518 Rothschild Mar 2004 A1
20040068429 MacDonald Apr 2004 A1
20040083246 Kahlouche et al. Apr 2004 A1
20040093296 Phelan et al. May 2004 A1
20040102926 Adendorff May 2004 A1
20040117731 Blyashov Jun 2004 A1
20040128150 Lundegren Jul 2004 A1
20040138944 Whitacre Jul 2004 A1
20040162772 Lewis Aug 2004 A1
20040164983 Khozai Aug 2004 A1
20040172323 Stamm Sep 2004 A1
20040183800 Peterson Sep 2004 A1
20040204913 Mueller et al. Oct 2004 A1
20040210574 Aponte et al. Oct 2004 A1
20040225571 Urali Nov 2004 A1
20040225955 Ly Nov 2004 A1
20040230463 Boivin Nov 2004 A1
20040230471 Putnam Nov 2004 A1
20040249482 Abu El Ata et al. Dec 2004 A1
20040252134 Bhatt et al. Dec 2004 A1
20040260582 King Dec 2004 A1
20040268228 Croney et al. Dec 2004 A1
20050012743 Kapler et al. Jan 2005 A1
20050039119 Parks et al. Feb 2005 A1
20050049894 Cantwell et al. Mar 2005 A1
20050055257 Senturk et al. Mar 2005 A1
20050060048 Pierre Mar 2005 A1
20050060325 Bakalash Mar 2005 A1
20050065967 Schuetze et al. Mar 2005 A1
20050071737 Adendorff Mar 2005 A1
20050091093 Bhaskaran Apr 2005 A1
20050091253 Cragun Apr 2005 A1
20050091263 Wallace Apr 2005 A1
20050097438 Jacobson May 2005 A1
20050108271 Jacobson May 2005 A1
20050114241 Hirsch May 2005 A1
20050114801 Yang May 2005 A1
20050149558 Zhuk Jul 2005 A1
20050149852 Bleicher Jul 2005 A1
20050154628 Eckart et al. Jul 2005 A1
20050160356 Albornoz Jul 2005 A1
20050171835 Mook Aug 2005 A1
20050198042 Davis Sep 2005 A1
20050216831 Guzik Sep 2005 A1
20050240467 Eckart Oct 2005 A1
20050256825 Dettinger Nov 2005 A1
20050272022 Montz, Jr. et al. Dec 2005 A1
20050273762 Lesh Dec 2005 A1
20050289452 Kashi Dec 2005 A1
20060004555 Jones Jan 2006 A1
20060004731 Seibel et al. Jan 2006 A1
20060009990 McCormick Jan 2006 A1
20060010032 Eicher et al. Jan 2006 A1
20060036455 Prasad Feb 2006 A1
20060059107 Elmore et al. Mar 2006 A1
20060089894 Balk et al. Apr 2006 A1
20060089939 Broda et al. Apr 2006 A1
20060095915 Clater May 2006 A1
20060112123 Clark et al. May 2006 A1
20060112130 Lowson May 2006 A1
20060123022 Bird Jun 2006 A1
20060167704 Nicholls et al. Jul 2006 A1
20060178897 Fuchs Aug 2006 A1
20060178920 Muell Aug 2006 A1
20060195424 Wiest et al. Aug 2006 A1
20060206392 Rice, Jr. et al. Sep 2006 A1
20060229925 Chalasani et al. Oct 2006 A1
20060233348 Cooper Oct 2006 A1
20060235778 Razvi et al. Oct 2006 A1
20070033129 Coates Feb 2007 A1
20070038934 Fellman Feb 2007 A1
20070050237 Tien et al. Mar 2007 A1
20070055688 Blattner Mar 2007 A1
20070174330 Fox et al. Jul 2007 A1
20080172287 Tien et al. Jul 2008 A1
20080172348 Tien et al. Jul 2008 A1
20080172414 Tien et al. Jul 2008 A1
20080172629 Tien et al. Jul 2008 A1
20080183564 Tien et al. Jul 2008 A1
20080184099 Tien et al. Jul 2008 A1
20080184130 Tien et al. Jul 2008 A1
20080189632 Tien et al. Aug 2008 A1
20080189724 Tien et al. Aug 2008 A1
Foreign Referenced Citations (12)
Number Date Country
1 128 299 Aug 2001 EP
1050829 Mar 2006 EP
WO 9731320 Aug 1997 WO
WO 0165349 Sep 2001 WO
WO 0169421 Sep 2001 WO
WO 0169421 Sep 2001 WO
WO 03037019 May 2003 WO
WO0101206 Jan 2004 WO
WO 2004114177 Dec 2004 WO
WO 2004114177 Dec 2004 WO
WO 2005062201 Jul 2005 WO
WO 2005101233 Oct 2005 WO
Related Publications (1)
Number Date Country
20070239573 A1 Oct 2007 US