Embodiments of the inventive subject matter relate generally to systems that track business performance indicators.
Business situations can be evaluated using key performance indicator (KPIs). KPIs indicate the health of a business and the areas in which action should be taken. Individuals employed by a business need to respond to changing business needs instantaneously, including requiring access to the right KPIs at the right moment.
In some embodiments, operations can include detecting an event associated with business-related content and evaluating the business-related content against a plurality of tags associated with a plurality of key performance indicators responsive to said detecting the event associated with the business-related content. The operations can further include determining that a set of the plurality of tags corresponds to the business-related content based, at least in part, on said evaluating the business-related content against the plurality of tags, and selecting a set of the plurality of key performance indicators associated with the set of the plurality of tags. The operations can further include presenting computational representations of the set of the plurality of key performance indicators via a user interface responsive to said selecting the set of the plurality of key performance indicators.
The present embodiments may be better understood, and numerous objects, features, and advantages made apparent to those skilled in the art by referencing the accompanying drawings.
The description that follows includes example systems, methods, techniques, instruction sequences and computer program products that embody techniques of the present inventive subject matter. However, it is understood that the described embodiments may be practiced without these specific details. For instance, although examples refer to key performance indicators (KPIs), other instances may include other indicators of performance measurement such as performance metrics, critical success factors, goal targets, technical performance measures, figures of merit, some combinations therefore, etc., in applied information economics, corporate strategy, performance-based logistics, military management, device performance, etc. In other instances, well-known instruction instances, protocols, structures and techniques have not been shown in detail in order not to obfuscate the description.
Typically, KPIs are presented to users using a dashboard page generated by, and controlled via, a business performance application or software product. The dashboard page usually contains a list of KPIs. The list of KPIs, however, may or may not be relevant to a business situation. A user that is interested in KPIs that are relevant to the business situation manually selects or searches for the relevant KPIs. Manually selecting or searching fails to present relevant KPIs in dynamic ways that adjust to a business situation.
Embodiments of the inventive subject matter detect information related to a current business situation and dynamically adjust presentation of KPIs for business information that is current (e.g., in real-time). For example, a business performance tool that implements the inventive subject matter can detect descriptive information (e.g., data or metadata) associated with content that is presented via a dashboard interface, compare the information to tags assigned to descriptions of KPIs, and present computational representations of some of the KPIs that have tags equivalent to the descriptive information. The business performance tool can also determine degrees of relevance for tags and presents tags in a way that visually depicts the degrees of relevance. The example business performance tool can pre-configure KPI descriptions with user-selected tags and suggest, or assign, additional tags based on analysis of semantics and components of the user-selected tags. The dynamic adjustment, or updating, of KPIs can be specific to a user's role, or function, within a business organization.
The system 100 detects a situation (e.g., an event) associated with business-related content. Business-related information characterizes the business-related content associated with the situation. For example the system 100 detects that the interface 103 presents business-related content via the interface 103. Specifically, in one example, the system 100 detects information from a loan application form that a user selects, is working in, has worked on, etc., as indicated in the loan application section 104. In another example, the system 100 detects business alerts (e.g., from an alerts section 105), which indicate a variety of information about the business, such as changes to product pricing, rates, inventory, etc. In another example, the system 100 detects organizational information related to a logged-in user, such as the user's department in the business organization or a user's role (e.g. manager, executive, etc.). The system 100 may present the business-related content based on the user's role in the business organization. For example, the interface 103 can be configured, by direct user input, by templates, by administrative user input, etc., to present content that is specific to the user's role within the organization. In yet another example, the system 100 detects news content presented within a news feed 106. The news content indicates information (e.g., text articles, videos, etc.) that are pertinent to the business. The news content includes, for example, titles 112 of news articles, summaries 113 of news articles, and tags 114 associated with the news articles.
The system 100 compares the business-related information associated with the situation, to information associated with KPIs. The KPIs may be associated with tags that represent categories of KPIs. The tags may have been pre-associated with descriptions of the KPIs via a user-initiated tagging session and/or via dynamic system tagging (e.g., see
Based on the comparison of the business-related information to the information associated with the KPIs, such as via comparison of the first tags to the second tags, the system 100 selects specific ones of the KPIs to present. For instance, the system 100 can first select relevant ones of the second tags that are associated with the first tags (e.g., the system 100 presents relevant tags 125 in a relevant-tags area 120). One of the relevant tags 125 includes the “Loan Processing” tag (“tag”) 121, which was previously associated with the KPI 131 via the user-initiated tagging session and/or via dynamic system tagging described in
The system 100 presents additional tags, such as tags 142 in an additional tag area 140. The user, or other users, may have previously specified the tags 142 as being associated with one or more of the KPIs stored on the system 100 (e.g., in a KPI store on the server 150, in a KPI store on the computer 190, etc.) and/or presented in the KPI presentation area 120. The system 100 can, for instance, detect a manual selection of an additional tag (i.e., tag 141) from the additional tags area 140 and perform a filter of the tag 121 using the additional selected tag 141. The system 100 can also modify the tags 142 to be tags that are related to the tag 141. The system 100 can modify an amount of the tags 142 to display, such as via a user control 143.
In some embodiments, the system 100 presents tags in a way that corresponds to relevance to the situation. For example, in the relevant-tag area 120, the system 100 presents the relevant tags 125 according to font size that is larger for more relevant tags and smaller for less relevant tags. The grouping of the relevant tags 125 appear as a cloud format (e.g., a tag cloud, a data cloud, a text cloud, etc.). The characteristics of the relevance can relate, in some embodiments, to frequency of occurrence of a tag (e.g. a number of times that a tag has been applied, a number of times a tag has been applied to a single item), a quantity (e.g. a quantity of tags in a group, a quantity associated weights or other numerical values, etc.), or other characteristics that indicate a degree. For example, the relevance can be related to assigned weights that the system 100 assigns via a relevance algorithm during comparison of tags. In other embodiments, the relevance can be related to ranks, or weights, that the system 100 detects from user input (e.g., user-indicated rankings 346 described in
This section describes operations associated with some embodiments. In the discussion below, some flow diagrams are described with reference to block diagrams presented herein. However, in some embodiments, the operations can be performed by logic not described in the block diagrams.
In certain embodiments, the operations can be performed by executing instructions residing on machine-readable storage media (e.g., software), while in other embodiments, the operations can be performed by hardware and/or other logic (e.g., firmware). Moreover, some embodiments can perform more or less than all the operations shown in any flow diagram.
Referring to
When one of the KPI identifiers is selected from the area 306 (e.g., identifier 311 which corresponds to the first KPI 131, “Jumbo Loans Percentage—West US”), the system 300 presents the name of the selected KPI identifier 311 in an area 358. The system 300 also presents an area 359 that includes a KPI definitional value 335 that defines a mathematical or computational description of the KPI 131, such as equations, functions, statements, etc. that. For instance, the KPI definitional value 335 defines the KPI 131 as being a ratio of a first value 336 (i.e., a number of approved jumbo loans) and a second value 337 (i.e., a goal for approved jumbo loans) multiplied by a factor of “100.”
The interface 303 further presents the tag area 310 where a user can input tags associated with the KPI 131. For instance, a user can type text into a text field 325, and can subsequently press a button 326, which then adds the text to a list of tags 314. The tag area 310 can further include a ranking control 327 that a user can utilize to assign ranks or weights to tags based on a perceived degree of importance, according to the user's perspective, to the subject matter and/or category that the tag indicates in relation to the KPI 131 (e.g., adds the value of a rank specified by the ranking control 327 to user-indicated rankings 346).
Referring back to
Referring again to
Referring back to
Referring to
In other examples, however, the system can determine events, conditions, characteristics, descriptions, and other data, stored on the computer 190 or on the server 150, regarding business-related content that is not presented within the interface 103. For example, the system 100 may detect that a configuration of a KPI changes (e.g. a business analyst user updates or refines a definition of KPI 131, a business analyst user adds a new tag to the KPI 131, etc.). The system 100 can automatically respond to the changes to the KPI configurations even though the configurations are not made or presented via the interface 103. In other examples, the system 300 detects business-related events that occur that are related to business performance, such as events associated with business processes and operations, resource planning, customer relationship management, etc. The server 150, for example, detects the business-related events, via the communications network 122, even though representations of the business-related events are not presented via the interface 103. Based on the business-related events, the system 100 can update tags 125, relevance of tags 125, selection of tags 125, etc., and/or presentation of computational representations of KPIs via the KPI presentation area 130.
Referring again to
Referring again to
Referring back to
For example, as described in
Further, the system 100 can automatically select the tag 121 based on a degree of relevance. For example, the system 100 can measure a degree of relevance of all of the relevant tags 125 (e.g., determine a frequency that the relevant tags 125 are assigned to the KPI's within the KPI store). The tag with the highest ranking relevance value (e.g., tag 121) may be automatically selected by default. The system 100 can also provide a control 123 that the user can select to toggle automatic selection of tags.
The system 100 may also include relevant tags “ARMs” (Adjustable Rate Mortgages) and “Rates” because of the phrase “Prime Rate” in the alerts section 105. Other relevant tags include “Mortgage,” “Business,” “Credit,” and other types of tags that are stored in the tags store of the system 100. In some embodiments, the system 100 can further provide controls 124, 125 and 126 which, when selected, will indicate to the system 100 to analyze content for the area of the interface 103 to which the controls 124, 125, and 126 are assigned. For instance, if the user wants tags 125 or tags 142 to show only for a specific type of content, such as news items, then the user can select control 126 only, and deselect controls 124 and 125. In other embodiments, the system 100 can provide advanced settings (e.g., via selection of control 128) through which various types of content can be configured. For instance, the advanced settings can further specify (e.g., via filters, search queries, etc.) specific types, or categories, of news content for which to dynamically update KPIs. For example, a user can specify only competitive news types, only news that is tagged, only news that is about real-estate, etc., which distinguishes various subject matters, tagged v. non-tagged content, etc.
Further, the system 100 can automatically update presentation of KPIs (e.g., automatically update a list of KPIs, automatically recalculate the existing KPIs, etc.) dynamically based on changes to content and/or context of content presented within the interface 103. For instance, if the news content changes within the news feed 106, the system 100 can automatically reevaluate tags, automatically reevaluate tag relevance, automatically change tags 125 and/or 124, automatically select tags, automatically reconfigure the appearance of the KPI presentation area 130 with KPIs that are most relevant for selected tags, etc.
Further, the system 100 can assign tags based on analysis. For instance, the system 100 can, via the analysis of tags, determine that one of the tags 114 is substantially similar in meaning to tags associated with the KPIs 131 and 191, however the KPIs 131 and 191 do not have a tag assigned with the exact keyword as the one of the tags 114. The system 100, therefore, can dynamically assign the one of the tags 114 to the KPIs 131 and/or 191.
Referring to
For example, in some embodiments, as described for processing block 406 in
In another example, as described at processing block 206 in
According to some embodiments, a business performance management system (“system”) can provide various example devices, operations, etc., to dynamically monitor and present business performance indicators according to business situations. The following non-exhaustive list enumerates some possible embodiments.
In some embodiments, the system can detect news items related to a region, and update (e.g., update list of KPIs, update a calculation of KPIs, etc.) KPIs that are tagged with the name of the region (e.g. a warranty process cost in a “north east” region).
In some embodiments, the system can detect a competitive pricing alert, such as when an auto manufacturer receives an alert of a price change to a vehicle model. The business performance management system can update KPIs related to sales, stock levels, etc. associated with the vehicle model and for similar vehicle models.
In some embodiments, the system determines organizational and user context, such as a user's organization or department, or a currently viewed organization or department. The system can further track a user's profile information for tags (e.g., stored in a tag inventory) or other descriptive information (e.g., user's role, user's subordinates, user's work history, etc.). The system can update KPIs which are relevant to the organizational and/or user context.
In some embodiments, the system determines business processes, such as when a user has been working in, or looking at, an order fulfillment application, and updates KPIs accordingly.
In some embodiments, the system tracks a state of business performance measured against targets (such as via a scorecard) and update KPIs accordingly. The system can determine trends of key performance indicators (e.g., revenue, cost, response time, etc.). For instance, the system can track market share growth and new product revenue.
In some embodiments, the system tracks business process monitoring (per instance), such as status of a particular insurance claim or response time/execution time limit exceeded for a task, and updates KPIs accordingly.
In some embodiments, the system determines business process statistics (in aggregate), such as average durations, costs, branch ratios, etc., and updates KPIs accordingly.
In some embodiments, the system tracks alerts of events that require action, such as alerts regarding revenue drop, inventory shortage, time/cost increases, competitor price changes, etc., and updates KPIs accordingly.
In some embodiments, the system manages responses to critical business situations, and updates KPIs accordingly, such as finding a new supplier when a high value order arrives while out of inventor and an existing supplier is decommitted.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments of the inventive subject matter may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied in the medium.
Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc. or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Aspects of the present invention are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto, or stored on, an electronic device (e.g., computer, cell phone, television, set-top box, etc.) to function in a particular manner, such that the instructions cause a series of operational steps to be performed to produce a computer implemented process such that the instructions which execute on the electronic device provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
In some embodiments, the method as described above can be used in the fabrication of integrated circuit chips.
While the embodiments are described with reference to various implementations and exploitations, it will be understood that these embodiments are illustrative and that the scope of the inventive subject matter is not limited to them. In general, techniques for dynamically updating performance indicators as described herein may be implemented with facilities consistent with any hardware system or hardware systems. Many variations, modifications, additions, and improvements are possible.
Plural instances may be provided for components, operations or structures described herein as a single instance. Finally, boundaries between various components, operations and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the inventive subject matter. In general, structures and functionality presented as separate components in the example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements may fall within the scope of the inventive subject matter.