Patent Publication Number: US-2011054972-A1

Title: Calculation/determination of budget and employee allocation targets using a model

Description:
BACKGROUND OF THE INVENTION 
     This disclosure relates to using systems, methods, and user interfaces for calculating and/or determining budget and employee allocation targets using a model. 
     Compensation software programs allow users, such as managers and other compensation professionals, to plan and allocate budgets and awards. These plans and allocations may take place on a global basis across multiple currencies. Some compensation programs enable users to distribute budgets and compensation based on guidelines, see a worksheet view of employees, their performance ratings, and total compensation. Compensation software programs can also allow users to promote employees and give them new performance ratings and rankings. 
     Compensation software programs often may not allow managers and compensation professionals to flexibly calculate target amounts and then apply those target amounts to either a line manager&#39;s budget sheet or a worksheet on which employee allocations were made. Target amounts are often configured by a compensation administrator during initial plan setup, for example, using a standard rate. This means that a target rate is usually calculated when the participation process is run. Therefore, target amounts are not generally determined or modified by line managers during a compensation period. 
     In addition, these prior compensation packages can require compensation administrators to define separate profiles, such as separate variable rate profiles, for each set of criteria used to vary a target rate. For example, if target rates varied by a person&#39;s work location and job, for every combination of the different work locations and different jobs, a variable rate profile may need to be created and the corresponding target amount or percentage entered. This process can be very time consuming, in addition to being prone to data-entry error. 
     Accordingly, what is desired are improved methods and apparatus for solving some of the problems discussed above. Additionally, what is desired are improved methods and apparatus for reducing some of the drawbacks discussed above. 
     BRIEF SUMMARY OF THE INVENTION 
     In various embodiments, systems, methods, and user interfaces are provided for calculating and/or determining budget and employee allocation targets using a model. In one example, users can create a model by selecting an allocation method and a set of allocation criteria. Allocation criteria can be organized into a table or interactive matrix that enables the user to interact with the model and preview application of the model to a budget or target. Users can enter values they want to model for employees who meet that criteria combination. In some embodiments, the first criterion is used to automatically create the broadest grouping and subsequent criteria creating subgroups within the larger group. 
     In one embodiment, upon completing a model, users can preview their model and select how they want to use the model. When modeling budgets, for example, users can choose to either use the model to (1) establish budget amounts or (2) establish budget targets. Additionally, in conjunction with a compensation program, users can choose to (1) establish employee compensation amounts or (2) establish employee targets. 
     Users can create multiple models for a plan. This allows users to select different allocation methods and criteria and see how the results differ. In addition, users can share models with other users, such as lower level managers or direct managers. This enables a higher-level manager to create target amounts and then pass these recommendations down to subordinate managers. Also, compensation professionals can create “global” models which are made available to all managers. Using a global model, a company can easily pass down target recommendations to managers. 
     Thus, using a model eliminates the need for users to have experience with plan design setup. One or more user interfaces can be provided to be user-friendly for use by all levels of users. 
     In various embodiments, a computer-implemented method for creating a compensation plan using a model can include generating a first graphical user interface. The first graphical user interface can be configured to allow a user to create compensation models. Information may be received via the first graphical user interface enabling a computer system to create a compensation model. The compensation model can include an allocation method determining the calculation to be used when the model is applied and a set of allocation criteria used to build an interactive matrix. The compensation model can be created or build based on the information received via the first graphical user interface. A second graphical user interface may be displayed that allows a user to interact with the matrix of the compensation model. The compensation model then may be previewed or applied to a budget or a target. Information may be generated representing of the budget or target with the applied model. 
     In further embodiments, information representing the allocation method may be received from a selection via the first graphical user interface of a predetermined allocation method. Information representing the set of allocation criteria may be received from a selection via the first graphical user interface of one or more predetermined allocation criteria. Information may be about employees that is related to the set of allocation criteria. The information may be used to build the matrix with the set of allocation criteria. A hierarchy may be determined based on the set of allocation criteria, and the matrix may be structured using the hierarchy. 
     A further understanding of the nature of and equivalents to the subject matter of this disclosure (as wells as any inherent or express advantages and improvements provided) should be realized by reference to the remaining portions of this disclosure, any accompanying drawings, and the claims in addition to the above section. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       In order to reasonably describe and illustrate those innovations, embodiments, and/or examples found within this disclosure, reference may be made to one or more accompanying drawings. The additional details or examples used to describe the one or more accompanying drawings should not be considered as limitations to the scope of any of the claimed inventions, any of the presently described embodiments and/or examples, or the presently understood best mode of any innovations presented within this disclosure. 
         FIG. 1  is a simplified illustration of a system that may incorporate an embodiment of the present invention; 
         FIG. 2  is a simplified flowchart of a method for determining a budget using a model in one embodiment according to the present invention; 
         FIG. 3  is an interactive matrix or table provided by a model in one embodiment according to the present invention; 
         FIG. 4  is an illustration of a graphical user interface configured to create models in one embodiment according to the present invention; 
         FIG. 5  is an illustration of a graphical user interface displaying an interactive matrix for a model in one embodiment according to the present invention; 
         FIG. 6  is table displaying structure of an interactive matrix for a model based on a selected allocation method in one embodiment according to the present invention; 
         FIG. 7  is an illustration of a graphical user interface for previewing a model in one embodiment according to the present invention; 
         FIG. 8  is an illustration of a graphical user interface displaying preview results of a model in one embodiment according to the present invention; 
         FIG. 9  is flowchart of the modeling functionality of the system of  FIG. 1  in one embodiment according to the present invention; and 
         FIG. 10  is a simplified block diagram of a computer system that may be used to practice embodiments of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In various embodiments, users of a compensation software package, such as managers and other compensation professionals, can create one or more models for compensating a workforce. A model may be created by selecting an allocation method and a set of one or more allocation criteria. In one example, allocation criteria may be organized with a first criterion creating the broadest grouping and subsequent criteria creating subgroups within the broadest grouping. Using an interactive matrix, users can enter supply values they want to model for employees who meet or otherwise satisfy the allocation criteria. 
     In some embodiments, upon completing a model, users can preview the model by selecting how to use the model. For example, when modeling budgets, users can choose to use the model to establish budget amounts or establish budget targets. When modeling compensation, users can choose to establish employee compensation amounts or establish employee targets. Accordingly, if users choose to apply the model as target amounts (either for budgets or allocations), modeled values can be allocated. Thus, users can choose whether to apply the modeled values or not as desired. 
     In further embodiments, users can create multiple models for a plan. This allows users to select different allocation methods and criteria and to determine how the results of each differ. In addition, managers or other compensation professionals can share models with others. This enables a higher-level manager, for example, to create target amounts and then pass these recommendations down to subordinate managers within the compensation software package. Also, managers or other compensation professionals can create “global” models which are made available to all users. Using a global model, a company can easily pass down target recommendations to all managers. 
     As a result, the flexible model reduces or otherwise eliminates the need for users to have intimate experience with compensation plan design setup. Thus, a user-friendly interface can be provided that is intended to be used by all levels of users. 
       FIG. 1  is a simplified illustration of system  100  that may incorporate an embodiment of the present invention.  FIG. 100  is merely illustrative of an embodiment incorporating the present invention and does not limit the scope of the invention as recited in the claims. One of ordinary skill in the art would recognize other variations, modifications, and alternatives. 
     In one embodiment, system  100  includes one or more user computers  105  (e.g., computers  105 A,  105 B, and  105 C). User computers  105  can be general purpose personal computers (including, merely by way of example, personal computers and/or laptop computers running any appropriate flavor of Microsoft Corp.&#39;s Windows™ and/or Apple Corp.&#39;s Macintosh™ operating systems) and/or workstation computers running any of a variety of commercially-available UNIX™ or UNIX-like operating systems. These user computers  105  can also have any of a variety of applications, including one or more applications configured to perform methods of the invention, as well as one or more office applications, database client and/or server applications, and web browser applications. 
     Alternatively, user computers  105  can be any other electronic device, such as a thin-client computer, Internet-enabled mobile telephone, and/or personal digital assistant, capable of communicating via a network (e.g., communications network  110  described below) and/or displaying and navigating web pages or other types of electronic documents. Although the exemplary system  100  is shown with three user computers, any number of user computers or devices can be supported. 
     Certain embodiments of the invention operate in a networked environment, which can include communications network  1   10 . Communications network  110  can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available protocols, including without limitation TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by way of example, communications network  110  can be a local area network (“LAN”), including without limitation an Ethernet network, a Token-Ring network and/or the like; a wide-area network; a virtual network, including without limitation a virtual private network (“VPN”); the Internet; an intranet; an extranet; a public switched telephone network (“PSTN”); an infra-red network; a wireless network, including without limitation a network operating under any of the IEEE 802.11 suite of protocols, the Bluetooth™ protocol known in the art, and/or any other wireless protocol; and/or any combination of these and/or other networks. 
     Embodiments of the invention can include one or more server computers  115  (e.g., computers  115 A and  115 B). Each of server computers  115  may be configured with an operating system including without limitation any of those discussed above, as well as any commercially-available server operating systems. Each of server computers  115  may also be running one or more applications, which can be configured to provide services to one or more clients (e.g., user computers  105 ) and/or other servers (e.g., server computers  115 ). 
     Merely by way of example, one of server computers  115  may be a web server, which can be used, merely by way of example, to process requests for web pages or other electronic documents from user computers  105 . The web server can also run a variety of server applications, including HTTP servers, FTP servers, CGI servers, database servers, Java servers, and the like. In some embodiments of the invention, the web server may be configured to serve web pages that can be operated within a web browser on one or more of the user computers  105  to perform methods of the invention. 
     Server computers  115 , in some embodiments, might include one ore more file and or/application servers, which can include one or more applications accessible by a client running on one or more of user computers  105  and/or other server computers  1   15 . Merely by way of example, one or more of server computers  115  can be one or more general purpose computers capable of executing programs or scripts in response to user computers  105  and/or other server computers  115 , including without limitation web applications (which might, in some cases, be configured to perform methods of the invention). 
     Merely by way of example, a web application can be implemented as one or more scripts or programs written in any programming language, such as Java, C, or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming/scripting languages. The application server(s) can also include database servers, including without limitation those commercially available from Oracle, Microsoft, IBM and the like, which can process requests from database clients running on one of user computers  105  and/or another of server computer  115 . 
     In some embodiments, an application server can create web pages dynamically for displaying the information in accordance with embodiments of the invention. Data provided by an application server may be formatted as web pages (comprising HTML, XML, Javascript, AJAX, etc., for example) and/or may be forwarded to one of user computers  105  via a web server (as described above, for example). Similarly, a web server might receive web page requests and/or input data from one of user computers  105  and/or forward the web page requests and/or input data to an application server. 
     In accordance with further embodiments, one or more of server computers  115  can function as a file server and/or can include one or more of the files necessary to implement methods of the invention incorporated by an application running on one of user computers  105  and/or another of servers  115 . Alternatively, as those skilled in the art will appreciate, a file server can include all necessary files, allowing such an application to be invoked remotely by one or more of user computers  105  and/or server computers  1   15 . It should be noted that the functions described with respect to various servers herein (e.g., application server, database server, web server, file server, etc.) can be performed by a single server and/or a plurality of specialized servers, depending on implementation-specific needs and parameters. 
     In certain embodiments, system  100  can include one or more databases  120  (e.g., databases  120 A and  120 B). The location of the database(s)  120  is discretionary: merely by way of example, database  120 A might reside on a storage medium local to (and/or resident in) server computer  115 A (and/or one or more of user computers  105 ). Alternatively, database  120 B can be remote from any or all of user computers  105  and server computers  115 , so long as it can be in communication (e.g., via communications network  110 ) with one or more of these. In a particular set of embodiments, databases  120  can reside in a storage-area network (“SAN”) familiar to those skilled in the art. (Likewise, any necessary files for performing the functions attributed to user computers  105  and server computers  115  can be stored locally on the respective computer and/or remotely, as appropriate). In one set of embodiments, one or more of databases  120  can be a relational database that is adapted to store, update, and retrieve data in response to SQL-formatted commands. Databases  120  might be controlled and/or maintained by a database server, as described above, for example. 
     In various embodiments, system  100  can include one or more models representing a compensation pattern or compensation guidance tool. System  100  can include a budget modeling tool that enables users to design their own pattern on which budget amounts or targets can be determined. Each pattern can be built from an allocation method and selected allocation criteria. 
     In general, the models of system  100  make it easier for a user to determine budget amounts or budget targets based on different pay factors (e.g., eligible salary, comparatio, market midpoint, etc.) and allocation criteria (e.g., length of service, performance rating, location, etc.). Models also make it easy for users to see how budget amounts and targets vary when using different pay factors and employee criteria. 
     In one embodiment, system  100  includes a set of graphical user interfaces that enable a user to create a model to determine a budget or budget targets based on a specified percentage of eligible salaries or amount per employee. System  100  further can allow the the user to determine amounts by bringing employees up to a specified percentage of their grade range or quartile, or by bringing employees up to a specified quintile. 
     In various embodiments, system  100  enables a user to quickly determine budget amounts or budget targets using a model when they have many people to budget for or have complex budgeting requirements. Users can also use models to determine budget targets when doing employee-level budgeting. 
     Compensation managers can use models to help determine automatically issued budgets for organizations that do administrative budgeting. Therefore, no manager intervention is required in the budgeting process. Budget amounts can be predetermined and published to managers using system  100 , who then can allocate compensation directly to eligible employees. In one example, a compensation manager may want to determine a budget where all line managers receive 8% of their employees&#39; eligible salaries. 
     In another example, line managers using system  100  can also use models to determine budget amounts for direct and indirect reporting managers when using trickledown budgeting. Line managers may also use models to determine employee budgets when using the employee rollup budgeting method. For example, a VP may want to determine a budget that is enough to bring eligible employees who have worked in the U.S. for at least 1 year to the 4th quartile of their grade range. On the other hand, if budgeting at the employee-level, a line manager may want to distribute 100% of the target budget amount for employees whose last performance rating was “outstanding,” and 50% of the target amount for employees whose last performance rating was “average.” 
     In some embodiments, system  100  enables a user to create models that are plan specific. Once saved, the plan-specific models can be designated to be used and accessed solely within a given plan. In another example, models may be used within different plan periods for the same plan. Therefore, a model created in for an Annual Salary Plan in the 1-Jan.-2005 to 31-Dec.-2005 plan period, for example, may be used in subsequent periods for the same plan. 
     In further embodiments, system  100  may include access control lists and sharing features that enable a user to create a model that is available to be used by others. Doing so allows compensation managers or high-level line managers to create models that others can use as guidelines when determining their own budgets. In one example, system  100  can include 4 model access levels: 
     Private—Only the user who created the model can view and use it. 
     Public for direct reporting managers—Direct reporting managers of the user who created the model can view and use it. 
     Public for all lower level manager—Direct and indirect reporting managers of the user who created the model can view and use it. 
     Global—This access level is only available to compensation professionals. All line managers having view or full access to the corresponding plan may access this model. 
     In one example, the Public and Global Models cannot be changed by the non-owner, but can be easily duplicated. Therefore, any derivative copied versions can then be modified and used to create further models. 
     Creating a Model 
       FIG. 2  is a simplified flowchart of method  200  for determining a budget using a model in one embodiment according to the present invention. The processing of method  200  depicted in  FIG. 2  may be performed by software (e.g., instructions or code modules) when executed by a central processing unit (CPU or processor) of a logic machine, such as a computer system or information processing device, by hardware components of an electronic device or application-specific integrated circuits, or by combinations of software and hardware elements. Method  200  depicted in  FIG. 2  begins in step  210 . 
     In step  220 , an allocation method is received. An allocation method can include information that enables system  100  to determine which calculation to use when applied to a particular scenario. For example, the allocation method determines what factor of employee pay the model uses and how to calculate amounts. System  100  may include a variety of allocation methods to give users flexibility in how they want to determine their budget or target amounts. Users can create multiple models using different allocation methods to see how each allocation method affects their budget or target. 
     In various embodiments, users select the allocation method when creating a model. System  100  may filter which allocation methods are available based on the type of plan being modeled. For example, non-salary plans may not include methods such as Grade Range, Comparatio, Quartile, or Quintile. Non-monetary plans (e.g., those without an eligible salary rate) may not include methods based on eligible salary. 
     Some allocation methods are as simple as, for example, funding the budget based on X percent of eligible salaries (where X is a user-entered amount), to some as complex as bringing all eligible employees up to X quartile of their grade range. System  100  may model amounts based on the selected allocation method and one or more of the following: 
     X Percent of Eligible Salaries 
     X Amount per Employee 
     X Percent of Target Amount 
     Up to X Percent in Target Range 
     Bring Employee up X Percent in Grade Range 
     Bring Employees up to X Percent of Grade Range 
     Bring Employees to Grade Minimum 
     Bring Employees up X Percent in Comparatio 
     Bring Employees up to Comparatio X 
     Bring Employees up X Quartiles 
     Bring Employees up to Quartile X 
     Bring Employees up X Quintiles 
     Bring Employees to Quintile X 
     Bring Employees to X percent of market midpoint 
     Bring Employees up X percent of market midpoint 
     Bring Employees up X percent in market range 
     Bring Employees up X percent of market range 
     Mass Adjustment by Percent 
     Mass Adjustment by Amount per Employee 
     Target Range (percent) 
     Target Range (amount) 
     X Percent of Another Worksheet Column 
     Supply a Text Value to X Column 
     In various embodiments, system  100  may provide a default allocation method for each new model. For example, when a user creates a new model, “X Percent of Eligible Salary” may be defaulted as the allocation method. In another example, system  100  may determine amounts by performing a mass adjustment based on a flat amount or a % of eligible salary. For example, a user may allocate workers in France an additional 100 Euros or an additional 1%. 
     In step  230 , allocation criteria is received. Allocation criterion can include any principles, rules, standards, or other information that identify who or what to include in the model. For example, the allocation criteria may identify the employees to include in the model. Therefore, a user can select criteria such as job, location, performance rating, and years of service, among others. Some examples of allocation criteria are: Comparatio, Country, Grade, Grade Quartile, Job, Compensation Workbench Performance Rating, Appraisal Performance Rating, Department, Position, Years of Service, Direct Report, Flexfields, Custom Columns, Job Flexfields, Quintile, Grade Range Placement, Legal Employer, or the like. 
     In step  240 , a model is built. In general, system  100  may organize the selected allocation criteria into a table or interactive matrix. System  100  may use the first criterion to create a broadest grouping. Thereafter, system  100  may use subsequent criteria create subgroups within the larger group. When more than  1  criterion is used, system  100  may automatically organize the criteria in a hierarchy. 
       FIG. 3  is interactive matrix or table  300  provided by a model in one embodiment according to the present invention. In column  310 , the model uses “% of Eligible Salary” as the allocation method, Location as the first criterion, Job as the second criterion, and Performance Rating as the third criterion. Table  300  displays the number of eligible employees who fall into each criteria combination in column  320  and their total eligible salaries in column  330 . In column  340 , an employee&#39;s “% Eligible Salary” is shown in an interactive field where the user enters the percentage of eligible salary (or an appropriate value based on the selected allocation method) to budget for each employee who meets the criteria. In column  350 , table  300  displays the total amount of the budget based on the employees who meet that specific criteria combination. 
     In some embodiments, table  300  may include a summary table which provides totals of the user&#39;s budget such as the total number of eligible employees included in the calculations, total eligible salaries, amount allocated using this model, the user&#39;s budget, and unused budget. 
     Referring again to  FIG. 2 , in step  250 , the model is previewed. Upon completing a model, users can preview their model and select how they want to use the model. When modeling budgets, for example, users can choose to either use the model to (1) establish budget amounts, or (2) establish budget targets. In some embodiments, users can choose to (1) establish employee compensation amounts, or (2) establish employee targets. 
     In step  260 , the model is then applied. For example, if the user is happy with how his budget (or employee) amounts look based on the model preview, the system can apply the model. Method  200  of  FIG. 2  ends in step  270 . 
       FIG. 4  is an illustration of graphical user interface (GUI)  400  configured to create models in one embodiment according to the present invention. GUI  400  may be generated by one or more computer systems and displayed on a display device associated with the one or more computer systems or on a display device associated with a different computer system. GUI  400  may incorporate elements or controls from graphical user interface toolkits, markup languages, or the like, and functionality from compiled programs, scripting languages, or the like. 
     In this example, GUI  400  may include one or more controls, such as “Create Model,” “Open Model,” “Duplicate Model,” or the like, for creating models. When creating a new model, duplicating a previously created model, or opening a previously created model, GUI  400  may display one or more controls or fields that accept user input or display properties and/or attributes of a model. A new model can be created from various graphical user interfaces, such as GUI  400 , by (1) clicking the Create a model button from a Model Overview Page, (2) clicking the Create a Model option from a Budget Page, (3) clicking the Create a Model option from a worksheet, and (4) clicking the Create a Model button in a model page. The Model Button can offers two additional choices to the user, such as Open a model—Open a previously saved model, whether it is one created and saved by the user, or by a different author; or Apply a model to a budget—Apply a model to a budget thereby using the saved allocation method and criteria. 
     In one example, when the user creates a new model or selects one or more models to open, each model will appear on its own tab within the page. Thus, the user can easily toggle back and forth between models to compare how each model affects his budget. It will be apparent that eligibility for a plan determines whether a person is included in the employee or workforce population selected for a budget and hence, a model. Although this document may use the word “employee”, contingent workers and others may also be included in a model (and budget). 
     In various embodiments, GUI  400  may include a model properties region. Within the model properties region, the user can enter properties or attributes of the model, such as model name, allocation Method, public access controls, a set of allocation criteria, or the like. The model properties region may also include author of the model, the date of the last change made to the model, an associated plan, or the like. 
     In one example, a user may create a new model by enter a name for the model in field  410 . In field  420 , the user can select an allocation method for the model. As discussed above, the allocation method determines what type of values the user will enter in the interactive matrix once the model is built. The allocation method can also determine the calculation system  100  will use when applying the model, such as to a budget, targets, or to employee allocations. In this example, the user chooses “X percent of Eligible Salaries” as the allocation method. In some embodiments, field  420  may include a drop down selection list having preconfigured allocation methods. In other embodiments, field  420  may be directly editable by the user to create custom allocation methods. 
     In field  430 , the user can select a Public Access level. Field  430  provides who can access the model. In field  440 , the user selects the allocation criteria, In this example, the user selects up to 4 criteria to structure the interactive matrix. As shown, the selected criteria are Job and Performance Rating. Field  450  may include a drop down selection list having preconfigured allocation criteria or directly allow the user to enter the allocation criteria. 
     Accordingly, system  100  enables users to open one or more saved, public, or global models to view, update, or apply to their budget. In one example, opening a model navigates the user to the modeling page where the selected model(s) appear on individual tabs within the page. The user can easily toggle back and forth between the models to compare them. 
     After choosing to open a model, system  100  may be used to display a window that displays all saved and public models that the user can access. System  100  may filter this list of models based on a plan being used. In general, saved models are those that the user created. Public models are those created by another user to which the user has been granted access. Global models are those created by a compensation administrator. The authors of public models may also be displayed. 
     In one embodiment, system  100  enables users to open additional models while in the modeling page. The user can once again select from a table of saved and public models. Additional models will be opened and displayed on separate tabs. The model properties region may be automatically be hidden. In another embodiment, a model created by a higher manager can be automatically filtered and display the population of employees of the viewing manager. For example, when VP creates a model, the model may include a row for “Directors.” But if a lower manager accesses that same model, it will not include a row for “Directors” since the lower manager has no workers meeting that criterion. 
     Referring again to  FIG. 4 , the user then may click control  460  to build the model and the interactive matrix. Upon building a model, system  100  may populate the bottom half of the modeling page displayed within GUI  400  with a summary table and a detail table. In some embodiments, until the user builds their model, only the model properties region of the page may be displayed. As discussed above, building the model puts the selected criteria in the proper hierarchy and lays out the table structure of the model details table based on the selected allocation method. In this interactive matrix or table, the user can enter values used in the model. 
       FIG. 5  is an illustration of graphical user interface (GUI)  500  displaying an interactive matrix for a model in one embodiment according to the present invention. In this example, GUI  500  includes summary section  510  and interactive matrix  520 . Summary section  510  may include a summary table that provides totals of details in interactive matrix  530 . Some examples of summary information may include number of employees included, total eligible salaries, available budget, used budget amount, unused budget amount, or the like. 
     Interactive matrix  520  can be built using allocation criteria  530  of Job and Performance Rating. In general, the selected allocation method determines the column structure of the table. The selected allocation criteria hierarchy determines the row structure. 
     In this example, Total Employees column  540  or interactive matrix  530  represents the number of employees who have the job/performance rating combination specified by the allocation criteria. Total Eligible Salary column  550  represents a total of the salaries of all the employees who meet that specific job/performance rating combination. In Percentage of Eligible Salary column  560 , a user may enter the percentage of Eligible Salary desired to be modeled for each unique combination of Job and Performance rating. Total Amount column  570  automatically calculates based on the value entered in Percentage of Eligible Salary column  560 . 
     By interacting with interactive matrix  520 , a user can enter any value in any or all of the fields in the Percentage of Eligible Salary column. The user then can see how the values will be applied to a particular budget or target by selecting control  580  “Preview This Model.” 
       FIG. 6  is table  600  displaying structure of an interactive matrix for a model based on a selected allocation method in one embodiment according to the present invention. 
     In some embodiments, by default, all eligible employees are included in a model. System  100  may allow a user to uncheck one or more employees to exclude them from the model. Unselecting an employee may not change their eligibility status for a plan, but merely exclude their information from the model. After changing the employee selection, the user can then save the changes. In some example, employee selection changes are not retained for the life of the model. 
       FIG. 7  is an illustration of graphical user interface (GUI)  700  for previewing a model in one embodiment according to the present invention. In this example, clicking control  580  to preview the model opens Preview Options window  710 . Window  710  presents the user with one or more options  730  of how they can use the given model. 
     For example, options  730  may include: Establish budget amounts for managers; Establish employee compensation amounts; or Establish employee target amounts. The user may select any one of options  730  to preview the model. 
       FIG. 8  is an illustration of graphical user interface (GUI)  800  displaying preview results of a model in one embodiment according to the present invention. 
     Assuming the user is happy with the preview results, and how the model looks, the can apply the model, or the user can return to editing the model to return to the interactive matrix and revised any values. 
     In various embodiments, users can apply new or existing models to a budget. After choosing to create a new model, the user can select model details, build their model, preview it, and then apply it if they are happy with the results. Users can also apply a model to budget targets. For example, a compensation manager can create a model to determine budget targets based on employee length of service and prior performance rating for a quarterly bonus plan. The compensation manager can then apply the model to the budget targets of all managers. When higher level managers are determining budget amounts for their lower level managers, they can use the budget targets as a guideline. 
     When previewing a model, system  100  can provide the user with the option to apply the model as budget targets. For example, applying the model as targets will populate the % Target columns in the Budget Details table. If modeling a plan that uses units rather than money, the Target Amounts column will be populated. Target amounts can be calculated and stored at the employee level. Alternatively, they can be rolled up to the manager&#39;s budget level to display targets to managers. 
     Use Cases 
       FIG. 9  is flowchart of the modeling functionality of system  100  of  FIG. 1  in one embodiment according to the present invention. In one example of a user that creates a new model and applies it to his budget, a VP receives a budget that is 10% of eligible salaries for the Salary Increase Plan. He is not sure how he wants to distribute budgets for his direct reporting managers, although he feels that budgets should be based on an employee&#39;s years of service and performance rating. The VP uses the modeling functionality of system  100  to help him distribute his budget. 
     1. VP navigates to the budgeting UI. 
     2. VP selects Salary Increase Plan from Budget Overview page. 
     3. VP chooses Create New Model from the Model choice list on the Budget Details page. 
     4. VP enters “Salary Model” as the Name. 
     5. VP selects ‘X % of Eligible Salaries’ as the Allocation Method. 
     6. VP selects ‘Private’ as the Access Level. 
     7. VP selects ‘Years of Service’ as Allocation Criteria 1. 
     8. VP selects ‘Current Performance Rating’ as Allocation Criteria 2. 
     9. VP clicks the “Build Model” button. 
     10. VP enters 10% for all criteria combinations where Years of Service is &gt;5 and Performance Rating is ‘Outstanding’. VP enters 7% for all other criteria combinations. 
     11. VP clicks the ‘Preview’ button. 
     12. VP chooses to user the model to ‘Establish Budget Amounts for Managers’. 
     13. VP is happy with how the model has been applied to his budget. He clicks the ‘Apply as Shown’. 
     14. VP returns to the Budget Details page and sees the modeled values applied to his budget. 
     In an alternative scenario, the VP wants to create a model to determine targets for all his lower managers. The VP uses the modeling functionality of system  100  to help him distribute his budget. 
     1. VP navigates to the budgeting UI. 
     2. VP selects the Models node from the Navigation bar. 
     3. VP clicks the Create New Model button. 
     4. VP enters “Salary Target Model” as the Name. 
     5. VP selects “Salary Increase Plan” as the Associated Plan. 
     6. VP selects ‘Target Range (percent)’ as the Allocation Method. 
     7. VP selects ‘Public—All’ as the Access Level. 
     7. VP selects ‘Years of Service’ as Allocation Criteria 1. 
     8. VP selects ‘Current Performance Rating’ as Allocation Criteria 2. 
     9. VP clicks the “Build Model” button. 
     10. VP enters 10 as the high percentage and 8 as the low percentage for all criteria combinations where Years of Service is &gt;5 and Performance Rating is ‘Outstanding’. VP enters 8 as the high percentage and % as the low percentage for all other criteria combinations. 
     11. VP clicks the ‘Preview’ button. 
     12. VP chooses to user the model to ‘Establish Budget Amounts for Managers’. 
     13. VP is happy with how the model looks. He clicks the ‘Apply as Shown’ and sees his targets applied to his budget. 
     14. Now all lower managers will be able to use the same model to determine target budgets. 
     In yet another scenario, a company automatically issues budgets. Line managers receive budgets but do not take part in the distribution process. The compensation committee has determined that eligible employees in the development organization will receive a $10,000 bonus and employees in the operations organization will receive a $7,500 bonus. The compensation manager now needs to distribute budgets for the Quarterly Bonus plan and will use a model to help. The compensation manager uses the modeling functionality of system  100  to help him distribute his budget. 
     1. Compensation manager enters budgeting UI. 
     2. Compensation manager selects the Models node from the Navigation bar. 
     3. Compensation manager clicks the Create New Model button. 
     4. Compensation manager enters “Bonus Plan Model” as the Name. 
     5. Compensation manager selects “Quarterly Bonus Plan” as the Associated Plan. 
     6. Compensation manager selects ‘X Amount per Employee’ as the Allocation Method. 
     7. Compensation manager selects ‘Private’ as the Access Level. 
     8. Compensation manager selects Organization a criterion. 
     9. Compensation manager clicks the “Build Model” button. 
     10. Compensation manager enters $10,000 for the development org and $7,500 for the operations org. 
     11. Compensation manager clicks the ‘Preview’ button and selects ‘Establish Budget Amounts for Managers’. 
     11. Compensation manager is happy with how the budget looks and clicks the ‘Apply as Shown. 
     12. Compensation manager publishes the budget to all managers. 
     In yet another example of a user that creates a public model, a compensation manager wants to create a model for the Salary Increase Plan and make it available to all line managers so they can use it as a guideline when funding their own budgets. The company has determined that the ideal budget should be 10% of eligible salary for employees in the US and 12% of eligible salary for employees in all other countries. The compensation manager uses the modeling functionality of system  100  to help create a public model. 
     1. Compensation manager enters budgeting page. 
     2. Compensation manager selects Salary Increase Plan from Budget Overview page. 
     3. Compensation manager chooses Create New Model from the Model choice list on the Budget Details page. 
     4. Compensation manager enters “Salary Plan Model” as the Name. 
     5. Compensation manager selects ‘X Percent of Eligible Salaries’ as the Allocation Method. 
     6. Compensation manager selects ‘Global’ as the Access Level. 
     7. Compensation manager selects ‘Location’ as the allocation criterion. 
     8. Compensation manager clicks the “Build Model” button. 
     9. Compensation manager enters 10% for the US location and 12% for all other locations in the % of eligible salary column. 
     10. Compensation manager clicks the ‘Preview’ button and chooses to ‘Establish Employee Target Amounts’. 
     11. Compensation manager is happy with the model. She clicks the ‘Apply as Shown’ button. 
     12. All line managers will now have access to the Salary Plan Model when they access the modeling functionality from within the Salary Increase Plan. 
     In yet another example of a user that opens an existing model, a line manager needs to determine budgets for the Salary Increase Plan. He has been told that the compensation department has made available a sample model for managers to use as a guide in determining their own budgets. The company has determined targets of 10% of eligible salary for employees in the US and 12% of eligible salary for employees in all other countries. The line manager uses the modeling functionality of system  100  to help use the existing model. 
     1. Line manager enters budgeting page. 
     2. Line manager selects Salary Increase Plan from Budget Overview page. 
     3. Line manager chooses Open Model from the Model choice list on the Budget Details page. 
     4. Line manager selects to open the model called “Salary Plan Model” with the author of “Compensation Administrator”. 
     5. Line manager clicks the “Preview” button and chooses to use the model to ‘Establish Budget Amounts for Managers’. 
     6. The line manager feels that employees in the US have performed better overall than non-US employees and wants to change the budget amounts. He clicks the ‘Back’ button. 
     7. Line manager changes the percentages to 11% for employees in the US and 10% for all other employees. 
     8. Line manager clicks the “Preview” button and uses the model to ‘Establish Budget Amounts for Managers’. 
     9. Line manager is now happy with how his budget looks. He clicks ‘Apply as Shown’. 
     10. Line manager publishes his budget. 
     In yet another example of a user that duplicates an existing model, a compensation department has created a global model that line managers can use to help determine Salary Increase Plan budgets. The VP wants to copy that model and make a minor change. 
     1. VP navigates to the budgeting UI. 
     2. VP selects the Models node from the Navigation bar and is navigated to the Model Overview page. 
     3. VP clicks the “Global Model” model for the Salary Increase Plan. 
     4. VP clicks the duplicate icon. 
     5. VP enters “My Salary Model” as the New Model Name and Saves. 
     In yet another example of a user changing employee selection used in a model, a line manager opens an existing Quarterly Bonus Model. He knows that only 100 of his 120 employees are included in the model. He wants to include those 20 employees in the model in order for the model to take into consideration their eligible salaries. 
     1. Line manager enters budgeting page. 
     2. Line manager selects Quarterly Bonus Plan from Budget Overview page. 
     3. Line manager chooses Open a Model from the Model choice list on the Budget Details page. 
     4. Line manager selects Quarterly Bonus Plan Model and clicks the OK button. 
     5. Line manager clicks the “Change” link in the Summary table. 
     6. Line manager is navigated to the Employee Selection page. 
     7. Line manager checks the 20 employees who are not currently included in the model. 
     6. Line manager clicks ‘Save’. 
     7. Line manager returns to the modeling page and clicks ‘Preview’ and chooses to ‘Establish Budget Amounts for Managers’. 
     8. Line manager is happy with how his budget looks. He clicks the ‘Apply as Shown’ button. 
     9. Line manager publishes his budget. 
     In a still further example of a user that applies an existing model to a budget, a line manager goes to a Quarterly Bonus plan. Yesterday, he created the Quarterly Bonus model which be now wants to apply to his budget. 
     1. Line manager enters budgeting page. 
     2. Line manager selects Quarterly Bonus Plan from Budget Overview page. 
     3. Line manager chooses Apply a Model from the Model choice list on the Budget Details page. 
     4. Line manager clicks YES to the ‘Are you sure’ message. 
     5. Line manager clicks OK to the confirmation message. 
     6. Line manager looks at his budget details table and sees the model applied to his budget. 
       FIG. 10  is a simplified block diagram of computer system  1000  that may be used to practice embodiments of the present invention. As shown in  FIG. 10 , computer system  1000  includes processor  1010  that communicates with a number of peripheral devices via bus subsystem  1020 . These peripheral devices may include storage subsystem  1030 , comprising memory subsystem  1040  and file storage subsystem  1050 , input devices  1060 , output devices  1070 , and network interface subsystem  1080 . 
     Bus subsystem  1020  provides a mechanism for letting the various components and subsystems of computer system  1000  communicate with each other as intended. Although bus subsystem  1020  is shown schematically as a single bus, alternative embodiments of the bus subsystem may utilize multiple busses. 
     Storage subsystem  1030  may be configured to store the basic programming and data constructs that provide the functionality of the present invention. Software (code modules or instructions) that provides the functionality of the present invention may be stored in storage subsystem  1030 . These software modules or instructions may be executed by processor(s)  1010 . Storage subsystem  1030  may also provide a repository for storing data used in accordance with the present invention. Storage subsystem  1030  may comprise memory subsystem  1040  and file/disk storage subsystem  1050 . 
     Memory subsystem  1040  may include a number of memories including a main random access memory (RAM)  1042  for storage of instructions and data during program execution and a read only memory (ROM)  1044  in which fixed instructions are stored. File storage subsystem  1050  provides persistent (non-volatile) storage for program and data files, and may include a hard disk drive, a floppy disk drive along with associated removable media, a Compact Disk Read Only Memory (CD-ROM) drive, a DVD, an optical drive, removable media cartridges, and other like storage media. 
     Input devices  1060  may include a keyboard, pointing devices such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a barcode scanner, a touchscreen incorporated into the display, audio input devices such as voice recognition systems, microphones, and other types of input devices. In general, use of the term “input device” is intended to include all possible types of devices and mechanisms for inputting information to computer system  1000 . 
     Output devices  1070  may include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices, etc. The display subsystem may be a cathode ray tube (CRT), a flat-panel device such as a liquid crystal display (LCD), or a projection device. In general, use of the term “output device” is intended to include all possible types of devices and mechanisms for outputting information from computer system  1000 . 
     Network interface subsystem  1080  provides an interface to other computer systems, devices, and networks, such as communications network  1090 . Network interface subsystem  1080  serves as an interface for receiving data from and transmitting data to other systems from computer system  1000 . Some examples of communications network  1090  are private networks, public networks, leased lines, the Internet, Ethernet networks, token ring networks, fiber optic networks, and the like. 
     Computer system  1000  can be of various types including a personal computer, a portable computer, a workstation, a network computer, a mainframe, a kiosk, or any other data processing system. Due to the ever-changing nature of computers and networks, the description of computer system  1000  depicted in  FIG. 10  is intended only as a specific example for purposes of illustrating the preferred embodiment of the computer system. Many other configurations having more or fewer components than the system depicted in  FIG. 10  are possible. 
     Various embodiments of any of one or more inventions whose teachings may be presented within this disclosure can be implemented in the form of logic in software, firmware, hardware, or a combination thereof. The logic may be stored in or on a machine-accessible memory, a machine-readable article, a tangible computer-readable medium, a computer-readable storage medium, or other computer/machine-readable media as a set of instructions adapted to direct a central processing unit (CPU or processor) of a logic machine to perform a set of steps that may be disclosed in various embodiments of an invention presented within this disclosure. The logic may form part of a software program or computer program product as code modules become operational with a processor of a computer system or an information-processing device when executed to perform a method or process in various embodiments of an invention presented within this disclosure. Based on this disclosure and the teachings provided herein, a person of ordinary skill in the art will appreciate other ways, variations, modifications, alternatives, and/or methods for implementing in software, firmware, hardware, or combinations thereof any of the disclosed operations or functionalities of various embodiments of one or more of the presented inventions. 
     The disclosed examples, implementations, and various embodiments of any one of those inventions whose teachings may be presented within this disclosure are merely illustrative to convey with reasonable clarity to those skilled in the art the teachings of this disclosure. As these implementations and embodiments may be described with reference to exemplary illustrations or specific figures, various modifications or adaptations of the methods and/or specific structures described can become apparent to those skilled in the art. All such modifications, adaptations, or variations that rely upon this disclosure and these teachings found herein, and through which the teachings have advanced the art, are to be considered within the scope of the one or more inventions whose teachings may be presented within this disclosure. Hence, the present descriptions and drawings should not be considered in a limiting sense, as it is understood that an invention presented within a disclosure is in no way limited to those embodiments specifically illustrated. 
     Accordingly, the above description and any accompanying drawings, illustrations, and figures are intended to be illustrative but not restrictive. The scope of any invention presented within this disclosure should, therefore, be determined not with simple reference to the above description and those embodiments shown in the figures, but instead should be determined with reference to the pending claims along with their full scope or equivalents.