HORIZONTAL ENTERPRISE PLANNING IN ACCORDANCE WITH AN ENTERPRISE PLANNING MODEL
TECHNICAL FIELD
[0001] The invention relates to computer-implemented techniques for enterprise business planning.
BACKGROUND
[0002] Many enterprises are responsible for establishing accurate forecasts for enterprise operations. Failing to meet established expectations can have significant negative impact on the enterprise in the areas of cash flow, stock price, liquidity, and investor faith, among other areas. Examples of enterprise planning activities for which accuracy is critical include revenue forecasting, expense planning, salary planning and the like. Enterprise business planning, however, is a difficult and expensive task that often produces inaccurate results.
[0003] Conventionally, enterprises have taken either a "top-down" or a "bottom- up" approach to enterprise planning. Bottom-up planning involves the aggregation of low-level forecasts from the lowest cost centers of an organization. For budget planning, for example, management personnel may be required to periodically forecast expenses, and allocate the expenses to a number of categories, such as advertisement, travel, and salaries. However, the bottom-up forecasts rarely, if ever, reconcile with top-down business targets.
[0004] In top-down planning, enterprises identify fundamental business targets, such as average product price, cost per employee, and the like, and push the targets down through the hierarchical structure of the enterprise. However, in performing top-down planning, large, diverse enterprises may develop planning models that do not fit the needs of all the business units or planning goals of the enterprise. In fact, diverse enterprises may develop multiple planning models, e.g., separate models for salary planning, revenue planning, expense planning and the like. The multiple planning models may be created by different individuals, sent out separately, and have separate reconciliation paths.
SUMMARY
[0005] In general, the invention is directed to an enterprise planning process that incorporates horizontal planning techniques in addition to vertical planning techniques in order to improve the accuracy and predictability of business planning within enterprises. More specifically, subsets of enterprise analysts utilize horizontal planning techniques to define an enterprise- wide planning model that incorporates a plurality of enterprise planning activities. These horizontal planning techniques allow large, diverse organizations to establish planning standards for multiple planning activities across dozens or hundreds of business units with a single enterprise planning model.
[0006] As described in detail herein, a single enterprise planning model may be defined to represent an enterprise, and may include a plurality of hierarchically arranged nodes. Each node represents a cost center such as a business unit, a division or a department of the enterprise. Subsets of enterprise analysts may be associated with respective common nodes of the enterprise hierarchy, and may interact with an enterprise planning system to jointly plan multiple planning activities for the respective nodes. Analysts associated with a common node may, for example, each provide model data that defines a sub-model for a respective planning activity. In this manner, the model creation process can be viewed as joint planning process that traverses horizontally across the node, until the subset of analysts associated with the node finalize a multi-activity enteφrise planning model for the node. In particular, the analysts may define sub-models for respective planning activities concurrently.
[0007] The enterprise planning system automatically combines the sub-models defined by the subset of analysts into an enterprise-wide planning model for the node. The enterprise planning system may, for example, aggregate the sub-models into a common repository that is accessible enterprise-wide. While combining the sub-models of defined by the subset of analysts, the enterprise planning system may constrain the model data input by the subsets of analysts by the model data of the other analysts associated with the common node. [0008] The enterprise planning system may further interact with subsets of enterprise user associated with nodes of a lower level of the enterprise hierarchy in
order to further define the sub-models defined by subsets of analysts associated with higher level nodes. In this manner, the enterprise planning system integrates both vertical planning and horizontal planning. The enterprise planning system may constrain the model data input by the subsets of analysts associated with nodes of lower levels by model data input by subsets of analysts associated with higher level nodes. For example, corporate targets defined by subsets of analysts associated with lower levels of the hierarchy may not exceed corporate targets defined by subsets of analysts associated with higher levels of the hierarchy. [0009] The enterprise planning system executes a contribution phase and a reconciliation phase in accordance with the defined enterprise planning model. During the contribution and reconciliation phases, enterprise planning system receives contribution data from enterprise contributors and may compare the contribution data to respective corporate targets to determine whether the contribution data complies with the targets. The enterprise planning system may, for example, compare contribution data associated with salary planning with salary targets and compare contribution data associated with revenue planning with revenue targets.
[0010] When the contribution data does not comply with the target data, e.g., contribution data exceeds the targets, the enterprise planning system selects an enterprise user to review the data and determine whether or not to accept the data. The enterprise user selected to review the contribution data may be based on the target data that is exceeded. For example, if the contribution data exceeds a salary target the enterprise planning system may select an enterprise user associated with salary planning. On the other hand, if the contribution data exceeds an expense target the enterprise planning system may select an enterprise user associated with expense planning.
[0011] In one embodiment, the invention provides a method comprising receiving model data from a subset of enterprise users associated with a multi-level enterprise hierarchy, wherein the model data from each of the enterprise users defines a sub-model for a planning activity. The method further comprises combining the sub-models defined by each of the enterprise users to obtain an enterprise planning model that incorporates a plurality of planning activities. The
method also includes executing an enterprise planning session in accordance with the defined enterprise planning model.
[0012] In another embodiment, the invention provides a system comprising an analysis module to interact with a subset ofenterpri.se users to obtain data that defines an enterprise planning model, wherein the model data received from each of the enterprise users of the subset defines a sub-model for a planning activity and the analysis module combines the sub-models defined by each of the enterprise users to obtain the enterprise planning model. The system further includes a database to store the data that defines the enterprise planning model. The system executes an enterprise planning session in accordance with the data stored in the database that defines an enterprise planning model.
[0013] In another embodiment, the invention provides a computer implemented method comprising presenting an interface to receive model data from a subset of enterprise users associated with a multi-level enterprise hierarchy, wherein the model data from each of the enteφrise users defines a sub-model for a planning activity. The method further includes processing the sub-models received from each of the enteφrise users to obtain an enteφrise planning model that incoφorates a plurality of enteφrise planning activities. The method also includes executing an enteφrise planning session in accordance with the defined enteφrise planning model via a computer network.
[0014] The invention may offer one or more advantages. For example, the techniques described herein may allow more flexibility in defining an enteφrise planning model. For example, a large, diverse enteφrise may establish planning standards for multiple planning activities across dozens or hundreds of business units. Further, the techniques may allow the analysts defining to the enteφrise planning model to concurrently define the multiple planning activities. In this manner, the model data input by each of the analysts is not constrained by the model data of the other analysts associated with the same node. Also, the analysts may each assign enteφrise users that may be much more familiar with the forecasting methods implemented by the various enteφrise planning activities to lower level nodes.
[0015] The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.
BRIEF DESCRIPTION OF DRAWINGS
[0016] FIG. 1 is a block diagram illustrating a computing environment in which an enteφrise planning system utilizes horizontal enteφrise planning techniques in accordance with the invention.
[0017] FIG. 2 is a diagram illustrating an example enteφrise hierarchy of an enteφrise used to create an enteφrise planning model using horizontal planning techniques in addition to vertical planning techniques.
[0018] FIG. 3 is a diagram providing an example of an enteφrise planning process that incoφorates horizontal planning and reconciliation techniques.
[0019] FIG. 4 is a block diagram illustrating an exemplary enteφrise planning system that enables a set of analysts to define an enteφrise planning model using horizontal planning techniques.
[0020] FIG. 5 is a flowchart illustrating an exemplary mode of operation of an enteφrise planning system.
DETAILED DESCRIPTION
[0021] FIG. 1 is a block diagram illustrating a computing environment 10 in which an enteφrise planning system 12 utilizes horizontal enteφrise planning techniques in accordance with the invention. As will be described, enteφrise planning system 12 may be configured to enable subsets of enteφrise users 16, and more particularly, subsets of analysts 18 to define portions of an enteφrise planning model, e.g., planning sub-models, for respective enteφrise planning activities. Enteφrise planning system 12 automatically combines the sub-models defined by the subsets of analysts 18 to obtain a universal enteφrise planning model. In general, the term "universal" enteφrise planning model refers to an enteφrise- wide planning model that incoφorates sub-models for a plurality of enteφrise planning activities, each of which may be separately planned. The enteφrise
planning activities may be forecasts for enteφrise operations and may include, for example, salary planning, expense planning, revenue planning and the like. [0022] Enteφrise planning system 12 executes an enteφrise planning session that includes three phases of enteφrise planning: (1) a modeling phase, (2) a contribution phase, and (3) a reconciliation phase. In the modeling phase, analysts 18 define a universal enteφrise planning model in accordance with vertical as well as horizontal enteφrise planning techniques as described. In other words, the modeling phase flows from cost centers at a top level of an enteφrise to cost centers at a bottom level as well as across each of the cost centers to develop a complete enteφrise-wide model. The enteφrise planning model defined by the subsets of analysts 18 includes, for example, a planning hierarchy for enteφrise 14, coφorate targets for cost centers within enteφrise 14, templates for collecting forecast data and the like.
[0023] The enteφrise hierarchy includes a number of hierarchically arranged nodes. Each node represents a cost center within enteφrise 14, such as a business unit, a division or a department. The hierarchically arranged nodes may further be divided into sub-nodes that represent respective planning activities of the nodes. As described in detail herein, subsets of analysts 18 may be associated with respective common nodes of the enteφrise hierarchy. The analysts 18 associated with common nodes interact with enteφrise planning system 12 to jointly plan multiple enteφrise activities for the node. Analysts 18 associated with the common node may, for example, each provide model data that defines a portion of the enteφrise planning model, e.g., a sub-model, for a respective enteφrise planning activity, e.g., sub-node. In this manner, the model creation process can be viewed as joint planning process that traverses horizontally across the node, until analysts 18 associated with the node finalize a multi-activity enteφrise planning model for the node. Accordingly, the term "horizontal planning" is used to refer to this type of process in which creation of an enteφrise planning model flows across a node of an organization. In particular, analysts 18 may define sub-models for respective planning activities concurrently.
[0024] In general, analysts 18 establish coφorate targets, e.g., salary targets, for enteφrise 14 during the modeling phase. More specifically, analysts 18 establish
coφorate targets for each node of the enteφrise hierarchy. In addition, analysts 18 may assign one or more enteφrise users 16 to each node that are responsible for the enteφrise planning of the cost center associated with the node. Particularly, analysts 18 may assign enteφrise users 16 to sub-nodes associated with a particular enteφrise planning activities of a node. Enteφrise users 16 assigned to the nodes may be designated as analysts 18, reviewers 20, contributors 22, or a combination thereof. Enteφrise users 16 may be authorized users within enteφrise 14 and may include, for example, chief financial officers, senior financial analysts, product analysts, sales analysts, managers, supervisors, sales representatives, lab managers, human resources managers or the like. Finally, analysts 18 may define a number of templates for collecting contribution data from contributors 22. Analysts 18 may include the coφorate target data in the templates to facilitate reconciliation with the contribution data.
[0025] In accordance with the invention, the modeling phase of the enteφrise planning session occurs horizontally within the nodes or across the levels of the enteφrise hierarchy as well as vertically down the levels of the enteφrise hierarchy. More particularly, a subset of analysts 18 associated with a common node each defines a sub-model for a respective enteφrise planning activity, e.g., sub-node. In other words, enteφrise planning system 12 receives model data from the subset of analysts 18 defining a plurality of different planning activities for the common node. In this manner, each subset of analysts 18 associated with a common node of the enteφrise hierarchy interact with enteφrise planning system 12 to jointly define an enteφrise planning model that accounts for a plurality of planning activities such as salary planning, revenue planning, expense planning and the like for the node.
[0026] For example, a subset of analysts 18 associated with a highest level node of the enteφrise hierarchy may include a chief financial officer and a human resources manager of enteφrise 14. The chief financial officer may define a portion of the enteφrise planning model, e.g., a first sub-model including coφorate targets, templates, and the like, for expense planning while the human resources manager may define a portion of the enteφrise planning model, e.g., a second submodel, for salary planning. Enteφrise planning system 12 automatically combines
the sub-models defined by the chief financial officer and the human resources manager into a universal enteφrise planning model. In the illustrated example, enteφrise planning system 12 combines the sub-models for the enteφrise planning activities to obtain an enteφrise-wide planning model that incoφorates salary planning as well as expense planning. In this manner, a multi-activity enteφrise planning model for the node is defined across the node using horizontal planning techniques.
[0027] As described, the enteφrise planning process further occurs vertically down the levels of the enteφrise hierarchy. More particularly, enteφrise planning system 12 receives model data further defining an enteφrise planning model from subsets of analysts 18 associated with lower level nodes. The subsets of analysts 18 may be constrained by the model data input by subsets of analysts 18 associated with higher level nodes.
[0028] Once the planning model has been defined, enteφrise planning system 12 executes the remaining phases of the enteφrise planning session, i.e., the contribution phase and the reconciliation phase, in accordance with the defined enteφrise planning model. More specifically, upon completion of the modeling phase, enteφrise planning system 12 enters the contribution phase during which contributors 22 interact with enteφrise planning system 12 and input detailed forecasts in the form of contribution data using the defined templates. For example, contributors 22 may provide detailed forecasts for a particular planning activity of the node to which the contributor is assigned. Alternatively, contributor 22 may provide detailed forecasts for the entire node, i.e., forecasts for each enteφrise planning activity. The forecasts may include planning activity forecasts such as financial forecasts, revenue forecasts, order forecasts, inventory forecasts, estimated resource requirements, salary forecasts and the like, depending on the particular enteφrise planning activities being carried out by enteφrise 14. [0029] During the reconciliation phase, enteφrise planning system 12 automates the reconciliation of the contribution data with the coφorate target data provided by analysts 18. In particular, enteφrise planning system 12 operates in accordance with the defined universal enteφrise planning model and, more particularly, in accordance with the planning hierarchy to provide a hierarchical planning process
having multiple reconciliation levels.' As each of contributors 22 provides respective contribution data, enteφrise planning system 12 automatically aggregates the contribution data and compares the aggregated data with respective target data in real-time to determine whether the aggregated data complies with the target data. As will be described, enteφrise planning system 12 may aggregate the contribution data across each cost center as well as across enteφrise 14 in real-time and compare the aggregated data with respective targets. In this manner, the reconciliation phase occurs horizontally as well as vertically in accordance with the planning hierarchy.
[0030] When the contribution data is within the coφorate targets defined by analysts 18, enteφrise planning system 12 proceeds to the next reconciliation level. However, when the contribution data exceeds the target data defined by analysts 18, enteφrise planning system 12 provides reviewers 20 associated with higher level nodes of the enteφrise hierarchy with access to the aggregated data. Reviewers 20 view the aggregated data across enteφrise 14 in real-time during the enteφrise planning session. At each level, enteφrise planning system 12 ensures that reviewers 20, as defined by the nodes of the enteφrise hierarchy, reconcile the target data with the contribution data when the contribution data input by contributors 22 exceeds the respective target data. Reviewers 20 may, for example, be responsible for reviewing contribution data for a single enteφrise planning activity associated with a node. Alternatively, a single reviewer 20 may review contribution data for all of the planning activities associated with the node. Each reviewer 20 may, for example, reject or accept the contribution data in view of the aggregated data and target data.
[0031] The contribution and reconciliation phases continue until the contribution data is ultimately approved either automatically by enteφrise planning system 12 or by enteφrise user 16 associated with the highest-level node of the enteφrise hierarchy. In this manner, enteφrise planning system 12 ensures that the contribution data from contributors 22 reconciles both horizontally and vertically with coφorate target data provided by analysts 18.
[0032] Enteφrise users 16 may interact with enteφrise planning system 12 via a network 24. Enteφrise users 16 may directly access enteφrise planning system 12
via a local area network, or may remotely access enteφrise planning system 12 via a virtual private network, remote dial-up, or similar remote access communication mechanism. Network 24 represents any communication network, such as a packet- based digital network like the Internet. Further network 24 may be a local area network (LAN), a wide area network (WAN), a wireless local area network (WLAN), or the like. In this manner, system 10 can readily scale to suit large enteφrises. Enteφrise users 16 may use a variety of computing devices to interact with enteφrise planning system 12 via network 24. For example, enteφrise users 16 may interact with enteφrise planning system 12 using a laptop computer, desktop computer, or the like. Alternatively, enteφrise users 16 may use a personal digital assistant (PDA), a web-enabled cellular phone, or similar device. [0033] FIG. 2 is a diagram illustrating an example enteφrise hierarchy 26 of an enteφrise 14 used to create an enteφrise planning model using horizontal planning techniques in addition to vertical planning techniques. A set of analysts 18 interact with enteφrise planning system 12 to concunently define an enteφrise planning model that incoφorates a plurality of planning activities, as described above. Subsets of analysts 18 may, for example, each define portions of the enteφrise planning model, e.g., sub-models for various planning activities, which enteφrise planning system 12 automatically combines to create a universal enteφrise planning model.
[0034] Enteφrise hierarchy 26 includes nodes 28A-28M ("nodes 28") vertically organized into reconciliation levels 30A-30C ("reconciliation levels 30"). In the example of FIG. 2, nodes 28 of enteφrise hierarchy 26 are vertically organized into three reconciliation levels 30. However, nodes 28 of enteφrise hierarchy 26 may be vertically organized to have any number of reconciliation levels 30. As will be described, reconciliation may further occur across each of nodes 28, e.g., between planning activities of nodes 28.
[0035] Enteφrise hierarchy 26 may further be organized horizontally based on various attributes of enteφrise 14. For example, enteφrise hierarchy 26 may be horizontally organized based on various geographic regions occupied by enteφrise 14, various business units, divisions or departments within enteφrise 14, or the like. Further, enteφrise hierarchy 26 may be horizontally organized based on a
combination of enteφrise attributes. In the example of FIG. 2, reconciliation level 3 OB of enteφrise hierarchy 26 is horizontally organized based on divisions within enteφrise 14 while reconciliation level 30C is organized based on departments within each division of enteφrise 14.
[0036] More particularly, enteφrise 14 of FIG. 2 is a fictitious computer and communications company (Computer & Communications, Inc.) that has divisions in operation throughout the country or world. Reconciliation level 30B may be horizontally organized based on the divisions. For example, nodes 28B-28E may correspond to a telecommunications services division, a data storage division, a software division, and a microprocessor sales division, respectively. Reconciliation level 30C may be horizontally organized based on baseline departments within each of the divisions. The telecommunications services division, for example, includes three associated departments; a wireless telecommunication department, an optical telecommunications department, and an Ethernet telecommunications department represented by nodes 28F-28H, respectively. The data storage division includes a tape storage department and an optical storage department represented by nodes 281 and 28J, respectively. Further, the microprocessor sales division includes a general puφose processor department, embedded processor department, and a network processor department represented by nodes 28K-28M, respectively.
[0037] The set of analysts 18 define the enteφrise planning model vertically in accordance with enteφrise hierarchy 26. As described above, the set of analysts 18 further define the enteφrise planning model horizontally across each of nodes 28 and, more particularly across the planning activities of each of nodes 28. In this manner, the modeling process flows from a top level of enteφrise hierarchy 26, e.g., level 30A, to a bottom level, e.g., level 30C, as well as across planning activities of each of nodes 28 to develop a complete enteφrise-wide model. As will be described, each of nodes 28 may further be divided into sub-nodes (not shown) that correspond to planning activities to aid in horizontal planning across nodes 28. More particularly, subsets of analysts 18 may define sub-models for respective sub-nodes and enteφrise planning system 12 may automatically
combine the sub-models of the sub-nodes to develop a planning model for the associated node.
[0038] In the example illustrated in FIG. 2, a subset of analysts 18 associated with node 28A may horizontally define an enteφrise planning model for node 28A across multiple planning activities. In other words, the subset of analysts 18 associated with node 28A may define sub-models for respective planning activities. Analysts 18 may, for example, consist of a chief financial officer that defines a sub-model for expense planning and a human resources manager that defines a sub-model for salary planning. In this manner, the subset of analysts 18 defines an enteφrise planning model that concurrently executes both expense planning and salary planning. Although the example of horizontal planning across planning activities of node 28A is described with only two analysts 18 defining the enteφrise planning model for node 28A, any number of analysts 18 may horizontally define the enteφrise planning model across node 28A. Further, the enteφrise planning model may incoφorate any number of sub-models for planning activities, with at least one analyst 18 associated with each planning activity. [0039] As described, each of analysts 18 may define respective sub-models that correspond to particular planning activities or sub-nodes. The sub-models may include coφorate target data and templates for collecting contribution data for the respective planning activities. Analysts 18 may define a number of templates, which may include templates for collecting forecast data for each of the planning activities. The templates may, for example, include at least one template for collecting expense forecast data and at least one template for collecting salary forecast data. The templates may include the established coφorate target data to facilitate reconciliation with the contribution data input by contributors 22. Enteφrise planning system 12 may associate one or more of the templates with enteφrise users designated as contributors 22. More specifically, enteφrise planning system 12 may associate a different subset of the templates to contributors 22 based on the sub-node or planning activity to which each contributor 22 is assigned. For example, enteφrise planning system 12 may associate a subset of the templates for collecting salary data to contributors 22
assigned to the salary planning sub-node and a subset of templates for collecting expense data to contributors 22 assigned to the expense planning sub-node. [0040] The sub-models may further include enteφrise users 16 associated with lower level nodes that are responsible for planning of respective planning activities of the sub-node to which enteφrise users 16 are assigned. Each of analysts 18 associated with node 28 A may assign at least one enteφrise user 16 to each of nodes 28B-28E and, more particularly to a planning activity associated with each of nodes 28B-28E, i.e., a sub-node, in order to associate an enteφrise user 16 to the node that is familiar with one or more of the various planning activities. For example, the chief financial officer may assign an enteφrise user 16 familiar with expense planning to an expense planning sub-node and the human resources manager may assign an enteφrise user 16 familiar with salary planning to a salary planning sub-node. In this manner, enteφrise users 16 assigned to the sub-nodes of node 28B may only participate in the planning sub-model to which the enteφrise users are assigned. In some embodiments, however, a single enteφrise user 16 may be assigned to the node to be responsible for all the planning activities of the node.
[0041] Analysts 18 may further designate each of the enteφrise users 16 as an analyst 18, a reviewer 20, a contributor 22, or a combination thereof. Enteφrise users designated as analysts 18 may extend one or more of the sub-models to personalize the enteφrise planning model to lower level nodes 28 as will be described. However, analysts 18 associated with lower level nodes may be constrained by the model data input by analysts 18 associated with higher level nodes. For example, an analyst 18 associated with node 28B may not define coφorate targets that exceed the targets assigned to node 28B by analysts 18 associated with node 28 A. Further, analysts 18 associated with lower level nodes may further be constrained by model data input by other analysts 18 associated with the same node or nodes on the same level of enteφrise hierarchy 26. For example, an analyst 18 associated with node 28A may assign a single overall growth target to node 28B and analysts 18 associated with node 28B may distribute the overall growth target between a salary growth target and an expense growth target. Analyst 18 associated with the salary planning sub-node is constrained by
analyst 18 associated with the expense planning sub-node and vice versa. In this manner, analysts 18 associated with each node 28 of enteφrise hierarchy 16 are constrained not only by vertical constraints, but also by horizontal constraints. [0042] Enteφrise users designated as contributors 22 provide contribution data to enteφrise planning system 12 and enteφrise users designated as reviewers 20 accept or reject contribution data provided by contributors 22. As with analysts 18 assigned to each node of enteφrise hierarchy 26, contributors 22 and reviewers 20 may only provide contribution data and review data to enteφrise planning system 12 for sub-nodes to which they are assigned. In other words, contributors 22 and reviewers 20 may only provide contribution data and review data to enteφrise planning system 12 for respective planning activity sub-models. [0043] Enteφrise planning system 12 automatically combines the sub-models for each of the planning activities into a universal enteφrise planning model. More specifically, enteφrise planning system 12 automatically aggregates all of the submodels into a common repository that may be accessed enteφrise-wide. In this manner, enteφrise planning system 12 maintains all of the necessary planning data and templates in a centralized location that may be accessed by each of nodes 28. For example, node 28J may access all of the templates associated with node 28J in the centralized location.
[0044] Once the model has been defined, enteφrise planning system 12 executes the remaining phases of the enteφrise planning session in accordance with the enterprise planning model. More specifically, enteφrise planning system 12 initiates the process of receiving contribution data from the lowest reconciliation level of enteφrise hierarchy 26, e.g., nodes 28F-28M of reconciliation level 30C in the example of FIG. 2. In some embodiments, the lowest reconciliation level for one or more of the sub-models may be different. For example, the lowest reconciliation level for a sub-model for expense planning may be reconciliation level 30C while the lowest reconciliation level for a sub-model for salary planning may be reconciliation level 30B. However, regardless of whether each of the sub- plans corresponds to a common lowest reconciliation level, enteφrise planning system 12 executes the enteφrise planning session in accordance with a single reconciliation scheme.
[0045] Contributors 22 corresponding to the lowest level nodes are, for example, notified to complete the defined templates, which may be accessed via enteφrise planning system 12. As described above, each of contributors 22 of nodes 28 is associated with one or more conesponding templates, depending upon the sub- node or planning activity to which the contributor is assigned. Contributors 22 provide contribution data to enteφrise planning system 12 via the associated templates.
[0046] When contributors 22 submit the contribution data, enteφrise planning system 12 aggregates the contribution data and compares the aggregated data to respective target data defined by the set of analysts 18. More specifically, enteφrise planning system 12 may aggregate and compare data within the submodels. In the example illustrated, aggregated data associated with salary planning, e.g., collected via a salary planning template, may be compared with the salary targets of the sub-model for salary planning and aggregated data associated with expense planning may be compared with the expense targets of the sub-model for expense planning. In this manner, enteφrise planning system 12 performs vertical reconciliation of the sub-models separately. [0047] Enteφrise planning system 12 may further perform horizontal reconciliation. Enteφrise planning system 12 may, for example, perform reconciliation across each of nodes 28 or across a set of nodes 28 corresponding to a reconciliation level 30. For instance, enteφrise planning system 12 may combine the contribution data input for each sub-node, and compare the aggregated contribution data to aggregated coφorate targets for the nodes 28. In the illustrated example, node 28B may combine the contribution data input to a template associated with the sub-node for salary planning and the contribution data input to a template associated with the sub-node for expense planning. Enteφrise planning system 12 then compares the aggregated data to an aggregated target. The aggregated target may, for example, include the sum of the expense target and the salary target. In this manner, enteφrise planning system 12 compares the enteφrise forecasts of a node as a whole instead of enteφrise forecasts for each sub-model of the node.
; [0048] When the aggregated data complies with the respective target data, e.g., is within a target range or below a target threshold, enteφrise planning system 12 automatically approves the contribution data and proceeds to the next reconciliation level. Automatic approval greatly reduces the number of manual reviews and approvals that need to be performed. However, when the aggregated data exceeds the target data, enteφrise planning system 12 selects a reviewer 20 associated with a corresponding node 28 of the next reconciliation level, i.e., reconciliation level 30B. As described above, enteφrise planning system 12 may select a reviewer 20 based on which target the contribution data exceeds. For example, if the contribution data exceeds the salary target, enteφrise planning system 12 may select a reviewer 20 assigned to the sub-node associated with salary planning. In this manner, the reconciliation route followed by enteφrise planning system 12 depends on the contribution data input by contributors 22. In some embodiments, however, the reconciliation process may be performed entirely by manual reviews by reviewers 20.
[0049] Reviewers 20 either accept or reject the contribution data based on the defined coφorate targets. Contribution data that is rejected is sent back to associated contributors 22. Contributors 22 may revise the contribution data and resubmit the templates. The reconciliation process continues until enteφrise planning system 12 has "automatically" accepted all of the contribution data or an enteφrise user 16 associated with the highest level node, i.e., node 28A, has accepted all of the contribution data.
[0050] FIG. 3 is a diagram providing an example of an enteφrise planning process that incoφorates horizontal planning and reconciliation techniques. In particular,
FIG. 3 illustrates a portion of the planning process carried out in accordance with enteφrise hierarchy 26 (FIG. 2). The portion of enteφrise hierarchy 26 illustrated in FIG. 3 includes sub-nodes 32A-32F ("sub-nodes 32") that correspond to particular planning activities within respective nodes 28. In this example, analysts
18A-18F ("analysts 18") jointly define a universal enteφrise planning model using horizontal planning techniques in addition to vertical planning techniques.
Nevertheless, the universal modeling phase may be defined by any number of analysts 18.
[0051] In the example illustrated in FIG. 3, an enteφrise planning model for node 28 A is defined by analysts 18 A and 18B using horizontal planning within node 28 A. More particularly, analyst 18 A, i.e., Jim from finance defines a first submodel and analyst 18B, i.e., Kelly from human resources defines a second submodel. In the example of FIG. 3, Jim defines a sub-model for expense planning for Computing & Communications, Inc. and Kelly defines a sub-model for salary planning for Computing & Communications Inc. In this manner, Jim and Kelly may correspond with sub-nodes 32A and 32B, respectively. [0052] Jim and Kelly may define sub-models that include coφorate targets for lower level nodes, templates for collecting contribution data, and enteφrise users assigned to lower level nodes. Analysts 18A and 18B, i.e., Jim and Kelly, may define sub-models for divisions of Computing & Communications Inc., divisions and departments of Computing & Communications Inc., or only a portion of the divisions and departments of Computing & Communications Inc. [0053] For example, Jim may define an annualized expense growth target of six million dollars and Kelly may define an annualized salary growth target of four million dollars for Computing & Communications Inc. Jim and Kelly further define the expense and salary growth targets for nodes 28 of reconciliation level 30B, i.e., nodes 28C and 28E in FIG. 3. Jim may, for example, define an expense growth target of four million dollars for the microprocessor sales division, i.e., node 28E, and a two million dollar expense growth target for the data storage division, i.e., node 28C. Jim may further define target expense growths for the departments within the divisions, depending on the size of enteφrise 14. For example, for a small enteφrise, Jim may further distribute the four million dollar expense growth target for the processor division and the two million dollar expense growth target for the data storage division among the corresponding departments. [0054] Kelly may distribute the four million dollars annualized salary growth target among the divisions and departments in a similar fashion. More particularly, Kelly may define a two million dollar annualized salary growth target for each of the divisions, i.e., nodes 28C and 28E. Further, for a small enteφrise, Kelly may distribute the two million dollar annualized salary targets of the divisions among
the departments. In this manner, analysts 18 of node 58 A define targets for submodels of enteφrise hierarchy 26.
[0055] Jim and Kelly may also assign enteφrise users to nodes 28 and, more particularly, to sub-nodes 32 to be responsible for planning activities associated with the sub-node. For example, Jim may assign an enteφrise user named Niki to sub-node 32C to be responsible for expense planning in the data storage division and an enteφrise user named Kevin to sub-node 32E to be responsible for expense planning in the microprocessor sales division. Jim may further designate Niki and Kevin as analysts 18 as well as reviewers 20. In the same manner, Kelly may assign an enteφrise user named Joe to sub-node 32D to be responsible for salary planning in the data storage division and an enteφrise user named Lisa to sub-node 32F to be responsible for salary planning in the microprocessor sales division. In this manner, each sub-node 32 is associated with enteφrise users familiar with the respective planning activities. Jim and Kelly may assign users to nodes 281, 28J, and 28K-28M, i.e., nodes corresponding to departments of Computer & Communications Inc, in the same manner as described above for the divisions. Alternatively, a single enteφrise user may be assigned to a node and be responsible for all the enteφrise planning activities of the cost center associated with the node.
[0056] In the same manner, analysts 18C-18F associated with nodes 28C and 28E further define planning models horizontally within the respective nodes 28. More particularly, analysts 18C-18E define coφorate targets, templates, and enteφrise users for lower level nodes, i.e., nodes of reconciliation level 30C. For example, Niki further defines a respective sub-model for sub-node 32C to which Niki is assigned. Niki may, for example, distribute the defined expense targets among the tape storage department and the optical storage department, in turn, extending the sub-model for expense planning. For instance, the optical storage department may be a larger expense producer and therefore get a larger expense target. In that case, Niki may decide to assign the tape storage department a half million dollar expense growth target whereas the optical storage department receives a one and a half million dollar expense growth target. Niki may further define other model data of the sub-model, e.g., assign enteφrise users to lower level nodes, define or update
templates, and the like. In the same manner, other analysts 18 associated with sub- nodes 32 of reconciliation level 30B may also define respective sub-models for sub-nodes 32 to which analysts 18 are assigned.
[0057] Analysts 18 associated with lower level nodes are constrained by the model data defined by analysts 18 associated with higher level nodes. Analysts 18 may further be constrained by model data defined by other analysts 18 associated with sub-nodes within a common node or other analysts 18 associated with a common reconciliation level 30. For example, the growth targets, e.g., salary growth target and expense growth target, assigned by analysts 18 of node 28 A may be combined to attain a single growth target. The analysts 18 associated with lower level nodes, e.g., node 28C, may distribute the overall growth target between a salary growth target and an expense growth target. Analyst 18 associated with sub-node 28C, i.e., Niki is constrained by analyst 18 associated with sub-node 28D, i.e., Joe and vice versa. In this manner, analysts 18 associated with each node 28 of enteφrise hierarchy 16 are constrained not only by vertical constraints, but also by horizontal constraints.
[0058] FIG.4 is a block diagram illustrating an exemplary enteφrise planning system 12 that enables a set of analysts 18 to define an enteφrise planning model using horizontal planning techniques in addition to vertical planning techniques. In the example illustrated in FIG. 4, enteφrise planning system 12 includes web servers 36 and database servers 38. Web servers 36 execute web server software to provide an interface for communicating with enteφrise users 16 via network 24. More specifically, web servers 36 provide an environment for interacting with analysts 18, reviewers 20, and contributors 22 according to software modules 40, which include an analysis module 42 and a contribution module 44. [0059] Software modules 40 may comprise Lotus scripts, Java scripts, Java Applets, Active Server Pages, web pages written in hypertext markup language (HTML) or dynamic HTML, Active X objects, and other suitable modules. Web servers 36 serve up web pages defined by software modules 40, and communicate the web pages to computing devices of enteφrise users 16. The web pages may include static media, such as text and graphic imagery, as well as conventional
input media such as text entry boxes, radio buttons, drop-down menus, and the like, for receiving information from enteφrise users 16.
[0060] Software modules 40 interact with database servers 38 to access enteφrise data 48, which includes user data 50 and model data 52. Enteφrise data 48 may be stored in a number of different forms including one or more data storage files, or one or more database management systems (DBMS) executing on one or more database servers. The database management systems may be a relational (RDBMS), hierarchical (HDBMS), multidimensional (MDBMS), object oriented (ODBMS or OODBMS) or object relational (ORDBMS) database management system. Furthermore, although illustrated separately, enteφrise data 48 could be combined into a single database or other data storage structure. User data 50 and model data 52 could, for example, be implemented as a single relational database. [0061] User data 50 stores information for each of enteφrise users 16, including a name, an electronic mail (email) address, and other contact information. Model data 52 stores enteφrise planning models defined by a set of analysts 18. Model data 52 may include, for example, information that defines a reconciliation process developed by analysts 18, including a number of reconciliation levels, various nodes in an enteφrise hierarchy, and enteφrise users 16 associated with the nodes. In addition, model data 52 stores respective data entry templates for capturing contribution and review data from enteφrise users 16.
[0062] Analysis module 42 includes one or more software modules for defining an enteφrise planning model that control the entire planning process both vertically and horizontally. Analysis module 42 may, for example, allow a subset of analysts 18 associated with a common node to further define model data input by enteφrise users associated with higher level nodes. Analysis module 42 also allows the subset of analysts 18 associated with the common node to horizontally define submodels across planning activities associated with the common node. In this manner, analysis module 42 allows the subset of analysts 18 to define a multi- activity enteφrise model for the respective common node using both horizontal and vertical planning techniques. The model data input to enteφrise planning system 12 via analysis module 42 includes coφorate target data, templates for
collecting contribution data, enteφrise users 16 assigned to lower level nodes and the like.
[0063] More specifically, analysis module 42 presents an interface to each of the analysts 18 of the common node to receive model data that defines a sub-model for a respective planning activity. The interfaces may be presented to the subset of analysts concurrently, such that each analyst 18 defines the sub-models simultaneously. In this manner, the sub-models being defined by each of the analysts 18 are not constrained by the model data input by other analysts 18 associated with the same node. In some embodiments, however, the interfaces may be presented to the subset of analysts concurrently, but the analysts input in constrained by the input of other analysts associated with the same node. [0064] Analysis module 42 automatically combines the model data defining the sub-models for the various planning activities to create a universal enteφrise planning model for the node. More specifically, enteφrise planning system 12 automatically aggregates all of the sub-models into a common repository that may be accessed enteφrise-wide. In this manner, enteφrise planning system 12 maintains all of the necessary model data in a centralized location that may be accessed by each of nodes 28.
[0065] Analysis module 42 also allows analysts 18 to define a number of mechanisms for automating the planning process and ensuring that the contributors 22 submit their respective contribution data timely, and that templates quickly move through the defined reconciliation stages. For example, using analysis module 42, analysts 18 can define timers for triggering email messages to remind the contributors 22 to access enteφrise planning system 12 and complete a particular template. Further, analysts 18 may define timers for triggering indications to remind other analysts 18 of the subset associated with the node to define a respective portion of model data 52.
[0066] Contribution module 44 includes software modules for presenting the templates to enteφrise users 16 designated as contributors 22, and for capturing contribution data from contributors 22. Contribution module 44 may, for example, access model data 52 and present a template associated with contributor 22. Contribution module 44 automatically aggregates the contribution data in real-
time, and compares the aggregated data to respective coφorate targets defined by analysts 18. Contribution module 44 may, for example, compare the aggregated data associated with salary planning, i.e., collected via salary planning templates, with the salary targets of the sub-model for salary planning and compare the aggregated data associated with expense planning with the expense targets of the sub-model for expense planning. In this manner, enteφrise planning system 12 performs vertical reconciliation of the sub-models separately. [0067] Contribution module 44 may further perform horizontal reconciliation across each of the nodes of the enteφrise hierarchy. For instance, contribution module 44 may combine the contribution data input for each planning activity, and compare the aggregated contribution data to aggregated coφorate targets for the nodes. Contribution module 44 also provides access to the aggregated data to reviewers 20 associated with higher levels of enteφrise 14 when the aggregated data exceeds the coφorate targets.
[0068] FIG. 5 is a flow diagram illustrating an exemplary mode of operation of enteφrise planning system 12. Initially, enteφrise planning system 12 receives data defining an enteφrise planning model from a subset of analysts 18 associated with a common node (54). The common node with which the subset of analysts is associated is initially a highest level node of an enteφrise hierarchy. The set of analysts 18 interact with enteφrise planning system 12 to develop an enteφrise planning model that incoφorates multiple planning activities such as expense planning, revenue planning, salary planning and the like. For example, a first analyst 18 of the subset may define a sub-model for revenue planning and a second analyst 18 of the subset may define a sub-model for salary planning. In this manner, a multi-activity enteφrise planning model for the node is defined horizontally across the node of the enteφrise hierarchy.
[0069] Enteφrise planning system may optionally receive data from one or more analysts 18 associated with lower level nodes of the enteφrise hierarchy (56). The data received from the analysts associated with the lower level nodes may further define the enteφrise planning model initially defined by analysts 18 associated with the highest level node. More particularly, the data received from the analysts associated with the lower level nodes may further define the sub-models for the
planning activities. For example, the analyst associated with the lower level node may distribute the target data assigned to the associated node among downstream nodes. In this manner, the analyst 18 associated with the lower level node is constrained by the targets defined by analysts 18 of higher level nodes. [0070] Enteφrise planning system 12 receives forecast data from contributors 22 (58). Enteφrise planning system 12 may, for example, receive a request from one of contributors 22 to access enteφrise planning system 12. Enteφrise planning system 12 may access enteφrise data 38 and communicate one or more associated input templates to contributor 22 in response to the request. If contributor 22 has previously input contribution data, enteφrise planning system 12 identifies and retrieves any contribution data previously stored by contributor 22. Contributors 22 may input new contribution data or update contribution data previously stored in the associated templates.
[0071] Upon receiving new or updated contribution data from contributors 22, enteφrise planning system stores the contribution data in model data 42 (60). Enteφrise planning system 12 further identifies higher level nodes that are affected by the new or updated contribution data and automatically updates respective aggregate totals in real-time for each of the identified higher level nodes (62). For instance, using enteφrise hierarchy 26 of FIG. 2 as an example, when enteφrise planning system 12 receives new or updated contribution data from contributor 22 of node 28G, enteφrise planning system 12 identifies higher level nodes 28 A and 28B as nodes that are affected by the new or updated contribution data and automatically updates the aggregate totals for nodes 28A and 28B. In this manner, the aggregate totals are readily available for reviewers 20 across enteφrise 14. [0072] Enteφrise planning system 12 compares the updated aggregate data to respective target data defined by analysts 18 to determine whether the aggregated data complies with the targets (64). For example, enteφrise planning system 12 may compare contribution data associated with salary planning with the salary targets defined by the human resources manager and compares contribution data associated with revenue planning with the revenue targets defined by the chief financial officer. When the aggregated data does comply with the targets, i.e., is below a target threshold or within a target range, enteφrise planning system 12
proceeds to the next reconciliation level (66). When there are no more reconciliation levels the enteφrise planning session is complete. [0073] However, when the aggregated data does not comply with the targets enteφrise planning system 12 notifies the appropriate reviewer (68). For example, when aggregated salary planning data input by a contributor 22 exceeds a defined salary target, enteφrise planning system 12 may notify a human resources staff member associated with a higher level node and designated as a reviewer. On the other hand, when the aggregated revenue planning data input by contributor 22 exceeds a defined revenue target, enteφrise planning system 12 notifies a finance staff member associated with a higher node. In this manner, depending on the target that aggregated data is not within the reconciliation route may differ. Enteφrise planning system 12 may, for example, notify reviewer 20 via electronic mail (email).
[0074] Reviewers 20 may access enteφrise planning system 12 and immediately provide review input either rejecting or accepting the contribution data and the aggregate totals in view of the target data provided by analysts 18 (68). When reviewers 20 reject the contribution data, enteφrise planning system 12 sends the contribution data back to contributor 22 that input the contribution data (72, 74). Contributor 22 may then revise the contribution data and resubmit the revised contribution data.
[007S] When reviewer 20 accepts the contribution data, enteφrise planning
12 proceeds to the next reconciliation level (72, 66). When there are no more reconciliation levels the enteφrise planning session is complete. [0076] Various embodiments of the invention have been described. These and other embodiments are within the scope of the following claims.